Internet radio server


0. Contents

   1. Purpose
   2. Copying
   3. Requirements
   4. Installation
   5. How to use
      5.1. Edit the config file
      5.2. Start the daemons
      5.3. Monitor the mixer (optional)
      5.4. Feed the mixer
      5.5. Shutting down (optional)
   6. Program list
      6.1. radio_http
      6.2. radio_mp3
      6.3. radio_ssh
      6.4. radio_tcp
      6.5. wg
         6.5.1. hum
      6.6. streamixer
         6.6.1. mixer
         6.6.2. mixmon
         6.6.3. mixwrite
         6.6.4. resample
         6.6.5. mixeridle
   7. Known bugs
   8. Downloading

1. Purpose

Enables your unix server broadcast audio in streaming mp3 format.

2. Copying

bisqradio has been written by Joel Yliluoma, a.k.a. Bisqwit,
and is distributed under the terms of the General Public License (GPL).

3. Requirements

GNU make is required.
PHP standalone binary is required.
LAME is required.
esd is deprecated.
ssh can also be used.

The embedded wg also requires fftw.

Note: If you want to look at earlier versions, have a look at wavegenerator. The earlier versions were together in a same archive.

4. Installation

$ make
$ su
# make install
If you do not want to install libargh (included in the archive), do not use "make install" and edit Makefile and enable the STATIC linking instead of DYNAMIC.

5. How to use

5.1. Edit the config file

Edit /usr/local/share/bisqradio/bisqradio.conf. Specify your configuration there. The example config file is quite much filled with comments so you shouldn't have problems understanding it.

5.2. Start the daemons

Start two daemons: mixer and bisqradio.
The mixer program is responsible for mixing streams together and bisqradio is responsible of serving the clients.

5.3. Monitor the mixer (optional)

Try this:
mixmon | ecat

This command listens to the mixer and you will hear what the clients would hear (but in better quality).

5.4. Feed the mixer

Now you can feed the mixer. Play whatever you want. Examples:
find -name \*.mp3 > tmptmp; mpg123 -s -vvvvz -@ tmptmp | mixwrite
spcplay -ua -o- ct-600ad.spc | mixwrite
erec -2r44100 none | mixwrite
You can run them at the same time or different time if you wish, depending what you want to feed to the clients.

5.5. Shutting down (optional)

killall mixer radio_tcp bisqradio radio_http \
        radio_mp3 mixmon mixwrite resample mixeridle
Might be overkill, but should work...

6. Program list

bisqradio consists of several tool programs, which work tightly together.

6.1. radio_http

Listens to the HTTP queries to satisfy the clients (the browsers and the players).

6.2. radio_mp3

Responsible of generating the mp3 feed for a client from a given input.

6.3. radio_ssh

Optionally run if required. Launches the mp3 encoder on remote computer (with possibly more cpu power).

6.4. radio_tcp

The center of the radio. Servers clients with feed from the mixer process piped through the mp3 encoder. Doesn't read the mixer if there are no clients. Doesn't keep other clients waiting if somebody is lagging.
Doesn't bother to decode mp3 frames, so it will possibly give broken frames at the beginning. Most mp3 decoders survive from it without any faults, so it is not serious. Shoutcast and icecast seem to do the same.

6.5. wg

These tool programs are actually part of another software package available separately. It's included within this archive too, anyway.

6.5.1. hum

Generates semiquiet stream. Useful if you want to keep the mixer quiet (if your mixeridle if not so quiet). Does not just output zero. Plain zero stream is hard to analyze for LAME.

6.6. streamixer

These tools are also a part of another software package, but they are here too.

6.6.1. mixer

A stream mixing server. It accepts mixwrite and mixmon -connections.
Provides a server for audio stream mixing.
Meant to be a replacement for esd, with much more features and much less cpu usage.

6.6.2. mixmon

Monitors the mixer over a tcp connection, reading whatever is being mixed to it.

6.6.3. mixwrite

Sends stream to the mixer over a tcp connection.

6.6.4. resample

Resamples audio stream from one format to another format.


6.6.5. mixeridle

Generates idle stream for the mixer, if there are readers for the mixer but no writers.
Actually has been hardcoded to play something nasty... you should customize it :)

7. Known bugs

It has serious problems surviving when there are more than one listeners...

8. Downloading

Downloading help

  • Do not download everything - you only need one file (newest version for your platform)!
  • Do not use download accelerators or you will be banned from this server before your download is complete!

