FLAC (.flac)

Background

    • 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 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"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.

Examples

open all close all

Basic Examples  (2)

Import a sample FLAC file:

In[1]:=
Click for copyable input
Out[1]=

Use Play to generate sampled sound:

In[1]:=
Click for copyable input
Out[1]=

Export the previous output to FLAC:

In[2]:=
Click for copyable input
Out[2]=

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

In[3]:=
Click for copyable input
Out[3]=

Scope  (3)

Import Elements  (16)

Import Options  (6)

Export Options  (4)

Introduced in 2007
(6.0)
|
Updated in 2018
(11.3)