WAV (.wav)

Background & Context

    • MIME type: audio/x-wav
    • Microsoft WAV audio format.
    • Used for storage and interchange of audio data on Windows, in audio recording and processing, and on the web.
    • Binary file format.
    • Known as wave form audio format.
    • Variant of the Microsoft RIFF bitstream format.
    • Typically stores uncompressed sampled audio as pulse-code modulation (PCM) data.
    • Also supports several codecs for compressed audio.
    • Supports arbitrary sampling frequency, arbitrary number of channels, and arbitrary bit depth.

Import & Export

  • Import["file.wav"] imports a WAV file, returning an audio object.
  • Import["file.wav",elem] imports the specified element from a WAV file.
  • The import format can be specified with Import["file","WAV"] or Import["file",{"WAV",elem,}].
  • Export["file.wav",expr] exports an audio or sound object to a 16-bit WAV file.
  • Sound objects including notes are rasterized to sampled audio.
  • See the following reference pages for full general information:
  • Import, Exportimport from or export to a file
    CloudImport, CloudExportimport from or export to a cloud object
    ImportString, ExportStringimport from or export to a string
    ImportByteArray, ExportByteArrayimport 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"audio signal given as an Audio object
    "AudioFile"audio signal given as an out-of-core Audio object
    "Data"raw audio samples, given as a list of real numbers, each sublist representing an individual audio channel
    "SampledSoundList"audio signal given as a SampledSoundList object
    "Sound"audio signal given as a Sound object
  • Import by default uses the "Audio" element for short WAV files and the "AudioFile" element otherwise.
  • Advanced Import element:
  • "AudioChannels"number of audio channels
    "AudioEncoding"audio encoding
    "Duration"duration of the audio given in seconds
    "Length"number of samples
    "SampleDepth"number of bits used to store every sample
    "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 "ID3v2".

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 WAV, 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.
  • The WAV format supports PCM (pulse-code modulation) and ADPCM (adaptive differential pulse-code modulation) codecs, and various other audio encoding algorithms.
  • AudioEncoding can be set to any of the following codecs:
  • "UnsignedInteger8"Unsigned 8-bit PCM
    "Integer16"16-bit PCM
    "Integer24"24-bit PCM
    "Integer32"32-bit PCM
    "Real32"32-bit IEEE floating point
    "Real64"64-bit IEEE floating point
    "aLaw"a-Law 4-bit PCM (ITU-T G.711)
    "uLaw"μ-Law 4-bit PCM (ITU-T G.711)
    "IMA-ADPCM"IMA 4-bit ADPCM
    "MS-ADPCM"Microsoft 4-bit ADPCM
    "GSM610"GSM 6.10 codec (ETSI 6.10 standard)
  • Not all codecs support arbitrary sample rates and channel specifications.
  • Supported IncludeMetaInformation settings are: "ID3v2", "RawID3v2", All and None.

Examples

open allclose all

Basic Examples  (2)

This imports a WAV file:

Use Play to generate sampled sound and export it to WAV:

Export it to WAV:

Export to 24-bit WAV:

Scope  (3)

Show all import elements available in this file:

Import audio properties:

Use ExportString and ImportString with a WAV:

Import Elements  (16)

Available Elements  (3)

List of available elements:

Get audio-related information as a list of rules:

Import some image options:

The "Options" element does not return all options that are present in the imported audio:

Data Representation  (5)

"Audio"  (1)

Get an audio signal given as an Audio object:

"AudioFile"  (1)

Import the audio file as an out-of-core Audio object:

"Data"  (1)

Get a raw audio sample, given as a list of real numbers:

Create an audio sample from imported data:

"SampledSoundList"  (1)

Get an audio signal given as a SampledSoundList object:

"Sound"  (1)

Get an audio signal given as a Sound object:

Metadata  (8)

"AudioChannels"  (1)

Get the number of audio channels:

"AudioEncoding"  (1)

Get the audio encoding:

"Duration"  (1)

Get the duration of the audio given in seconds:

"Length"  (1)

Get the number of samples:

"MetaInformation"  (1)

Get the audio metadata:

"RawMetaInformation"  (1)

Get the audio metadata in a raw form:

"SampleDepth"  (1)

Get the number of bits used to store every sample:

"SampleRate"  (1)

Get the number of amplitude samples per second and channel:

Import Options  (6)

"AudioChannels"  (2)

Generate a stereo AIFF file:

By default, the number of audio channels is set to be Automatic:

Specify all the audio channels to be imported:

Import second channel only:

IncludeMetaInformation  (3)

By default, all available metadata is imported:

Import an audio sample with no metadata:

Import the audio with only specified classes of metadata:

SampleRate  (1)

By default, the sample rate is extracted from the file:

Specify the sample rate of the imported sound:

Export Options  (4)

"AudioChannels" (1)

By default, the audio is exported using the default number of channels:

Specify the number of channels of exported audio:

AudioEncoding (1)

By default, the audio is exported using the "Integer16" encoding:

Specify the encoding of exported audio:

IncludeMetaInformation (1)

By default, the audio is exported using the metadata:

Specify the metadata of exported audio:

SampleRate  (1)

By default, the audio is exported using the default sample rate:

Specify the sample rate of exported audio: