FLAC (.flac)


    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 and 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.


  • 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
  • When exporting metainformation only to an existing file, Export will update the metainformation in the file, leaving the audio data unchanged.


  • Import and Export option:
  • "AudioChannels"Automaticnumber of audio channels
    IncludeMetaInformationAllmetadata types to import and export
    SampleRateAutomaticsamples 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.


open allclose all

Basic Examples  (2)

Import a sample FLAC file:

Click for copyable input

Use Play to generate sampled sound:

Click for copyable input

Export the previous output to FLAC:

Click for copyable input

Import and plot the first 150 amplitude samples from the first audio channel:

Click for copyable input

Scope  (3)

Import Elements  (16)

Import Options  (6)

Export Options  (4)

See Also

"AIFF"  "AU"  "MIDI"  "SND"  "WAV"  "Wave64"

Introduced in 2007
| Updated in 2018