Silicon Graphics offers a collection of libraries designed for developers of digital audio and MIDI software, as well as those seeking to integrate audio into their existing applications.
Part II, “Digital Audio and MIDI Programming,” describes in detail the application programming interfaces (APIs) for these libraries, which are included in the IRIS Digital Media Development Environment:
Audio Library (libaudio.a)
Audio File Library (libaudiofile.so)
Audio Utility Library (libaudioutil.so)
CD Audio Library (libcdaudio.a)
DAT Audio Library (libdataudio.a)
MIDI Library (libmd.so)
Each chapter presents the digital audio and MIDI libraries from a task-oriented perspective. Chapters are organized to cover topics in roughly the order you are concerned about them as you write audio or MIDI programs. To illustrate the use of the various component libraries, sample code fragments and demonstration programs are used throughout.
Digital audio programs typically access analog or digitally recorded sound data that is either input directly to the workstation audio hardware or stored on disk, digital audio tape, or CD. The application then manipulates the data and outputs the result to analog or digital line-out jacks, to disk, or to tape. MIDI programs read, process, and produce MIDI data streams, which are in turn interpreted by MIDI devices such as synthesizers and drum machines that are distributed across a MIDI network. The libraries described in this part of this guide provide all the necessary features to create audio and MIDI applications for Silicon Graphics workstations that support audio.
Reference documentation on the digital audio and MIDI routines is contained in online reference pages. These provide a concise, thorough description of each library function and are available through the use of the man or Xman command.
This guide assumes that you're somewhat familiar with principles of digital audio and MIDI. This section lists additional references that cover background material and topics beyond the scope of this part.
Although some background material is provided in the chapters on digital audio and MIDI, you may want to do some more in-depth reading. The following texts may provide useful supplementary information:
AES, Journal of the Audio Engineering Society, edited by Daniel R. von Recklinghausen, Audio Engineering Society.
The Art of Digital Audio, by John Watkinson, Focal Press, 1988.
Computer Music Journal, edited by Steven Travis Pope, MIT Press.
Elements of Computer Music, F. Richard Moore, Prentice-Hall, 1990.
MIDI Sequencing for Musicians, compiled by the staff of Keyboard Magazine, H. Leonard Publishing Corp., 1989.
MIDI Sequencing in C, by Jim Conger, M & T Books, 1989.
MIDI 1.0 Detailed Specification and Standard MIDI Files 1.0, International MIDI Association, 5316 W. 57th St., Los Angeles, CA 90056.
Music Through MIDI, by Michael Boom, Microsoft Press, 1991.
Musical Applications of Microprocessors, by Hal Chamberlin, Hayden Books, 1985.
If you plan on using the MIDI C++ classes, you may want to use the following books as references:
The Annotated C++ Reference Manual, by Margaret Ellis and Bjarne Stroustrup, AT&T Bell Laboratories, 1990—the official C++ language reference manual.
C++ Primer, by Stanley Lippman, AT&T Bell Laboratories, 1989—An introductory-level, tutorial-style presentation of C++.
The C++ Programming Guide—an online manual provided with the Silicon Graphics C++ library.