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.
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 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" 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 allScope (3)
Show all import elements available in this file:
Use ExportString and ImportString with FLAC:
Import Elements (15)
Available Elements (2)
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:
IncludeMetaInformation (3)
Export Options (4)
"AudioChannels" (1)
AudioEncoding (1)
By default, the audio is exported using the "Integer16" encoding: