463
Comment: initial stab at translating the russian-language page - but i can't speak russian :( - please help
|
10230
add app-specific examples
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
1. PulseAudio 1. Installation 1. Use Together With Alsa 1. Alternative Configurations 1. As The Only Sound System 1. Troubleshooting 1. Missing Sound Device (Recording or Reproduction) 1. Noise Or Glitches 1. Glitches In Sound Reproduction With Amarok Or Skype 1. Unreasonable CPU Usage And Distortion 1. Poor Sound Level Or No Sound 1. Various Problems With Skype 1. Reference |
## page was renamed from en/PulseAudio ~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: English - [[ru/PulseAudio|Русский]] -~ |
Line 15: | Line 4: |
CategorySound | [[Hardware]] - [[Sound]] <<TableOfContents(3)>> = PulseAudio = PulseAudio is a sound server that is installed by default in most Debian desktop environments. It's main purpose is to provide a high level interface for controlling how multiple "sources" (programs that want to play sounds) are connected to "sinks" (sound cards). = Installing PulseAudio = As Debian 8 (Jessie, in 2016), you rarely need to install pulseaudio by hand as it is a dependency of the most popular desktops || '''Desktop Environment''' || '''Automatically includes pulseaudio?''' || || Cinnamon || Yes || || Gnome || Yes || || KDE || Yes || || LXDE || No || || Mate|| Yes || || XFCE || No || If you need to install it manually, `apt-get install pulseaudio` should "just work" in every release since Debian 6 (Squeeze). Pulseaudio becomes the default when the package is installed. Everything (including flash) will use it. This can be checked by with '''pavucontrol''' (in the pavucontrol package). If the sound is registering in the vu vumetre of that program, then it is being routed through the pulse system. = Basic Configuration = == Mixers == Pavucontrol, an optional package for pulseaudio, allows you to make volume adjustments (entire system or per application). It also allows you to change "mixer" settings like headphone output, mic level, input device, and stereo versus surround sound profiles. However, you may not need to install pavucontrol as most desktop environments have their own control panels for configuring Pulseaudio. Often such programs will not mention Pulseaudio and will simply be called something generic like "Sound Settings". == Surround sound system == Many people have a multi-channel sound cards, but use the speakers for the two channels. PulseAudio has no default settings for surround sound support. To enable all channels, edit the file {{{/etc/pulse/daemon.conf}}}: uncomment {{{default-sample-channels}}} (ie remove the semicolon at the beginning of the line) and set it to 6 if you System 5.1 or 8, if your system is 7.1. {{{ # Default default-sample-channels = 2 # To 5.1 default-sample-channels = 6 # To 7.1 default-sample-channels = 8 }}} After making the changes, restart Pulseaudio. = Solving Problems = == Restarting the Pulseaudio Daemon == To reread the config files `~/.config/pulse/daemon.conf` and `/etc/pulse/daemon.conf`, do this: {{{ $ pulseaudio --kill $ pulseaudio --start }}} == Interrupting play in Amarok when running Skype == Comment out or remove the line in the `/etc/pulse/default.pa` {{{ load-module module-cork-music-on-phone }}} == Sound level is low or suddenly becomes too loud == Add a line to `/etc/pulse/daemon.conf`: {{{ flat-volumes = no }}} == Missing playback devices or audio capture == If Pulseaudio does not correctly detect your input / output devices ("sources" and "sinks" in Pulseaudio parlance), you can try deleting the configuration files and restarting pulseaudio. This is probably unnecessary overkill, but might help some people. {{{ $ rm -r ~/.config/pulse /tmp/pulse-* $ pulseaudio --kill $ pulseaudio --start }}} == Front Panel Jacks not working == As of wheezy, for some reason, pulseaudio does not see the toggle feature of some cards (i.e. CMI8788 [Oxygen HD Audio]) exposed by ALSA and playing with the pulseaudio interface (pavucontrol) won't bring happiness. The trick, (for now?), is to bring up the alsamixer ( or alsamixergui) and the audio output can be switched from the read of the card to the front-panel as well as the mic input. == Stuttering and audio interruptions == If a low-power machine stutters (audio breaks up), you can try adding the following to {{{/etc/pulse/daemon.conf}}}: {{{ high-priority = no nice-level = -1 realtime-scheduling = yes realtime-priority = 5 flat-volumes = no resample-method = speex-float-1 default-sample-rate = 48000 }}} == Excessive CPU usage and distortion == Add a line to `/etc/pulse/default.pa` {{{ load-module module-udev-detect tsched = 0 }}} == Various problems with Skype and Wine == ## WHAT PROBLEMS? THIS NEEDS DETAILS Add or uncomment the line in `/etc/pulse/daemon.conf` {{{ default-fragments = 25 default-fragment-size-msec = 25 }}} == Disabling daemon autospawn == A pulseaudio client program will automatically run the pulseaudio daemon if there isn't one running already. If you want to be able to kill the daemon without it respawning, make these changes:- Copy the client configuration file to {{{~/.config/pulse}}} {{{ $ cp /etc/pulse/client.conf ~/.config/pulse/ }}} Use your favorite editor to change the line which says `; autospawn = yes` to `autospawn = no`. Be sure to uncomment the line by removing the leading semicolon. Alternately, to do both the copy and the edit in one step, just cut and paste this into the command line: {{{ sed 's/; autospawn = yes/autospawn = no/' < /etc/pulse/client.conf > ~/.config/pulse/client.conf }}} == Echo test: hearing the microphone == If you are unsure about your microphone setup, you can hear the input from the microphone in real-time by enabling the [[https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#index57h3|loopback module]] ([[https://answers.launchpad.net/ubuntu/+source/pulseaudio/+question/83742|source]]): {{{ pactl load-module module-loopback }}} The module will show up in the '''Recording''' tab of the DebianPackage:pavucontrol program, where the source and volume can be configured. While latency should be low, it should be sufficient to get a feeling of the sound quality as you will hear yourself speak in the microphone. To make the change permanent, add the following line to your `~/.config/pulse/default.pa`: {{{ load-module module-loopback }}} Watch out for feedback! Be ready to lower all volumes in case the microphone picks up the output from the loudspeakers. Naturally, it is better to run such a test with headphones. On top of this above technique, many conferencing services have built-in echo tests. For example, [[Skype]] has an echo test. [[Mumble]] can also be configured to echo audio back (from local or remote) through the `Configure -> Settings -> Audio Output -> Loopback test`. = Advanced = == Dynamically enable/disable == As mentioned above, all sound will automatically be routed thorugh pulseaudio when the pulseaudio package is installed. These instructions describe how to disable it with the pulseaudio package still installed. Individual users can then reenable it themselves as needed. The "just works" magic is achieved through configuration files placed in {{{/usr/share/alsa/alsa.conf.d/}}}. Without these files in place, the regular alsa defaults will be used. Therefore, to achieve the default alsa behavior with the pulseaudio package installed, divert these files {{{ mkdir /usr/share/alsa/alsa.conf.pulse/ dpkg-divert --divert /usr/share/alsa/alsa.conf.pulse/pulse.conf --rename /usr/share/alsa/alsa.conf.d/pulse.conf dpkg-divert --divert /usr/share/alsa/alsa.conf.pulse/99-pulseaudio-default.conf.example --rename /usr/share/alsa/alsa.conf.d/99-pulseaudio-default.conf.example dpkg-divert --divert /usr/share/alsa/alsa.conf.pulse/50-pulseaudio.conf --rename /usr/share/alsa/alsa.conf.d/50-pulseaudio.conf }}} Now if a user wishes to use pulseaudio, they can create an ~/.asoundrc file that looks something like {{{ @hooks [ { func load files [ { @func concat strings [ { @func datadir } "/alsa.conf.pulse/" ] } ] errors false } ] }}} If a user wishes to switch between pulse and non-pulse on a quasi-regular basis, put the above into the {{{~/.asoundrc.pulse}}} instead and symlink it to {{{~/.asoundrc}}} when pulse is desired {{{ ln -s ~/.asoundrc.pulse ~/.asoundrc }}} and remove it when not {{{ rm ~/.asoundrc }}} be sure also when disabling pulse to kill the server so that other things can directly access the soundcard again {{{ killall pulseaudio }}} == Temporarily suspend and run an application without PulseAudio == You can use the {{{pasuspender}}} utility, if you only need to disable PulseAudio temporarily, to run an application and have it access your audio devices directly. * Run: {{{pasuspender -- yourapplication [yourapplicationoptions]}}} * Configure your application to access your audio devices directly (e.g. select your soundcard ALSA address in an audio player) While you run {{{pasuspender}}}, other applications won't be able to use PulseAudio. When you quit the application, the default behaviour of PulseAudio will be restored automatically. See {{{man pasuspender}}} for more information. == Here are some features of PulseAudio == * High quality software mixing of multiple audio streams with support for more than one entrance (source) and exit (sink). * Can be used to combine multiple sound cards into one (with frequency rate). * Large set of supported client libraries. Applications that use ESD, ALSA, oss, libao and GStreamer, are supported without the need for any changes. Modules for PulseAudio are available for xmms and mplayer. * Low latency and accurately measured delay time for recording and playback. Ability to fully synchronize multiple playback streams. * Network transparency: the application can play or record audio on a computer other than the one on which they run. * Extensible architecture with modules for jackd, multicast-rtp, lirc and avahi, among others. Reference: http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/PerfectSetup/ ---- CategoryHardware CategorySound |
Translation(s): English - Русский
Contents
- PulseAudio
- Installing PulseAudio
- Basic Configuration
-
Solving Problems
- Restarting the Pulseaudio Daemon
- Interrupting play in Amarok when running Skype
- Sound level is low or suddenly becomes too loud
- Missing playback devices or audio capture
- Front Panel Jacks not working
- Stuttering and audio interruptions
- Excessive CPU usage and distortion
- Various problems with Skype and Wine
- Disabling daemon autospawn
- Echo test: hearing the microphone
- Advanced
PulseAudio
PulseAudio is a sound server that is installed by default in most Debian desktop environments. It's main purpose is to provide a high level interface for controlling how multiple "sources" (programs that want to play sounds) are connected to "sinks" (sound cards).
Installing PulseAudio
As Debian 8 (Jessie, in 2016), you rarely need to install pulseaudio by hand as it is a dependency of the most popular desktops
Desktop Environment
Automatically includes pulseaudio?
Cinnamon
Yes
Gnome
Yes
KDE
Yes
LXDE
No
Mate
Yes
XFCE
No
If you need to install it manually, apt-get install pulseaudio should "just work" in every release since Debian 6 (Squeeze). Pulseaudio becomes the default when the package is installed. Everything (including flash) will use it.
This can be checked by with pavucontrol (in the pavucontrol package). If the sound is registering in the vu vumetre of that program, then it is being routed through the pulse system.
Basic Configuration
Mixers
Pavucontrol, an optional package for pulseaudio, allows you to make volume adjustments (entire system or per application). It also allows you to change "mixer" settings like headphone output, mic level, input device, and stereo versus surround sound profiles.
However, you may not need to install pavucontrol as most desktop environments have their own control panels for configuring Pulseaudio. Often such programs will not mention Pulseaudio and will simply be called something generic like "Sound Settings".
Surround sound system
Many people have a multi-channel sound cards, but use the speakers for the two channels. PulseAudio has no default settings for surround sound support. To enable all channels, edit the file /etc/pulse/daemon.conf: uncomment default-sample-channels (ie remove the semicolon at the beginning of the line) and set it to 6 if you System 5.1 or 8, if your system is 7.1.
# Default default-sample-channels = 2 # To 5.1 default-sample-channels = 6 # To 7.1 default-sample-channels = 8
After making the changes, restart Pulseaudio.
Solving Problems
Restarting the Pulseaudio Daemon
To reread the config files ~/.config/pulse/daemon.conf and /etc/pulse/daemon.conf, do this:
$ pulseaudio --kill $ pulseaudio --start
Interrupting play in Amarok when running Skype
Comment out or remove the line in the /etc/pulse/default.pa
load-module module-cork-music-on-phone
Sound level is low or suddenly becomes too loud
Add a line to /etc/pulse/daemon.conf:
flat-volumes = no
Missing playback devices or audio capture
If Pulseaudio does not correctly detect your input / output devices ("sources" and "sinks" in Pulseaudio parlance), you can try deleting the configuration files and restarting pulseaudio. This is probably unnecessary overkill, but might help some people.
$ rm -r ~/.config/pulse /tmp/pulse-* $ pulseaudio --kill $ pulseaudio --start
Front Panel Jacks not working
As of wheezy, for some reason, pulseaudio does not see the toggle feature of some cards (i.e. CMI8788 [Oxygen HD Audio]) exposed by ALSA and playing with the pulseaudio interface (pavucontrol) won't bring happiness. The trick, (for now?), is to bring up the alsamixer ( or alsamixergui) and the audio output can be switched from the read of the card to the front-panel as well as the mic input.
Stuttering and audio interruptions
If a low-power machine stutters (audio breaks up), you can try adding the following to /etc/pulse/daemon.conf:
high-priority = no nice-level = -1 realtime-scheduling = yes realtime-priority = 5 flat-volumes = no resample-method = speex-float-1 default-sample-rate = 48000
Excessive CPU usage and distortion
Add a line to /etc/pulse/default.pa
load-module module-udev-detect tsched = 0
Various problems with Skype and Wine
Add or uncomment the line in /etc/pulse/daemon.conf
default-fragments = 25 default-fragment-size-msec = 25
Disabling daemon autospawn
A pulseaudio client program will automatically run the pulseaudio daemon if there isn't one running already. If you want to be able to kill the daemon without it respawning, make these changes:-
Copy the client configuration file to ~/.config/pulse
$ cp /etc/pulse/client.conf ~/.config/pulse/
Use your favorite editor to change the line which says ; autospawn = yes to autospawn = no. Be sure to uncomment the line by removing the leading semicolon.
Alternately, to do both the copy and the edit in one step, just cut and paste this into the command line:
sed 's/; autospawn = yes/autospawn = no/' < /etc/pulse/client.conf > ~/.config/pulse/client.conf
Echo test: hearing the microphone
If you are unsure about your microphone setup, you can hear the input from the microphone in real-time by enabling the loopback module (source):
pactl load-module module-loopback
The module will show up in the Recording tab of the pavucontrol program, where the source and volume can be configured. While latency should be low, it should be sufficient to get a feeling of the sound quality as you will hear yourself speak in the microphone. To make the change permanent, add the following line to your ~/.config/pulse/default.pa:
load-module module-loopback
Watch out for feedback! Be ready to lower all volumes in case the microphone picks up the output from the loudspeakers. Naturally, it is better to run such a test with headphones.
On top of this above technique, many conferencing services have built-in echo tests. For example, ?Skype has an echo test. ?Mumble can also be configured to echo audio back (from local or remote) through the Configure -> Settings -> Audio Output -> Loopback test.
Advanced
Dynamically enable/disable
As mentioned above, all sound will automatically be routed thorugh pulseaudio when the pulseaudio package is installed. These instructions describe how to disable it with the pulseaudio package still installed. Individual users can then reenable it themselves as needed.
The "just works" magic is achieved through configuration files placed in /usr/share/alsa/alsa.conf.d/. Without these files in place, the regular alsa defaults will be used. Therefore, to achieve the default alsa behavior with the pulseaudio package installed, divert these files
mkdir /usr/share/alsa/alsa.conf.pulse/ dpkg-divert --divert /usr/share/alsa/alsa.conf.pulse/pulse.conf --rename /usr/share/alsa/alsa.conf.d/pulse.conf dpkg-divert --divert /usr/share/alsa/alsa.conf.pulse/99-pulseaudio-default.conf.example --rename /usr/share/alsa/alsa.conf.d/99-pulseaudio-default.conf.example dpkg-divert --divert /usr/share/alsa/alsa.conf.pulse/50-pulseaudio.conf --rename /usr/share/alsa/alsa.conf.d/50-pulseaudio.conf
Now if a user wishes to use pulseaudio, they can create an ~/.asoundrc file that looks something like
@hooks [ { func load files [ { @func concat strings [ { @func datadir } "/alsa.conf.pulse/" ] } ] errors false } ]
If a user wishes to switch between pulse and non-pulse on a quasi-regular basis, put the above into the ~/.asoundrc.pulse instead and symlink it to ~/.asoundrc when pulse is desired
ln -s ~/.asoundrc.pulse ~/.asoundrc
and remove it when not
rm ~/.asoundrc
be sure also when disabling pulse to kill the server so that other things can directly access the soundcard again
killall pulseaudio
Temporarily suspend and run an application without PulseAudio
You can use the pasuspender utility, if you only need to disable PulseAudio temporarily, to run an application and have it access your audio devices directly.
Run: pasuspender -- yourapplication [yourapplicationoptions]
- Configure your application to access your audio devices directly (e.g. select your soundcard ALSA address in an audio player)
While you run pasuspender, other applications won't be able to use PulseAudio. When you quit the application, the default behaviour of PulseAudio will be restored automatically.
See man pasuspender for more information.
Here are some features of PulseAudio
- High quality software mixing of multiple audio streams with support for more than one entrance (source) and exit (sink).
- Can be used to combine multiple sound cards into one (with frequency rate).
Large set of supported client libraries. Applications that use ESD, ALSA, oss, libao and GStreamer, are supported without the need for any changes. Modules for PulseAudio are available for xmms and mplayer.
- Low latency and accurately measured delay time for recording and playback. Ability to fully synchronize multiple playback streams.
- Network transparency: the application can play or record audio on a computer other than the one on which they run.
- Extensible architecture with modules for jackd, multicast-rtp, lirc and avahi, among others. Reference:
http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/PerfectSetup/