# MPEG-4 Structured Audio: Developer Tools

### By John Lazzaro and John Wawrzynek, CS Division, UC Berkeley.

## `sfront`

sfront is a translator that converts MP4-SA files into efficient C programs that generate audio.

The sfront reference manual describes how to install the program, and how to use it for rendering, interactive, and plug-in applications. It also shows how to add control and audio drivers to sfront.

Sfront is freely redistributable under the terms of the BSD license (without advertising clause). The sfront reference manual is freely redistributable under the terms of the GNU Free Documentation License.

The webpage you are reading resides on your local hard disk, along with the sfront reference manual. Visit our website for the latest Structured Audio news, and to download the latest sfront version.

## The MP4-SA Book

We wrote an book to show how to create audio content for MPEG 4 Structured Audio. It resides on your hard disk, and is freely redistributable under the terms of the GNU Free Documentation License.

The book includes a tutorial introduction and sections on the SAOL language, SASL and MIDI instrument control, and advanced opcodes.

Book appendices list the core opcodes (alphabetically and by functional type), standard names, wavetable generators, language elements and language semantic rules.

## Additional Resources

View our multimedia presentation on Structured Audio, read our papers on the topic, and see related work on Network Musical Performance.

## What is MPEG-4 Structured Audio?

MPEG-4 Structured Audio (MP4-SA) is an ISO/IEC standard (edited by Eric Scheirer) that specifies sound not as sampled data, but as a computer program that generates audio when run. Computer scientists call this approach Kolmogorov encoding.

MP4-SA combines a powerful language for computing audio (SAOL, pronounced "sail") and a musical score language (SASL, pronounced "sassil") with legacy support for the MIDI format. MP4-SA also defines an efficient encoding of these elements into a binary file format (MP4-SA) suitable for transmission and storage.

MP4-SA is different from standards like the MIDI File Format, because it includes not only the notes to play, but the method for turning notes into sound. As a result, MP4-SA is normative -- an MP4-SA file will sound identical when converted by any compliant decoder.

If the instrument models use algorithmic synthesis instead of wavetables, an MP4-SA file can describe realistic musical performances without using any audio data -- just score data, mixdown cues, and DSP algorithms. In this case, the MP4-SA file is about the same size as a MIDI File, but is a lossless encoding of the audio heard at mixdown. Just like a WAV file -- but 50 to 1000 times smaller!

## An Example

This example shows how to create audio content in MPEG-4 Structured Audio. It shows a SAOL and a SASL program that generates a tone burst sound. Audio output for the example was created using sfront, a translator that converts MP4-SA files into efficient C programs that generate audio.

##
Links

Introductory Example

###
*

sfront Reference Manual

###
*

####
The MP4-SA Book

Tutorial Introduction
The SAOL Language
SASL and MIDI
Advanced Opcodes
Special Topics
Appendices

###
*

Download most recent sfront

Copyright 2000 John Lazzaro and John Wawrzynek.