I have two microphones, the headset and my webcam. My Webcam mic is not so good so I want to use the headphone mic or a separate single microphone. The problem is that the Webcam input is the only one taking the echo/noise cancellation. I know echo/noise cancellation can only work on one device. So I just want to tell my PC which input to apply echo/noise cancellation.
I got it!
First, you need your port name: pacmd list-cards
ports: analog-input-front-mic: Front Microphone (priority 8500, latency offset 0 useac, available: yes) properties: device.icon_name = "audio-input-microphone" analog-input-rear-mic: Rear Microphone (priority 8200, latency offset 0 usec, available: yes) properties: device.icon_name = "audio-input-microphone" analog-input-linein: Line In (priority 8100, latency offset 0 usec, available: no) properties: analog-output-lineout: Line Out (priority 9000, latency offset 0 usec, available: no) properties: analog-output-headphones: Headphones (priority 9900, latency offset 0 usec, available: yes) properties: device.icon_name = "audio-headphones" iec958-stereo-output: Digital Output (S/PDIF) (priority 0, latency offset 0 usec, available: unknown) properties:
Now edit sudo nano configuration to have a default input device with sudo nano /etc/pulse/default.pa
Mine was: analog-input-front-mic
Should look like this
### Make some devices default #set-default-sink output #set-default-source input
I changed it to
### Make some devices default #set-default-sink output set-default-source analog-input-front-mic
Lastly, plug the input device and kill PulseAudio server.
This works nicely if you have two mics and you can unplug the default device to switch.
I’m trying a single microphone in the rear and I had to unplug the headphones microphone to this work. So it seems you can only have two microphones plugged at one time for this wot work.
That was a lot of work compared to what I found out. I just need to go to settings and turn off the inputs I don’t want and pulseaudio -k and it will set echo/noise cancellation to it.
I changed to an actual sink since it says set-default-sink. Now it all gets set up when I turn on my Bluetooth headset after I set it to trusted device.
### Make some devices default set-default-sink a2dp_sink set-default-source multichannel-input