Date (Y-md-Hi) acc        Size Name                
2006-1001-0316 r--       73746 bisqradio-1.3.0.tar.bz2
2006-1001-0316 r--       85851 bisqradio-1.3.0.tar.gz
2006-1001-0316 r--       22812 patch-bisqradio-1.2.1-1.3.0.bz2
2006-1001-0316 r--       24287 patch-bisqradio-1.2.1-1.3.0.gz
2003-1208-1436 r--       72662 bisqradio-1.2.1.tar.bz2
2003-1208-1436 r--       29866 patch-bisqradio-1.2.0.2-1.2.1.bz2
2003-1208-1436 r--       24073 patch-bisqradio-1.2.0-1.2.1.bz2
2003-0210-1822 r--       71598 bisqradio-1.2.0.2.tar.bz2
2003-0210-1822 r--       13416 patch-bisqradio-1.2.0.1-1.2.0.2.bz2
2002-1213-1737 r--       70915 bisqradio-1.2.0.1.tar.bz2
2002-1213-1737 r--        6344 patch-bisqradio-1.2.0-1.2.0.1.bz2
2002-1213-1223 r--       69857 bisqradio-1.2.0.tar.bz2
2002-1213-1223 r--       11868 patch-bisqradio-1.1.3.1-1.2.0.bz2
2002-1213-1219 r--       11789 patch-bisqradio-1.1.3.1-1.1.4.bz2
2002-1213-1214 r--       11331 patch-bisqradio-1.1.3.1-1.1.3.2.bz2
2002-0813-1426 r--       69536 bisqradio-1.1.3.tar.bz2
2002-0813-1426 r--       13506 patch-bisqradio-1.1.2-1.1.3.bz2
2002-0602-2032 r--       65749 bisqradio-1.1.2.tar.bz2
2002-0602-2032 r--        6009 patch-bisqradio-1.1.1-1.1.2.bz2
2002-0514-1900 r--       65268 bisqradio-1.1.1.tar.bz2
2002-0514-1900 r--       11020 patch-bisqradio-1.1.0.1-1.1.1.bz2
2002-0501-2312 r--       61770 bisqradio-1.1.0.1.tar.bz2
2002-0501-2312 r--        4419 patch-bisqradio-1.1.0-1.1.0.1.bz2
2002-0421-1229 r--       61411 bisqradio-1.1.0.tar.bz2
2002-0421-1229 r--       44153 patch-bisqradio-1.0.10-1.1.0.bz2
2002-0323-2349 r--       60906 bisqradio-1.0.10.tar.bz2
2002-0323-2349 r--       15770 patch-bisqradio-1.0.9-1.0.10.bz2
2001-1022-0528 r--       63487 bisqradio-1.0.9.rar
2001-1022-0528 r--       58169 bisqradio-1.0.9.tar.bz2
2001-1022-0528 r--       21289 patch-bisqradio-1.0.8-1.0.9.bz2
2001-1017-0429 r--       61352 bisqradio-1.0.8.rar
2001-1017-0429 r--       56698 bisqradio-1.0.8.tar.bz2
2001-1017-0429 r--      110256 bisqradio-1.0.8.zip
2001-1017-0429 r--       29895 patch-bisqradio-1.0.6-1.0.8.bz2
2001-0507-2357 r--       55364 bisqradio-1.0.6.rar
2001-0507-2357 r--       51030 bisqradio-1.0.6.tar.bz2
2001-0507-2357 r--       95559 bisqradio-1.0.6.zip
2001-0507-2357 r--       28882 patch-bisqradio-1.0.4-1.0.6.bz2
2001-0418-2119 r--       41589 bisqradio-1.0.4.rar
2001-0418-2119 r--       38696 bisqradio-1.0.4.tar.bz2
2001-0418-2119 r--       73968 bisqradio-1.0.4.zip
2001-0418-2119 r--        1268 patch-bisqradio-1.0.3-1.0.4.bz2
2001-0418-1655 r--       41351 bisqradio-1.0.3.rar
2001-0418-1655 r--       38638 bisqradio-1.0.3.tar.bz2
2001-0418-1655 r--       73640 bisqradio-1.0.3.zip
2001-0418-1655 r--       37039 patch-bisqradio-1.0.1-1.0.3.bz2
2001-0416-1313 r--       16574 bisqradio-1.0.1.rar
2001-0416-1313 r--       15571 bisqradio-1.0.1.tar.bz2
2001-0416-1313 r--       20718 bisqradio-1.0.1.zip
2001-0416-1313 r--        1835 patch-bisqradio-1.0.0-1.0.1.bz2
2001-0416-0945 r--       16542 bisqradio-1.0.0.rar
2001-0416-0945 r--       15365 bisqradio-1.0.0.tar.bz2
2001-0416-0945 r--       20444 bisqradio-1.0.0.zip
Back to the source directory index at Bisqwit's homepage