NAME
radio - Radio Free Ethernet receiver
SYNOPSIS
radio [ -h host
] [ -s service ] [
generic-tool-arguments
]
DISCLAIMER
This program is furnished on an AS IS basis as a demonstra-
tion of audio applications programming.
OVERVIEW
Radio Free Ethernet (RFE) is a network audio broadcasting
system. It consists of programs and tools that allow packets
of audio data to be transmitted around a network. The sys-
tem is best understood by using the analogy of traditional
radio broadcasting.
A radio station takes audio data from a variety of sources
(e.g., CDs, tapes, a microphone in front of a disc jockey,
the telephone, etc.) and broadcasts it in the atmosphere.
Similarly, a workstation may take audio data from an audio
file or input device (e.g., a microphone or CD plugged into
the audio cable of a workstation) and broadcast it over the
local area network. Each such workstation becomes a radio
station, and must broadcast on a distinct 'frequency' in
order to be differentiated from other active radio stations.
Individual radios function as receivers for radio broad-
casts. To listen to a radio station, you must tune your
radio to its frequency. At that point, the broadcast data
is converted to an audio signal and may be played through a
speaker. In the same fashion, a workstation may scan the
network for RFE broadcasts and 'tune in' a particular sta-
tion by routing its audio data to the audio output device
(e.g., the speaker). Multiple stations may broadcast on the
same network; it is up to the receiver program to select the
radio station of interest and discard any other broadcast
data.
As with conventional radios, a receiver may be requested to
scan the network and tune in to the next detected radio sta-
tion. One of the advantages of the computer implementation
is the ability to display a list of all the active radio
stations and allow the user to select from among them.
In traditional radio, a regulation agency allocates broad-
cast frequencies, and associates a station identification
name with each frequency. In Radio Free Ethernet, the broad-
cast frequency is directly derived from the station call
letters; that is, the ASCII code for a four-character sta-
tion name becomes a 32-bit broadcast frequency. Each network
radio packet contains a 12-byte header that identifies the
frequency, packet type, sequence number, and the low order 3
bytes of the broadcaster's network id. This information is
used to differentiate radio broadcasts and to detect multi-
ple stations (workstations) that may be broadcasting on the
same frequency (call letters). At the network level, each
packet also contains a port number corresponding to the
Radio Free Ethernet port. Ordinarily, this port is identi-
fied by looking up the service named radio in the NIS ser-
vices map.
In addition to its audio data packets, each station
transmits a Station Identification packet once every five
seconds. This packet contains detailed information about
the station and disc-jockey (i.e., the host and user ids).
Station Identification is also used to recognize stations
that are On-The-Air, but are not currently broadcasting
audio data.
This can occur when a transmitter detects silent audio input
and squelches it (see radio_xmit(6)). For instance, if a
user is broadcasting from a microphone, the station may be
squelched when the microphone is switched off.
When a radio station goes Off-The-Air, it broadcasts a final
sign-off message to alert the receiver programs that broad-
casting has ceased.
One of the pitfalls of the radio analogy is that users seem
to expect that they can always tune in some radio station
when they start up a receiver program. Do not be deceived.
If nobody is broadcasting, there are no stations to tune in.
As with radio in the early 20th century, the usefulness of
the radio is only as good as the quantity (and quality) of
broadcasters.
Another common mistake is to assume that traditional radio
broadcasts will somehow be available on the network. Keep
in mind that the transmitter only broadcasts data from its
audio input source.
If you connect the line-level or headphone output of a
radio to the workstation audio input, then in fact you can
broadcast traditional radio over the network. (Interest-
ingly, the 8khz data rate provides roughly the same audio
quality as AM radio.) But if you connect no audio input
source, then you will not broadcast anything.
INSTALLATION
In order for Radio Free Ethernet to function properly, the
following entry should be present in the NIS services map:
radio 5002/udp # Radio Free Ethernet
This entry specifies the port number that is used to iden-
tify RFE broadcast data. If this entry is not present, the
port number may be specified as a command-line option.
NETWORK IMPLEMENTATION
Radio Free Ethernet can be configured to broadcast data
either in UDP Broadcast packets or using IP Multicasting.
These techniques differ in subtle but important ways.
UDP Broadcast packets are broadcast only within the local
subnetwork. Network gateway routers do not forward these
packets to other networks. When a UDP Broadcast packet is
issued, every machine on the subnet receives the packet and
discards it, unless a program is specifically registered to
listen for that particular packet type. Though the overhead
of processing such packets is small, it is normally con-
sidered unfriendly to issue many UDP Broadcast packets on a
network (RFE normally broadcasts approximately eight packets
per second, each containing around 1000 bytes). UDP Broad-
cast is available for the time being only because older ver-
sions of the operating system do not support IP Multicast.
IP Multicasting is an improvement over broadcast techniques.
By sending network packets to a particular well-known multi-
cast address, only machines that have registered interest in
that address will receive the data (packet filtering is usu-
ally performed in the network interface hardware). Some
experimental IP routers exist that will forward multicast
packets to other networks. Such forwarding is only performed
when there is a listener on the destination network, and
when the packet itself is identified as forwardable.
In order for Radio Free Ethernet to function properly, the
following entry should be present in the NIS hosts map:
RadioFreeEthernet 224.0.3.255 # IP Multicast address
This entry specifies the base address used for RFE station
broadcasts. For more information on how IP Multicasting is
used, please refer to the radio_xmit(6) manual page.
CONFERENCING
The Radio Free Ethernet tools have been designed to provide
a limited kind of audio conferencing capability. Since a
workstation may broadcast on one frequency while receiving a
different one, clever assignment of radio stations can be
constructed to implement 2-way conferencing. Multi-party
conferencing may be enabled by modifying the radio receiver
to sum the audio data from multiple radio stations together,
thus achieving a simple audio mix.
DESCRIPTION
radio is the window-based Radio Free Ethernet receiver. It
functions as a graphical front-end to the radio_recv(6) pro-
gram, which it uses to scan the network for active radio
stations and to play audio data from the network on the
audio device. It also provides six preset buttons, similar
to the presets on a car radio, that may be programmed to
specific radio station names.
Ordinarily, the program scans for radio stations that are
broadcasting to the IP Multicast address identified by the
host name RadioFreeEthernet found in the NIS hosts map (sta-
tions using UDP Broadcast are also received). The -h host
command-line option may be used to specify an alternate host
address or name to use for the default IP Multicast address.
The Radio Free Ethernet tools use the port number identified
by the service name radio found in the NIS services map. The
-s service command-line option may be used to specify an
alternate service name or port number to use.
The following sections describe the individual panel con-
trols. In addition, online help is available by positioning
the pointer over the item in question and pressing the <
HELP > key.
Power toggles the state of the receiver on and off. Since
this involves communicating with a running copy of the
radio_recv program, this operation may take a few
seconds to complete.
Scan initiates a scan for the next active radio station. By
pressing this button repeatedly, you can browse all of
the active stations.
Station
brings up a menu of the radio stations that have been
detected. Selecting a station from this menu will tune
in that station. Station names are enclosed in square
brackets if the station is determined to be on-the-air
but has not broadcast any data for some time. This
can occur when the transmitter squelches silent audio
input.
DJ displays the username and hostname of the disc jockey
for the current radio station.
Set establishes a station preset button. It uses the name
in the Preset Station item or, if that is blank, the
name of the current station. Once a preset is pro-
grammed, pressing the button forces the radio tuner to
scan for that particular station. Set also causes the
current program parameters and presets to be written
out to the initialization file.
Clear clears a station preset button. It uses the name in
the Preset Station item or, if that is blank, the name
of the current station. Clear also causes the current
program parameters and presets to be written out to
the initialization file.
Volume
starts up an Audio Control Panel (see gaintool(6)).
Props brings up a property sheet for the program that allows
various operating parameters to be set. Changes to
the tool properties do not take effect until the Apply
button is pressed. Apply also causes the current pro-
gram parameters and presets to be written out to the
initialization file. The Reset button on the property
sheet restores the controls to their current state.
The following sections describe the property sheet controls:
Auto Scan
When this feature is enabled, the radio tuner will
scan for a new radio station when no broadcast has
been received from the current station for a certain
amount of time (specified, in seconds, by a numeric
value).
Allow Device Release
When this feature is enabled, the radio tuner will
relinquish the audio output device whenever another
process tries to use it. This allows other applica-
tions, such as AudioTool, the opportunity to interrupt
the playing of a radio station in order to play what
is presumed to be more important audio data.
Audio Output
This property sheet item indicates the audio output
device that is used to play a radio broadcast.
ERRORS
If radio (or radio_recv) are run more than once on a single
workstation, subsequent invocations may display the error
message: Radio receiver socket is busy. This is because
there may only be one program listening to a particular net-
work port at a time.
FILES
~/.radiorc
startup initialization file for radio and xmit
SEE ALSO
gaintool(6), radio_recv(6), radio_xmit(6), xmit(6)
RFC 1256, Network Information Center, SRI International,
Menlo Park, Calif., September 1991.
NOTES
The Radio Free Ethernet tools were inspired by similar pro-
grams originally developed by Stephen Uhler and Peter Langs-
ton at Bellcore.
|
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |