NETWORK AUDIO SYSTEM(1) NETWORK AUDIO SYSTEM(1)NAME
Network Audio System - a portable, network-transparent audio system
SYNOPSIS
The Network Audio System service is a network-transparent system devel‐
oped at Network Computing Devices for playing, recording, and manipu‐
lating audio data over a network. It uses the client/server model to
separate application code from the software drivers needed to control
specific audio input and output devices.
DESCRIPTION
The Network Audio System service provides applications with the ability
to send and receive audio data such as voice, sound effects, and music
in a network environment. A audio server inside the desktop terminal
or personal computer controls the various input and output devices in
response to messages sent from client programs running on other hosts.
A variety of utility programs are provided that can be used to play or
record audio using shell scripts or command-line procedures. More
ambitious applications can communicate directly with the audio server
using a C-language programming library.
The Network Audio System service supports a variety of the common for‐
mats used to store sound data. Audio inputs and outputs can run at a
any of a range of sampling rates. The audio server automatically con‐
verts all data to the designed format or rate.
Streams of data from multiple inputs can be mixed together and directed
to any attached output device. Sounds that are used many times can be
stored in the server so that they do not need to be transmitted over
the network each time they are played. Furthermore, inputs can be
hooked directly to outputs (for example, a CD player can be connected
to a set of speakers) so that data can be played without requiring any
client intervention or network traffic.
AUDIO SERVER NAMES
Each audio server has a name that is used by applications in establish‐
ing a connection. The format of the name depends upon the type of net‐
work being used. In TCP/IP environments, audio server names look like:
tcp/hostname:portnum
where hostname is the name or numeric IP address of the desktop machine
to be contacted and portnum is the port number on which the server is
listening. If the ``tcp/'' prefix is not given, 8000 is automatically
added to portnum so that the audio server name is compatible with the X
Window System display name.
In DECnet environments, audio server names look like:
decnet/nodename::num
where nodename is the name or numeric DECnet address of the desktop
machine to be contacted and num is the DECnet task AUDIO$num. If the
``decnet/'' prefix is omitted, it is automatically added so that the
audio server name is compatible with the X Window System display name.
Most audio utilities accept a command line argument -audio servername
for specifying the audio server to be contacted.
% auinfo -audio tcp/ncdunit:8000
If no server is specified on the command line, the AUDIOSERVER environ‐
ment variable is checked to see if a name has been stored there. Oth‐
erwise, the DISPLAY environment variable used by X Window System appli‐
cations is checked and the corresponding audio server is used.
SAMPLE PROGRAMS
Several sample programs that use the Network Audio System service are
provided by NCD:
auplay This program simply plays the files listed on its command line.
It is typically used from shell scripts, command-line proce‐
dures, or other programs that just need to ``dump'' sound data
to the audio server.
audemo This program allows the user to select and play pre-recorded
sound files or to record new sound files. It provides a simple
control panel for dynamically changing the volume while a sound
is being played and for aborting a sound.
audial This program generates North American telephone touch tones
correspond to a given string. audial can also recognize touch
tones and produce the corresponding string.
autool This program is compatible with the Sun audiotool program and
is typically used to play prerecorded sound files. Unlike
auplay it provides a graphical interface to allow the user to
replay or cancel the data.
auinfo This program lists information describing the capabilities of
an audio server.
auctl This program can be used to change various device parameters.
auscope This program is an audio protocol filter that can be used to
view the network packets being sent between an application and
an audio server.
aupanel This program provides an X-based window-oriented interface
allowing the user to adjust the attributes of the devices pro‐
vided by the Network Audio System service.
auedit This program provides an X-based window-oriented interface
allowing the user to edit audio files.
auconvert
This program allows the user to perform various conversion
operations on sound files.
auphone This program provides an X-based window-oriented interface
allowing two-way real time voice communication between two
audio servers.
aurecord
This program is used to record audio data from an audio server
into a file.
auwave This program provides an X-based window-oriented interface
demonstrating the use of waveform elements.
AUDIO FILES
The audio programming library and utility programs can be used to read
and write files in any of the following file formats:
Sun/NeXT
These files typically have a '.au' or '.snd' extension. They
are usually produced by Sun or NeXT workstations.
Creative Labs
These files typically have a '.voc' extension. They are usually
produced by by Soundblaster audio cards on IBM PC compatible
computers.
Microsoft WAVE
These files typically have a '.wav' extension. They are usually
produced by IBM PC compatible computers.
AIFF
These files typically have an '.aiff' or '.aif' extension. They
are usually produced by SGI workstations or Apple computers.
Amiga IFF/8SVX
These files typically have an '.iff' extension.
Due to the nature of the file formats, only the Sun/NeXT file format
can be piped through standard input and/or standard output. The con‐
vention for specifying standard input or standard output is to use a
hyphen ("-") as the file name.
PROGRAMMING
Application developers may create their own audio clients using the
Network Audio System programming library.
ENVIRONMENT VARIABLES
The following environment variables are used by Network Audio System
programs:
AUDIOSERVER
This specifies the name of default audio server to contact if
no name is explicitly given on the command line.
DISPLAY This specifies the name of an X Window System display that
should be assumed to also have a corresponding Network Audio
System server.
SEE ALSOauplay(1), audemo(1), audial(1), autool(1), auinfo(1), auctl(1), aus‐
cope(1), aupanel(1), auedit(1), auconvert(1), auphone(1), aurecord(1),
auwave(1)
Network Audio System Overview and Programmers Guide
COPYRIGHT
The following copyright and permission notice applies to all files in
the Network Audio System application programming libraries and example
programs provided in source form by Network Computing Devices:
Copyright 1993, 1994 Network Computing Devices, Inc.
Permission to use, copy, modify, distribute, and sell this software and
its documentation for any purpose is hereby granted without fee, pro‐
vided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in sup‐
porting documentation, and that the name Network Computing Devices,
Inc. not be used in advertising or publicity pertaining to distribution
of this software without specific, written prior permission.
THIS SOFTWARE IS PROVIDED `AS-IS'. NETWORK COMPUTING DEVICES, INC.,
DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING WITH‐
OUT LIMITATION ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE, OR NONINFRINGEMENT. IN NO EVENT SHALL NETWORK COM‐
PUTING DEVICES, INC., BE LIABLE FOR ANY DAMAGES WHATSOEVER, INCLUDING
SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES, INCLUDING LOSS OF USE,
DATA, OR PROFITS, EVEN IF ADVISED OF THE POSSIBILITY THEREOF, AND
REGARDLESS OF WHETHER IN AN ACTION IN CONTRACT, TORT OR NEGLIGENCE,
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
TRADEMARKS
NCD, NCD Display Station, and NCDware are all trademarks of Network
Computing Devices, Inc.
X Window System is a trademark of the Massachusetts Institute of Tech‐
nology.
AUTHORS
Greg Renda, Jim Fulton, David Lemke
1.9.4 NETWORK AUDIO SYSTEM(1)