Listen to your own microphone on Linux

Setting up a microphone for podcasting or conferences can be quite tricky. Most people make some pre-recordings to achieve that. But there is also an easier way on Linux by listening to your own microphone with a delay.

Pulseaudio on Linux offers a loopback driver, which we can use to listen to our own microphone. Furthermore it even offers to set a latency (in milliseconds) you can set when you are loading the pulseaudio module.

First install the PulseAudio Volume Control. The package is named pavucontrol in most distributions. It's a graphical tool to manage your pulseaudio devices and volume setting and very useful for a lot of other tasks too.

sudo apt install pavucontrol
dnf install pavucontrol
pacman -S pavucontrol
#...

After that we need to load the pulseaudio module for the loopback device.

pactl load-module module-loopback latency_msec=1000

That would load the loopback module with a delay of 1000 ms (1 second). You can set that value lower (like 1 ms) if you want to hear yourself realtime or a higher value if you get irritated by hearing yourself.

Next open Pavucontrol, set your microphone as default input source, unmute it and maybe mute other input sources.

Pulseaudio Volume Control Microphone Settings

If your device is not showing up, make sure the device is set as input device in the configuration tab.

Pavu Control Configuration for Recording

In the recording tab make sure to unmute the Loopback device and check if everything is looking correctly.

PavuControl Input Configuration

If you are done you can unload the pulseaudio module again by running:

pactl unload-module module-loopback

Or use the id which is shown as output of the load command to only unload this version of the loopback module.