Translation(s): English - Русский
PulseAudio
PulseAudio, previously known as Polypaudio, is a sound server for POSIX and WIN32. It is a replacement for ESoundDaemon.
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 to any changes to them. Modules for PulseAudio are available for xmms and mplayer.
- Low latency, and a very accurate measurement 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.
Installing PulseAudio
# aptitude install pulseaudio
Since at least squeeze, installing pulseaudio through apt in this way should result in a pulseaudio system that "just works". 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.
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
The lack of playback devices or audio capture
If we update or some time later Pulseaudio stopped correctly determine the input / output devices and sources, try to clear the configuration files pulseaudio. To do this, delete the folder: ~/.pulse, ~/.pulse-cookie and /tmp/pulse-*. Forcibly end the process pulseaudio command:
# killall -9 pulseaudio
(See Note if running version 6 of Pulseaudio) Then run:
$ pulseaudio --start
Note :- From version 6.0 of pulseaudio, the daemon autospawns each time its killed. In order to have the previous way of running the following is required to be changed :-
[$] cat /etc/pulse/client.conf | grep autospawn ; autospawn = yes
Copy the configuration files to ~/.config/pulse
[/etc/pulse] └─[$] sudo cp client.conf /home/shirish/.config/pulse/
Change the file permissions so you can edit the file :-
[~/.config/pulse] └─[$] sudo chmod 777 client.conf
Make the change using your favorite editor so that it says :-
[~/.config/pulse] └─[$] cat client.conf | grep autospawn autospawn = yes
Make sure that the indentation in the file is at it is and carry on with above.
If that does not work well and remove the /etc/pulse directory and reinstall PulseAudio.
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.
Wheezing and audio interruptions
If a low-power machine having wheezing, in /etc/pulse/daemon.conf list the following:
high-priority = no nice-level = -1 realtime-scheduling = yes realtime-priority = 5 flat-volumes = no resample-method = speex-float-1 default-sample-rate = 48000
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
Excessive CPU usage and distortion
Add a line to / etc / pulse / default.pa
load-module module-udev-detect tsched = 0
Sound level is low or low sound
Add a line to / etc / pulse / daemon.conf:
flat-volumes = no
Various problems with Skype and Wine
Add or uncomment the line in / etc / pulse / daemon.conf
default-fragments = 25 default-fragment-size-msec = 25
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
Install from source
Seems as though there ought to be some general instructions for building things from source in Debian, but I couldn't find them when editing this.
Download
from here:
http://www.freedesktop.org/wiki/Software/PulseAudio/Download/
Configure
???
Build
make
Install
Put it somewhere. Make some links so programs can find it.
- Reference:
http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/PerfectSetup/