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
Sorted by
Topic
Sort by
Resource Type
Sort by
Date
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
Determine the version of an Audio Unit (HTML)
QA1408: Determine the version of an Audio Unit
Core Audio Technical Q&As 2005-03-07
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
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
FilterDemo (HTML) (DMG) (ZIP)
Demonstrates how to write a filter AudioUnit with a custom Cocoa User Interface.
Core Audio Sample Code 2005-06-01
Going Universal: Audio Developers Catch the Wave (HTML)
Learn how audio developers who built universal binaries of their applications are reaping the benefits.
Core Audio Articles 2006-07-18
Handling Audio Unit Events (HTML)
TN2104: This technote explains how to handle AudioUnit Events
Core Audio Technical Notes 2005-04-29
How to handle audio data with magic cookie information (HTML)
QA1318: How to handle sound files with magic cookies when using an AudioConverter.
Core Audio Technical Q&As 2003-10-22
How to handle kAudioUnitProperty_MaximumFramesPerSlice (HTML)
QA1533: Illustrates how to use the kAudioUnitProperty_MaximumFramesPerSlice property
Core Audio Technical Q&As 2007-07-16
Optimizing Audio Unit User Experience in Logic Studio (HTML)
TN2207: How to provide the best user experience with your audio unit in Logic Studio
Core Audio Technical Notes 2009-04-23
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
QTAudioExtractionPanel (HTML) (DMG) (ZIP)
Enhances the QTKitPlayer to add an Audio Channel Mapping and Extraction panel
Core Audio Sample Code 2005-06-27
RecordAudioToFile (HTML) (DMG) (ZIP)
Demonstrates recording audio to an AAC file using Core Audio
Core Audio Sample Code 2007-02-27
Signaling the end of data when using AudioConverterFillComplexBuffer (HTML)
QA1317: How to signal the end of data when using AudioConverterFillComplexBuffer to convert audio data.
Core Audio Technical Q&As 2004-04-26
SimplePlayThru (HTML) (DMG) (ZIP)
Use the HAL's Audio Output Unit (AUHAL) for device input and output on a single device (play-thru)
Core Audio Sample Code 2006-10-25
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
The Sound of Opportunity Knocking: The Audio Units Community Takes Off (HTML)
Learn how one developer created a successful business using audio units.
Core Audio Articles 2005-10-31
Standard Audio - Setting output ASBD returns badFormatErr (HTML)
QA1489: Discusses why badFormatErr may be returned from Standard Audio
Core Audio Technical Q&As 2006-11-15
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
Core Audio Technical Notes 2004-07-13
TremoloUnit (HTML) (DMG) (ZIP)
Audio unit sample demonstrating how to build an effect unit with a generic view.
Core Audio Sample Code 2006-10-26
Turn up the Volume with Audio Units (HTML)
Learn to build a sample volume unit, test it, and integrate it into GarageBand.
Core Audio Articles 2005-01-31
Unable to select input device in AU Lab (HTML)
QA1526: AU Lab only supports physical device singletons.
Core Audio Technical Q&As 2007-05-17
Use NSSound instead of NSMovie for audio only playback on Mac OS X 10.3 and greater (HTML)
QA1335: Why using NSSound may be a better choice than using NSMovie for audio only playback.
Core Audio Technical Q&As 2004-02-04
Using AudioDeviceRead in Mac OS 10.4 (HTML)
TN2113: How to use AudioBufferLists with AudioDeviceRead in Tiger and beyond.
Core Audio Technical Notes 2006-11-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
Core Audio Technical Q&As 2006-03-29
Using the 3DMixer Audio Unit (HTML)
TN2112: Discusses how to use Core Audio's 3DMixer version 2.0
Core Audio Technical Notes 2004-06-14
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
Avoiding Pauses When Looping Audio files with QuickTime (HTML)
QA1371: Demonstrates how to avoid pauses when looping audio files with QuickTime
Games Technical Q&As 2004-09-08
Core Audio Glossary (HTML) (PDF)
Defines general digital audio terms as well as terms specific to Apple's Core Audio technology.
Games Reference 2008-07-07
Core Audio Overview (HTML) (PDF)
Provides an overview of Core Audio and its programming interfaces.
Games Guides 2007-01-08
OpenALExample (HTML) (DMG) (ZIP)
Basic example showing OpenAL usage in a 2D OpenGL environment
Games Sample Code 2005-06-01
RecordAudioToFile (HTML) (DMG) (ZIP)
Demonstrates recording audio to an AAC file using Core Audio
Games Sample Code 2007-02-27
Using the 3DMixer Audio Unit (HTML)
TN2112: Discusses how to use Core Audio's 3DMixer version 2.0
Games Technical Notes 2004-06-14
VelEng FFT (HTML) (DMG) (ZIP)
G4 Velocity Engine implementation of Fast Fourier Transform (FFT) and associated convolution/correlation routines.
Games Sample Code 2003-01-14
Core Audio Glossary (HTML) (PDF)
Defines general digital audio terms as well as terms specific to Apple's Core Audio technology.
General Reference 2008-07-07
Are the Name Registry device tree nodes unique? (HTML)
Deprecated - HW64: Discusses whether Name Registry nodes copied from the Open Firmware device tree are unique.
Hardware & Drivers Technical Q&As 1999-10-11
Audio Device Driver Programming Guide (HTML) (PDF)
Explains how to develop kernel-resident drivers for audio devices.
Hardware & Drivers Guides 2009-03-04
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
Available FireWire Isochronous Bandwidth (HTML)
QA1356: Discusses attempting to "pre-flight" an isochronous bandwidth allocation request by reading the currently available bandwidth.
Hardware & Drivers Technical Q&As 2004-07-07
Core Audio Glossary (HTML) (PDF)
Defines general digital audio terms as well as terms specific to Apple's Core Audio technology.
Hardware & Drivers Reference 2008-07-07
Difference between using Restart or Shut Down in the Finder's Special menu in Open Firmware (HTML) (日本語 HTML)
HW47: Explains the differences between using Restart or Shut Down on Open Firmware
Hardware & Drivers Technical Q&As 1999-02-15
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
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
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
Installing an I/O Kit KEXT Without Rebooting (HTML)
QA1319: Describes the state of the art of installing I/O Kit kernel extensions (KEXTs) without requiring a restart.
Hardware & Drivers Technical Q&As 2003-10-28
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
IOKit Framework Headers (HTML) (日本語 HTML)
QA1107: Describes the differences between the headers in IOKit.framework and the I/O Kit headers in Kernel.framework.
Hardware & Drivers Technical Q&As 2002-01-15
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
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 Technical Q&As 2004-12-01
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
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
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
SimplePlayThru (HTML) (DMG) (ZIP)
Use the HAL's Audio Output Unit (AUHAL) for device input and output on a single device (play-thru)
Hardware & Drivers Sample Code 2006-10-25
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
Unable to select input device in AU Lab (HTML)
QA1526: AU Lab only supports physical device singletons.
Hardware & Drivers Technical Q&As 2007-05-17
Using AudioDeviceRead in Mac OS 10.4 (HTML)
TN2113: How to use AudioBufferLists with AudioDeviceRead in Tiger and beyond.
Hardware & Drivers Technical Notes 2006-11-29
VelEng FFT (HTML) (DMG) (ZIP)
G4 Velocity Engine implementation of Fast Fourier Transform (FFT) and associated convolution/correlation routines.
Hardware & Drivers Sample Code 2003-01-14
When to use PCMCIA, PC Card, and CardBus (HTML)
HW77: Explains the differences between PCMCIA, PC Card, and CardBus.
Hardware & Drivers Technical Q&As 1999-11-15
Core Audio Glossary (HTML) (PDF)
Defines general digital audio terms as well as terms specific to Apple's Core Audio technology.
MIDI Reference 2008-07-07
Core MIDI Framework Reference (HTML)
Describes a C API for Mac OS X MIDI system services.
MIDI Reference 2008-04-08
Core MIDI Server Framework Reference (HTML)
Describes the Mac OS X MIDI driver interface.
MIDI Reference 2008-04-08
MIDI File Format (HTML)
Describes the QuickTime implementation of the MIDI file standard.
MIDI Reference 2002-09-17
Music Player Sequence Destinations (HTML) (日本語 HTML)
QA1330: Provides clarification on MIDI Endpoints and assigning MIDI data flow.
MIDI Technical Q&As 2004-01-15
Obtaining the name of an external MIDI Device from a MIDI Endpoint (HTML)
QA1374: Get the names of external MIDI Devices from MIDI Endpoints.
MIDI Technical Q&As 2004-12-01
CoreAudio Overload Warnings (HTML)
QA1467: Describes CoreAudio overload warnings what they mean and how to avoid them.
Performance Technical Q&As 2006-03-29
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
dist_fft (HTML) (DMG) (ZIP)
Gigaelement FFTs on Apple G5 clusters
Performance Sample Code 2004-08-23
Performance Overview (HTML) (PDF)
Introduces the factors that determine performance.
Performance Guides 2006-10-03
RecordAudioToFile (HTML) (DMG) (ZIP)
Demonstrates recording audio to an AAC file using Core Audio
Performance Sample Code 2007-02-27
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
VelEng FFT (HTML) (DMG) (ZIP)
G4 Velocity Engine implementation of Fast Fourier Transform (FFT) and associated convolution/correlation routines.
Performance Sample Code 2003-01-14
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.
QuickTime Technical Notes 2009-01-27
Creating Core Audio Format (.caf) Files (HTML)
QA1534: Describes how to use afconvert to create .caf files
QuickTime Technical Q&As 2009-01-07
ExtractMovieAudioToAIFF (HTML) (DMG) (ZIP)
Demonstrates how to extract audio from QuickTime Movies and write the data to an AIFF file.
QuickTime Sample Code 2006-03-31
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
MIDI File Format (HTML)
Describes the QuickTime implementation of the MIDI file standard.
QuickTime Reference 2002-09-17
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
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
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
Playing QuickTime 3 Movie Sound Data (HTML) (日本語 HTML)
QTMTB50: Explains why a movie's sound data can continue to play longer than video data.
QuickTime Technical Q&As 1998-11-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
QTAudioExtractionPanel (HTML) (DMG) (ZIP)
Enhances the QTKitPlayer to add an Audio Channel Mapping and Extraction panel
QuickTime Sample Code 2005-06-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
QuickTime Audio (HTML)
Explains how to enable recording and playback of various audio media.
QuickTime Guides 2002-09-17
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
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
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.
QuickTime Guides 2006-01-10
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
Slope/Intercept Audio (HTML)
Explains how to store floating point audio data in QuickTime files.
QuickTime Guides 2002-09-17
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
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 - Setting output ASBD returns badFormatErr (HTML)
QA1489: Discusses why badFormatErr may be returned from Standard Audio
QuickTime Technical Q&As 2006-11-15
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 Sound Dialog Component (HTML)
Describes the QuickTime component that lets the user make audio parameter settings.
QuickTime Guides 2002-09-17
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
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