19

I want to hear the sound that goes into the notebook's mic from the notebook's speaker itself.

I am on Ubuntu 9.10

studiohack
  • 13,468
  • 19
  • 88
  • 118
ashishsony
  • 724
  • 2
  • 11
  • 20

4 Answers4

16

The global fix for this issue (i.e. not a piped solution running in the foreground) is more or less described in the article linked from Archon, but I keep forgetting and ending up back at this page so I'll provide a summary:

pactl load-module module-loopback latency_msec=1

This command will load the loopback module and enable global loopback of all input devices through your output (I believe, though I've only used it to solve routing my sound card's input through its output, so YMMV... not sure if this picks up all bluetooth inputs).

To permanently load this each time you restart your session (I believe pulseaudio works based on user login, so session restart not machine restart) add the following to your pulse audio config file. I chose the default config affecting all users, which is '/etc/pulse/default.pa' on my Ubuntu machine. Add the following line to the bottom:

load-module module-loopback latency_msec=1
peterporter
  • 161
  • 1
  • 4
  • 2
    I found on Ubuntu 12.10 adding the latency value I get lots of static noise in the audio but running just `pactl load-module module-loopback` works perfectly, thanks. – Cas Dec 23 '12 at 19:19
  • 1
    Excellent. Line In was non-functional for me. Fortunately with this, two Mic In now can serve as general Line In, and, what's more, the one Mic In is at the front of the computer! After executing the pactl command, a number is output. This is the module number that may be used to unload the module with later. `pactl unload-module n`. A script that can unload modules by name is here: http://umonkey-tools.googlecode.com/hg/bin/pactl-unload-by-name – kbulgrien Mar 09 '13 at 23:03
  • This seems to be the best solution. Should be the accepted answer IMHO. – RolandiXor Aug 31 '13 at 16:49
  • Things like this (I mean, the fact that this is the simplest way to achieve such a simple task, with no GUI at all when it would only imply a checkbox) makes linux distros be lightyears away from becoming a decent desktop environment. – Esteban Oct 12 '13 at 16:00
  • @peterporter can we change the channel map of particular device so that we can hear the live audio from that particular channel like right or left – Prakash V Holkar Apr 28 '14 at 08:20
  • old answer, but still useful and working also on Ubuntu 15.04 – Stefano Sep 25 '15 at 18:43
10

I use the following command (found at: http://efreedom.com/Question/3-127276/Play-Mic-Speakers-Ubuntu-Karmic):

pacat -r --latency-msec=1 -d alsa_input.pci-0000_00_1b.0.analog-stereo | pacat -p --latency-msec=1 -d alsa_output.pci-0000_00_1b.0.analog-stereo

Where:

  • alsa_input.pci-0000_00_1b.0.analog-stereo is your input device
  • alsa_output.pci-0000_00_1b.0.analog-stereo is your output device

Use paman to find these device names.

Gaff
  • 18,569
  • 15
  • 57
  • 68
  • My solution however was simpler. If you use the audio settings gui to specify the input and output, then you just need to use the following: `pacat -r | pacat -p --fix-rate --latency-msec=10` – qwerty9967 Aug 23 '13 at 02:13
6

This is a problem with pulseaudio. See this thread for a cludgy fix.

  • 4
    Thanks, this did work for me (at the end of the thread you cited): http://ubuntuforums.org/showpost.php?p=9850856&postcount=10 [basically use alsamixer] – Theraot Aug 27 '11 at 10:13
2
#To stop sound loop find module number e.g. 4 and unload.
=========================================================
# pactl list | grep "Source\|loopback"
# pactl unload-module 4
Indrek
  • 24,204
  • 14
  • 90
  • 93
Pieter
  • 21
  • 1