Next Page > Hide TOC

Introduction

This document describes audio units and how to create them. Audio units are digital audio plug-ins based on Apple’s world class Core Audio technology for Mac OS X.

Contents:

Who Should Read This Document?
Organization of This Document
Making Further Progress in Audio Unit Development
Required Tools for Audio Unit Development
See Also


As a hobbyist or a computer science student, you can design and build your own audio units to make applications like GarageBand do new things with sound.

As a commercial developer, you can create professional quality software components that provide features like filtering, reverb, dynamics processing, and sample-based looping. You can also create simple or elaborate MIDI-based music synthesizers, as well as more technical audio units such as time and pitch shifters and data format converters.

As part of Core Audio and being integral to Mac OS X, audio units offer a development approach for audio plug-ins that excels in terms of performance, robustness, and ease of deployment. With audio units, you also gain by providing a consistent, simple experience for end-users.

Your target market is wide, including performers, DJs, recording and mastering engineers, and anyone who likes to play with sound on their Macintosh.

Note: This first version of Audio Unit Programming Guide does not go into depth on some topics important to commercial audio unit developers such as copy protection, parameter automation, and custom views (graphical user interfaces for audio units). Nor does this version provide instruction on developing types of audio units other than the most common type, effect units.

Who Should Read This Document?

To use this document, you should already be familiar with the C programming language. You should be comfortable with using Xcode to create a Mac OS X plug-in as described in the Xcode 2.4 User Guide. For example, you should know about Xcode’s various build options, such as ZeroLink, and when to use them. You should also know how and why to include frameworks and files in the linking phase of an Xcode build.

It’s very helpful in using this document to have enough familiarity with the C++ programming language to read header and implementation files. It’s also helpful to have a basic understanding of the Mac OS X Component Manager as described in Component Manager for QuickTime, as well as a grounding in digital audio coding and audio DSP (digital signal processing).

This document does not address the needs of audio unit host application developers, whose code opens, connects, and uses audio units. Nor is this document an audio unit cookbook. It devotes very few pages to DSP or music synthesis techniques, which work essentially the same way in audio units as in other audio software technologies

Organization of This Document

Depending on your needs and your learning style, you can use this document in the following ways.

This document contains the following chapters:

Making Further Progress in Audio Unit Development

To go forward in developing your own audio units based on what you learn here, you will need:

Required Tools for Audio Unit Development

When you perform a full installation of the current version of Mac OS X, including Xcode Tools, you’ll have everything you need on your system for audio unit development. These items are also available free from Apple’s developer website, http://developer.apple.com:

See Also

As you learn about developing audio units, you may find the following information and tools helpful:



Next Page > Hide TOC


© 2007 Apple Inc. All Rights Reserved. (Last updated: 2007-10-31)


Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.