Mac OS X includes support for high-quality audio creation and reproduction.
The Core Audio frameworks of Mac OS X offer a sophisticated set of services for manipulating multichannel audio. You can use Core Audio to generate, record, mix, edit, process, and play audio. You can also use Core Audio to generate, record, process, and play MIDI data using both hardware and software MIDI instruments.
For the most part, the interfaces of the Core Audio frameworks are C-based, although some of the Cocoa-related interfaces are implemented in Objective-C. The use of C-based interfaces results in a low-latency, flexible programming environment that you can use from both Carbon and Cocoa applications. Some of the benefits of Core Audio include the following:
Built-in support for reading and writing a wide variety of audio file and data formats
Plug-in interfaces for handling custom file and data formats
Plug-in interfaces for performing audio synthesis and audio digital signal processing (DSP)
A modular approach for constructing audio signal chains
Scalable multichannel input and output
Easy synchronization of audio MIDI data during recording or playback
Support for playing and recording digital audio, including support for scheduled playback and synchronization and for getting timing and control information
A standardized interface to all built-in and external hardware devices, regardless of connection type (USB, Firewire, PCI, and so on)
For an overview of Core Audio and its features, see Core Audio Overview. For reference information, see Core Audio Framework Reference.
Introduced in Mac OS X v10.4, the Open Audio Library (OpenAL) audio system adds another way to create audio for your software. The OpenAL interface is a cross-platform standard for delivering 3D audio in applications. It lets you implement high-performance positional audio in games and other programs that require high-quality audio output. Because it is a cross-platform standard, the applications you write using OpenAL on Mac OS X can be ported to run on many other platforms.
In Mac OS X v10.5, several features were incorporated into the existing OpenAL framework. Among these features are support for audio capture, exponential and linear distance models, location offsets, and spatial effects such as reverb and occlusion. In addition, more control is provided for some Core Audio features such as mixer sample rates.
Appleās implementation of OpenAL is based on Core Audio, so it delivers high-quality sound and performance on all Mac OS X systems. To use OpenAL in a Mac OS X application, include the OpenAL framework (OpenAL.framework) in your Xcode project. This framework includes header files whose contents conform to the OpenAL specification, which is described at http://www.openal.org.
For more information on the Mac OS X implementation of OpenAL, go to http://developer.apple.com/audio/openal.html.
Last updated: 2007-10-31