AIFF-hul Module
Introduction
The AIFF-hul module recognizes and validates the Audio Interchange File Format (AIFF) [AIFF]. The AIFF format is itself a profile of the Electronic Arts IFF 85 format [IFF].
The module is invoked by the:
command line option.jhove ... -m AIFF-hul ...
2 Coverage
The AIFF-hul module recognizes and validates the following public profiles:
3 Well-Formedness
The following criteria must be met by an AIFF object for JHOVE to consider it well-formed:
- Magic number: "FORM" at byte offset 0; "AIFF" (for AIFF) or "AIFC" (for AIFF-C) at offset 8
- One Form chunk containing one Common chunk and at most one Sound Data chunk (if numSampleFrames > 0)
- At most one instance of each of the following optional chunks: Marker, Instrument, Audio Recording, Comments, Name, Author, Copyright
- All chunks required by a given profile exist in the file
- All chunk structures are well-formed: a four ASCII character ID, followed by a 32 signed integer size, followed by a size byte data block (if size is odd, then the data block includes a final padding byte of value 0x00)
- No data exist before the first byte of the chunk or after the last byte of the last chunk
4 Validity
The following criteria must be met by a AIFF file for JHOVE to consider it valid:
- The file is well-formed
The MIME type is reported as: audio/x-aiff.
In addition to the standard JHOVE representation information, the following AIFF-specific properties are reported:
- Property "AIFFMetadata" of type PROPERTY and arity ARRAY
- Properties capturing the technical attributes of the AIFF image from all chunks
The AIFF module reports audio technical properties using the draft AES-X098B, Core audio metadata XML definition, currently under development by the Audio Engineering Society (AES) SC-03-06 Working Group on Digital Library and Archive Systems.
5.1 Profiles
- AIFF 1.3
AIFF is an interchange format for sampled monaural or multichannel sampled sounds using a variety of sample rates and widths.
Profile requirements include:
- The Form chunk identifier is "AIFF"
- AIFF-C
AIFF-C is an extended AIFF format that can contain compressed audio data.
Profile requirements include:
- The Form chunk identifier is "AIFC"
- The fields compressionType and compressionName in
the Common Chunk
Common compression types and names include, but are not limited to:
Type Name Note "NONE" "Not compressed" PCM data "ACE2" "ACE 2-to-1" Apple IIGS ACE (Audio Compression/Expansion) "ACE8" "ACE 8-to-3" "APD4" "4:1 Intel/DVI ADPCM" SoundHack "ALAW" "CCITT G.711 A-law" SGI 8-bit ITU-T G.711 A-law (64 kb/s) "alaw" "ALaw 2:1" Apple 8-bit ITU-T G.711 A-law "DWVW" "Delta With Variable Word Width" Yamaha TX16W Typhoon sampler "FL32" "Float 32" SoundHack / CSound IEEE 32-bit floating point "fl32" "32-bit floating point" Apple IEEE 32-bit floating point "fl64" "64-bit floating point" "ima4" "IMA 4:1" "MAC3" "MACE 3-to-1" Macintosh Audio Compression/Expansion "MACE6" "MACE 6-to-1" "QDMC" "QDesign Music" QDesign Music codec "Qclp" "QualComm PureVoice" QualComm PureVoice codec "rt24" "RT24 50:1" Voxware codec "rt29" "RT29 50:1" "ULAW" "CCITT G.711 µ-law" SGI 8-bit ITU-T G.711 µ-law (64 kb/s) "ulaw" "µLaw 2:1" Apple 8-bit ITU-T G.711 µ-law - One Format Version chunk
6 Additional Module Properties
- Nominal file extension: .aif
- Nominal file extension: .afc (for the AIFF-C profile)