1. Alexander Schremmer
  2. offsitetransmitter

Overview

L'Unico Offsitetransmitter
==========================

(c) 2011 Alexander Schremmer <alex@alexanderweb.de>
License GPL v3

Transmitting sound to and from a remote location has always been a wish at the
L'UniCo Campusradio Paderborn. With this solution, it is possible. You only
need a notebook, an external soundcard, and a mobile UMTS router if necessary
(otherwise you need a Wifi connection) as well as some setup on your server
machines near the studio.

This program expects two soundcard inputs: Mic and Line-In. These are mixed and sent
to a server in the studio via RTP/UDP. Also the studio signal is received via TCP and
output on both outputs (Headphone and Line-Out). Furthermore, the Mic signal is output
on Line-Out. And Line-In is output on the headphone.

This program is supposed to be run with a soundcard like the ESI U46 XL
(http://geizhals.at/deutschland/a366482.html ), a notebook [A] running
Linux (e.g. Ubuntu), and a microphone. Furthermore, you need a server [B] that
runs Linux and either has a direct audio connection to your studio or connects
to a windows/linux machine [C] that has an audio connection to your studio. On
the linux server [B], you copy the gstreceive.sh and the gststudiosend.sh and
modify the hostname to match the one of machine [C] or use an
alsa-sink/alsa-source if your Linux machine [B] connects directly to your
studio. If you are using a third machine [C], you need to run Pulseaudio there.

The ESI U46 XL is then wired like this: the first output stereo pair is unused,
the second pair is headphone out, the third pair is line out. The first input
pair is the mic and the second input pair is line in. Afterwards, ALSA needs to
configured: the file asoundrc is copied to ~/.asoundrc. In the program itself,
only the hostnames need to be modified (lines 17-20) - usually you would put
the same hostname there.

On the machines [A]/[B] you need these packages:
swh-plugins gstreamer-tools gstreamer0.10-plugins-bad gstreamer0.10-plugins-base gstreamer0.10-plugins-base-apps gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly gstreamer0.10-pulseaudio pulseaudio pulseaudio-utils gstreamer0.10-tools gstreamer0.10 libgstreamer-plugins-base0.10-0 python-gst0.10 python-gtk2-dev python-gtk2 gstreamer0.10-plugins-ugly invada-studio-plugins-ladspa