AIFF (.aif, .aiff, .aifc)
Background & Context

-
- MIME types: audio/aiff, audio/x-aiff, audio/x-aifc
- AIFF digital audio format.
- Commonly used in professional audio processing applications and on Macintosh.
- AIFF is an acronym for Audio Interchange File Format.
- Binary file format.
- Stores audio data in uncompressed mono or stereo waveforms.
- Supports a variety of bit resolutions and sample rates.
- Developed in 1988 by Apple and others.
Import & Export

- Import["file.aif"] imports an AIFF file, returning an audio object.
- Import["file.aif",elem] imports the specified element from an AIFF file.
- The import format can be specified with Import["file","AIFF"] or Import["file",{"AIFF",elem,…}].
- Export["file.aif",expr] exports an audio or sound object to an AIFF file.
- Sound objects including notes are rasterized to sampled audio.
- See the following reference pages for full general information:
-
Import, Export import from or export to a file CloudImport, CloudExport import from or export to a cloud object ImportString, ExportString import from or export to a string ImportByteArray, ExportByteArray import from or export to a byte array
Import Elements

- General Import elements:
-
"Elements" list of elements and options available in this file "Summary" summary of the file "Rules" list of rules for all available elements - Data representation elements:
-
"Audio" audio signal given as an Audio object "AudioFile" audio signal given as an out-of-core Audio object "Data" raw audio samples, given as a list of real numbers, each sublist representing an individual audio channel "SampledSoundList" audio signal given as a SampledSoundList object "Sound" audio signal given as a Sound object - Import by default uses the "Audio" element for short AIFF files and the "AudioFile" element otherwise.
- Advanced Import element:
-
"AudioChannels" number of audio channels "AudioEncoding" audio encoding "Duration" duration of the audio given in seconds "Length" number of samples "SampleDepth" number of bits used to store every sample "SampleRate" number of amplitude samples per second and channel - Metadata elements:
-
"MetaInformation" interpreted as quantities, locations, dates, numbers, etc. "RawMetaInformation" uninterpreted as strings and numbers - Available metadata tags include "ID3v2".
Options


- Import and Export options:
-
"AudioChannels" Automatic number of audio channels IncludeMetaInformation All metadata types to import and export SampleRate Automatic samples per second for each channel - Export option:
-
AudioEncoding "Integer16" how samples are encoded - If the sample rate is not specified when exporting to AIFF, the highest sample rate occurring in the exported sound is used, and all sounds are resampled as necessary.
- If the number of channels is unspecified, the highest number of simultaneous channels is taken, and silence is inserted if necessary.
- If "AudioChannels" is set to a value n that is less than the number of channels to be exported, only the first n channels are exported.
- The AIFF format normally uses PCM (pulse code modulation) audio encoding but also supports various other codecs.
- AudioEncoding can be set to any of the following codecs:
-
"UnsignedInteger8" Unsigned 8-bit PCM "Integer8" 8-bit PCM "Integer16" 16-bit PCM "Integer24" 24-bit PCM "Integer32" 32-bit PCM "IMA-ADPCM" adaptive differential PCM "Real32" 32-bit IEEE floating point "Real64" 64-bit IEEE floating point "aLaw" a-Law 4-bit PCM (ITU-T G.711 standard) "uLaw" -Law 4-bit PCM (ITU-T G.711 standard)
"GSM610" GSM 6.10 codec (ETSI 6.10 standard) "DWVW-12" 12-bit DWVW "DWVW-16" 16-bit DWVW "DWVW-24" 24-bit DWVW - Not all codecs support arbitrary sample rates and channel specifications.
- Supported IncludeMetaInformation settings are: "ID3v2", "RawID3v2", All and None.
Examples
open allclose allBasic Examples (2)Summary of the most common use cases

https://wolfram.com/xid/0b3t12fvbu-tr5f6z

Use Play to create a one-second sound sample:

https://wolfram.com/xid/0b3t12fvbu-0zeu1b


https://wolfram.com/xid/0b3t12fvbu-xqwb7d


https://wolfram.com/xid/0b3t12fvbu-vgy666

Scope (3)Survey of the scope of standard use cases
Show all import elements available in this file:

https://wolfram.com/xid/0b3t12fvbu-6ii3dw


https://wolfram.com/xid/0b3t12fvbu-mkob8v

Use ExportString and ImportString with an AIFF:

https://wolfram.com/xid/0b3t12fvbu-ja4du2


https://wolfram.com/xid/0b3t12fvbu-nqy4py

https://wolfram.com/xid/0b3t12fvbu-papscs

