Example of live re-transmission on DAB of an Internet Radio radio station

From Opendigitalradio
Jump to: navigation, search

In this example the mp3 stream from an Internet radio station is taken, decoded, re-encoded in MPEG Layer II, multiplexed, modulated and transmitted in DAB. All this is done live using unix pipe to create the chain. (MMbtools runs on linux)

mpg123 -r 48000 -s http://fbpc5.epfl.ch:8000/fb_128 |toolame -s 48 -D 4 -b 128 /dev/stdin /dev/stdout |\
CRC-DabMux -A /dev/stdin -b 128 -i 1 -p 3 -S -L "Frequence Banane" -C -O fifo:///dev/stdout |CRC-DabMod -f -g1 -r3200000 |CRC-Dwap.py -r3200000 -f-222064000 -u


  • mpg123: mp3 decoder for the Internet stream, resampling at 48kHz (-r)
  • toolame: MPEG Layer II encoder. 48kHz sampling, bitrate 128kbps, 4 bytes per MPEG frame for DAB program associated data (PAD)
  • CRC-DabMux: DAB multiplexer
    • Audio channel declaration (-A)
    • bitrate 128kbit/s (-b 128)
    • DAB subchannel ID 1 (-i 1)
    • Error Protection Level 3 (-p 3)
    • Service declaration (-S) with Program label "Frequence Banane" (-L)
  • CRC-DABMod: OFDM Modulator, output sampling frequency of 3.2 MHz
  • CRC-Dwap.py: baseband signal player (based on gnuradio) for the USRP, output Frequency of 222.064MHz (DAB Channel 11D). See Band 3 Channels for frequencies.


  • If you run mmbtools from the live CD, this won't work directly. You need to install toolame and mpg123.
  • This is a single command line (no return carriage, pay attention to the "\" in the example, it is to have it displayed correctly on this page)
  • This script is working fine on a laptop with a 2.16GHz Intel Core Duo processor.

Another example with another radio station:

mpg123 -r 48000 -s http://maxxima.mine.nu:8000 |toolame -s 48 -D 4 -b 128 /dev/stdin /dev/stdout |CRC-DabMux -A /dev/stdin -b 128 -i 1 -p 3 -S -L "Maxxima" -C -O fifo:///dev/stdout | CRC-DabMod -f -g1 -r3200000 |CRC-Dwap.py -r3200000 -f-222064000 -u
Personal tools