MP3 (.mp3)
予備知識
-
- MIMEタイプ:audio/mpeg,udio/mpeg3,audio/x-mpeg-3MPEG Audio Layer 3として知られるMP3デジタル音声形式.
- 消費者の音声ストリーミング,保管,転送,再生によく使われる不可逆圧縮方法であり,Web上でも使用できる.
- バイナリファイル形式.
- ISO/IEC 11172-3標準とISO/IEC 13818-3標準に従う.
- 8kHzから48kHzまでのいくつかのサンプリング周波数をサポートする.
- 2つまでの音声チャンネルをサポートする.
ImportとExport
- Import["file.mp3"]はMP3ファイルをインポートし,音声オブジェクトを返す.
- Import["file.mp3",elem]はMP3ファイルから指定された要素をインポートする.
- インポート形式はImport["file","MP3"]またはImport["file",{"MP3",elem,…}]で指定できる.
- Export["file.mp3",expr]は音声オブジェクトまたはサウンドオブジェクトをMP3ファイルにエキスポートする.
- 音符を含むサウンドオブジェクトはサンプルされた音声にラスタライズされる.
- 一般的な情報は,以下の関数ページを参照のこと.
-
Import, Export ファイルからインポートする,あるいはファイルへエキスポートする CloudImport, CloudExport クラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする ImportString, ExportString 文字列からインポートする,あるいは文字列へエキスポートする ImportByteArray, ExportByteArray バイト配列からインポートする,あるいはバイト配列へエキスポートする
要素
- 一般的なImport要素:
-
"Elements" ファイル中の有効な要素とオプションのリスト "Summary" ファイルの概要 "Rules" 使用可能なすべての要素の規則のリスト - データ表現要素:
-
"Audio" Audioオブジェクトとして与えられた音声信号 "AudioFile" アウトオブコアのAudioオブジェクトとして与えられた音声信号 "Data" 各部分リストが個々の音声チャンネルを表す実数のリストで与えられた生の音声サンプル "SampledSoundList" SampledSoundListオブジェクトとして与えられた音声信号 "Sound" Soundオブジェクトとして与えられた音声信号 - Importはデフォルトで短いMP3ファイルに"Audio"要素を,それ以外には"AudioFile"要素を使用する.
- 高度なImport要素:
-
"AudioChannels" 音声チャンネル数 "Duration" 音声の継続時間(秒) "Length" サンプル数 "SampleRate" 秒・チャンネルあたりの振幅サンプルの数 - メタデータ要素:
-
"MetaInformation" 数量,日付,場所等として解釈されたメタデータ "RawMetaInformation" 文字列と数のみを含む解釈されていないメタデータ - 利用できるメタデータタグにID3v1,ID3v2,APEがある.
- 複数のチャンネルは音声サンプルの配列として表される.
オプション
- ImportとExportのオプション:
-
"AudioChannels" Automatic 音声チャンネル数 IncludeMetaInformation All インポート・エキスポートするメタデータのタイプ SampleRate Automatic 各チャンネルの秒あたりのサンプルの数 - Exportオプション:
-
CompressionLevel 0.5 0と1の間の数で与えられる圧縮レベル - SampleRateのサポートされている設定は8000,11025,16000,22050,24000,32000,44100,48000Hzである.
- サポートされているIncludeMetaInformation設定は"APE","ID3v1","ID3v2","RawAPE","RawID3v1","RawID3v2",All,Noneである.
例題
すべて開く すべて閉じる例 (2)
スコープ (4)
Import["ExampleData/car.mp3", "Elements"]Import["ExampleData/car.mp3", {{"AudioChannels", "SampleRate"}}]audio = AudioGenerator["Sin"]Export["sample.mp3", audio, CompressionLevel -> 1]//FileByteCountExport["sample.mp3", audio, CompressionLevel -> .5]//FileByteCountExport["sample.wav", audio]//FileByteCountMP3に対してExportStringとImportStringを使用する:
Play[Sin[300t Sin[20t]], {t, 0, 1}]str = ExportString[Play[Sin[300t Sin[20t]], {t, 0, 1}], "MP3"];ImportString[str, "Audio"]Import要素 (14)
利用できる要素 (3)
Import["ExampleData/car.mp3", "Elements"]Import["ExampleData/car.mp3", "Rules"]//ShortImport["ExampleData/car.mp3", "Options"]"Options"要素はインポートされた音声オブジェクトのオプションをすべて返す訳ではない:
Import["ExampleData/car.mp3"]//Optionsデータ表現 (5)
Audioオブジェクトとして与えられた音声信号を取得する:
Import["ExampleData/car.mp3", "Audio"]アウトオブコアのAudioオブジェクトとして与えられた音声信号を取得する:
Import["ExampleData/car.mp3", "AudioFile"]data = Import["ExampleData/car.mp3", "Data"]Audio[data]SampledSoundListオブジェクトとして与えられた音声信号を取得する:
Import["ExampleData/car.mp3", "SampledSoundList"]Soundオブジェクトとして与えられた音声信号を取得する:
Import["ExampleData/car.mp3", "Sound"]メタデータ (6)
Import["ExampleData/car.mp3", "AudioChannels"]Import["ExampleData/car.mp3", "Duration"]Import["ExampleData/car.mp3", "Length"]Import["ExampleData/car.mp3", "MetaInformation"]Import["ExampleData/car.mp3", "RawMetaInformation"]Import["ExampleData/car.mp3", "SampleRate"]Importオプション (6)
"AudioChannels" (2)
Export["stereo.mp3", AudioPan[AudioGenerator["Sin"], Sin[2Pi#]&]]デフォルトでは音声チャンネル数はAutomaticに設定される:
AudioChannels[Import["stereo.mp3"]]AudioChannels[Import["stereo.mp3", "AudioChannels" -> All]]AudioChannels[Import["stereo.mp3", "AudioChannels" -> {2}]]IncludeMetaInformation (3)
デフォルトでは利用できるすべてのメタデータがインポートされる:
Options[Import["ExampleData/car.mp3", "Audio"], MetaInformation]Options[Import["ExampleData/car.mp3", "Audio", IncludeMetaInformation -> None], MetaInformation]メタデータの指定のクラスだけを含むように音声をインポートする:
Options[Import["ExampleData/car.mp3", "Audio", IncludeMetaInformation -> {"RawID3v2"}], MetaInformation]Exportオプション (5)
"AudioChannels" (1)
デフォルトでは,音声はデフォルトのチャンネル数を使ってエキスポートされる:
i = \!\(\*AudioBox[""]\);Export["test.mp3", i]Import[%, "AudioChannels"]Export["test.mp3", i, "AudioChannels" -> {1}]Import[%, "AudioChannels"]CompressionLevel (1)
デフォルトではエキスポートされる音声の圧縮レベルは0.5である:
i = \!\(\*AudioBox[""]\);ByteCount[i]Export["test.mp3", i]FileByteCount[%]Export["test.mp3", i, CompressionLevel -> 1]FileByteCount[%]IncludeMetaInformation (2)
デフォルトでは存在するすべてのメタ情報がエキスポートされる:
i = \!\(\*AudioBox[""]\);Options[i, MetaInformation]Export["test.mp3", i]Options[Import[%], MetaInformation]Export["test.mp3", \!\(\*AudioBox[""]\), IncludeMetaInformation -> None]Options[Import[%], MetaInformation]SampleRate (1)
デフォルトでは,音声はデフォルトのサンプルレートを使ってエキスポートされる:
i = \!\(\*AudioBox[""]\);Options[i, SampleRate]Export["test.mp3", i]Import[%, "SampleRate"]Export["test.mp3", i, SampleRate -> 44100]Import[%, "SampleRate"]