Transmit/receive uncompressed stereo audio over a local network. Turn two computers into a really expensive XLR cable… for free!
A student recently asked how to make a high-quality audio link from the basement of a building to an upper floor. It’s too long to run a cable, and a suitable radio link would be complicated. The building does have an ethernet network, so I created these applications. (Just a set of user-interfaces around the recommended MAX/MSP methods for uncompressed network audio streaming.)
It’s a complex solution to a simple problem, but computers/networks seem to be more plentiful than hundreds of feet of XLR cable!
These apps do not compress the audio data (it’s not MP3/OGG/WMV streaming). The sound is transmitted uncompressed over your network. That can be a lot of data but it should be fine on a wired or wireless LAN. It’s too much for your DSL or cable modem, so expect problems if you try to use it over the internet.
The transmission is strictly point-to-point. Each transmitter can only connect to one receiver.
How To Use it:
- Connect two computers to your network. Make sure that port 7473 (or whatever port you assign) is open on your firewalls. It’s best to use a static IP address for each computer.
- Copy the Network Audio Transmitter app to the computer where your audio originates. Copy the Network Audio Receiver app to the destination machine.
- Start the Receiver app and wait a few seconds. An IP address should appear after “This Computer’s IP”.
- Go to the Transmitter computer and start the Transmitter app. After a few seconds, you should see the receiver’s IP in the “Available Receiver” field. (The Receiver broadcasts it’s IP every few seconds across the whole network.) Press “Transmit to Receiver Above”. The green “Connected” indicator should appear. (You can always type a manual IP if the receiver is not broadcasting its info properly.)
- Use the “Audio Settings” button on both apps to setup your sound hardware. You can play a sound file over the network to test your setup, or stream a live input. If the Live Input button is active, you can toggle the “play-through” button to listen to your input over the local speakers as well as the network.
- To transmit the audio from an app (like iTunes) you can use Soundflower to create a virtual input and then choose it in the “Audio Settings…” window.
If it Doesn’t Do What You Want:
- Modify it. The source code is provided (requires MAX/MSP) under a GPL license.
- Explore other options for sending realtime audio over a network: Quicktime Broadcaster, Icecast, Nicecast, speakershare, NinJAM, JackTrip, Soundfly. Or use the free AUNetSend and AUNetReceive plugins built-in to OS X (tutorial here via wayback machine). For the truly lazy and partially deaf, there’s always Skype!
Download Current Version
There is no Windows version (details).
Known Bugs or oddities:
- The Receiver tries to broadcast its IP across the network, but it won’t traverse subnets. (Not actually a bug, just a fact of network topology.)
- Setting are not saved when the apps shut down.