I have a USB microphone that I can chat on Skype, record sound etc. But how can I make it so that when my mic is on and I speak, Ι hear it in speakers live without having to record my voice first and then play it back? What apps do I need or where can I enable this option?

I'm running Ubuntu 10.10

  • 2
    One thing to consider is that depending on your soundcard you might get latency (a slight delay between your speaking and the sound coming through your headphones). This is very disconcerting and is due to the processing and converting from Analog to Digital then back to Analog. I have heard that in Ubuntu you might need to install Jack audio libraries to reduce latency. superuser.com/questions/87571/… – Colin Matheson Apr 20 '12 at 18:29
  • 1
    ok, but how do I get the sound coming out in first place? – Martin Zeltin Apr 20 '12 at 18:30
  • You don't need jack. I use the lowlatency kernel from Ubuntustudio that is also available through apt-get with no issues. – mchid Feb 4 '16 at 7:14
  • 3
    Try this command: arecord | aplay – user619271 Jul 2 '16 at 15:28

Here is a solution that I've tested with Pulse Audio on Ubuntu 12.04.

  • Install PulseAudio Volume Control (pavucontrol)

  • Now we will route your microphone to your speakers. Do this by running the following command:

    pactl load-module module-loopback latency_msec=1
  • On the Recording tab of pavucontrol, you can show all streams (combobox at the bottom) and then configure which microphone (if you have more than one) should loopback into the built-in analog stereo

To stop it running, run:

pactl unload-module module-loopback
  • 7
    The solution works fine, but how can I undo this setting? – Ionică Bizău Dec 19 '13 at 11:31
  • 3
    To undo it see this answer. – Gramic Feb 8 '14 at 9:43
  • 1
    When I do this sound comes out of the speakers, but it is only static, and no voice if I speak into the mic. Any ideas? I'm on 14.04 – andrewmh20 Jun 10 '14 at 17:07
  • delay ruins playback.. try to sing with it :\ – neu-rah Apr 4 '16 at 15:22
  • 1
    It still gives a slightly noticeable lag, which is annoying when playing instruments. Any way to avoid it? – Daniel Vartanov Nov 6 '17 at 20:50
  1. First install PulseAudio Volume Control/pavucontrol.

    Either install via Software Manager.

    Or run this below command in terminal:

    sudo apt-get install pavucontrol
  2. To start Mic to Speaker working, run below command in terminal.

    pactl load-module module-loopback latency_msec=1
  3. To stop the same, run below command in terminal.

    pactl unload-module $(pactl list short modules | awk '$2 =="module-loopback" { print $1 }' - )

Simple solution

Just use:

arecord -f cd - | aplay -

If you wanna play while saving:

arecord -f cd - | tee output.wav | aplay -
  • Definitely, the most simple way to echo microphone into headphones. I miss a GUI interface. – Pedro Vagner Apr 10 '17 at 15:39
  • 5
    With this solution the playback has an awful latency, unfortunately – Daniel Vartanov Nov 6 '17 at 20:50
  • 3
    This will help with the latency: arecord --buffer-time=1 - | aplay --buffer-time=1 - – nobar Nov 9 at 4:46

You can do it with jackd and qjackctl.

The program jackd is an audio sound server daemon for Linux, and its counterpart qjackctl is a simple user interface that let you handle JACK audio server. From this you can virtually connect the output of your mic to your speakers.

You can install them from you terminal with:

sudo apt-get install jackd qjackctl

After installing it, and running qjackctl the connections mentioned will looks like the following screenshot.

qjackctl app in action

Note, I am a professional audio editor, I and use it each week recordings sesions.


  • 4
    what do I do if there's nothing under connections there.... I don't have that system - capture - playback thing.... there's nothing there.... – Martin Zeltin Apr 21 '12 at 4:13
  • 1
    I think it's not working because i have a usb mic... – Martin Zeltin Apr 21 '12 at 4:30
  • Strange... when you started qjackctl, dit it started without complaining? – Rubens Mariuzzo Apr 21 '12 at 19:29
  • 2
    @MartinZeltin: For me it was because the jack server wasn't started. Click the 'Messages' button and look for that error in the log. To fix this I opened 'Setup' and then went to the 'Misc' tab and ticked 'Start JACK audio server on application startup'. I then closed qjackctl and reopened it. After that I could see exactly what was in the picture above – Baggers May 30 '15 at 16:04

I've packaged up other people's answers into 'listen', a Bash script. Run this to listen to your mic input. It sleeps forever. Kill it (e.g. Ctrl-C) to stop listening.

#!/usr/bin/env bash

# Directs audio input (e.g. mic) to audio output (e.g. speakers),
# then sleeps forever. Stops audio redirection when it is killed.
# So, for example, plug your phone into the PC's mic, run 'listen',
# and listen to phone audio through your computer's speakers.
# Requires:
# sudo apt-get install pactl

set -e

module=$(pactl load-module module-loopback latency_msec=10)

function cleanup {
    pactl unload-module $module

trap cleanup EXIT

sleep infinity

You can use audacity to amplify your voice by "playback while recording" feature. go to edit>preferences>recording> check software playthrough.

  • I'm not sure that an audio recording software is the right solution to echo the microphone input to the speakers. – David Foerster May 10 '17 at 13:22

Just an update for 2018 if you use gnome. There's a gnome extension that you can use to achieve just that. Here is the link in case anyone wants to try it out https://extensions.gnome.org/extension/954/pulseaudio-loopback-device/

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.