Barix AG is a company in
Zürich,
Switzerland that develops and manufactures small fanless
embedded devices, mostly for Internet
audio streaming.
Main focus is on
streamed audio -
Exstreamer for playing back and
Instreamer for encoding and streaming.
Annuncicom combines
both functions together.
Some products however also target remote
relay control (Barionet),
telemetry and
TCP/
serial port conversion.
The original product line featured
MP3,
PCM and
G.711 audio formats and
HTTP, raw
TCP, and raw
UDP network protocols.
The products had
usually
serial,
Ethernet, audio and
IR remote control interface.
Some featured optical
S/PDIF audio I/O and relay/sensor ports.
Recently, more features were added -
Windows Media Audio format,
SIP,
RTP,
Icecast and
SHOUTcast support, and
USB mass storage interface.
<gallery>
Image:Exstreamer.gif|
Exstreamer can receive
Internet radio and play into speakers.
Image:InstreamerFront.gif|Automated
podcasting can be implemented with
Instreamer, which performs a function opposite to Exstreamer.
Image:Annuncicom100Front.gif|
Annuncicom, being able to transmit sound both ways, serves as a building block for
network intercoms</gallery>
Technical innovations
SonicIP
The idea behind SonicIP is that a typical network today is using
DHCP.
When the user
plugs in a new device, he doesn't know the
IP address of the device.
The device is delivered from the factory with the SonicIP turned on.
When the device starts up, the SonicIP feature
speaks the IP address into the headphone output.
Once the user has determined the IP address, he can use a
web browser to access the device and turn the feature off.
IPzator(TM)
IPzator is the name Barix uses for automatic "stealing" of IP address in case DHCP fails.
The device listens for some time for the traffic
on the network and tries to deduce the IP address range used and guesses some (hopefully) unused IP address, which is then announced using
SonicIP (see above).
Then the user can configure the device with a web browser and assign manually a
static IP address.
BRTP
BRTP is a simple extension of
RTP where a consumer of a RTP audio stream subscribes the the RTP source.
The subscription is done by sending one UDP packet to the transmission port of the RTP data.
The BRTP has been introduced by Barix and is not standardized.
BRTP allows to receive
RTP even if the receiver is behind a
firewall, which is not possible with plain
RTP.
BRTP can be transmitted by
Instreamer and received by
Exstreamer.
On
Unix, it is also possible to use
Netcat to send the subscription packet before launching the RTP application.
Synchronous playback
The Exstreamer product is capable of
synchronous playback of multiple devices.
One device is configured as master and broadcasts the received audio data over
RTP (while also sending the data to its own audio output).
Besides the normal RTP, special, Barix-specific
RTCP frames are broadcast, which
carry the timing information.
The slaves adjust timing by duplicating or removing MPEG frames until they play in sync.
Then they can play
potentially infinitely long in sync, regardless of small variations in local crystal clock frequency.
This feature is intended for use with multiple units in a single large room.
If the units played out of sync, the sound would sound multiplied and disturbing.
Portability
In 2006, Barix changed from the original
Windows-only firmware update kits to a
free software loader program distributed under
GPL and aiming for
POSIX compliance.
The firmware update kits contain pre-compiled executables for
Windows and
Linux and therefore run out of the box on these systems.
The Windows executable is relying on a
Cygwin dynamic library, which is also included in the zip file.
The firmware update kit is tested to work on
Windows,
Linux,
Mac OS X and
OpenBSD.
Further it should theoretically work on any
POSIX-compliant
operating system.
External links
Barix AG website Review of Barix Instreamer and Exstreamer by a broadcast technician