AudioFile System, Version 2 Release 2 Release Notes and Installation Instructions ABSTRACT The AudioFile (AF) System is a network- transparent audio server and client library origi- nally developed for supporting LoFi audio hardware at Digital Equipment Corporation's Cambridge Research Laboratory. The AudioFile distribution contains source code for audio servers, clients, and client library that support several audio dev- ices and platforms. 1. Introduction The AudioFile System (AF) is a device-independent network- transparent audio server. With AudioFile, multiple audio applications can run simultaneously, sharing access to the actual audio hardware. Network transparency means that application programs can run on machines scattered throughout the network. Because AF permits applications to be device-independent, applications need not be rewritten to work with new audio hardware. AudioFile does for sound what the X Window System does for text and graphics. Development of AudioFile began in 1989 at Digital Equipment Corporation's Cambridge Research Laboratory, but it builds on ideas from earlier work. We originally envisioned AudioFile as a server to support all the capabilities of the CRL LoFi (LoFi became the product known as DECaudio) audio hardware running on the DECstation 5000 workstation, but we soon began adding support for a variety of other platforms and audio hardware. This distribution of AudioFile includes device drivers for several audio devices, server code for a number of plat- forms, a programming API and library, out-of-the-box core applications, and a number of "contributed" applications. The key difference between the core and contributed applica- tions is that the many of the contrib clients also depend on the Tcl/Tk graphics toolkits distributed by the University of California. (The AudioFile distribution does not include Tcl/Tk, but we tell you where to get it.) AudioFile System Release Notes and Installation Instructions - 2 - With AudioFile, it is easy to incorporate audio into appli- cations. Simple "play" and "record" applications are included, or you can write your own using the AudioFile API and client library. AudioFile allows applications to gen- erate and process audio in real-time but it also permits more leisurely applications. AudioFile is quite resistant to the vaguaries of scheduling and operating systems that can make handling audio difficult. We have successfully used AudioFile for both trivial applications (audio BIFF) and complex applications (real-time teleconferencing, speech synthesis and recognition.) AudioFile may not be appropriate for all purposes, but we have found it to be a versatile and effective tool. We believe that AudioFile is highly portable, and that it should be straightforward to add additional support for other systems equipped with audio hardware. AudioFile is distributed in source form, with a copyright allowing unrestricted use for any purpose except sale (see the Copyright notice included with the kit.) We would like to encourage other organizations to add sup- port to AudioFile for additional platforms, operating sys- tems, and devices, and to contribute additional applica- tions. 1.1. AudioFile Server This distribution of AudioFile includes server support for Digital RISC systems running Ultrix, Digital Alpha AXP sys- tems running OSF/1, and Sun Microsystems SPARCstations run- ning SunOS. The servers support audio hardware ranging from the built-in CODEC audio on SPARCstations and Personal DECs- tations to 48 KHz stereo audio using the DECaudio TURBOchan- nel module. In addition, server support is present for telephone access devices such as DECaudio. 1.2. AudioFile API The distribution includes C language bindings to the proto- col that make it easy to write distributed audio applica- tions. 1.3. AudioFile Clients This distribution includes a number of core applications for recording, playback, telephone control, device control, and access control. 1.4. AudioFile "Contrib" Clients The distribution includes a number of contributed AudioFile System Release Notes and Installation Instructions - 3 - applications including an audio file browser, an FFT spec- trogram display, and multicast network audio service. 2. Installation Overview The remainder of this document contains information and instructions for use in building and installing this release in your local environment. The information in this document assumes that you have already created a local audio hierar- chy by following the steps in README-V2. The software in this release is divided into two distribu- tions: one for the core server and library software (located in the directory tree ./AF) and one for device specific software such as device drivers and test programs (located in the directory tree ./devices.) You will need roughly 6 Megabytes to hold the software kit and an additional 8 Mega- bytes for building the release. 3. Platform Specific Information This section provides information about the devices sup- ported by AudioFile and the platforms on which the audio servers and client applications have been built and tested. 3.1. Supported Devices As mentioned before, AF supports several audio devices on a variety of systems. This table contains a list of the five audio hardware systems that AF has been modified to support. | Ultrix/RISC OSF/1 Alpha SunOS Server | |LoFi (a.k.a. DECaudio) x x - Alofi | |DEC 3000 Audio n/a x - Aaxp | |Personal DECstation Audio x n/a - Amaxine| |J-Video x x - Ajv | |SparcStation - - x Asparc | It should be possible to add support to AF for SGI Indigo, NeXT, and other Unix workstations with audio hardware. The software in the ./devices/lofi directory tree include setld device driver kits and library sources that permit programs to interface directly with the LoFi hardware rather than through the AudioFile server. This hierarchy also con- tains a LoFi diagnostic test program, hwddt. Information on installing and configuring LoFi, Personal DECstation, and Alpha AXP workstation audio device drivers is included below. AudioFile System Release Notes and Installation Instructions - 4 - 4. Building and Installing the Release Steps to build this release include customizing the build rules according to directory conventions at your local site followed by a few make build commands. This section con- tains the directions for the steps to modify the build rules then build and install this release. The AudioFile kit has been successfully built and tested on Ultrix/RISC 4.2, 4.2a, and 4.3 systems as well as DEC OSF/1 Alpha V1.2 and SunOS 4.1.1. Please consult the Errata sec- tion (below) for a description of known build issues with this release. Almost all Makefiles in the core software hierarchy are gen- erated automatically by a utility called imake. The program combines machine-independent descriptions (called Imakefiles) of targets to be built with machine-dependent sets of parameters. Initial versions of all of the Makefiles are included for those sites that cannot use imake. For your own applications, the amkmf script in AF/util/scripts can be used to build a Makefile from an Imakefile once the core has been built and installed. This release makes extensive use of a utility called imake to generate machine-specific Makefiles from machine- independent Imakefiles. Another utility, called makedepend, is used to generate Makefile dependencies for C language files. Sample Makefiles are provided, although you are strongly urged to use imake and makedepend so that your software works across releases. 4.1. Configuring the Release As you follow these instructions, replace each occurrence of