Software Libraries

RadioDNS Hybrid Radio works with standard software libraries and open source code

On this page you’ll find libraries and source code that can help you implement RadioDNS Hybrid Radio yourself. If you don’t have the resource to do that, then you can talk to RadioDNS Hybrid Radio¬†service providers.

Code on this page is licensed directly by its various authors, and you should check the exact terms of their licensing in each package. RadioDNS does not offer any guarantee or warranty for any of the code offered by these authors.

Reference Source Code and Libraries

These are libraries / source code that are referenced directly by the RadioDNS Hybrid Radio technical specifications.

GCC Library

The GCC Library is a strongly recommended component of any RadioDNS Hybrid Radio client device. It helps devices construct a RadioDNS Lookup even if some of the required information has not yet been received from the broadcast signal.

Further information on the GCC Library, with links to a HOWTO Document, Source Code and Example Code.

RadioDNS Lookup Process

These are libraries in a variety of languages that can perform the RadioDNS Lookup process

Perl
perl-radiodns (Peter Redhead)
This library facilitates the resolution of an authoritative Fully Qualified Domain Name (FQDN) from the broadcast parameters of an audio service.
From this FQDN it is then possible to discover the advertisement of IP-based applications provided in relation to the queried audio service.

PHP (Andy Buckingham)
php-radiodns
A PHP library that facilitates the resolution of an authoritative Fully Qualified Domain Name (FQDN) from the broadcast parameters of an audio service.
From this FQDN it is then possible to discover the advertisement of IP-based applications provided in relation to the queried audio service.

Python (Sam Starling)
pyradiodns
A Python library that facilitates the resolution of an authoritative Fully Qualified Domain Name (FQDN) from the broadcast parameters of an audio service.
From this FQDN it is then possible to discover the advertisement of IP-based applications provided in relation to the queried audio service.

C (Mo McRoberts)
libradiodns
A simple client library for RadioDNS.

Ruby (Chris Lowis, BBC R&D)
ruby-radiodns
Perform RadioDNS resolutions and service lookups in Ruby.

Java (Byrion Smith, Global Radio)
java-radiodns
Perform RadioDNS resolutions and service lookups in Java

Server software

SI/XSI Production Tools

spi-transform (Ben Poor, Andy Buckingham)
A pair of XSL-T documents that transform SI files to the XSI format, and vice versa.

xsd schema for SPI v1.3.1
The XSD to validate XML SPI documents (SI and PI)

Visuals

A collection of libraries that implement the server-side functionality of Visuals (RadioVIS)

node-radiovis (Pete Redhead)
A demonstration of a completely self-contained RadioVIS system, comprising of:
– a message and slide manager
– a RadioVIS sender
– a basic Stomp server
– a Comet server
– a live monitor
…written in node.js (a server-side implementation of javascript). Compatible with Linux and Mac OS X.

ActiveMQ (Apache)
An open source message broker which fully implements the Java Message Service 1.1 (JMS) and is the reference implementation of a STOMP server.

RabbitMQ (Rabbit Technologies)
A complete and highly reliable enterprise messaging system based on the emerging AMQP standard. Requires Erlang. STOMP support possible.

ebu-radiovis-server (Michael Barocco, Mathias Coinchon)
A stand alone implementation of the RadioVIS protocol using Stomp and Comet.

radiovis-generator (James Harrison)
A Ruby gem that generates images and text for RadioVIS and performs publishing via Stomp. “Designed to be utterly trivial to customise and extend.”

Device Code

Code designed to run on devices, to implement various RadioDNS functionality.

Android
End-user: RadioVIS Demo (Byrion Smith, Global Radio)
An app that lets you receive and view a station’s RadioVIS service, given RadioDNS FM parameters (frequency, PI code, country)

Nokia mobile phones
N900-fmvis (Pete Redhead)
RadioVIS enabled application for the Nokia N900.

Chumby
ebu-radiovis-chumby (Michael Barocco, Mathias Coinchon)
Chumby Radio FM application including RadioVIS features developed by EBU for IBC 2010 to demonstrate RadioDNS and RadioVIS functionalities.

Windows
RadioVIS Monitor (Casterplay)
A very cool piece of Windows software which allows you to monitor multiple RadioVIS services in real time. There’s a video of it working on the website; you can monitor 15 stations at the same time if you’re running high enough resolution. If you need a starter XML file, here’s one from Folder Media’s Matt Deegan.

Multi-platform
RadioVIS Sample Application (BBC)
A piece of software written in Python (and thus runnable on Windows, Mac and Linux) by Chris Needham of the BBC, which connects to a RadioVIS service and displays the associated pictures and text. More verbose than the Casterplay client, and it resolves server details from given Tx parameters. It comes with a sample configuration file. It’s available on GitHub and Andy Buckingham of Global has forked a version which contains all their services.

EBU Content Manager (EBU)
The content manager is a standalone software that aggregate content for various sources and can send it using RadioVIS (and other publishing method). The Content Manager can be used to change dynamically the visuals on the EBU RadioVIS server.

EBU Software and Tools (EBU)
The EBU have collated all their various software packages and services onto a single page, with links out to their Content Generator, Web Viewer for RadioVIS and their RadioDNS Manager service.

Withdrawn

This page previously referenced software developed by CRC Canada (CRC FM TwoO and CRC FM-RDS Android Library), which allowed access to FM Radio functionality on a early range of Samsung Galaxy S smartphones using Silicon Lab Si4709 silicon. This work has now been taken down by CRC, and is no longer accessible. It did not work on later versions of the Samsung Galaxy S handsets.