WAV (.wav)

背景

    • MIME 类型:audio/x-wav
    • 微软 WAV 音频格式.
    • 用于存储和交换 Windows、声音录制和处理以及网页中的音频数据.
    • 二进制文件格式.
    • 被称为波形音频格式.
    • 微软 RIFF 位流格式的变体.
    • 一般把未压缩的采样音频存储为脉冲编码调制(PCM)数据.
    • 也支持多种压缩音频的编解码器.
    • 支持任意采样频率、任意通道数和任意位数.

导入与导出

  • Import["file.wav"] 导入 WAV 文件,返回音频对象.
  • Import["file.wav",elem] 从 WAV 文件中导入指定的参数.
  • 导入格式可以由 Import["file","WAV"]Import["file",{"WAV",elem,}]指定.
  • Export["file.wav",expr] 将音频或声音对象导出到 16 位 WAV 文件.
  • 声音对象包括注释都被栅格化为样本音频.
  • 请到以下参考页面了解完整的基本信息:
  • Import, Export从文件导入或导出到文件
    CloudImport, CloudExport从云对象导入或导出到云对象
    ImportString, ExportString从字符串导入或导出到字符串
    ImportByteArray, ExportByteArray从字节数组导入或导出到字节数组

导入参数

  • Import 的通用参数:
  • "Elements" 该文件可用的参数和选项列表
    "Summary"文件摘要
    "Rules"所有可用参数的规则列表
  • 表示数据的参数:
  • "Audio"作为 Audio 对象的音频信号
    "AudioFile"作为核外 Audio 对象的音频信号
    "Data"原始音频样本,以一个实数的列表形式给出,每个子列表代表一个单独的音频通道
    "SampledSoundList"作为 SampledSoundList 对象的声音数据
    "Sound"作为 Sound 对象的声音数据
  • 在默认情况下,Import 对于小型 WAV 文件使用 "Audio" 参数,对其他使用 "AudioFile" 参数.
  • 高级 Import 参数:
  • "AudioChannels"音频通道数
    "AudioEncoding"音频编码
    "Duration"给定秒数的音频音长
    "Length"采样数
    "SampleDepth"用于存储所有样本的音频位数
    "SampleRate"每个通道每秒的振幅采样数
  • 元数据参数:
  • "MetaInformation"解释为数量、位置、日期、数字等
    "RawMetaInformation"未解释为字符串和数字
  • 可用元数据标签为 "ID3v2".

选项

  • ImportExport 选项:
  • "AudioChannels"Automatic文件中的音频通道数
    IncludeMetaInformationAll是否包含元信息
    SampleRateAutomatic每个通道每秒的振幅采样数
  • Export 选项:
  • AudioEncoding"Integer16"如何编码样本
  • 当导出为 WAV 时,如果没有指定采样率,会使用导出声音中的最高采样率,如果必要的话,所有声音会重新被采样.
  • 如果没有指定通道数,会使用最高的同步通道数,如有必要会插入静音.
  • 如果 "AudioChannels" 被设为值 n,若其小于要导出的通道数,则只导出前 n 个通道.
  • WAV 格式支持 PCM(脉冲编码调制)和 ADPCM(自适应差分脉冲编码调制)编解码器,以及各种其它音频编码算法.
  • AudioEncoding 可以被设为以下任何一种编解码器:
  • "UnsignedInteger8"无符号 8 位 PCM
    "Integer16"16 位 PCM
    "Integer24"24 位 PCM
    "Integer32"32 位 PCM
    "Real32"32 位 IEEE 浮点
    "Real64"64 位 IEEE 浮点
    "aLaw"a 律 4 位 PCM (ITU-T G.711)
    "uLaw"μ 律 4 位 PCM (ITU-T G.711)
    "IMA-ADPCM"IMA 4 位 ADPCM
    "MS-ADPCM"微软 4 位 ADPCM
    "GSM610"GSM 6.10 编解码器(ETSI 6.10 标准)
  • 不是所有编解码器均支持任意的采样率和通道指标.
  • 支持 IncludeMetaInformation 设定为:"ID3v2"、"RawID3v2"、AllNone.

范例

打开所有单元关闭所有单元

基本范例  (2)

以下导入一个 WAV 文件:

使用 Play 产生采样的声音并导出到 WAV:

导出为 WAV:

导出为 24 位 WAV:

范围  (3)

显示此文件中所有可用的导入参数:

导入音频属性:

与 WAV 一起使用 ExportStringImportString

导入参数  (16)

参数  (3)

可用参数列表:

获取音频相关信息作为规则列表:

导入部分图像选项:

The "Options" 参数不返回在导入音频中出现的所有选项:

数据表示  (5)

"Audio"  (1)

获取音频信号给定为 Audio 对象:

"AudioFile"  (1)

导入音频作为核外 Audio 对象:

"Data"  (1)

获取原始音频样本,给定为一个实数列表:

从导入数据中创建音频样本:

"SampledSoundList"  (1)

获取音频信号给定为 SampledSoundList 对象:

"Sound"  (1)

获取音频对象给定为 Sound 对象:

元数据  (8)

"AudioChannels"  (1)

获取音频通道数:

"AudioEncoding"  (1)

获取音频元数据:

"Duration"  (1)

获取按秒计算的音频长度:

"Length"  (1)

获取样本数:

"MetaInformation"  (1)

获取音频元数据:

"RawMetaInformation"  (1)

获取原始格式的音频元数据

"SampleDepth"  (1)

获取用于存储每个样本的位数:

"SampleRate"  (1)

获取每秒和每个通道的振幅样本数:

导入选项  (6)

"AudioChannels"  (2)

生成立体声 WAV 文件:

默认情况下,音频通道数目设定为 Automatic

指定要导入的所有音频通道:

仅导入第二通道:

IncludeMetaInformation  (3)

默认情况下,导入所有可用元数据:

导入无元数据的音频文件:

导入仅有指定元数据分类的音频文件:

SampleRate  (1)

在默认情况下,从文件中提取采样率:

指定导入音频的采样率:

导出选项  (4)

"AudioChannels" (1)

默认情况下,用默认通道数导出音频:

指定导出音频的通道数:

AudioEncoding (1)

默认情况下,以 "Integer16" 编码导出音频:

指定导出音频编码:

IncludeMetaInformation (1)

默认情况下,用元数据导出音频:

指定导出音频的元数据:

SampleRate  (1)

在默认情况下,音频使用默认采样率导出:

指定导出音频的采样率: