Using the Microphone with Skype and Other Audio Applications
The Problem:
You have set up Skype or another audio program. While the headphones work and you can hear just fine, there is simply no microphone signal at all. You do the Skype audio test call, as we see here, and you hear the automated prompt telling you to speak. But when it is played back, you hear nothing.
Green | Audio out |
Pink | Microphone in |
Blue | Line in |
Before going further, make sure that that your audio peripherals are correctly plugged in. If you are using the audio connectors on the front of the case, they must be correctly connected to the motherboard and sometimes they are not. Try using the connectors on the rear, which are directly on the motherboard or the separate sound card.
Remember that "Microphone" means a non-amplified microphone signal, like a headset, while "Line in" means a line-level signal from another piece of equipment like a CD/DVD player, MP3 player, and so on.
The Investigation:
See what sound hardware the kernel has detected.
Here is what I see on my system, with an nVidia
audio device on the motherboard at PCI bus address 00:05.0.
Type the bold
and look for the
highlighted
output:
# lspci | grep -i audio
00:05.0 Audio device: nVidia Corporation MCP61 High Definition Audio (rev a2)
See what sound kernel modules are loaded. You should see a number of these, but your precise output will vary depending on your hardware and kernel version:
# lsmod | grep snd snd_hda_codec_realtek 67904 1 snd_hda_intel 30941 3 snd_hda_codec 126679 2 snd_hda_codec_realtek,snd_hda_intel snd_hwdep 6907 1 snd_hda_codec snd_seq_dummy 1790 0 snd_seq_oss 33816 0 snd_seq_midi_event 7243 1 snd_seq_oss snd_seq 59828 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event snd_seq_device 6985 3 snd_seq_dummy,snd_seq_oss,snd_seq snd_pcm_oss 46200 1 snd_pcm 97044 3 snd_hda_intel,snd_hda_codec,snd_pcm_oss snd_timer 23140 2 snd_seq,snd_pcm snd_mixer_oss 15901 1 snd_pcm_oss snd 78261 16 snd_hda_codec_realtek,snd_hda_intel,[...] soundcore 7367 2 snd snd_page_alloc 8508 2 snd_hda_intel,snd_pcm
Verify that the sound and ALSA services are configured to start in your current run level:
# runlevel N5
# chkconfig --list sound sound 0:off 1:off 2:on 3:on 4:on 5:on
6:off # chkconfig --list alsa alsa 0:off 1:off 2:on 3:on 4:on 5:on
6:off
Verify that the sound and ALSA services have actually been started:
# /etc/init.d/sound statusSound loaded
# /etc/init.d/alsa statusSound loaded
If these are run through SystemD, you will see no output
from the above command and you will need to do the
following instead.
The alsa-restore
service does not run
continuously, but it has successfully done its job
and exited:
# systemctl list-unit-files | egrep 'sound|alsa' alsa-restore.service static alsa-store.service static sound.target static # systemctl status sound.target sound.target - Sound Card Loaded: loaded (/usr/lib/systemd/system/sound.target; static) Active:active
since Fri, 2013-11-29 11:28:27 EST; 5h 18min ago Docs: man:systemd.special(7) # systemctl status alsa-restore.service alsa-restore.service - Restore Sound Card State Loaded: loaded (/usr/lib/systemd/system/alsa-restore.service; static) Active: inactive (dead) since Fri, 2013-11-29 11:28:36 EST; 5h 18min ago Process: 1290 ExecStart=/usr/sbin/alsactl restore (code=exited,status=0/SUCCESS
) CGroup: name=systemd:/system/alsa-restore.service
Verify that the audio mixer is not muted and the input gain is set to a reasonable level:
# aumix -q vol 100, 100 line 77, 77 pcm2 100, 100igain 57, 57
dig1 100, 100 # amixer Simple mixer control 'Master',0 Capabilities: pvolume pswitch pswitch-joined penum Playback channels: Front Left - Front Right Limits: Playback 0 - 65536 Mono: Front Left: Playback 65536 [100%] [on] Front Right: Playback 65536 [100%] [on] Simple mixer control 'Capture',0 Capabilities: cvolume cswitch cswitch-joined penum Capture channels: Front Left - Front Right Limits: Capture 0 - 65536Front Left: Capture 30147 [46%] [on]
Front Right: Capture 30147 [46%] [on]
Verify that nothing is currently using the audio device. You want to see no output here:
# fuser -v /dev/dsp # lsof /dev/dsp
The Solution:
If the problem was not fixed by switching to the rear panel connectors, the problem is probably that you have two microphone inputs and the wrong one is selected.
Start the Pulse audio volume control application with
pavucontrol
as seen here.
Click the Input Devices tab.
Click the pull-down menu beside Port and try selecting the other microphone. Here, I have switched from Microphone 1 to Microphone 2, solving my problem.
Verify that you see the level meter bar graph move as you speak. The input level meter bar graph is at the center of the panel, just below the "Front Right" slider, below the words "Silence Base Max", and above a light grey empty box. It is nearly at zero in this screen capture.
Set the input gain to a reasonable level. It should move most if not all the way to the right on peaks, but it should spend the majority of the time below 50%.