AIFF (.aif,.aiff,.aifc)

予備知識

    • MIMEタイプ:audio/aiffaudio/x-aiffaudio/x-aifc
    • AIFFデジタル音声形式.
    • 一般に専門的な音声処理アプリケーションとMacintosh上で使用される.
    • AIFFはAudio Interchange File Formatの頭字語である.
    • バイナリファイル形式.
    • 音声データを非圧縮のモノまたはステレオの波形で保存する.
    • さまざまなビット解像度とサンプルレートをサポートする.
    • Apple等によって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要素

  • 一般的なImport要素:
  • "Elements" ファイル中の有効な要素とオプションのリスト
    "Summary"ファイルの概要
    "Rules"使用可能なすべての要素の規則のリスト
  • データ表現要素:
  • "Audio"Audioオブジェクトとして与えられた音声信号
    "AudioFile"アウトオブコアのAudioオブジェクトとして与えられた音声信号
    "Data"各部分リストが個々の音声チャンネルを表す実数のリストで与えられた生の音声サンプル
    "SampledSoundList"SampledSoundListオブジェクトとして与えられた音声信号
    "Sound"Soundオブジェクトとして与えられた音声信号
  • Importはデフォルトで短いAIFFファイルに"Audio"要素を,それ以外には"AudioFile"要素を使用する.
  • 高度なImport要素:
  • "AudioChannels"音声チャンネル数
    "AudioEncoding"音声符号化
    "Duration"音声の継続時間(秒)
    "Length"サンプル数
    "SampleDepth"各サンンプルの保存に使用されたビット数
    "SampleRate"秒・チャンネルあたりの振幅サンプルの数
  • メタデータ要素:
  • "MetaInformation"数量,場所,日付,数等として解釈された形式
    "RawMetaInformation"文字列または数として解釈されない形式
  • 利用できるメタデータタグに"ID3v2"がある.

オプション

  • ImportおよびExportのオプション:
  • "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-Law 4ビットPCM(ITU-T G.711標準)
    "uLaw"-Law 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で1秒間のサウンドサンプルを作成する:

AIFFにエキスポートする:

24ビットAIFFにエキスポートする:

スコープ  (3)

このファイルで利用できるすべてのインポート要素を示す:

音声の特性をインポートする:

AIFFにExportStringImportStringを使用する:

Import要素  (16)

利用できる要素  (3)

利用できる要素のリスト:

音声関連の情報を規則のリストとして取得する:

いくつかの音声オプションを取得する:

"Options"要素はインポートされた音声のオプションをすべて返す訳ではない:

データ表現  (5)

Audioオブジェクトとして与えられた音声信号を取得する:

アウトオブコアのAudioオブジェクトとして与えられた音声信号を取得する:

実数のリストとして与えられた生の音声サンプルを取得する:

インポートされたデータから音声サンプルを作成する:

SampledSoundListオブジェクトとして与えられた音声信号を取得する:

Soundオブジェクトとして与えられた音声信号を取得する:

メタデータ  (8)

音声チャンネル数を取得する:

音声符号化方式を取得する:

音声サンプルの継続時間を秒で取得する:

サンプル数を取得する:

音声メタデータを取得する:

音声メタデータを生の形式で取得する:

各サンプルを保存するのに使用されるビット数を取得する:

秒・チャンネルあたりの振幅サンプルの数を取得する:

Importオプション  (6)

"AudioChannels"  (2)

ステレオAIFFファイルを生成する:

デフォルトでは音声チャンネル数はAutomaticに設定される:

すべての音声チャンネルがインポートされるように指定する:

2つ目のチャンネルのみをインポートする:

IncludeMetaInformation  (3)

デフォルトでは利用できるすべてのメタデータがインポートされる:

メタデータを含まずに音声ファイルをインポートする:

メタデータの指定のクラスだけを含むように音声をインポートする:

SampleRate  (1)

デフォルトでは,サンプルレートはファイルから抽出される:

インポートされたサウンドのサンプルレートを指定する:

Exportオプション  (4)

"AudioChannels"  (1)

デフォルトでは,音声はデフォルトのチャンネル数を使ってエキスポートされる:

エキスポートされた音声のチャンネルの数を指定する:

AudioEncoding  (1)

デフォルトでは,音声は"Integer16"符号化を使ってエキスポートされる:

エキスポートされた音声の符号化方式を指定する:

IncludeMetaInformation  (1)

デフォルトでは,音声はメタデータを使ってエキスポートされる:

エキスポートするメタデータを指定する:

SampleRate  (1)

デフォルトでは,音声はデフォルトのサンプルレートを使ってエキスポートされる:

エキスポートされた音声のサンプルレートを指定する: