Choosing the noise cancelled input

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

Sample

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.

pulseaudio -k

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.

EDIT:

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