AIFF (.aif, .aiff, .aifc)

背景

    • MIME 类型:audio/aiffaudio/x-aiffaudio/x-aifc
    • AIFF 数字音频格式.
    • 一般常用在 Macintosh 的专业音频处理应用程序中.
    • AIFF 是音频交换文件格式(Audio Interchange File Format)的缩写.
    • 二进制文件格式.
    • 以未压缩的单声道或立体声波形存储音频数据.
    • 支持各种比特分辨率和采样率.
    • 1988 年由苹果和其他公司开发.

Import & Export

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

导入参数

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

选项

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

范例

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

基本范例  (2)

导入 AIFF 采样文件:

使用 Play 创建一秒的声音样本:

导出为 AIFF:

导出为 24 位 AIFF:

范围  (3)

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

导入音频属性:

ExportStringImportString 用于一个 AIFF:

导入参数  (16)

可用参数  (3)

可用参数列表:

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

导入部分音频选项:

"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)

创建一个立体声 AIFF 文件:

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

指定导入所有音频通道:

仅导入第二通道:

IncludeMetaInformation  (3)

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

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

导入仅有指定元数据类型的音频:

SampleRate  (1)

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

指定导入音频的采样率:

导出选项  (4)

"AudioChannels"  (1)

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

指定导出音频的通道数:

AudioEncoding  (1)

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

指定导出音频编码:

IncludeMetaInformation (1)

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

指定包含的元数据:

SampleRate  (1)

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

指定导出音频的采样率: