14

I can change sound volumes with "gnome-volume-control ". But there are listed only playback-apps / -streams that are currently in use:

screenshot

In ~/.config/pulse/ I found *-stream-volumes.tdb and *-device-volumes.tdb that could be the configuration files but I am unable to read or edit these files.

4

I wrote a small tool that lets you set the volume of any client that pulseaudio remembers. Please see here:

https://github.com/rhaas80/pa_volume

for the repository. You will need the libpulse-dev package installed after which a simple "make" should build the tool. Please see its README.md file for usage.

dpkg -l | grep libpulse-dev # Check if installed
git clone git@github.com:rhaas80/pa_volume.git
cd pa_volume/
make
./pa_volume # list remembered PA clients
./pa_volume Program 30 # set to 30%
  • 1
    6 years after asking the question, thank you for providing a working solution and sharing it here :) – Lasall Oct 25 '17 at 17:11
  • You can also list clients with pacmd list-clients and kill them with pacmd kill-client (man pulse-cli-syntax). To kill'em all: for i in $(pacmd list-clients | grep index | grep -o "[0-9]*"); do pacmd kill-client $i; done. Some will re-spawn, not sure why. – Pablo Bianchi Mar 31 at 20:57
17

Pulseaudio comes with a command line interface (man pulse-cli-syntax) to control many settings.

We can either load the command line parser pacmd or we call commands directly in a terminal or script:

pacmd set-sink-volume <index> <volume>
pacmd set-source-volume <index> <volume>

controls the volume of a given sink where <index> is the sink index (listed with pacmd list-sinks) and <volume> is any value from 0 (= Mute) to 65536 = 100%.

The configurations files in ~/.config/pulse (formerly ~/.pulse which may still be active in an upgraded installation) are not meant to be read or edited in a default setting. We can however create a custom default.pa there to override settings in /etc/pulse/default.pa.

For 12.04 earcandy may be used for audio control. Sadly this application is not further developed and not available in later releases.

See also notes for this answer.

  • Thank you for your explanation. But I don't arrive. When I want adjust my amarok-volume for example, how do I do that? It is not listed in list-sinks or list-sources. – Lasall May 23 '11 at 15:34
  • You can't do that by the command line interface. This is bound to output sinks. – Takkat May 23 '11 at 18:37
  • I have already tested earcandy. It should do exactly the things I want to. But it is still not stable so I don't mark this question as solved. – Lasall May 23 '11 at 23:33
  • @Lasall: no worries. We hope it will reach stable some time. – Takkat May 24 '11 at 6:06
3

To find your pulseaudio source sinks use following command:

pactl list short sinks

From this command you got the running and idle sinks. With their sink number. Using that index number you can control the sinks volume.

index: 128
    driver: <module-ladspa-sink.c>
    state: RUNNING
    sink: 0
    # ^ This is the sink number you want to find

You can use the following command to control particular sinks volume:

pactl set-sink-volume <index number> <volume in %>

For example:

pactl set-sink-volume 0 100%
  • 1
    Thank you to look at this old question. I only get one item in the sink list. My question was to control volume of different (not currently running) applications and not different audio interfaces. – Lasall Jul 3 '14 at 17:19
  • It also doesn't answer the question, but you can see all currently running audio outputs with pactl list sink-inputs. If your program shows with id 108 in this list and you want to set it to 60% volume, use pactl set-sink-input-volume 108 60%. But the sound has to be running for it to work. – weltensturm Aug 3 '15 at 18:55
  • 1
    All I get for that: "No valid command specified." – panzi Jun 27 '16 at 19:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.