Last Review: Nov-20-2011


Linux Skype audio problem

Skype audio problems with Linux are a common experience. While the video part of webcams usually runs out of the box, audio configuration needs explicit user action. This text is about PulseAudio and the Donald Duck voice problem.

Skype for Linux PulseAudio audio source configuration

Since modern Linux distributions run the PulseAudio sound server on top of the ALSA Kernel modul Skype defaults in the option dialog for sound devices to PulseAudio.

Skype Options Dialog
Skype options dialog

One problem with Skype arises out of the fact, that not all Linux distributions provide easy to use (graphical) toolsets for PulseAudio configuration in their default setups. In order to get control over your PulseAudio settings be sure to have installed the following packages: You can check this in the terminal with the following console commands (you could need other package managers than the ones in my examples):

dpkg -l paman
dpkg -l pavucontrol

With both packages installed you should see something like that:

dpkg shows paman installed
Terminal window with package informations

To install them, do the following:

sudo apt-get install paman pavucontrol

Now your Desktop Applications Menu should have two entries named PulseAudio Manager and PulseAudio Volume Control. Within the Xfce Applications Menu for example they appear in the Multimedia Flyout Menu:

PulseAudio Manager and Volume Control entries in Applications Menu
Xfce Applications Menu with PulseAudio entries

Normally audio output runs fine with Skype but audio input does not run at all or with weird results only. To fix this, you should take care of your input device used with Skype. First you must get aware of this device. Open the PulseAudio Manager...

PulseAudio Manager Devices
PulseAudio Manager showing devices

...and choose the Devices card. In this case there is a webcam with integrated microphone called Webcam B500 Analog Mono which serves as input device (Source) for Skype. Now open the PulseAudio Volume Control and choose the Configuration card to set Skype's input device properly:

PulseAudio Volume Control, Configuration card
PulseAudio Volume Control showing configurations

The input device, in this case Webcam B500 should appear here. Take care to set it to the appropriate profile (which of course should not be Off) as shown. Now you should be ready for Skype...

The Donald Duck voice problem

Within some Linux environments the above described configuration enables Skype using the microphone, but voice output sounds like Donald Duck speaking. This is a result of different sampling rates used by your hardware on the one hand and PulseAudio defaults on the other hand. Since Audio CDs are sampled with 44100 Hz, PulseAudio setup is made with this default value. Todays audio gear uses rather 48000 Hz sampling rates. For proper results PulseAudio and your hardware (microphone) have to work with equal sampling rates. After selecting the input device and pressing the properties button PulseAudio Manager supplies informations on your hardwares sampling rate:

Hardware sampling rate shown by PulseAudio Manager
PulseAudio Manager showing sampling rate

The line titled Sample Type shows a device providing one channel, 48000 Hz sampling rate and s16le sampling format. By editing /etc/pulse/daemon.conf you can configure the PulseAudio server to use these values. You must do this with root rights (Feel free to use your favorite editor):

sudo nano /etc/pulse/daemon.conf

This file contains a lot of parameters, all commented out but given with their default values. To change a default, uncomment the line by removing the leading semicolon and insert the new value after the equal sign. The following section of /etc/pulse/daemon.conf shows a daemon.conf file adjusted to the above mentioned source hardware Webcam B500 Analog Mono:

; rlimit-nice = 31
; rlimit-rtprio = 9
; rlimit-rttime = 1000000

; this default is right for Webcam B500:

; default-sample-format = s16le
; webcam B500 uses 48000 Hz sampling rate:
; default-sample-rate = 41000

default-sample-rate = 48000
; webcam B500 has one channel only:
; default-sample-channels = 2

default-sample-channels = 1
; default-channel-map = front-left,front-right
; default-fragments = 4
; default-fragment-size-msec = 25

Shutdown and restart PulseAudio (as daemon) to enable the changes made (you do this via terminal as normal user, NOT as root)...

pulseaudio -k
pulseaudio -D

...or restart your machine. From now on your voice will be clear and understandable...