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 developed at Network Computing Devices for playing,
recording, and manipulating 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 com
mand-line procedures. More ambitious applications can
communicate directly with the audio server using a C-lan
guage programming library.
The Network Audio System service supports a variety of the
common formats used to store sound data. Audio inputs and
outputs can run at a any of a range of sampling rates.
The audio server automatically converts 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 con
nected to a set of speakers) so that data can be played
without requiring any client intervention or network traf
fic.
AUDIO SERVER NAMES
Each audio server has a name that is used by applications
in establishing a connection. The format of the name
depends upon the type of network 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/''
1
NETWORK AUDIO SYSTEM(1) NETWORK AUDIO SYSTEM(1)
prefix is not given, 8000 is automatically added to port_
num 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 con
tacted.
% auinfo -audio tcp/ncdunit:8000
If no server is specified on the command line, the
AUDIOSERVER environment variable is checked to see if a
name has been stored there. Otherwise, the DISPLAY envi
ronment variable used by X Window System applications 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 procedures, or other pro
grams 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 graphi
cal interface to allow the user to replay or can
cel the data.
auinfo This program lists information describing the
2
NETWORK AUDIO SYSTEM(1) NETWORK AUDIO SYSTEM(1)
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 provided 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 commu
nication 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 ele
ments.
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' exten
sion. 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 com
puters.
AIFF
3
NETWORK AUDIO SYSTEM(1) NETWORK AUDIO SYSTEM(1)
These files typically have an '.aiff' or '.aif'
extension. They are usually produced by SGI work
stations 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 convention 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 com
mand line.
DISPLAY This specifies the name of an X Window System dis
play that should be assumed to also have a corre
sponding Network Audio System server.
SEE ALSOauplay(1), audemo(1), audial(1), autool(1), auinfo(1),
auctl(1), auscope(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 program
ming 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, provided that the above copyright
notice appear in all copies and that both that copyright
notice and this permission notice appear in supporting
documentation, and that the name Network Computing
Devices, Inc. not be used in advertising or publicity per
taining to distribution of this software without specific,
written prior permission.
4
NETWORK AUDIO SYSTEM(1) NETWORK AUDIO SYSTEM(1)
THIS SOFTWARE IS PROVIDED `AS-IS'. NETWORK COMPUTING
DEVICES, INC., DISCLAIMS ALL WARRANTIES WITH REGARD TO
THIS SOFTWARE, INCLUDING WITHOUT LIMITATION ALL IMPLIED
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, OR NONINFRINGEMENT. IN NO EVENT SHALL NETWORK
COMPUTING DEVICES, INC., BE LIABLE FOR ANY DAMAGES WHATSO
EVER, INCLUDING SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAM
AGES, 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 PERFOR
MANCE 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 Insti
tute of Technology.
AUTHORS
Greg Renda, Jim Fulton, David Lemke
5