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 8 audio channels.
  • Import and Export support all audio codecs commonly used in the FLAC format.

Import and ExportImport and Export

  • Import["file.flac"] imports a FLAC file, returning a sound object.
  • Export["file.flac", expr] exports a sound object to FLAC.
  • Import["file.flac"] gives an expression of the form Sound[SampledSoundList[data, r]].
  • Export["file.flac", expr] creates a FLAC file from the sound object expr.
  • Import["file.flac", elem] imports the specified element from a FLAC file.
  • Import["file.flac", {elem, suba, subb, ...}] imports a subelement.
  • Import["file.flac", {{elem1, elem2, ...}}] imports multiple elements.
  • The import format can be specified with Import["file", "FLAC"] or Import["file", {"FLAC", elem, ...}].
  • Export["file.flac", expr, elem] creates a FLAC file by treating expr as specifying element elem.
  • Export["file.flac", {expr1, expr2, ...}, {{elem1, elem2, ...}}] treats each as specifying the corresponding .
  • Export["file.flac", expr, opt1->val1, ...] exports expr with the specified option elements taken to have the specified values.
  • Export["file.flac", {elem1->expr1, elem2->expr2, ...}, "Rules"] uses rules to specify the elements to be exported.
  • See the reference pages for full general information on Import and Export.
  • ImportString and ExportString support the FLAC format.

ElementsElements

  • 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:
  • "Data"raw audio samples, given as a list of lists of real numbers, each sublist representing an individual audio channel
    "SampledSoundList"FLAC file given as SampledSoundList
    "Sound"FLAC file represented as a Sound object
  • The element corresponds to the first argument of SampledSoundList.
  • Multiple channels are represented as an array of audio samples.
  • Import and Export use the element by default for FLAC files.
  • Advanced Import element:
  • "MetaInformation"metainformation tags, given as a list of rules
    "Duration"duration in seconds
    "Length"number of sound samples
    "AudioChannels"number of audio channels
    "SampleDepth"bits used to encode amplitude levels
    "SampleRate"number of amplitude samples per second and channel
  • When exporting metainformation only to an existing file, Export will update the metainformation in the file, leaving the audio data unchanged.

OptionsOptions

  • General option:
  • SampleRateAutomaticnumber of amplitude samples per second for each channel
  • Detailed properties and settings:
  • "AudioChannels"Automaticnumber of audio channels
  • If the number of channels is unspecified, the highest number of simultaneous channels is taken, and silence is inserted if necessary.
  • If is set to a value n which is less than the number of channels to be exported, only the first n channels are exported.

ExamplesExamplesopen allclose all

Basic Examples (5)Basic Examples (5)

Import a sample FLAC file:

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

Read metainformation from a file:

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

Import audio metadata:

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

Show all import elements available in this 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]=
New in 6
New to Mathematica? Find your learning path »
Have a question? Ask support »