320 lines
12 KiB
HTML
320 lines
12 KiB
HTML
|
<!--startcut ==============================================-->
|
|||
|
<!-- *** BEGIN HTML header *** -->
|
|||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
|||
|
<HTML><HEAD>
|
|||
|
<title>Linux Radio Station LG #96</title>
|
|||
|
</HEAD>
|
|||
|
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#0000AF"
|
|||
|
ALINK="#FF0000">
|
|||
|
<!-- *** END HTML header *** -->
|
|||
|
|
|||
|
<!-- *** BEGIN navbar *** -->
|
|||
|
<A HREF="ecol.html"><< Prev</A> | <A HREF="index.html">TOC</A> | <A HREF="../index.html">Front Page</A> | <A HREF="http://www.linuxgazette.com/cgi-bin/talkback/all.py?site=LG&article=http://www.linuxgazette.com/issue96/hughes.html">Talkback</A> | <A HREF="../faq/index.html">FAQ</A> | <A HREF="artime.html">Next >></A>
|
|||
|
<!-- *** END navbar *** -->
|
|||
|
|
|||
|
<!--endcut ============================================================-->
|
|||
|
|
|||
|
<TABLE BORDER><TR><TD WIDTH="200">
|
|||
|
<A HREF="http://www.linuxgazette.com/">
|
|||
|
<IMG ALT="LINUX GAZETTE" SRC="../gx/2002/lglogo_200x41.png"
|
|||
|
WIDTH="200" HEIGHT="41" border="0"></A>
|
|||
|
<BR CLEAR="all">
|
|||
|
<SMALL>...<I>making Linux just a little more fun!</I></SMALL>
|
|||
|
</TD><TD WIDTH="380">
|
|||
|
|
|||
|
|
|||
|
<CENTER>
|
|||
|
<BIG><BIG><STRONG><FONT COLOR="maroon">Linux Radio Station</FONT></STRONG></BIG></BIG>
|
|||
|
<BR>
|
|||
|
<STRONG>By <A HREF="../authors/hughes.html">Phil Hughes</A></STRONG>
|
|||
|
</CENTER>
|
|||
|
|
|||
|
</TD></TR>
|
|||
|
</TABLE>
|
|||
|
<P>
|
|||
|
|
|||
|
<!-- END header -->
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
In late September I wrote an article about
|
|||
|
<a href="http://www.linuxjournal.com/article/7168" target="_blank">
|
|||
|
radio station automation</a>
|
|||
|
for the <i>Linux Journal</i> web site. You can find the article
|
|||
|
The comments I received indicates that there is interest.
|
|||
|
What I would like to do here is to see if there are some people who
|
|||
|
would actually be interested in working on such a project.
|
|||
|
I have establesed a palce on the
|
|||
|
<a href="http://projects.linuxgazette.com">LG Projects Wiki</a> to further
|
|||
|
develop this work.
|
|||
|
<p>
|
|||
|
The comments the article received indicated that many of the pieces were
|
|||
|
in place.
|
|||
|
Most I knew about and this didn't surprise me.
|
|||
|
However, I want to build a solution rather than present a shopping list.
|
|||
|
That solution has to include various pieces of software, all playing
|
|||
|
together along with support.
|
|||
|
The pieces I see are:
|
|||
|
<ul>
|
|||
|
<li> Audio conversion tools
|
|||
|
<li> Audio editor
|
|||
|
<li> Streamer
|
|||
|
<li> Station automation
|
|||
|
<li> Logging
|
|||
|
<li> Transmitter
|
|||
|
</ul>
|
|||
|
|
|||
|
The first three items are pretty obvious and there are lots of choices
|
|||
|
out there.
|
|||
|
Logging is equally obvious.
|
|||
|
The other two items warrant further discussion once I get the basic
|
|||
|
concepts out.
|
|||
|
|
|||
|
<h2>Customer Base</h2>
|
|||
|
<p>
|
|||
|
You can look at this potential customer base in three ways:
|
|||
|
<ul>
|
|||
|
<li> Where you can get some money from
|
|||
|
<li> What sort of fun code you can write
|
|||
|
<li> What good political ends you can reach
|
|||
|
</ul>
|
|||
|
|
|||
|
<p>
|
|||
|
The market is huge and very diverse.
|
|||
|
As a result of that diversity there are lots of choices of where you
|
|||
|
would like to fit into this project.
|
|||
|
For example, if you have a political ax to grind, helping your favorite
|
|||
|
political or religious cause get a radio voice or build a more efficient
|
|||
|
radio voice is likely your place.
|
|||
|
If, however, you just want to be in it for the money, there are tens of
|
|||
|
thousands of radio stations that could use your help and would pay for
|
|||
|
it.
|
|||
|
<p>
|
|||
|
Just looking at FM broadcast stations, there are 100 available
|
|||
|
frequencies on the band.
|
|||
|
In the US, these frequencies are allocated based on the signal
|
|||
|
strength of other stations on the same and adjacent frequencies.
|
|||
|
I don't have the numbers handy but that easily means thousands of
|
|||
|
stations in the US alone.
|
|||
|
Toss in AM broadcast and shortwave stations and you have the potential
|
|||
|
customer base for a product.
|
|||
|
If that isn't enough, Internet-only stations could use the same system.
|
|||
|
<p>
|
|||
|
Hopefully, if you are still reading, this is starting to make sense.
|
|||
|
I willdescribe the overall project idea and then talk about the
|
|||
|
specifics from above.
|
|||
|
|
|||
|
<h2>An Overall Look</h2>
|
|||
|
<p>
|
|||
|
Let me present how a traditional radio station works.
|
|||
|
By traditional, I mean how stations have worked for many years.
|
|||
|
That will make it easier to see where automation makes sense.
|
|||
|
<p>
|
|||
|
A typical station is composed of one or more studios
|
|||
|
and a transmitter facility.
|
|||
|
A studio is nothing more than a soundproof room with some audio
|
|||
|
equipment.
|
|||
|
The transmitter may be in the same building or at a remote location
|
|||
|
connected by a dedicated wire or radio link.
|
|||
|
While there is some room for talking about the transmitter link, I want
|
|||
|
to concentrate on the studio end.
|
|||
|
<p>
|
|||
|
Generally, one studio will be <i>live</i>.
|
|||
|
That means whatever is
|
|||
|
happening in that studio will be sent directly to the transmitter.
|
|||
|
The alternative to a live studio would be the
|
|||
|
station either re-broadcasting some external feed or something that
|
|||
|
they have pre-recorded.
|
|||
|
In any case, whenever the transmitter is on the air, there must be some
|
|||
|
source of program material.
|
|||
|
Additional studios are available to build the pre-recorded program
|
|||
|
material.
|
|||
|
<p>
|
|||
|
Each studio will likely contain one or more live microphones, multiple
|
|||
|
sources for pre-recorded material (CD players, turntable and tape
|
|||
|
decks) and something to record a program (tape recorder or mini-disk are
|
|||
|
the most common).
|
|||
|
Also included is a audio mixer board and monitor system so multiple
|
|||
|
sources can be mixed and edited.
|
|||
|
<p>
|
|||
|
Small stations will typically have one studio with a person that queues
|
|||
|
and starts pre-recorded sources and makes live announcements that can
|
|||
|
include news and weather.
|
|||
|
For a typical music station, the majority of this person's time is spent
|
|||
|
waiting for the current song to end so they can queue the next one
|
|||
|
possibly inserting some commentary between songs.
|
|||
|
They may also be logging what they play so the station can pay the
|
|||
|
necessary royalties.
|
|||
|
|
|||
|
<h2>Station Automation</h2>
|
|||
|
<p>
|
|||
|
This is the most obvious piece of the system--replacing the live tedium
|
|||
|
of queuing CD tracks with an automated system.
|
|||
|
The most basic step would be to just save all the tracks on a disk in
|
|||
|
a computer system and allow the person to pre-select what they would
|
|||
|
like played during a specified time block.
|
|||
|
This is relatively trivial to do.
|
|||
|
We can, however, do a lot more than this.
|
|||
|
<p>
|
|||
|
Most stations develop a play list that the live DJs need to follow.
|
|||
|
This list includes songs that can be played along with guidelines for
|
|||
|
how often they can be played.
|
|||
|
Armed with that list, a program could easily make all the necessary
|
|||
|
decisions to offer what appears to be a random selection of music within
|
|||
|
the necessary constraints.
|
|||
|
<p>
|
|||
|
Next comes the announcements.
|
|||
|
They can be divided into:
|
|||
|
<ul>
|
|||
|
<li> Commercials
|
|||
|
<li> Information that will be supplied live or almost live
|
|||
|
<li> Information that could be automated
|
|||
|
</ul>
|
|||
|
<p>
|
|||
|
Automation of commercials is not much different than the music play
|
|||
|
lists.
|
|||
|
The primary difference is that there will likely be specific times when
|
|||
|
a commercial must be broadcast.
|
|||
|
Nothing magic here--just another type of event to put into a scheduling
|
|||
|
program.
|
|||
|
<p>
|
|||
|
The live or almost live program material is that which must be put
|
|||
|
together by a person.
|
|||
|
For example, a news broadcast.
|
|||
|
This could either be done live by a person in the studio (or remotely
|
|||
|
over an Internet connection) or it could be pre-recorded.
|
|||
|
If the news was pre-recorded as a set of items then later news
|
|||
|
broadcasts could re-use the appropriate portions of a previous
|
|||
|
broadcast.
|
|||
|
In any case, there is still nothing particularly difficult about
|
|||
|
this--it is just another event to schedule.
|
|||
|
<p>
|
|||
|
I separated out information that could be automated because it is an
|
|||
|
additional project.
|
|||
|
That is, it does not have to be part of this original package.
|
|||
|
Two things come to mind here:
|
|||
|
<ul>
|
|||
|
<li> Time announcements
|
|||
|
<li> Weather
|
|||
|
</ul>
|
|||
|
<p>
|
|||
|
Both of these announcements are really nothing more than building a
|
|||
|
human voice announcement out of some digital data.
|
|||
|
Both have been done--it just becomes a matter of integration.
|
|||
|
<p>
|
|||
|
Some stations allow call-in requests.
|
|||
|
This means a human responds to a request, checks to see if the song is
|
|||
|
available and hasn't been played more than is considered correct by the
|
|||
|
play list and then schedules it.
|
|||
|
This seems like a perfect place to use a web page.
|
|||
|
Listeners could place the requests and the software would appropriately
|
|||
|
adjust what was to be played.
|
|||
|
If the requested material was not available it could advise you of that
|
|||
|
fact or even order heavily requested material.
|
|||
|
|
|||
|
<h2>Transmitter</h2>
|
|||
|
<p>
|
|||
|
While a traditional transmitter is far away from the scope of this
|
|||
|
project, a transmitter option deserves mention.
|
|||
|
In my searching for FM broadcast transmitters for a project in Nicaragua
|
|||
|
I ran across a company that offers an FM broadcast transmitter on a PCI
|
|||
|
card.
|
|||
|
They have a new card on the way and I have offered to write the Linux
|
|||
|
driver for it.
|
|||
|
<p>
|
|||
|
If you saw this project as <i>just fun</i> or something that would work
|
|||
|
for your college dorm, a card such as this might be just the ticket.
|
|||
|
You could offer a web interface to select program material and broadcast
|
|||
|
to nearby FM receivers.
|
|||
|
Being a <i>radio guy</i> as well as a computer guy, this interests me a
|
|||
|
lot.
|
|||
|
|
|||
|
<h2>Overall Scope</h2>
|
|||
|
<p>
|
|||
|
That covers all the pieces from the geek end.
|
|||
|
But, as I said in the beginning, I want to present a solution rather
|
|||
|
than a shopping list.
|
|||
|
That 100mw station in your basement that your family can listen to is
|
|||
|
not going to be a good commercial customer but tens of thousands of
|
|||
|
commercial stations certainly could be.
|
|||
|
<p>
|
|||
|
Integrating all the software necessary to offer a solution is the first
|
|||
|
part.
|
|||
|
Installation and support comes next.
|
|||
|
A radio station that has full-time employees running the station and
|
|||
|
advertisers paying hundreds or thousands of dollars for a commercial
|
|||
|
will quickly see the benefits of a system such as this.
|
|||
|
The biggest hurdle will be showing them that the solution will be
|
|||
|
supported.
|
|||
|
That is, that their station will not be off the air because they made
|
|||
|
this choice.
|
|||
|
<p>
|
|||
|
For a small station, this might mean knowing that they could call
|
|||
|
someone and have them come in and fix a problem.
|
|||
|
For a larger station it could mean training of on-site personnel.
|
|||
|
There are other levels of support including spare systems, shared
|
|||
|
servers and so forth.
|
|||
|
In other words, an assortment of different markets where the same
|
|||
|
software is offered but the support potential varies.
|
|||
|
|
|||
|
<h2>What next?</h2>
|
|||
|
<p>
|
|||
|
That's up to you.
|
|||
|
I am excited about the project.
|
|||
|
Unfortunately, I have a "day job" which does not give me the necessary
|
|||
|
time to put all this together and even if it was together, I don't want
|
|||
|
to go into the software support business.
|
|||
|
<p>
|
|||
|
My hope is that the right people are out there that want to do the
|
|||
|
pieces.
|
|||
|
That is my real reason for writing this article.
|
|||
|
I am happy to offer input, help set direction, offer a mailing list of
|
|||
|
discussion forum and even publicize the product.
|
|||
|
If you are interested in participating, write at <a
|
|||
|
href=<3D>mailto:phil@ssc.com">phil@ssc.com</a> and let me know your
|
|||
|
interests.
|
|||
|
Or go out to the
|
|||
|
<a href="http://projects.linuxgazette.com">LG Projects Wiki</a>
|
|||
|
and chime in.
|
|||
|
Maybe Linux-controlled radio will be here before you know it.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<!-- *** BEGIN author bio *** -->
|
|||
|
<P>
|
|||
|
<P>
|
|||
|
Phil Hughes is the publisher of <I>Linux Journal</I>, and thereby <I>Linux
|
|||
|
Gazette</I>. He dreams of permanently tele-commuting from his home on the
|
|||
|
Pacific coast of the Olympic Peninsula.
|
|||
|
As an employer, he is "Vicious, Evil,
|
|||
|
Mean, & Nasty, but kind of mellow" as a boss should be.
|
|||
|
|
|||
|
|
|||
|
<!-- *** END author bio *** -->
|
|||
|
|
|||
|
|
|||
|
<!-- *** BEGIN copyright *** -->
|
|||
|
<hr>
|
|||
|
<CENTER><SMALL><STRONG>
|
|||
|
Copyright © 2003, Phil Hughes.
|
|||
|
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR>
|
|||
|
Published in Issue 96 of <i>Linux Gazette</i>, November 2003
|
|||
|
</STRONG></SMALL></CENTER>
|
|||
|
<!-- *** END copyright *** -->
|
|||
|
<HR>
|
|||
|
|
|||
|
<!--startcut ==========================================================-->
|
|||
|
<CENTER>
|
|||
|
<!-- *** BEGIN navbar *** -->
|
|||
|
<A HREF="ecol.html"><< Prev</A> | <A HREF="index.html">TOC</A> | <A HREF="../index.html">Front Page</A> | <A HREF="http://www.linuxgazette.com/cgi-bin/talkback/all.py?site=LG&article=http://www.linuxgazette.com/issue96/hughes.html">Talkback</A> | <A HREF="../faq/index.html">FAQ</A> | <A HREF="artime.html">Next >></A>
|
|||
|
<!-- *** END navbar *** -->
|
|||
|
</CENTER>
|
|||
|
</BODY></HTML>
|
|||
|
<!--endcut ============================================================-->
|