Jump To:
Technical Q&As
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
Date
The Default Output Audio Units (HTML)
QA1577: Describes the Mac OS X output audio units and their purposes.
Core Audio 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 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 2007-08-23
How to handle kAudioUnitProperty_MaximumFramesPerSlice (HTML)
QA1533: Illustrates how to use the kAudioUnitProperty_MaximumFramesPerSlice property
Core Audio 2007-07-16
Unable to select input device in AU Lab (HTML)
QA1526: AU Lab only supports physical device singletons.
Core Audio, Hardware & Drivers 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 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 2006-11-30
Standard Audio - The CodecSpecificSettingsArray and MagicCookie properties (HTML)
QA1390: Discusses Core Audio AudioConverter configuration with StdAudio, specifically the CodecSpecificSettingsArray property.
QuickTime 2006-11-16
Standard Audio - Setting output ASBD returns badFormatErr (HTML)
QA1489: Discusses why badFormatErr may be returned from Standard Audio
Core Audio, QuickTime 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 2006-07-18
QuickTime Audio - Retrieving the correct audio format bit depth value (HTML)
QA1477: Discusses how to retrieve accurate audio format bit depth.
QuickTime 2006-05-17
Changing the volume of audio devices (HTML)
QA1016: Demonstrates volume controls for audio devices
Carbon, Core Audio 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 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 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 2006-03-29
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
Hardware & Drivers 2006-02-22
QuickTime Audio - Easy Frequency Level Metering with MovieAudio APIs (HTML)
QA1459: Describes how to perform frequency band level metering using MovieAudio metering APIs.
QuickTime 2006-01-26
Sound Manager Codec support in QuickTime 7 (HTML)
QA1448: Describes QuickTime 7 support for constant bitrate and variable bitrate Sound Manager codecs
QuickTime 2005-10-26
Determine the version of an Audio Unit (HTML)
QA1408: Determine the version of an Audio Unit
Core Audio 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 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 2004-09-08
Available FireWire Isochronous Bandwidth (HTML)
QA1356: Discusses attempting to "pre-flight" an isochronous bandwidth allocation request by reading the currently available bandwidth.
Hardware & Drivers 2004-07-07
Generating an NMI Without a Programmer's Switch (HTML) (日本語 HTML)
QA1264: Explains how to generate a non-maskable interrupt (NMI) on CPUs without programmer's switches.
Hardware & Drivers 2004-04-26
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 2004-04-26
Audio Unit Resizing (HTML)
QA1343: Discusses the host's responsibilities when resizing Audio Units.
Core Audio 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 2004-02-04
Music Player Sequence Destinations (HTML) (日本語 HTML)
QA1330: Provides clarification on MIDI Endpoints and assigning MIDI data flow.
MIDI 2004-01-15
AudioDevice sample rates (HTML)
QA1196: Getting, setting and converting sample rates with Audio Devices.
Core Audio 2003-12-09
AUGraphs and AudioUnit connections (HTML)
QA1174: Discusses AudioUnit connection issues when using more than one AudioUnit or an AUGraph.
Core Audio 2003-12-09
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 2003-10-28
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 2003-10-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 2002-09-04
Disabling a Processor on a Multiprocessor System (HTML) (日本語 HTML)
QA1141: Describes how to disable a processor on a multiprocessor system for testing purposes.
Performance 2002-05-22
IODeviceTree & the IORegistry (HTML) (日本語 HTML)
QA1120: Describes the IODeviceTree plane in the Mac OS X IORegistry.
Hardware & Drivers 2002-02-13
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 2002-01-15
HID Manager Event Data Underruns (HTML)
QA1038: Explains how to correctly handle HID Manager event queue data underruns.
Apple Applications 2001-06-13
Is the Open Firmware device tree object oriented? (HTML)
HW80: Discusses the object-oriented attributes of the Open Firmware device tree.
Hardware & Drivers 1999-11-15
When to use PCMCIA, PC Card, and CardBus (HTML)
HW77: Explains the differences between PCMCIA, PC Card, and CardBus.
Hardware & Drivers 1999-11-15
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 1999-10-11
Sample code for allocating an amount of dictionary space (HTML)
HW71: Discusses the allocation and the setting of memory for Dictionary space in Open Firmware.
Hardware & Drivers 1999-10-11
What is the "dump" word and how do I use it? (HTML)
HW68: Describes the function of the Open Firmware word "dump" and how it can be used.
Hardware & Drivers 1999-10-11
What numeric base is the default for the Open Firmware user interface? (HTML)
HW65: Describes how the default numeric base used by the Open Firmware user interface is hexadecimal.
Hardware & Drivers 1999-10-11
Synchronizing Sounds to Video (HTML) (日本語 HTML)
Deprecated - SND19: Enabling regular sound callbacks under Mac OS 9 and Sound Manager 4.0.
Carbon 1999-10-05
Synchronous SysBeep (HTML) (日本語 HTML)
Deprecated - SND18: Obtaining a synchronous SysBeep with Sound Manager 3.1.
Carbon 1999-10-05
MACE Restrictions (HTML) (日本語 HTML)
Deprecated - SND16: MACE algorithms only support the compression of 8-bit offset binary sound.
Carbon 1999-06-08
Determining Open Firmware configuration variables (HTML) (日本語 HTML)
HW56: Discusses how to determine the Open Firmware variables on a system.
Hardware & Drivers 1999-03-29
Expansion ROM device properties (HTML) (日本語 HTML)
HW50: Describes the Open Firmware properties that should be included in a boot device's expansion ROM.
Hardware & Drivers 1999-03-29
Why did the name of the PCI bridge change? (HTML) (日本語 HTML)
HW59: Explains the name change of the PCI bridge to the generic name "pci" in Open Firmware.
Hardware & Drivers 1999-03-29
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 1999-02-15
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 1998-11-09
Capturing Speech Manager Output (HTML) (日本語 HTML)
Deprecated - SND15: Capturing the output from the Speech Synthesis Manager to a file.
Carbon 1998-05-18
Recording Compressed Sounds (HTML) (日本語 HTML)
Deprecated - SND14: Sound Manager and sound input driver compression options are limited to allow interrupt time recording.
Carbon 1998-04-12
siMonitorSource Selector (HTML) (日本語 HTML)
Deprecated - SND13: Using the sound output siMonitorAvailable, and siMonitorSource selectors.
Carbon 1998-04-12
siOSTypeInput Selectors (HTML) (日本語 HTML)
Deprecated - SND12: The use of siOSTypeInputSource, and siOSTypeInputAvailable selectors and extracting the siOSTypeInputAvailable OSTypes returned.
Carbon 1998-04-12
Setting Audio Input Gain (HTML) (日本語 HTML)
Deprecated - SND11: Setting audio input gain under Mac OS 8.1.
Carbon 1998-02-10
Selecting a specific sound input source (HTML) (日本語 HTML)
Deprecated - SND10: Using the sound input driver to select specific sound input sources.
Carbon 1998-01-16
siOSTypeInputAvailable Format (HTML) (日本語 HTML)
Deprecated - SND09: The format of the data returned by the siOSTypeInputAvailable selector is SoundInfoList.
Carbon 1998-01-16
Making Input Gain Setting Changes (HTML) (日本語 HTML)
Deprecated - SND01: Changing the input gain setting on older Power Macs before recording.
Carbon 1996-06-01
siActive Channels Unsupported on Some Power Macs (HTML) (日本語 HTML)
Deprecated - SND03: siActive Channels is unsupported on some older PowerMacs (siUnknownInfoType returned by SPBGetDeviceInfo).
Carbon 1996-06-01
PCI Type 1 Cycles (HTML)
HW26: Describes the circumstances when the PowerMac generates a Configuration Type 1 command.
Hardware & Drivers 1995-07-15