AudioFileTools

This project contains a collection of sample command-line tools that demonstrate use of the AudioFile, AudioConverter, AudioFormat, and AudioUnit APIs. Most make heavy use of the CAAudioFile class (in PublicUtility/AudioFile-new).

Note that CAAudioFile.h is conditionalized with CAAF_USE_EXTAUDIOFILE. If this symbol is defined and non-zero, the CAAudioFile implementation uses the ExtendedAudioFile API set introduced in Tiger. Otherwise, CAAudioFile carries its own similar implementation, which is deployable on Panther systems. If your build environment does not define this symbol, the header automatically defines it based on the Mac OS deployment build settings. The "-Tiger+" build styles in this project define the Mac OS deployment target to 10.4 and will thus use ExtendedAudioFile. The "-Panther" build styles do not define a Mac OS deployment target and thus do not use ExtendedAudioFile.

The tools include:

afconvert - reads one audio file, writes it to another format. Good example of the power of CAAudioFile and use of the AudioConverter for codecs.

afinterleave - creates an interleaved file from 2 or more input files

afplay - plays an audio file (can be encoded)

afrecord - records an audio file (record format is hardcoded)

audioformats - demonstrates some uses of the AudioFormat and AudioFile APIs.

qtaacdecode - this has been removed. Please see the QT SDK's examples for using their AudioExtraction API

auprocess - processes an audio file with an Audio Unit and generates a new file. Illustrates the usage of the CAAUProcessor class, which presents a wrapper class around using any AU in either a real-time or offline context