### From The MPEG-4 Structured Audio Book by John Lazzaro and John Wawrzynek.

# Part V: Special Topics

## Introduction MPEG-4 Structured Audio (MP4-SA) is an ISO/IEC standard (edited by Eric Scheirer) that specifies sound not as audio data, but as a computer program that generates audio when run. For an introduction to MP4-SA see the introductory tutorial presented in Part I of the book. For a complete description of the SAOL language, see Part II. In Part V of the book, we show ways to solve common problems that arise when writing SAOL programs. In the first chapter we show useful methods for debugging MP4-SA programs. We describe an sfront extension to SAOL for program debugging: a rate-sensitive version of the C printf statement. In the second chapter we describe an advanced SAOL language feature, the template construct. Templates are a concise way to generate a family of instruments whose properties vary in a regular way. In the third chapter we describe Slib, a SAOL library distributed with sfront that provides support utilities to simplify low-level SAOL programming. Next:Part V/1: SAOL Debugging | ## Part V: Table of Contents #### 1. Debugging SAOL Programs Reported Errors. Program Crashes. Finding Runtime Errors. `printf`. I-rate Methods. K-rate Methods A-rate Methods #### 2. Templates A Simple Example Template Variables Preset Maplists #### 3. The Slib Library Trigonometric Opcodes. Numeric Constants. Symbolic Constants. The Scaled Smoothed MIDI Library. MIDI Constants. General MIDI Presets.

Copyright 1999 John Lazzaro and John Wawrzynek.