Import Elements (16)
Available Elements (3)

https://wolfram.com/xid/0b3t12fvbu-1g2ndh

Get audio-related information as a list of rules:

https://wolfram.com/xid/0b3t12fvbu-myzd73


https://wolfram.com/xid/0b3t12fvbu-bvl5fv

The "Options" element does not return all options that are present in the imported audio:

https://wolfram.com/xid/0b3t12fvbu-kx49o5

Data Representation (5)
"Audio" (1)
Get an audio signal given as an Audio object:

https://wolfram.com/xid/0b3t12fvbu-cy3ssw

"AudioFile" (1)
Get an audio signal given as an out-of-core Audio object:

https://wolfram.com/xid/0b3t12fvbu-0xr3jy

"Data" (1)
Get a raw audio sample, given as a list of real numbers:

https://wolfram.com/xid/0b3t12fvbu-frvaa3

Create an audio sample from imported data:

https://wolfram.com/xid/0b3t12fvbu-h1j08c

"SampledSoundList" (1)
Get an audio signal given as a SampledSoundList object:

https://wolfram.com/xid/0b3t12fvbu-qjalwa

"Sound" (1)
Get an audio signal given as an Sound object:

https://wolfram.com/xid/0b3t12fvbu-t80mxr

Metadata (8)
"AudioChannels" (1)
"AudioEncoding" (1)
"Duration" (1)
"Length" (1)
"MetaInformation" (1)
"RawMetaInformation" (1)
"SampleDepth" (1)
Import Options (6)
"AudioChannels" (2)

https://wolfram.com/xid/0b3t12fvbu-7otap

By default, the number of audio channels is set to be Automatic:

https://wolfram.com/xid/0b3t12fvbu-egyxgc

Specify all the audio channels to be imported:

https://wolfram.com/xid/0b3t12fvbu-dmrvtr

Import the second channel only:

https://wolfram.com/xid/0b3t12fvbu-2ojj5z

IncludeMetaInformation (3)
By default, all available metadata is imported:

https://wolfram.com/xid/0b3t12fvbu-oy06er

Import an audio file with no metadata:

https://wolfram.com/xid/0b3t12fvbu-inmgwp

Import the audio with only specified classes of metadata:

https://wolfram.com/xid/0b3t12fvbu-8wgh6p

SampleRate (1)
By default, the sample rate is extracted from the file:

https://wolfram.com/xid/0b3t12fvbu-kux3uu

Specify the sample rate of the imported sound:

https://wolfram.com/xid/0b3t12fvbu-f98eh7

Export Options (4)
"AudioChannels" (1)
By default, the audio is exported using the default number of channels:

https://wolfram.com/xid/0b3t12fvbu-quny9n

https://wolfram.com/xid/0b3t12fvbu-dmpxuo


https://wolfram.com/xid/0b3t12fvbu-66u87

Specify the number of channels of exported audio:

https://wolfram.com/xid/0b3t12fvbu-xxlhe


https://wolfram.com/xid/0b3t12fvbu-iolwmo

AudioEncoding (1)
By default, the audio is exported using the "Integer16" encoding:

https://wolfram.com/xid/0b3t12fvbu-wrebz5

https://wolfram.com/xid/0b3t12fvbu-eqv97q


https://wolfram.com/xid/0b3t12fvbu-f0fb0m

Specify the encoding of exported audio:

https://wolfram.com/xid/0b3t12fvbu-y8sj9d


https://wolfram.com/xid/0b3t12fvbu-7a91my

IncludeMetaInformation (1)
By default, the audio is exported using the metadata:

https://wolfram.com/xid/0b3t12fvbu-oxo5vz

https://wolfram.com/xid/0b3t12fvbu-lh14xn


https://wolfram.com/xid/0b3t12fvbu-d2ipo8


https://wolfram.com/xid/0b3t12fvbu-tjhe2h

Specify the metadata to include:

https://wolfram.com/xid/0b3t12fvbu-q48q8q


https://wolfram.com/xid/0b3t12fvbu-jptih7

SampleRate (1)
By default, the audio is exported using the default sample rate:

https://wolfram.com/xid/0b3t12fvbu-lszysm

https://wolfram.com/xid/0b3t12fvbu-bhjnpf


https://wolfram.com/xid/0b3t12fvbu-t9ntr8


https://wolfram.com/xid/0b3t12fvbu-7p8hv4

Specify the sample rate of exported audio:

https://wolfram.com/xid/0b3t12fvbu-3ie1wu


https://wolfram.com/xid/0b3t12fvbu-ss5jdi
