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.
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 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 connected to a set of speakers) so that data can be played without requiring any client intervention or network traffic.
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:
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:
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 environment variable is checked to see if a name has been stored there. Otherwise, the DISPLAY environment variable used by X Window System applications is checked and the corresponding audio server is used.
Several sample programs that use the Network Audio System service are provided by NCD:
The audio programming library and utility programs can be used to read and write files in any of the following file formats:
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.
Application developers may create their own audio clients using the Network Audio System programming library.
The following environment variables are used by Network Audio System programs:
auplay(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
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, 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 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 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 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.
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 Technology.
Greg Renda, Jim Fulton, David Lemke