This is a rather crazy idea.

I am planing to set up a configuration that would send audio being played on my laptop to my home server via local network so that the sound is played on the server connected to a hi-fi with good speakers.

It's supposed to serve the purpose of watching movies on the laptop with sound on the speakers without rearanging cables.

I suppose it can be done similarly to writing text to a file mounted via sftp, but with the /dev/audio or /dev/mixer

But I have no idea how to intercept the audio output.

Looking forward to tips from Pros ;)

  • All solutions that I investigated a while back had a latency issue.... so probably not so good for movies... Sep 11, 2010 at 18:21
  • You guys are great! I'll have a project for a few weeks of my after-work-and-no-wife-in-range-free-time :D
    – naugtur
    Sep 11, 2010 at 21:17
  • @xenoterracide: this is not an insurmountable problem when dealing with predetermined content such as movies; it's mostly a matter of buffering and of arranging things so that the latency is known and accounted for.
    – SamB
    Dec 19, 2010 at 6:41
  • 2
    It seems it's also possible to stream audio using ALSA, which is as low level as you can get: pogo.org.uk/~mark/trx/streaming-desktop-audio.html This is great because, this way, you should be able to route audio using different audio subsystems (JACK, PulseAudio), which means it should work for any application you're running.
    – Miguel FA
    Mar 5, 2018 at 17:54
  • The ideal solution would have been something like a chromecast emulator that could run on any linux box, but apparently google strangled that effort. There is Raspicast but it looks tricky to get working.
    – ccpizza
    Mar 24, 2021 at 22:11

8 Answers 8


What you're looking for is a sound server. These programs send sound over the network. Choices include JACK, NAS, Pulseaudio and more.

Pulseaudio is the default audio system on Ubuntu and is widely available on Unix. JACK is widely available on desktop operating systems and prides itself on its low latency. I'd try these two first. See Jack vs Pulseaudio -- how is it faster? for a short comparison.

To play music on a different computer, any of these programs would do as long as you manage to install the same program on both machines (they use incompatible protocols, though some have translation modules). But when playing movies, you may have trouble because forwarding sound over the network introduces perceptible latency. Some movie players allow you to fine-tune the alignment between audio and video, you may need to play with this setting.

  • I tried audio streaming over the network with JACK some time ago and didn't have any problems.
    – echox
    Sep 11, 2010 at 20:49

As Gilles said, you're best of looking into updating your soundserver config.

You can use pulseaudio to listen to a TCP port. Be sure to check padevchooser, which is a GUI frontend to update your config.

You can find a tutorial on the archlinux wiki.

  • 7
    DO NOT TRY THIS. module-native-protocol-tcp is buggy, unmaintained, and you will waste hours if not days of your life trying to configure it to work. At best you'll get terrible sound quality and a very brittle setup. Sep 25, 2018 at 22:15
  • 4
    Can confirm. Setting it up was a pain. And the end result is choppy audio.
    – madprops
    Oct 26, 2019 at 15:32

Your best bet is probably VLC/VLS, but expect some nasty problems with synchronization drift as it is hard to keep video playing here in lockstep with audio data playing there.

  • Not so hard, VLC for instance lets you control synchronization (at least now it does).
    – Rodrigo
    Mar 21, 2017 at 6:10

MPD allow for streaming audio over http, just not setup by default. The limitation is that MPD streams from your MPD audio library, where as a sound server will allow you to stream any audio on the computer.

  • It's a bit silly to repeat my comment from one post below, but here it goes paraphrased: It doesn't seem to be possible to send sound from a movie through mpd...
    – naugtur
    Nov 24, 2010 at 11:58

Direct access to the loopback Alsa Buffer in the operating system would be the most efficiant and reduce redundant translation layers so the latency be reduced as well. The only drawbacks in any case, over the internet, you have ssh or vpn overhead latency.

This person is using a binary that works really well (trx), and the alsa-loop


After some fiddling with raspicast managed to send audio from an android client to a raspberry pi over ssh. The only dependency (for audio only) is omxplayer which can be installed with apt-get install omxplayer.

The android client is open-source and available on github. Looking at the code it appears that the android app wraps around dbus-send and omxplayer so I'd expect it should also be possible to stream from other OS's than android, although it's not very clear what specific commands need to be sent to dbus on the remote box. For a generic linux server the code would probably need to be modified to use something like mpv instead of omxplayer.

NOTE: The android app defaults to HDMI output for the audio. If you are connecting your speakers through the audio jack then you'll need to change it to ALSA (under Settings > Audio output or otherwise you won't get any sound.

There are also a few tutorials like this one which go into more details on getting raspicast to also play videos and show photos.


I myself used SoundWire (http://georgielabs.net) for this. The client is only available for Android, but running it in a VM also works.


Use MPD on your laptop to stream the music to your computer at home.

I suggest, however, that you run MPD on the computer at home, and just connect to MPD with your Client from your laptop (I suggest GMPC).

It is how I listen to music all the time, I have just one computer with music on it, and clients on my laptop and other computers.

MPD can stream the music through network, so you can feed that to a server or directly play it with mplayer.

  • I'm not sure if You're adressing my case... I was asking about sending sound over network, not setting up a server with a player. And Yes - MPD would be my choice too.
    – naugtur
    Sep 11, 2010 at 21:16
  • Yes. "Sending Sound" means streaming music. If you're adamant about streaming from laptop to desktop: Install MPD and GMPC on your laptop. Enable a network stream on MPD. Start playing music and start mplayer on the desktop, that plays the stream you create with MPD on your laptop.
    – polemon
    Sep 12, 2010 at 1:03
  • 1
    MPD allows for remote control of a music player, not remotely stream music.
    – WhyNotHugo
    Sep 12, 2010 at 19:13
  • 1
    but I can't send all my sound output to another machine this way. What if I watch a movie and want to send the signal?
    – naugtur
    Nov 24, 2010 at 11:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .