Radio Calafou
Radio Calafou ?
A FM and stream radio based in Calafou that broadcast very locally on 108 Mhz and on http://radio.calafou:8000/airtime_128.m3u
Global set-up
The PiBox read the stream that comes from Airtime and play it to the transmitter
- To Airtime : http://radio.calafou user : calafou pwd : calafou (admin / sudosu)
- To Icecast : http://radio.calafou:8000 user : source pwd : hackme
- To the PiBox : http://172.31.17.214/ user : pibox pwd : pnodeaccesspass - ssh pi@http://172.31.17.214/ pwd : pipinode
What can we do with it ?
Airtime
Threw Media Builder
- Possible to add any type of audio file, the library already include all the files that are stored in ftp://omnius.calafou/MEDIATECA/0_audio/music/ and create a playlist
- Possible to create a smart playlist that randomly include files from the library in function of criterias (genre, album name, langage, BPM, last played, year, ...)
- Possible to create a webstream program from any type of stream (.mp3, .ogg, .opus, ...)
Threw Calendar
- Possible to create a show that can be repeated in different manner and can be filled with playlist, smart playlist or webstream
- Possible to set up a live show where someone can broadcast from her home sending a stream to a specific mountpoint
Threw Master Source
- Possible to take the control of the direct broadcast with a specific mountpoint
Icecast
- Possible to stream audio and video in .ogg, .ogv, .mp3 and .opus with software like VLC, DARKICE, MIXXX, BUTT or any other software listed here : http://www.icecast.org/apps/
PiBox
- Possible to play sounds located in the Pi, to play a stream, to play the live input of the sound card
- Possible to listen to a sonification on the output of the integrated soundcard
- Possible to shout in the radio threw a microphone plugged into the input of the external soundcar
How To use Radio Calafou
Airtime : add content
The main documentation is here : http://sourcefabric.booktype.pro/airtime-25-for-broadcasters/what-is-airtime/
Airtime : add a media
Note : the audio folder of MEDIATECA has been added as a watched folder, so you can find all the audio files of the MEDIATECA in Airtime library
Airtime : To create a smart block, a playlist or a webstream, you have to open the Media Builder
In the "Library"menu
Airtime : create a smart block
A smart block is an intelligent playlist built with criteria
For the moment the calendar has been filled with different smart blocks repeated, it is possible to remove a smart block in the Calendar menu :
Clic on the block in the calendar you want to remove and in the sub menu > delete > delete this instance
Airtime : create a playlist
Airtime : create a webstream
Airtime : add a show to the calendar with a smart block, a playlist or a webstream as content
SmartPhone journalism
It is possible to use Airtime with a smartphone, see http://sourcefabric.booktype.pro/airtime-25-for-broadcasters/smartphone-journalism/
Taking the control live with a smartphone
As mentionned, it is possible to take the control of the radio with a specific mountpoint (the master source mountpoint), it is also possible with an (android) smartphone with the application "Broadcast Myself" that allow one to stream the mic of the smartphone or files
This software can be downloaded here without a google account : https://apkpure.com/broadcastmyself/sa.broadcastmyself or https://www.apksmods.com/
The settings > Output settings :
- Hostname : radio.calafou
- Port : 8003
- Path : /dictat.ogg
- Username : mistress
- Password : mistress
- MP3 Encoder Bitrate (as you wish) : 96 Kbit/s
Re-stream the output of airtime on another server
In theory, you can set up several output to an icecast server with Airtime Settings, in practive, it doesn't alway work, so you can also do :
avconv -i http://radio.calafou:8000/airtime_128.ogg -f ogg -|oggfwd -p -d "Hack The Earth" -g "Ecochonies" -u "https://calafoorg/ca/content/hack-earth-2017" labomedia.org 8000 ****** /hacktheearth.ogg
Hardware installation
- Omnius server is in the hacklab
- Pibox and the transmiter is in anarchaserver
- The antenna is on the roof of anarchaserver
Software installation
AirTime
Airtime is a simple, open source platform that lets you broadcast streaming radio on the web. https://www.sourcefabric.org/en/airtime/ (also see this fork : https://github.com/radiorabe/airtime)
It is installed on omnius : http://radio.calafou
To install it, install dependencies :
sudo apt-get install postgresql-9.4 python-virtualenv apache2 coreutils curl ecasound flac gzip libapache2-mod-php5 libcamomile-ocaml-data liquidsoap locales lsof monit mp3gain multitail patch php5-cli php5-curl php5-gd php5-json php5-pgsql php5-fpm php-apc php-pear pwgen python rabbitmq-server silan sudo sysv-rc tar unzip vorbisgain vorbis-tools zendframework icecast2
/!\ for debian jessie, you must install postgresql-9.4 and not postgresql without -9.4 else the calendar does'nt show up /!\
Clone the repository and launch the installer :
git clone https://github.com/sourcefabric/Airtime cd Airtime sudo ./install
Follow the configuration process, at the end, you'll see the IP adress of the pibox on wich you can connect with a browser to finish the configuration threw the proposed interface
PiBox
See documentation here : http://p-node.org/doc/index.php/V-2
For the moment (see troubleshouting), 2 script are launched by /etc/rc.local :
/home/pi/omnioussonification.sh 2> /home/pi/streamlog.txt >/dev/null & /home/pi/airtimeplayer.sh 2> /home/pi/streamlog.txt >/dev/null &
omnioussonification.sh :
#!/bin/bash while true;do AUDIODEV=hw:0,0 play -t ogg http://radio.calafou:8000/omniussonification.ogg sleep 3 done
airtimeplayer.sh
#!/bin/bash while true;do AUDIODEV=hw:1,0 play -t ogg http://radio.calafou:8000/airtime_128.ogg sleep 3 done
Troubleshouting
Airtime
The main stream doesn't output sound
It happens sometimes, to repair it, you can send a master source with a streaming software and then disconnect it, the sound reappear ! ...
- To send a master source, the parameters are here : http://p-node.org/doc/index.php/V-2
- Master username : mistress
- Master password : mistress
- Port : 8003
- Mountpoint : dictat.ogg
- Master Source Connection URL : http://radio.calafou:8003/dictat.ogg
Airtime doesn't seems to play sound, show the media builder or eat new sounds
The 3 magic command to restart everything (you have to be logged in omnius :
sudo service airtime-media-monitor restart sudo service airtime-liquidsoap stop sudo service airtime-liquidsoap start /!\ it appears that 'restart' doesn't work, liquidsoap doesn't take the modifications made in System > Streams sudo service airtime-playout restart
also, see the logs in /var/log/airtime/
Airtime doesn't take into account the modifications made in System > Streams
Relaunching liquidsoap seems necessary :
sudo service airtime-liquidsoap stop sudo service airtime-liquidsoap start
Test a stream configuration
liquidsoap 'output.icecast(%vorbis, host = "radio.calafou", port = 8000, user = "source" password = "hackme", mount = "liq.ogg", sine())'
Airtime doesn't alway wait for the end of the track
Don't know why ...
PiBox
For the moment (28.08.2016), this interface of pibox is not used because the python script often switch to a fall back mode, so scripts with a player for Airtime stream and Omnius sonification are launched instead by rc.local
Antenna
The tube on which I was planning to fix the antenna is about to fall !
So I used instead a solid metal piece fixed to the wall, but the antenna is only fixed in one point with plastic bracelets (colson) and 2 wires fixed to 2 solid metal points
I'm not sure it is really good on a long time perspective ...
Audio sources - web radios
- Coordinadora de Ràdios Lliures de Catalunya http://www.radioslliures.info/
- http://www.contrabanda.org/
- http://radiobalamanresa.wordpress.com/
- http://www.radiobronka.info/
- http://www.radiolinea4.net/
- http://www.radiopica.net/
- http://www.radiorsk.info/