Audio setup

From Ekiga
(Difference between revisions)
Jump to: navigation, search
(How to set up ?: Remove info about ALSA)
(Remove obsolete info)
Line 1: Line 1:
== What can you expect ? ==
 
 
After setting your GNU/Linux system as follows, you can listen to music or watch a movie while using Ekiga.
 
 
== What do you need ? ==
 
 
This documentation will show you two options on how to achieve this goal.  The first option is to setup the '''Advanced Linux Sound Architecture''' ([http://www.alsa-project.org ALSA]) using the [http://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html#pcm_plugins_dmix Dmix] and [http://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html#pcm_plugins_dsnoop Dsnoop] plugins to provide direct mixing of multiple audio streams. The second option is to setup the latest version of '''Open Sound System''' ([http://www.opensound.com/wiki/index.php/Main_Page OSS]) which includes built-in support for multiple audio streams.
 
 
 
== How to set up ? ==
 
== How to set up ? ==
  

Revision as of 10:00, 8 July 2013

Contents

How to set up ?

OSS 4.x

You may hear some people refer to OSS as "deprecated" or "replaced by ALSA." Such statements apply to the older OSS 3.x. OSS 4.x development is alive and well. Read the main developer's blog entry for more info: “OSS is dead. Long live OSS!”.

Unlike the earlier versions of OSS, OSS 4.x includes transparent software-based mixing which allows applications to share the same "real" audio device while each having its own independant volume controls. This eliminates the need for sound servers such as Pulse Audio and the associated overhead/latency. See the OSS Wiki for a list of features and additonal information.

Install OSS 4.x

To install OSS4, check your distro forums/documentation. Some distros such as Arch Linux provide packages in the main repository to install OSS 4.x. If your distro does not provide an OSS4 package, you may build OSS4 from source.

You should most likely uninstall ALSA and Pulse Audio before installing OSS 4.

Configure Ekiga 3.x for OSS 4.x

Gnome-status.png As of Ekiga 3.2.4 (PTLIB 2.6.2), OSS 4.x devices do not show up in the Ekiga Audio Device preferences.

To get Ekiga to work with OSS 4.x:

  • 1. Make sure that your installation of Ekiga includes OSS support.
Emblem-important.png OSS support may not be enabled on your system by default. On Ubuntu 9.04, for example, you will need to install the libpt-plugins-oss package.
  • 2. Close Ekiga and make sure no instances of Ekiga are running.
  • 3. Manually set all audio devices in the Ekiga gconf options to "/dev/dsp (PTLIB/OSS)" where /dev/dsp is the OSS device you wish to use.

You may use the following terminal commands to change the options:

 $ gconftool-2 --set /apps/ekiga/devices/audio/input_device --type string "/dev/dsp (PTLIB/OSS)"
 $ gconftool-2 --set /apps/ekiga/devices/audio/output_device --type string "/dev/dsp (PTLIB/OSS)"
 $ gconftool-2 --set /apps/ekiga/general/sound_events/output_device --type string "/dev/dsp (PTLIB/OSS)"

Alternatively, you may edit the options with gconf-editor.

  • 4. Start Ekiga and double-click "Echo Test" to make sure everything works. You will hear a woman voice and after, you should hear yourself talking with a small delay ( echo ).
  • 5. Thats it! Enjoy.

Troubleshooting

I cant get the sound to work!

Check that your audio subsystem is configured correctly:

ALSA

You can test your actual ALSA configuration using those echo tests:

 $ arecord -D plughw:0,0 -c 1 -r 8000 -f S16_LE - | aplay -D plughw:0,0 -c 1 -r 8000 -f S16_LE -

This will test if your sound card can record and play sounds at 8kHz.

 $ arecord -D plughw:0,0 -c 1 -r 16000 -f S16_LE - | aplay -D plughw:0,0 -c 1 -r 16000 -f S16_LE -

This will test if your sound card can record and play sounds at 16kHz.

You should be able to hear yourself with a small delay. Be sure to have your sound levels up and capture on.

If the test fails, try running the same command with -c 2 instead of -c 1. If you hear yourself now, this fix might help you.

OSS

Make sure that your mixer settings (run the ossxmix program) are correctly set. You can test your OSS mixer settings by using this echo test:

 $ ossrecord - | ossplay -

You should be able to hear yourself with a slight delay. If not, you may need to adjust your mixer settings in the ossxmix program.

If you still cannot get it to work, visit the OSS Troubleshooting page.

Choppy sound with Ekiga

From ALSA version 1.0.9, DMIX is enabled by default for soundcards that do not support several channels at the same time. The default configuration of DMIX in ALSA does not necessarily provide good results by default for VoIP applications. The solution is to directly use the soundcard preferences in the 'Audio Settings' or to redefine your "default" soundcard as described above.

Choppy sound when switching desktops or under heavy load

Nothing can be done. We suggest not using DMIX if you experience that problem. If you do not use the 'Default' soundcard in the Audio Settings, then DMIX will not be used.

Pulse Audio

Ekiga

Some popular distributions of GNU/Linux now ship with the sound server Pulse audio enabled by default (e.g. Ubuntu, Fedora). Pulse audio work on top of ALSA and is now part of GNOME.

In some cases, Pulse audio and Ekiga do not work well together. If you have issue with sound using Ekiga in such setup, you'll better turn off Pulse audio and use ALSA directly.

Sometimes, you just need to select the proper output with pavucontrol

We are working to fix the issue. If you're willing to give a hand: http://bugzilla.gnome.org/show_bug.cgi?id=577498

Sound Drivers broken with Pulse Audio

Pulse audio is know to have issue with some audio card drivers. You can check if you are using one of them with this command:

 $ lsmod|grep snd

Audio tricks

Explanations

The purpose of this wrapper is to put the control volumes up ( speakers... ) and stops all sounds applications automatically ( you are prompted via graphic dialog boxs to re-enable after if you want to ) when Ekiga is ringing.
That way, you will hear if you are away from your computer or if you don't have the headset on your head. When ringing stops, the script put control volumes in the proper settings for the headset ( the speakers are turned off, capture is turned on, and headphone turned on too )

SputnickEkigaTrick2.png

- This script require : ekiga alsa alsa-utils sox inotify-tools zenity
- for debian ubuntu distros :

sudo aptitude update; sudo aptitude install ekiga alsa alsa-utils sox inotify-tools zenity

- It's designed to have a small system foot print
To avoid sound card conflicts, I use pulseaudio : http://www.pulseaudio.org/wiki/PerfectSetup with this card :

$ lspci | grep Aud
00:1b.0 Audio device: Intel Corporation 82801JD/DO (ICH10 Family) HD Audio Controller (rev 02)

If I list my controls, I have :

$ amixer -Dhw:0 | awk -F"'" '/^Simple/{print $2}'
Master
Headphone
PCM
Front
Front Mic
Front Mic Boost
Line
Line Boost
CD
Mic
Mic Boost
IEC958
IEC958 Default PCM
IEC958 Playback Source
Beep
Mono
Capture
Capture
Digital
Input Source
Input Source

You should use such daemons to run this script properly and to have the ability to play 2 sounds in the same time. ( a few second )

Installation

wget http://www.sputnick-area.net/scripts/ekiga
chmod +x ekiga
editor ekiga     # You need now to edit the variables on the top of the script to fit your configuration
./ekiga          # use this instead of usual ekiga binary

Changelog

version 2010-07-14 20:12:46

  • mplayer workaround : require to kill it and replay the full command line later because mplayer can't be paused with SIGSTOP signal
Personal tools