[] [] [] []
Next: Installing the UBS Up: Unattended Broadcasting System User Previous: Contents   Contents

Introduction

The Uninterrupted Broadcasting System (UBS for short) is a tool that enables radio stations to broadcast in realtime without a physical DJ being present in the studio. Due to the constraints of smaller radio stations not being able to have live DJ's on the air 24 hours a day, the UBS provides a good solution to continue broadcasting during these hours. The UBS was originally created for WMHD, 90.7 FM, which is the radio station hosted by Rose-Hulman Institute of Technology (http://www.rose-hulman.edu, http://wmhd.rose-hulman.edu). The original concept of the UBS was proposed as a senior group project, and was implemented in Java/Tomcat with a MySQL backend. Unfortunately, the complexity and size of this project became prohibitive to its completion by the original group, and due to time constraints, this version of the project was re-written in C.
Currently, the UBS is capable of performing all tasks necessary for FCC radio compliance, as well as performing shows that are enjoyable to listen to. This includes picking a good variety of music, keeping to a strict show schedule, playing station identification tags at the top of every hour, and logging of everything played on the air. The UBS can also be configured to perform a number of other tasks useful in running a radio station, such as song requests, and special events. Many features of this sort are not directly implemented by the UBS, but the UBS it provides an easy frontend for other scripts or programs to do so.
The UBS system currently runs under the Unix operating system family, and has been tested on the following platforms: Future ports will include: Operating systems that are not planned for support include: Be sure to check the release notes for the version of the UBS, as they may indicate changes in supported platforms. The UBS is also known to compile on BSD, but has not been extensively tested on this platform.
The UBS is constituted of three main daemons, each with a separate set of responsibilities:
ubs-sched
Schedules music files to be played. This daemon is the largest and most complex of the three. It has no part in actually playing anything on the air; rather, it reads in a schedule of shows, and formulates a weekly lineup divided into 30-minute blocks. When this daemon detects that the music queue is depleted, it will add more files to the queue from the appropriate show.
ubs-play
Takes music files given by ubs-sched, and plays them on the air. This daemon does not actually play the files, however. It instead pulls files from the queue (provided by the ubs-sched daemon), and plays them with an external media player, such as sox, mpg123 or ogg123.
ubs-event
Runs special events for the UBS by way of executing individual event modules. This includes anything from cleaning up files to playing particular files on the air. In the case of the later, the ubs-event daemon can send a signal to the ubs-play daemon, interrupting it from reading the next file in the queue and instead playing a file determined by an event module. This is necessary for playing regular events, such as public service announcements or station identifications.
Since the UBS was designed with modularity in mind, a particular station configuration is not confined to these three program daemons. User contributed modules can run alongside the default daemons, performing other tasks such as process monitoring, web-based status, or anything else necessary to the station's requirements. A number of user-contributed modules are located in the UBS source distribution (see chapter, "Installing the UBS"), but be cautioned that these daemons may not be supported, and may also cause the UBS to malfunction.


[] [] [] []
Next: Installing the UBS Up: Unattended Broadcasting System User Previous: Contents   Contents
2003-10-30