MIDI (.mid)

MIME 类型:audio/midi
标准的 MIDI 文件格式.
音频格式.
用于控制电子乐器,计算机声卡和编曲器.
存储离散声音事件序列,例如一个音符的起止,速度和音色信息以及乐器和声音库编码.
MIDI 是 Musical Instrument Digital Interface(乐器数字接口)的缩写.
二进制文件格式.
1983年引入.
由 MIDI 制造商协会(美国)和音乐电子工业 MIDI 委员会(日本)开发和出版.
  • Export 完全支持标准的 MIDI 文件格式.

Import 与 ExportImport 与 Export

  • Export["file.mid", expr] 把声音对象导出至 MIDI.
  • Export["file.mid", Sound[...]] 从一个包含 SoundNote 基元的 Sound 表达式中创建一个 MIDI 文件.
  • Export["file.mid", expr, elem] 通过把 expr 作为指定的参数 elem,创建一个 MIDI 文件.
  • 文件格式可以用 Export["file", Sound[...], "MIDI"] 明确指定.
  • Export 的完整信息请见参考页.
  • ExportString 支持 MIDI 格式.

参数参数

  • 表示参数的数据:
  • "Sound"一个包含 SoundNote 基元的 Sound 表达式
  • 对于 MIDI 文件,默认情况下,Export 使用参数.
  • Export["file.mid", Sound[ SoundNote[0]]] 创建一个 MIDI 文件表示"中央 C"音符在默认的"钢琴"样式中被播放1秒.
  • 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"

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

基本范例 (4)基本范例 (4)

三个音符序列,每个播放1.75秒:

In[1]:=
Click for copyable input
Out[1]=

导出至一个 MIDI 文件:

In[2]:=
Click for copyable input
Out[2]=

以下把一些和弦音符导出至 MIDI:

In[3]:=
Click for copyable input
Out[3]=
In[4]:=
Click for copyable input
Out[4]=

把一些打击乐声音导出至 MIDI:

In[1]:=
Click for copyable input
Out[1]=

以下通过获取元胞自动机数据并映射到乐符创建 WolframTones 样式中的音乐片段:

In[1]:=
Click for copyable input
Out[1]=

导出至 MIDI:

In[2]:=
Click for copyable input
Out[2]=

生成一个基本算法组成并把它导出至 MIDI:

In[1]:=
Click for copyable input
Out[1]=
In[2]:=
Click for copyable input
Out[2]=
版本 6 的新功能
New to Mathematica? Find your learning path »
Have a question? Ask support »