MATHEMATICA IMPORT/EXPORT 形式
MIDI (.mid)
- ExportはMIDIファイル形式規格を完全にサポートする.
- ImportはMIDIファイル形式のバージョン0と1をサポートする.
- Import["file.mid"]はMIDIファイルをインポートし,サウンドオブジェクトを返す.
- Export["file.mid", expr]はサウンドオブジェクトをMIDIにエキスポートする.
-
- Import["file.mid", elem]はMIDIファイルから指定された要素をインポートする.
- Import["file.mid", {elem, suba, subb, ...}]は子要素をインポートする.
- Import["file.mid", {{elem1, elem2, ...}}]は複数の要素をインポートする.
- インポート形式はImport["file", "MIDI"]またはImport["file", {"MIDI", elem, ...}]で指定できる.
-
- Export["file.mid", Sound[...]]はSoundNoteプリミティブから成るSound式から,MIDIファイルを作成する.
-
- Export["file.mid", expr, elem]はexpr が要素,elem を指定するものとして扱うことにより,MIDIファイルを作成する.
- ファイル形式は明示的にExport["file", Sound[...], "MIDI"]と指定できる.
-
- Exportについての一般的な情報は,関数ページを参照のこと.
- ExportStringはMIDI形式をサポートしている.
- 一般的なImport要素:
-
| "Elements" | ファイル中の有効な要素とオプションのリスト |
| "Rules" | 要素とオプションのそれぞれの規則の完全なリスト |
| "Options" | オプション,属性,設定の規則のリスト |
- データ表現要素:
-
| "Sound" | Soundオブジェクトとして表されるMIDIファイル |
| "Sound",n | Soundオブジェクトとして与えられるMIDIファイルの n 番目のトラック |
| "SoundNotes" | MIDIファイルの全トラックの音符 |
| "SoundNotes",n | MIDIファイルの n 番目のトラックの音符 |
| "RawData" | MIDIファイルの全トラックの生イベント |
| "RawData",n | MIDIファイルの n 番目のトラックのrawイベント |
- メタデータ要素:
-
| "Metadata" | MIDIファイルの全トラックのメタ情報 |
| "Metadata",n | MIDIファイルの n 番目のトラックのメタデータ |
| "Duration" | 長さ(秒) |
| "Header" | MIDIファイルのヘッダ |
| "TrackCount" | MIDIファイルのトラック数 |
- データ表現要素:
-
- MIDIファイルではExportはデフォルトで
要素を使う.
- Export["file.mid", Sound[ SoundNote[0]]]は「中央ハ」の音をデフォルトの「Piano」(ピアノ)スタイルで1秒間再生するMIDIファイルを作成する.
- Mathematica でのピッチ(音程)指定の0は,MIDIのピッチレベル 60に対応している.
- Export["file.mid", Sound[SoundNote[pitch, t, "style"]]]は持続時間 t と楽器のスタイルを指定する.以下の一般的なMIDIスタイルがサポートされている:
-
| "Accordion" | "Agogo" | "AltoSax" | "Applause" |
| "Atmosphere" | "Bagpipe" | "Bandoneon" | "Banjo" |
| "BaritoneSax" | "Bass" | "BassAndLead" | "Bassoon" |
| "Bird" | "BlownBottle" | "Bowed" | "BrassSection" |
| "Breath" | "Brightness" | "BrightPiano" | "Calliope" |
| "Celesta" | "Cello" | "Charang" | "Chiff" |
| "Choir" | "Clarinet" | "Clavi" | "Contrabass" |
| "Crystal" | "DrawbarOrgan" | "Dulcimer" | "Echoes" |
| "ElectricBass" | "ElectricGrandPiano" | "ElectricGuitar" | "ElectricPiano" |
| "ElectricPiano2" | "EnglishHorn" | "Fiddle" | "Fifths" |
| "Flute" | "FrenchHorn" | "FretlessBass" | "FretNoise" |
| "Glockenspiel" | "Goblins" | "Guitar" | "GuitarDistorted" |
| "GuitarHarmonics" | "GuitarMuted" | "GuitarOverdriven" | "Gunshot" |
| "Halo" | "Harmonica" | "Harp" | "Harpsichord" |
| "Helicopter" | "HonkyTonkPiano" | "JazzGuitar" | "Kalimba" |
| "Koto" | "Marimba" | "MelodicTom" | "Metallic" |
| "MusicBox" | "MutedTrumpet" | "NewAge" | "Oboe" |
| "Ocarina" | "OrchestraHit" | "Organ" | "PanFlute" |
| "PercussiveOrgan" | "Piano" | "Piccolo" | "PickedBass" |
| "PizzicatoStrings" | "Polysynth" | "Rain" | "Recorder" |
| "ReedOrgan" | "ReverseCymbal" | "RockOrgan" | "Sawtooth" |
| "SciFi" | "Seashore" | "Shakuhachi" | "Shamisen" |
| "Shanai" | "Sitar" | "SlapBass" | "SlapBass2" |
| "SopranoSax" | "Soundtrack" | "Square" | "Steeldrums" |
| "SteelGuitar" | "Strings" | "Strings2" | "Sweep" |
| "SynthBass" | "SynthBass2" | "SynthBrass" | "SynthBrass2" |
| "SynthDrum" | "SynthStrings" | "SynthStrings2" | "SynthVoice" |
| "Taiko" | "Telephone" | "TenorSax" | "Timpani" |
| "Tinklebell" | "TremoloStrings" | "Trombone" | "Trumpet" |
| "Tuba" | "TubularBells" | "Vibraphone" | "Viola" |
| "Violin" | "Voice" | "VoiceAahs" | "VoiceOohs" |
| "Warm" | "Whistle" | "Woodblock" | "Xylophone" |
- パーカッションの音はSoundNote["perc", t]の式で表される.以下が可能なパーカッションスタイルである:
-
| "BassDrum" | "BassDrum2" | "BellTree" | "Cabasa" |
| "Castanets" | "ChineseCymbal" | "Clap" | "Claves" |
| "Cowbell" | "CrashCymbal" | "CrashCymbal2" | "ElectricSnare" |
| "GuiroLong" | "GuiroShort" | "HighAgogo" | "HighBongo" |
| "HighCongaMute" | "HighCongaOpen" | "HighFloorTom" | "HighTimbale" |
| "HighTom" | "HighWoodblock" | "HiHatClosed" | "HiHatOpen" |
| "HiHatPedal" | "JingleBell" | "LowAgogo" | "LowBongo" |
| "LowConga" | "LowFloorTom" | "LowTimbale" | "LowTom" |
| "LowWoodblock" | "Maracas" | "MetronomeBell" | "MetronomeClick" |
| "MidTom" | "MidTom2" | "MuteCuica" | "MuteSurdo" |
| "MuteTriangle" | "OpenCuica" | "OpenSurdo" | "OpenTriangle" |
| "RideBell" | "RideCymbal" | "RideCymbal2" | "ScratchPull" |
| "ScratchPush" | "Shaker" | "SideStick" | "Slap" |
| "Snare" | "SplashCymbal" | "SquareClick" | "Sticks" |
| "Tambourine" | "Vibraslap" | "WhistleLong" | "WhistleShort" |
- ImportはMIDIのインポートにデフォルトで
要素を使用する.
1.75秒間再生される音符3個のシーケンス:
| Out[1]= |  |
これをMIDIファイルにエキスポートする:
| Out[2]= |  |
和音をMIDIにエキスポートする:
| Out[3]= |  |
| Out[4]= |  |
パーカッションの音をMIDIにエキスポートする:
| Out[1]= |  |
セルオートマトンのデータを音にマッピングしてWolframTones スタイルの部分的な音楽を作成する:
| Out[1]= |  |
MIDIにエキスポートする:
| Out[2]= |  |
基本的なアルゴリズムベースの作曲をして,それをMIDIにエキスポートする:
| Out[1]= |  |
| Out[2]= |  |
MIDIファイルをSoundオブジェクトとしてインポートする:
| Out[1]= |  |
MIDIファイルに含まれるSoundNoteオブジェクトをインポートする:
| Out[1]= |  |
MIDIファイルに含まれる音符を,ハープの代りにオルガンでもう一度演奏する:
| Out[2]= |  |
バージョン 6 の新機能 | バージョン 9 での修正機能