Jump To:
Leopard Reference Library
System-level Mac OS X services streamline the development process for audio developers, and for application developers who incorporate audio into their products. Core Audio provides native multichannel audio in a manner scalable for future high-resolution formats. The Audio Unit API provides a plug-in architecture for both DSP and for MIDI-based virtual instruments. MIDI services provide multiport MIDI capability.

An introduction to audio development in Mac OS X.   Essential information for developers working with audio in Mac OS X.   C and Objective-C API references organized by framework.
Document Descriptions
On Off
Display

Sort by
Title
Sort by
Topic
Sorted by
Resource Type
Sort by
Date
Going Universal: Audio Developers Catch the Wave (HTML)
Learn how audio developers who built universal binaries of their applications are reaping the benefits.
Carbon, Cocoa, Core Audio Articles 2006-07-18
Using the Audio Extraction API in QuickTime 7 (HTML)
Learn how your application can extract audio from multiple sound tracks in a QuickTime movie.
QuickTime Articles 2005-12-19
The Sound of Opportunity Knocking: The Audio Units Community Takes Off (HTML)
Learn how one developer created a successful business using audio units.
Carbon, Cocoa, Core Audio Articles 2005-10-31
Taking Advantage of the Accelerate Framework (HTML)
Learn how your application can run on PowerPC- or Intel-based Macs without processor-specific customization.
Performance Articles 2005-10-03
Turn up the Volume with Audio Units (HTML)
Learn to build a sample volume unit, test it, and integrate it into GarageBand.
Carbon, Cocoa, Core Audio Articles 2005-01-31
Audio Device Driver Programming Guide (HTML) (PDF)
Explains how to develop kernel-resident drivers for audio devices.
Hardware & Drivers Guides 2009-03-04
Audio Queue Services Programming Guide (HTML) (PDF)
Describes how to play and record audio using Audio Queue Services.
Carbon, Cocoa, Core Audio Guides 2007-10-31
Audio Unit Programming Guide (HTML) (PDF)
Explains how to use Core Audio frameworks and the Core Audio SDK to create audio units.
Apple Applications, Carbon, Cocoa, Core Audio Guides 2007-10-31
Core Audio Overview (HTML) (PDF)
Provides an overview of Core Audio and its programming interfaces.
Apple Applications, Carbon, Cocoa, Core Audio, Games Guides 2007-01-08
Sound Programming Topics for Cocoa (HTML) (PDF)
Explains how to load and play audio data in Cocoa.
Cocoa Guides 2006-11-07
Performance Overview (HTML) (PDF)
Introduces the factors that determine performance.
Performance Guides 2006-10-03
QuickTime Media Types and Media Handlers Guide (HTML) (PDF)
Describes video, sound, text, time code, and tween media handlers.
QuickTime Guides 2006-01-10
QuickTime Music Architecture Guide (HTML) (PDF)
Explains how to enable synthesizing and playing of sounds and musical sequences.
Carbon, QuickTime Guides 2006-01-10
QuickTime Audio (HTML)
Explains how to enable recording and playback of various audio media.
Carbon, QuickTime Guides 2002-09-17
Slope/Intercept Audio (HTML)
Explains how to store floating point audio data in QuickTime files.
QuickTime Guides 2002-09-17
Standard Sound Dialog Component (HTML)
Describes the QuickTime component that lets the user make audio parameter settings.
Carbon, QuickTime Guides 2002-09-17
I/O Kit Framework Reference (HTML)
Describes the I/O Kit classes that support non-kernel access to I/O Kit objects through the device-interface mechanism.
Hardware & Drivers Reference 2009-03-04
Kernel Framework Reference (HTML)
Describes the APIs and classes (including I/O Kit families) that support kernel-resident device drivers.
Hardware & Drivers Reference 2009-01-06
Core Audio Data Types Reference (HTML) (PDF)
Describes data types and constants used throughout Core Audio.
Core Audio Reference 2008-11-19
Audio File Stream Services Reference (HTML) (PDF)
Describes the interface for reading non-random access audio file streams.
Core Audio Reference 2008-10-15
NSSound Class Reference (HTML) (PDF)
Describes an object that loads and plays audio files.
Cocoa Reference 2008-10-15
Extended Audio File Services Reference (HTML) (PDF)
Describes an interface for reading and writing audio files with automatic format conversion.
Core Audio Reference 2008-09-09
Audio File Services Reference (HTML) (PDF)
Describes a C programming interface for reading and writing audio files.
Carbon, Cocoa, Core Audio Reference 2008-07-08
Audio Queue Services Reference (HTML) (PDF)
Describes a high-level programming interface for recording and playing back audio data.
Carbon, Core Audio Reference 2008-07-08
Core Audio Glossary (HTML) (PDF)
Defines general digital audio terms as well as terms specific to Apple's Core Audio technology.
Carbon, Cocoa, Core Audio, Games, General, Hardware & Drivers, MIDI Reference 2008-07-07
Core MIDI Framework Reference (HTML)
Describes a C API for Mac OS X MIDI system services.
Core Audio, MIDI Reference 2008-04-08
Core MIDI Server Framework Reference (HTML)
Describes the Mac OS X MIDI driver interface.
Core Audio, MIDI Reference 2008-04-08
Disc Recording Framework Reference (HTML)
Describes the Objective-C and C API for burning audio and data CDs and DVDs.
Carbon, Cocoa Reference 2008-04-08
Disc Recording UI Framework Reference (HTML)
Describes the Objective-C and C API for presenting a user interface when burning audio and data CDs and DVDs.
Carbon, Cocoa Reference 2008-04-08
FireWire Audio User Library Framework Reference (HTML)
Describes the API that supports user-space access to FireWire audio devices and enables the creation of virtual FireWire audio devices.
Hardware & Drivers Reference 2008-04-08
Audio Codec Services Reference (HTML) (PDF)
Describes the programming interface for configuring audio codecs and for encoding and decoding audio data.
Core Audio Reference 2007-10-31
Audio Toolbox Framework Reference (HTML)
Describes the Core Audio API to access audio files and convert between linear PCM and compressed audio formats.
Core Audio Reference 2006-11-07
Core Audio Framework Reference (HTML)
Describes a C API that interfaces with audio hardware and includes data types used throughout Core Audio.
Core Audio Reference 2006-11-07
Apple Core Audio Format Specification 1.0 (HTML) (PDF)
Specifies the Apple Core Audio Format (CAF) for audio files.
Apple Applications, Core Audio Reference 2006-03-08
MIDI File Format (HTML)
Describes the QuickTime implementation of the MIDI file standard.
Carbon, MIDI, QuickTime Reference 2002-09-17
DiscRecording Release Notes (HTML)
Updated for Mac OS X v10.5
Carbon, Cocoa Release Notes 2007-10-31
SimpleUserClient (HTML) (DMG) (ZIP)
Shows how to create a user client for an I/O Kit kernel driver.
Hardware & Drivers Sample Code 2008-08-27
WhackedTV (HTML) (DMG) (ZIP)
A Cocoa version of the venerable HackTV sample code, demonstrating usage of the Sequence Grabber API's
QuickTime Sample Code 2008-05-09
QTAudioContextInsert (HTML) (DMG) (ZIP)
Demonstrates use of Audio Context Insert APIs to perform custom processing on QuickTime's audio stream.
QuickTime Sample Code 2008-01-21
CAPlayThrough (HTML) (DMG) (ZIP)
Illustrates how to use the HAL's Audio Output Unit (AUHAL) for device input and the Default Output Audio Unit for output.
Core Audio Sample Code 2007-08-22
AudioQueueTools (HTML) (DMG) (ZIP)
Demonstrates usage of the AudioQueue API
Core Audio Sample Code 2007-06-08
RecordAudioToFile (HTML) (DMG) (ZIP)
Demonstrates recording audio to an AAC file using Core Audio
Carbon, Core Audio, Games, Performance Sample Code 2007-02-27
QTExtractAndConvertToAIFF (HTML) (DMG) (ZIP)
Demonstrates using MovieAudioExtraction and an AudioConverter to extract and convert audio to a AIFF file.
QuickTime Sample Code 2006-11-08
QTExtractAndConvertToMovieFile (HTML) (DMG) (ZIP)
Demonstrates using MovieAudioExtraction and an AudioConverter to extract and convert audio to a QuickTime movie file.
QuickTime Sample Code 2006-11-08
TremoloUnit (HTML) (DMG) (ZIP)
Audio unit sample demonstrating how to build an effect unit with a generic view.
Carbon, Cocoa, Core Audio Sample Code 2006-10-26
SimplePlayThru (HTML) (DMG) (ZIP)
Use the HAL's Audio Output Unit (AUHAL) for device input and output on a single device (play-thru)
Carbon, Core Audio, Hardware & Drivers Sample Code 2006-10-25
AudioQueueTest (HTML) (DMG) (ZIP)
Demonstrates AudioQueue, an audio playback API introduced in Mac OS X 10.5
Carbon, Core Audio Sample Code 2006-08-01
AudioDeviceNotify (HTML) (DMG) (ZIP)
Demonstrates how to enumerate audio devices attached to the system and how to handle device notifications
Carbon, Cocoa, Core Audio Sample Code 2006-04-21
ExtractMovieAudioToAIFF (HTML) (DMG) (ZIP)
Demonstrates how to extract audio from QuickTime Movies and write the data to an AIFF file.
Cocoa, QuickTime Sample Code 2006-03-31
SillyFrequencyLevels (HTML) (DMG) (ZIP)
Demonstrates how to obtain audio frequency levels from a Movie using SetMovieAudioFrequencyMeteringNumBands and GetMovieAudioFrequencyLevels APIs.
QuickTime Sample Code 2006-01-25
SimpleAudioExtraction (HTML) (DMG) (ZIP)
Demonstrates the QuickTime 7.0 Movie Audio Extraction APIs
QuickTime Sample Code 2006-01-03
AudioCDSample (HTML) (DMG) (ZIP)
Demonstrates how to discover audio CDs and access the TOC information presented by the CD-DA filesystem.
Hardware & Drivers Sample Code 2005-10-04
QTAudioExtractionPanel (HTML) (DMG) (ZIP)
Enhances the QTKitPlayer to add an Audio Channel Mapping and Extraction panel
Core Audio, QuickTime Sample Code 2005-06-27
FilterDemo (HTML) (DMG) (ZIP)
Demonstrates how to write a filter AudioUnit with a custom Cocoa User Interface.
Core Audio Sample Code 2005-06-01
OpenALExample (HTML) (DMG) (ZIP)
Basic example showing OpenAL usage in a 2D OpenGL environment
Games Sample Code 2005-06-01
SampleUSBAudioPlugin (HTML) (DMG) (ZIP)
USB audio plugin that performs a lowpass filtering operation on audio streamed through an audio USB Device.
Hardware & Drivers Sample Code 2005-03-07
dist_fft (HTML) (DMG) (ZIP)
Gigaelement FFTs on Apple G5 clusters
Performance Sample Code 2004-08-23
MoreIsBetter (HTML) (DMG) (ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
Carbon Sample Code 2003-10-27
SimpleSpeechRecExample (HTML) (DMG) (ZIP)
Demonstrates how to use the Speech Recognition Manager in a simple application.
Carbon Sample Code 2003-03-26
VelEng FFT (HTML) (DMG) (ZIP)
G4 Velocity Engine implementation of Fast Fourier Transform (FFT) and associated convolution/correlation routines.
Carbon, Games, Hardware & Drivers, Performance Sample Code 2003-01-14
Optimizing Audio Unit User Experience in Logic Studio (HTML)
TN2207: How to provide the best user experience with your audio unit in Logic Studio
Apple Applications, Core Audio Technical Notes 2009-04-23
Audio Export - Encoding AAC Audio For MPEG-4 Export (HTML)
TN2237: The QT MPEG4 Exporter does not show all options for generating AAC, this TN discusses workarounds.
Core Audio, QuickTime Technical Notes 2009-01-27
Audio Unit Validation Using the auval Tool (HTML)
TN2204: Test the conformance of audio units to Audio Unit Services.
Core Audio Technical Notes 2008-09-08
Audio Units: Embedding a Carbon View in a Cocoa Window (HTML)
TN2213: Carbon-Cocoa Integration for Audio Units
Core Audio Technical Notes 2008-02-29
The Sonogram View Demo Audio Unit (HTML)
TN2200: Describes the advanced audio unit features that the associated sample project demonstrates.
Core Audio Technical Notes 2007-11-07
Using AudioDeviceRead in Mac OS 10.4 (HTML)
TN2113: How to use AudioBufferLists with AudioDeviceRead in Tiger and beyond.
Core Audio, Hardware & Drivers Technical Notes 2006-11-29
Playing a sound file using the Default Output Audio Unit (HTML)
TN2097: Playing an Audio File using the Default Output Audio Unit
Core Audio Technical Notes 2006-11-15
Device input using the HAL Output Audio Unit (HTML)
TN2091: How to get input from an audio device by using the HAL's Output Audio Unit.
Core Audio Technical Notes 2006-07-25
Handling Audio Unit Events (HTML)
TN2104: This technote explains how to handle AudioUnit Events
Carbon, Cocoa, Core Audio Technical Notes 2005-04-29
The System Sound APIs for Mac OS X 10.2, 10.3 and later (HTML)
TN2102: Discusses the System Sound APIs for correctly playing Alerts and User Interface Sound Effects
Carbon, Core Audio Technical Notes 2004-07-13
Using the 3DMixer Audio Unit (HTML)
TN2112: Discusses how to use Core Audio's 3DMixer version 2.0
Carbon, Core Audio, Games Technical Notes 2004-06-14
AudioChannelLayout - What's the Audio Channel Order when the Layout has a Channel Bitmap? (HTML)
QA1638: Explains the audio channel order when a channel layout is tagged as kAudioChannelLayoutTag_UseChannelBitmap.
Core Audio Technical Q&As 2009-04-12
Audio Queue - Looping Compressed Audio (HTML)
QA1636: Discusses the format information required to seamlessly loop compressed audio using Audio Queue.
Carbon, Cocoa, Core Audio Technical Q&As 2009-02-20
QuickTime Audio - Easy Frequency Level Metering with MovieAudio APIs (HTML)
QA1459: Describes how to perform frequency band level metering using MovieAudio metering APIs.
QuickTime Technical Q&As 2009-01-29
Creating Core Audio Format (.caf) Files (HTML)
QA1534: Describes how to use afconvert to create .caf files
Apple Applications, Core Audio, QuickTime Technical Q&As 2009-01-07
Playback of QuickTime movie audio through a multi-channel speaker system (HTML)
QA1627: Specify a specific pair of channels for QuickTime audio movie playback through a multi-channel speaker system
QuickTime Technical Q&As 2008-11-05
QuickTime Audio - Retrieving the correct audio format bit depth value (HTML)
QA1477: Discusses how to retrieve accurate audio format bit depth.
QuickTime Technical Q&As 2008-11-05
Generating a Non-Maskable Interrupt (NMI) (HTML) (日本語 HTML)
QA1264: Explains how to generate a non-maskable interrupt (NMI) on modern Macintosh systems.
Hardware & Drivers Technical Q&As 2008-10-13
Using the ExtAudioFileSeek and ExtAudioFileTell Functions (HTML)
QA1609: Describes how to use sample rate correctly when working with audio file positions.
Core Audio Technical Q&As 2008-09-29
Retain Counts of io_object_t Objects in IOKit.framework (HTML) (日本語 HTML)
QA1195: Distinguishes between the retain counts of an I/O Kit kernel object and its io_object_t user space proxy.
Hardware & Drivers Technical Q&As 2008-09-24
IODeviceTree and the I/O Registry (HTML) (日本語 HTML)
QA1120: Describes the IODeviceTree plane in the Mac OS X I/O Registry.
Hardware & Drivers Technical Q&As 2008-09-18
Disabling Processor Cores on a Multi-Core System (HTML) (日本語 HTML)
QA1141: Describes how to disable processor cores on a multi-core system for testing purposes.
Performance Technical Q&As 2008-09-16
The Default Output Audio Units (HTML)
QA1577: Describes the Mac OS X output audio units and their purposes.
Core Audio Technical Q&As 2008-08-21
How do I create a QuickTime movie from PCM audio samples in memory? (HTML)
QA1539: How to create a QuickTime movie from PCM audio samples in memory
QuickTime Technical Q&As 2007-08-29
AudioConverter: How do I know when I am done? (HTML)
QA1532: Describes how to correctly signal AudioConverter when a conversion is completed.
Core Audio Technical Q&As 2007-08-23
How to handle kAudioUnitProperty_MaximumFramesPerSlice (HTML)
QA1533: Illustrates how to use the kAudioUnitProperty_MaximumFramesPerSlice property
Core Audio Technical Q&As 2007-07-16
Unable to select input device in AU Lab (HTML)
QA1526: AU Lab only supports physical device singletons.
Core Audio, Hardware & Drivers Technical Q&As 2007-05-17
The header file 'alut.h' is missing from the OpenAL framework. (HTML)
QA1504: ALUT headers were removed from OpenAL.framework with the Xcode 2.4. This Q&A describes how to regain access to those system-supplied symbols
Carbon Technical Q&As 2007-02-06
Standard Audio - Parsing the kQTSCAudioPropertyID_CodecSpecificSettingsArray property (HTML)
QA1437: Discusses how to parse the kQTSCAudioPropertyID_CodecSpecificSettingsArray property returned from StdAudio. Also see Q&A 1390.
QuickTime Technical Q&As 2006-11-30
Standard Audio - The CodecSpecificSettingsArray and MagicCookie properties (HTML)
QA1390: Discusses Core Audio AudioConverter configuration with StdAudio, specifically the CodecSpecificSettingsArray property.
QuickTime Technical Q&As 2006-11-16
Standard Audio - Setting output ASBD returns badFormatErr (HTML)
QA1489: Discusses why badFormatErr may be returned from Standard Audio
Core Audio, QuickTime Technical Q&As 2006-11-15
MovieAudioExtraction - Extracting all available audio samples (HTML)
QA1481: Describes how to correct for MovieAudioExtraction missing some audio samples at the end of audio files.
QuickTime Technical Q&As 2006-07-18
Changing the volume of audio devices (HTML)
QA1016: Demonstrates volume controls for audio devices
Carbon, Core Audio Technical Q&As 2006-05-02
CoreAudio Overload Warnings (HTML)
QA1467: Describes CoreAudio overload warnings what they mean and how to avoid them.
Carbon, Cocoa, Core Audio, Performance Technical Q&As 2006-03-29
MovieAudioExtraction - Ensure a Movie is fully loaded before starting an extraction session (HTML)
QA1469: Describes the importance of making sure a Movie is fully loaded before extracting audio.
QuickTime Technical Q&As 2006-03-29
Using NSSound with CoreAudio on Mac OS 10.3.x (HTML)
QA1394: Workaround the NULL input buffers in a Core Audio IOProc callback when using NSSound by using AudioDeviceAddIOProc
Cocoa, Core Audio Technical Q&As 2006-03-29
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
Hardware & Drivers Technical Q&As 2006-02-22
Sound Manager Codec support in QuickTime 7 (HTML)
QA1448: Describes QuickTime 7 support for constant bitrate and variable bitrate Sound Manager codecs
QuickTime Technical Q&As 2005-10-26
Determine the version of an Audio Unit (HTML)
QA1408: Determine the version of an Audio Unit
Core Audio Technical Q&As 2005-03-07
Obtaining the name of an external MIDI Device from a MIDI Endpoint (HTML)
QA1374: Get the names of external MIDI Devices from MIDI Endpoints.
Hardware & Drivers, MIDI Technical Q&As 2004-12-01