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
Sort by
Resource Type
Sorted by
Date
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
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 Device Driver Programming Guide (HTML) (PDF)
Explains how to develop kernel-resident drivers for audio devices.
Hardware & Drivers Guides 2009-03-04
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
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
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
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
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
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
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
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
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 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
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
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
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
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
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 Units: Embedding a Carbon View in a Cocoa Window (HTML)
TN2213: Carbon-Cocoa Integration for Audio Units
Core Audio Technical Notes 2008-02-29
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
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
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 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
DiscRecording Release Notes (HTML)
Updated for Mac OS X v10.5
Carbon, Cocoa Release Notes 2007-10-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
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
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
How to handle kAudioUnitProperty_MaximumFramesPerSlice (HTML)
QA1533: Illustrates how to use the kAudioUnitProperty_MaximumFramesPerSlice property
Core Audio Technical Q&As 2007-07-16
AudioQueueTools (HTML) (DMG) (ZIP)
Demonstrates usage of the AudioQueue API
Core Audio Sample Code 2007-06-08
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
RecordAudioToFile (HTML) (DMG) (ZIP)
Demonstrates recording audio to an AAC file using Core Audio
Carbon, Core Audio, Games, Performance Sample Code 2007-02-27
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
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
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
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
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
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
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
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
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
Sound Programming Topics for Cocoa (HTML) (PDF)
Explains how to load and play audio data in Cocoa.
Cocoa Guides 2006-11-07
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
Performance Overview (HTML) (PDF)
Introduces the factors that determine performance.
Performance Guides 2006-10-03
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
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
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
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
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
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
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
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
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
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
SimpleAudioExtraction (HTML) (DMG) (ZIP)
Demonstrates the QuickTime 7.0 Movie Audio Extraction APIs
QuickTime Sample Code 2006-01-03
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
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
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
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
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
Handling Audio Unit Events (HTML)
TN2104: This technote explains how to handle AudioUnit Events
Carbon, Cocoa, Core Audio Technical Notes 2005-04-29
Determine the version of an Audio Unit (HTML)
QA1408: Determine the version of an Audio Unit
Core Audio Technical Q&As 2005-03-07
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
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
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
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
dist_fft (HTML) (DMG) (ZIP)
Gigaelement FFTs on Apple G5 clusters
Performance Sample Code 2004-08-23
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
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
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
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
Audio Unit Resizing (HTML)
QA1343: Discusses the host's responsibilities when resizing Audio Units.
Core Audio Technical Q&As 2004-03-23
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.
Cocoa, Core Audio Technical Q&As 2004-02-04
Music Player Sequence Destinations (HTML) (日本語 HTML)
QA1330: Provides clarification on MIDI Endpoints and assigning MIDI data flow.
MIDI Technical Q&As 2004-01-15
AudioDevice sample rates (HTML)
QA1196: Getting, setting and converting sample rates with Audio Devices.
Core Audio Technical Q&As 2003-12-09