Difference between revisions of "Toolame-DAB"
(toolame-dab now does JACK. Remove references to old toolame-02l-jack) |
|||
| Line 1: | Line 1: | ||
'''Toolame''' is an open source implementation of '''MPEG-1/2 Layer II audio coding'''. | '''Toolame''' is an open source implementation of '''MPEG-1/2 Layer II audio coding'''. | ||
| − | '''Toolame-dab''' is a | + | '''Toolame-dab''' is a modified version that supports the MPEG ZMQ output to [[ODR-DabMux]], improved PAD insertion compatible with [[mot-encoder]] and JACK input. |
It also supports the necessary options to add a DAB PAD field on every frame, and work is ongoing to make it compatible with mot-encoder from [[fdk-aac-dabplus]] for MOT Slideshow and DLS support. | It also supports the necessary options to add a DAB PAD field on every frame, and work is ongoing to make it compatible with mot-encoder from [[fdk-aac-dabplus]] for MOT Slideshow and DLS support. | ||
| + | The toolame-dab always uses DAB framing. | ||
Its development is done on github: | Its development is done on github: | ||
| Line 11: | Line 12: | ||
-s <kHz>: sampling rate in kHz | -s <kHz>: sampling rate in kHz | ||
| − | - | + | -p <bytes>: add x PAD bytes to every MPEG frame |
| + | -P <padfifo>: take PAD data from the specified FIFO | ||
-b <bitrate>: output bitrate in kbit/s | -b <bitrate>: output bitrate in kbit/s | ||
| + | -j : enable JACK input | ||
Call | Call | ||
| Line 21: | Line 24: | ||
sox -t alsa $ALSASRC -b 16 -t raw - rate 48k channels 2 | \ | sox -t alsa $ALSASRC -b 16 -t raw - rate 48k channels 2 | \ | ||
../toolame/toolame \ | ../toolame/toolame \ | ||
| − | -s 48 | + | -s 48 -b $BITRATE /dev/stdin $DST |
where $DST is of the form | where $DST is of the form | ||
tcp://<some host running odr-dabmux>:<port> | tcp://<some host running odr-dabmux>:<port> | ||
| Line 28: | Line 31: | ||
Example with stdout as output: | Example with stdout as output: | ||
| − | toolame -s 48 | + | toolame -s 48 -b 128 /dev/stdin /dev/stdout |
| + | |||
| + | Reads linear stream from standard input, encode it at 128kbit/s, add 4bytes for DAB PAD and output stream to standard output (this command was typically used, "piped" with other commands for live encoding in a DAB transmission. Now it's better to use the newer ZMQ.) | ||
| + | |||
| + | Example with JACK input and output to ODR-DabMux ZMQ running on localhost | ||
| + | |||
| + | toolame -s 48 -b 128 -j dabenc tcp://localhost:9002 | ||
| + | |||
| + | The encoder will create two JACK ports: dabenc:input0 and dabenc:input1 | ||
| + | |||
| − | |||
===Source code=== | ===Source code=== | ||
| − | + | Get '''toolame-dab''' from https://github.com/Opendigitalradio/toolame-dab | |
git clone https://github.com/Opendigitalradio/toolame-dab.git | git clone https://github.com/Opendigitalradio/toolame-dab.git | ||
cd toolame-dab | cd toolame-dab | ||
make | make | ||
| − | sudo | + | sudo cp toolame /usr/local/bin |
The installed executable is called ''toolame'' | The installed executable is called ''toolame'' | ||
| Line 47: | Line 58: | ||
===Warning !=== | ===Warning !=== | ||
| − | A | + | A fork of toolame called twolame exists. Despite the fact that the code has been cleaned, twolame has lost DAB support that was present in toolame. So be careful to install toolame-dab and not twolame for DAB tests. |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
Revision as of 19:47, 18 August 2014
Toolame is an open source implementation of MPEG-1/2 Layer II audio coding. Toolame-dab is a modified version that supports the MPEG ZMQ output to ODR-DabMux, improved PAD insertion compatible with mot-encoder and JACK input.
It also supports the necessary options to add a DAB PAD field on every frame, and work is ongoing to make it compatible with mot-encoder from fdk-aac-dabplus for MOT Slideshow and DLS support. The toolame-dab always uses DAB framing.
Its development is done on github: https://github.com/Opendigitalradio/toolame-dab
Basic Usage
-s <kHz>: sampling rate in kHz -p <bytes>: add x PAD bytes to every MPEG frame -P <padfifo>: take PAD data from the specified FIFO -b <bitrate>: output bitrate in kbit/s -j : enable JACK input
Call
toolame -h
for detailed information
Example with alsa input using sox:
sox -t alsa $ALSASRC -b 16 -t raw - rate 48k channels 2 | \ ../toolame/toolame \ -s 48 -b $BITRATE /dev/stdin $DST
where $DST is of the form
tcp://<some host running odr-dabmux>:<port>
Taken from this script
Example with stdout as output:
toolame -s 48 -b 128 /dev/stdin /dev/stdout
Reads linear stream from standard input, encode it at 128kbit/s, add 4bytes for DAB PAD and output stream to standard output (this command was typically used, "piped" with other commands for live encoding in a DAB transmission. Now it's better to use the newer ZMQ.)
Example with JACK input and output to ODR-DabMux ZMQ running on localhost
toolame -s 48 -b 128 -j dabenc tcp://localhost:9002
The encoder will create two JACK ports: dabenc:input0 and dabenc:input1
Source code
Get toolame-dab from https://github.com/Opendigitalradio/toolame-dab
git clone https://github.com/Opendigitalradio/toolame-dab.git cd toolame-dab make sudo cp toolame /usr/local/bin
The installed executable is called toolame
The original source for toolame-02l is http://sourceforge.net/projects/toolame/files/
Warning !
A fork of toolame called twolame exists. Despite the fact that the code has been cleaned, twolame has lost DAB support that was present in toolame. So be careful to install toolame-dab and not twolame for DAB tests.