PDA

View Full Version : How to make alsa mic input one of pulseaudio's audio inputs?


sahilahuja
11th March 2012, 09:24 AM
After almost giving up on Fedora in my Acer Aspire One AO722, I chanced upon a way of making the mic work in Fedora 16 today. (It works in Linux Mint 12 by lowering the volume right channel of mic to 0. This solution isn't working in Fedora.) I got the internal mic working in audacity now.

How do I plug an alsa mic item into pulseaudio and use it as the default pulseaudio input so it could be used in apps like google talk?

Alsamixer shows 5 items in the Capture tab: Mic, Mic 1, Mic Boost, Capture and Internal Mic.
It looks like pulseaudio has attached itself to Mic. But I want to attach pulseaudio to Internal Mic. How do I do that?

Other Info:
I was able to make the mic work by doing to following:

Run alsamixer
Select HDA ATI SB (F6)
Increase volume of both Mic Boost and Capture to Max (pressing w). Switch off Mic and Mic 1. Mic Boost is always on. Switch on Capture and Internal Mic. (Space to toggle)
Open audacity. Select "HDA ATI SB: CONEXANT Analog (hw:1,0): Internal Mic:0". Click on record, stop and play again, and you should hear back what you just recorded.


System Config:
The AO722 has two sound cards (One "HDMI" - output only; one "Conexant Card: HDA ATI SB, with Chip: Conexant CX20588" <in the latest version of AO722>)

sahilahuja
12th March 2012, 10:58 AM
Just posted a bug report on the same issue:
https://bugzilla.redhat.com/show_bug.cgi?id=802316

alsa-info: http://pastebin.com/mcpirwmG

StephenH
12th March 2012, 12:42 PM
After almost giving up on Fedora in my Acer Aspire One AO722, I chanced upon a way of making the mic work in Fedora 16 today. (It works in Linux Mint 12 by lowering the volume right channel of mic to 0. This solution isn't working in Fedora.) I got the internal mic working in audacity now.

How do I plug an alsa mic item into pulseaudio and use it as the default pulseaudio input so it could be used in apps like google talk?

Alsamixer shows 5 items in the Capture tab: Mic, Mic 1, Mic Boost, Capture and Internal Mic.
It looks like pulseaudio has attached itself to Mic. But I want to attach pulseaudio to Internal Mic. How do I do that?

Other Info:
I was able to make the mic work by doing to following:

Run alsamixer
Select HDA ATI SB (F6)
Increase volume of both Mic Boost and Capture to Max (pressing w). Switch off Mic and Mic 1. Mic Boost is always on. Switch on Capture and Internal Mic. (Space to toggle)
Open audacity. Select "HDA ATI SB: CONEXANT Analog (hw:1,0): Internal Mic:0". Click on record, stop and play again, and you should hear back what you just recorded.


System Config:
The AO722 has two sound cards (One "HDMI" - output only; one "Conexant Card: HDA ATI SB, with Chip: Conexant CX20588" <in the latest version of AO722>)

That might work for Audacity, where one can change the input. However, it is a big problem with the current version of Skype, where the devices are limited to Pulseaudio Server. It used to be that one could similarly change the audio devices, but that disappeared. Thus, this workaround cannot be used with Skype. :(

sahilahuja
12th March 2012, 02:10 PM
That might work for Audacity, where one can change the input. However, it is a big problem with the current version of Skype, where the devices are limited to Pulseaudio Server. It used to be that one could similarly change the audio devices, but that disappeared. Thus, this workaround cannot be used with Skype. :(

YaaaaaaY!! For my day to day work, the problem is actually solved!!! :dance: And it happened during the process of writing this post :thumb:
The only problem that now remains if for it happen automatically through pulseaudio modprobe detection. (https://bugzilla.redhat.com/show_bug.cgi?id=802316). Also there is some flickering sound each time I use the mic and I need to manually toggle on "Capture" item sometimes.

There are two ways to use the mic:
A tell's you if it's really working.
B is the permanent solution. After B however you need to adjust all volumes in alsamixer once. After that the levels are saved in all subsequent reboots.

A1) Open alsamixer, make sure Internal Mic and Capture are toggled on and that both Mic Boost and Capture have high volumes. (attached screenshot)
A2) Run arecord -D "hw:1,0,0" -f cd -d 4 test-mic.wav. The wav file created has sound in it.

OR

B1) Add load-module module-alsa-source device=hw:1,0,0 to /etc/pulse/default.pa before the line .ifexists module-udev-detect.so
B2) Restart system.
B3) Open alsamixer, make sure Internal Mic and Capture are toggled on and that both Mic Boost and Capture have high volumes.

(At any point of time to find out what pulseaudio was doing I used paman.)

StephenH
12th March 2012, 10:30 PM
YaaaaaaY!! For my day to day work, the problem is actually solved!!! :dance: And it happened during the process of writing this post :thumb:
:dance::dance: Yes! That makes two of us. Thank you so much!

There are two ways to use the mic:
A tell's you if it's really working.
B is the permanent solution. After B however you need to adjust all volumes in alsamixer once. After that the levels are saved in all subsequent reboots.

A1) Open alsamixer, make sure Internal Mic and Capture are toggled on and that both Mic Boost and Capture have high volumes. (attached screenshot)
A2) Run arecord -D "hw:1,0,0" -f cd -d 4 test-mic.wav. The wav file created has sound in it.

OR

B1) Add load-module module-alsa-source device=hw:1,0,0 to /etc/pulse/default.pa before the line .ifexists module-udev-detect.so
B2) Restart system.
B3) Open alsamixer, make sure Internal Mic and Capture are toggled on and that both Mic Boost and Capture have high volumes.

(At any point of time to find out what pulseaudio was doing I used paman.)

This method fixed it. I really do appreciate this. I added my comments to the bugzilla report along with comments to the related bugzilla reports.