FLAC (.flac)
Background & Context

-
- MIME type:
- FLAC lossless audio codec.
- Used for audio archiving and playback and for exchanging audio data on the web.
- Open standard for audio compression.
- FLAC is an acronym for Free Lossless Audio Codec.
- Binary file format.
- Compresses audio samples using linear prediction and run-length encoding methods.
- Supports up to eight audio channels.
- MIME type:
Import & Export

- Import["file.flac"] imports a FLAC file, returning an audio object.
- Import["file.flac",elem] imports the specified element from a FLAC file.
- The import format can be specified with Import["file","FLAC"] or Import["file",{"FLAC",elem,…}].
- Export["file.flac",expr] exports a sound or an audio object to FLAC.
- Audio and sound objects are by default exported using an "Integer16" encoding.
- See the reference pages for full general information on Import and Export.
- ImportString and ExportString support the FLAC format.
Import Elements


- General Import elements:
-
"Elements" list of elements and options available in this file "Rules" full list of rules for each element and option "Options" list of rules for options, properties, and settings - Data representation elements:
-
"Audio" an Audio object containing all audio samples "AudioFile" an Audio object representing the audio stored in the file "Data" raw audio samples given as a list of lists of real numbers, each sublist representing an individual audio channel "SampledSoundList" data represented as a SampledSoundList object "Sound" data represented as a Sound object - Import by default uses the "Audio" element for short FLAC files and the "AudioFile" element otherwise.
- Advanced Import element:
-
"AudioChannels" number of audio channels "AudioEncoding" how samples are encoded "Duration" duration in seconds "Length" number of sound samples "SampleDepth" bits used to encode amplitude levels "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 "ID3v1" and "Xiph".
- When exporting metainformation only to an existing file, Export will update the metainformation in the file, leaving the audio data unchanged.
Options

- Import and Export option:
-
"AudioChannels" Automatic number of audio channels IncludeMetaInformation All metadata types to import and export SampleRate Automatic samples per second for each channel - Export options:
-
AudioEncoding "Integer16" how samples are encoded - If the sample rate is not specified when exporting to FLAC, 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.
- AudioEncoding can be set to any of the following codecs:
-
"Integer8" unsigned 8-bit PCM "Integer16" 16-bit PCM "Integer24" 24-bit PCM - Supported IncludeMetaInformation settings are: "ID3v1", "Xiph", "RawID3v1", "RawXiph", All and None.
Examples
open allclose allBasic Examples (2)
Use Play to generate sampled sound:
Export the previous output to FLAC:
Import and plot the first 150 amplitude samples from the first audio channel:
Scope (3)
Show all import elements available in this file:
Use ExportString and ImportString with an AIFF:
Import Elements (16)
Available Elements (3)
Data Representation (5)
"Audio" (1)
Get an audio signal given as an Audio object:
"AudioFile" (1)
Get an audio signal given as an out-of-core Audio object:
"Data" (1)
"SampledSoundList" (1)
Get an audio signal given as a SampledSoundList object:
"Sound" (1)
Get an audio signal given as a Sound object:
Metadata (8)
Import Options (6)
"AudioChannels" (2)
By default, the number of audio channels is set to be Automatic: