在浏览器中快速创作 MIDI。将脚本粘贴到输入框,按 Ctrl + Enter 解析,然后点击 播放 或 下载 MIDI。
底部日志面板会按时间顺序显示 音色加载、解析、播放、清缓存等关键状态。
如果音色库未就绪,播放 按钮会被置灰,下载 MIDI 仍可使用。
cc<n>=<v> // n 控制器编号 0~127,v 值 0~127
// 标准 MIDI CC 是 0~119,本工具不限制(220+ 用户自负责)
BPM=<1~1000> 全局速度,默认 120。
pd=<拍数>/<分母> 拍号,如 pd=4/4、pd=3/4。
gd=<1~16> 轨道声明(编号)。
yq=<0~127> 轨道乐器编号(GM Program),可在轨道内重复使用以切换乐器。
td=<1~16> 轨道 MIDI 通道。
name=<名称> 轨道名称(无空格)。
bpm=<1~1000> 全局或轨道独立速度,写在轨道内时可在任意位置改变速度。
ppq=<16~9999> 设置 PPQ(ticks per quarter note),默认 480。上传 MIDI 时自动保留原始 PPQ。
<音名>[#][<八度>][=<时值>]
音名:c d e f g a b,# 升号。八度 0~9。时值:1=全音符 2=二分 4=四分 8=八分 16=十六分。
示例:c4=4 中央 C 四分音符,c#1=2 C#1 二分音符,d5=8 D5 八分音符。
默认时值为 4(四分音符),如 c4。
数字简谱:可用数字 1~7 代替音名:1=c 2=d 3=e 4=f 5=g 6=a 7=b,同样支持升降号、八度和时值。示例:14 = c4,1#4 = c#4,55=8 = g5=8。支持与字母混用,如 14 d4 2 3。
. 四分休止(1 拍)。
.=<时值> 指定时值的休止。
示例:.=8 八分休止(0.5 拍),.=16 十六分休止(0.25 拍),.=2 二分休止(2 拍),.=1 全休止(4 拍)。
写在音符后面用逗号分隔:<音>,ld=<0~127>,cc<n>=<0~127>
ld 力度,默认 100。cc<n> 控制器编号和值。
dt=<整数> 精确 tick 时长,替代 =dur 的标准时值换算。仅在 tick= 模式下有效。
示例:c4,ld=127、c4,dt=240,ld=80、c4,ld=80,cc7=100。
hx <音符1> <音符2> ... 同一声明中所有音符同时发音。
和弦仅在当行有效,换行即恢复单音。首音符的时值决定整个和弦的时值。
示例:hx c4 e4 g4、hx c4,ld=120 e4、hx c4,cc7=100 e4。
py=<方向>=<时值> <音符1> <音符2> ... 将多个音符按时值和方向展开为琶音序列。
方向 0 = 顺序(低→高),1 = 倒序(高→低)。时值 8/16/32。
每个音依次发声,总时长 = 音数 × py 时值。
示例:py=0=8 c4 e4 g4 c5 → c4 e4 g4 c5 各八分音符依次发声
py=1=8 c4 e4 g4 c5 → 倒序:c5 g4 e4 c4
py=0=8 c4,ld=120 e4 g4 → 琶音中 c4 力度 120
允许独立 CC 事件穿插:py=0=8 c4 e4 cc7=100 g4
琶音行内不允许 gd=、yq=、hx 等模式指令。
琶音中的每个音符可以单独指定时值,覆盖基础的 py 时值。在音符后加 =dur 即可。
py=0=16 c4 e4 g4 c5 e5 g5 c6=2 → 前 6 个音十六分音符,c6 是二分音符
也可以结合逗号参数化语法:py=0=16 c4=4,ld=110 e4 g4 → c4 四分音符+力度 110,其余十六分
| 小节线:分隔小节。
bar=<小节号> 跳转到指定小节。
tick=<整数> 设置当前轨道的精确 tick 位置(用于上传 MIDI 生成的精确脚本)。
ppq=<16~9999> 设置 PPQ(ticks per quarter note),默认 480。上传 MIDI 时自动保留原始 PPQ。
# 注释。c#1 中的 # 是升号,不视为注释。c4 # 这是注释。
以下指令可写在轨道内部任意位置,在当前 tick 位置生成对应 MIDI 事件:
cc<n>=<v> 发送控制器事件。
pb=<0~16383> 弯音轮(Pitch Bend),8192 为中间值。
at=<0~127> 通道触后(Channel Aftertouch)。
pt=<音符>,<压力值> 复音触后(Polyphonic Aftertouch),如 pt=60,64。
sysex=<十六进制> 系统专有信息(SysEx),以 F0 开头,如 sysex=F043104C00007E00F7。
key=<音名> 调号 + 变调,仅当前行有效,换行自动恢复 C。无 m/maj 后缀时(如 key=d、key=bb、key=f#),将该行音符整体变调:key=d c4 输出 D4。有 m/maj 后缀时仅写调号(如 key=F#m、key=Bbmaj),不改变音高。
text=<文本> 文本元事件。
lyric=<歌词> 歌词元事件。
marker=<标记> 标记元事件。
copyright=<文本> 版权声明元事件。
instr=<名称> 乐器名称元事件。
cue=<文本> 提示点元事件。
progname=<名称> 程序名称元事件。
smpte=<时,分,秒,帧,子帧> SMPTE 偏移量,如 smpte=0,0,0,0,0。
chprefix=<0~255> MIDI 通道前缀。
port=<0~255> MIDI 端口号。
seq=<0~65535> 序列号。
seqspec=<十六进制> 音序器专有数据。
BPM=120 pd=4/4 gd=1 name=lead yq=81 td=1 c5=4 d5=4 e5=4 f5=4 | g5=2 a5=2 b5=1 c6=2 bar=3 c5=4,ld=110,cc64=127 d5=4 # 第 3 小节强音 + sustain gd=2 name=bass yq=32 td=2 bpm=100 # 轨道独立 BPM c3=2 g3=2 | c3=2 g3=2 . . . . gd=2 cc7=90 # bass 整体音量降到 90 gd=10 name=drums yq=0 td=10 c3=4 . c3=8 c3=8 . c3=4 . . . cc91=100 # 高级事件示例 gd=3 name=synth yq=88 td=3 tick=0 pb=8192 # 弯音复位 c4=4 tick=480 pb=16383 # 弯音到最高 d4=4 tick=960 key=F#m # 调号变为升F小调 e4=4 tick=1440 at=100 # 通道触后 f4=4 tick=1920 pt=60,80 # 复音触后 g4=4 tick=2400 marker=verse_start # 标记 a4=4
点击上传 MIDI 按钮,选择 .mid 文件,工具会将其转换为精确 tick 脚本。
与手写脚本不同,上传生成的脚本使用 tick= 和 dt= 精确定位每个事件:
ppq=960 gd=1 td=9 yq=0 tick=960 c4,dt=455,ld=74 cc7=100 tick=1200 d4,dt=491,ld=78
每条 tick= 指定精确位置,dt= 指定音符持续 tick 数。ppq= 保留原始 MIDI 的 PPQ。
这种模式下,音符的 =dur 不参与时长计算,完全由 dt= 决定。解析和重建后 tick 位置零误差。
手写脚本可以用标准时值(c4=4),上传脚本用精确 tick(c4,dt=455),互不冲突。同一轨内两种模式也可以混合使用,但一般不推荐。
注意:上传 MIDI 属于一次性转换,生成的脚本可以修改后重新导出 MIDI。
解析成功后点击 可视化编辑 按钮,在新窗口中用键盘逐音符编辑。
每次浏览或修改都会播放该音符的最新状态。
| 按键 | 功能 |
|---|---|
← → | 前后浏览音符 |
↑ ↓ | 切换轨道(多轨时) |
7 9 | 力度减/增 1 |
2 8 | 音高降/升 1 个半音 |
所有修改直接作用于解析后的脚本数据,不会自动写回文本框。
如需导出修改后的 MIDI,建议先关闭编辑器,在主工具重新解析已修改的脚本。
使用 cc<n>=<v> 作为音符参数发送控制器,例如 c4,cc64=127。作为独立 token 时(如 cc7=100)写入轨道事件流。
| 编号 | 名称 | 值范围 | 说明 |
|---|---|---|---|
| 0 | Bank Select (MSB) | 0-127 | 音色库选择高位,配合 CC32-63 选择音色 |
| 1 | Modulation Wheel | 0-127 | 颤音轮(常用 64=开启) |
| 2 | Breath Controller | 0-127 | 呼吸控制器(需硬件支持) |
| 3 | Undefined | 0-127 | 部分合成器用作 Software/Data 或 Master Volume |
| 4 | Foot Controller | 0-127 | 脚踏控制器 |
| 5 | Portamento Time | 0-127 | 滑音时间(值越大滑音越长) |
| 6 | Data Entry (MSB) | 0-127 | 数据输入高位,与 RPN/NRPN 配合使用 |
| 7 | Volume | 0-127 | 通道音量(常用 100) |
| 8 | Balance | 0-127 | 立体声平衡(0=左, 64=中, 127=右) |
| 9 | Undefined | 0-127 | 部分设备用作 Balance LSB 或 Effect Depth |
| 10 | Pan | 0-127 | 声像(0=左, 64=中, 127=右) |
| 11 | Expression | 0-127 | 表情控制器(与 Volume 相乘,常用 127) |
| 12 | Effect Control 1 | 0-127 | 效果控制 1(通常为 Reverb) |
| 13 | Effect Control 2 | 0-127 | 效果控制 2(通常为 Tremolo) |
| 14 | Undefined | 0-127 | 部分合成器用作 Unused/Reserved |
| 15 | Undefined | 0-127 | 部分用作 Slider Transport |
| 16-19 | General Purpose 1-4 | 0-127 | 通用控制器 1-4 |
| 20-31 | Undefined | 0-127 | 保留/未定义,部分合成器自定义用途 |
| 32 | Bank Select (LSB for CC0) | 0-127 | 音色库选择低位 |
| 33 | Modulation (LSB) | 0-127 | CC1 低位(14 位精度颤音) |
| 34 | Breath (LSB) | 0-127 | CC2 低位 |
| 35 | Undefined (LSB for CC3) | 0-127 | CC3 低位 |
| 36 | Foot (LSB) | 0-127 | CC4 低位 |
| 37 | Portamento Time (LSB) | 0-127 | CC5 低位 |
| 38 | Data Entry (LSB) | 0-127 | CC6 低位 |
| 39 | Volume (LSB) | 0-127 | CC7 低位 |
| 40 | Balance (LSB) | 0-127 | CC8 低位 |
| 41 | Undefined (LSB for CC9) | 0-127 | CC9 低位 |
| 42 | Pan (LSB) | 0-127 | CC10 低位 |
| 43 | Expression (LSB) | 0-127 | CC11 低位 |
| 44 | Effect Control 1 (LSB) | 0-127 | CC12 低位 |
| 45 | Effect Control 2 (LSB) | 0-127 | CC13 低位 |
| 46-63 | Undefined (LSBs for CC14-31) | 0-127 | 对应 CC14-31 的低位字节 |
| 64 | Sustain (Damper) | 0-127 | 延音踏板(0-63=off, 64-127=on) |
| 65 | Portamento | 0-127 | 滑音开关(0-63=off, 64-127=on) |
| 66 | Sostenuto | 0-127 | 持续音踏板(0-63=off, 64-127=on) |
| 67 | Soft Pedal | 0-127 | 弱音踏板(0-63=off, 64-127=on) |
| 68 | Legato Footswitch | 0-127 | 连音踏板(0-63=normal, 64-127=legato) |
| 69 | Hold 2 | 0-127 | 延音 2(0-63=off, 64-127=on) |
| 70 | Sound Variation | 0-127 | 音色变体(音源指定特定效果) |
| 71 | Harmonic Content | 0-127 | 泛音含量 / 滤波器共振值 |
| 72 | Release Time | 0-127 | 释音时间(值越大尾音越长) |
| 73 | Attack Time | 0-127 | 起音时间(值越小起音越快) |
| 74 | Brightness | 0-127 | 亮度 / 滤波器截止频率 |
| 75 | Decay Time | 0-127 | 衰减时间 |
| 76 | Vibrato Rate | 0-127 | 颤音速率 |
| 77 | Vibrato Depth | 0-127 | 颤音深度 |
| 78 | Vibrato Delay | 0-127 | 颤音延迟 |
| 79 | Filter Cutoff | 0-127 | 滤波器截止(与 CC74 类似,部分合成器使用) |
| 80-83 | General Purpose 5-8 | 0-127 | 通用控制器 5-8(部分合成器用作 Effect 1-4 Depth) |
| 84 | Portamento Control | 0-127 | 滑音控制(指定滑音的源音符) |
| 85-90 | Undefined | 0-127 | 保留/未定义 |
| 91 | Reverb Send (Effect 1) | 0-127 | 混响发送量 |
| 92 | Tremolo Depth (Effect 2) | 0-127 | 颤音深度 |
| 93 | Chorus Send (Effect 3) | 0-127 | 合唱发送量 |
| 94 | Detune/Celeste (Effect 4) | 0-127 | 失谐深度 |
| 95 | Phaser Depth (Effect 5) | 0-127 | 移相深度 |
| 96 | Data Increment | 0-127 | RPN/NRPN 数据 +1 |
| 97 | Data Decrement | 0-127 | RPN/NRPN 数据 -1 |
| 98 | NRPN (LSB) | 0-127 | 非注册参数号低位 |
| 99 | NRPN (MSB) | 0-127 | 非注册参数号高位 |
| 100 | RPN (LSB) | 0-127 | 注册参数号低位 |
| 101 | RPN (MSB) | 0-127 | 注册参数号高位 |
| 102-119 | Undefined | 0-127 | 保留/未定义(部分合成器用于高分辨率 NRPN) |
| 120 | All Sound Off | 0 | 全部声音关闭(静音所有发音) |
| 121 | Reset All Controllers | 0 | 重置所有控制器到默认值 |
| 122 | Local Control | 0-127 | 本地控制开关(0=off, 127=on) |
| 123 | All Notes Off | 0 | 全部音符关闭(释放所有按键) |
| 124 | Omni Mode Off | 0 | Omni 模式关 |
| 125 | Omni Mode On | 0 | Omni 模式开 |
| 126 | Mono Mode | 0-127 | 单声道模式(值=发音数) |
| 127 | Poly Mode | 0 | 多声道模式 |
使用 yq=<n> 设置轨道乐器。GM(General MIDI)标准定义了 128 种乐器。
| 编号 | 乐器 | 英文名 |
|---|---|---|
| Piano 钢琴 | ||
| 0 | 三角大钢琴 | Acoustic Grand Piano |
| 1 | 亮音大钢琴 | Bright Acoustic Piano |
| 2 | 电钢琴 | Electric Grand Piano |
| 3 | 酒吧钢琴 | Honky-tonk Piano |
| 4 | 电钢琴 1 | Electric Piano 1 (Rhodes) |
| 5 | 电钢琴 2 | Electric Piano 2 (DX) |
| 6 | 大键琴 | Harpsichord |
| 7 | 古钢琴 | Clavinet |
| Chromatic Percussion 半音阶打击乐 | ||
| 8 | 钢片琴 | Celesta |
| 9 | 钟琴 | Glockenspiel |
| 10 | 八音盒 | Music Box |
| 11 | 颤音琴 | Vibraphone |
| 12 | 马林巴 | Marimba |
| 13 | 木琴 | Xylophone |
| 14 | 管钟 | Tubular Bells |
| 15 | 扬琴 | Dulcimer (Santur) |
| Organ 风琴 | ||
| 16 | 拉杆风琴 | Drawbar Organ (Hammond) |
| 17 | 打击风琴 | Percussive Organ |
| 18 | 摇滚风琴 | Rock Organ |
| 19 | 教堂管风琴 | Church Organ |
| 20 | 簧风琴 | Reed Organ |
| 21 | 手风琴 | Accordion (French) |
| 22 | 口琴 | Harmonica |
| 23 | 探戈手风琴 | Tango Accordion (Bandoneon) |
| Guitar 吉他 | ||
| 24 | 尼龙弦吉他 | Acoustic Guitar (nylon) |
| 25 | 钢弦吉他 | Acoustic Guitar (steel) |
| 26 | 爵士电吉他 | Electric Guitar (jazz) |
| 27 | 清音电吉他 | Electric Guitar (clean) |
| 28 | 闷音电吉他 | Electric Guitar (muted) |
| 29 | 过载吉他 | Overdriven Guitar |
| 30 | 失真吉他 | Distortion Guitar |
| 31 | 吉他泛音 | Guitar Harmonics |
| Bass 贝斯 | ||
| 32 | 原声贝斯 | Acoustic Bass |
| 33 | 指弹电贝斯 | Electric Bass (finger) |
| 34 | 拨片电贝斯 | Electric Bass (pick) |
| 35 | 无品贝斯 | Fretless Bass |
| 36 | 击弦贝斯 1 | Slap Bass 1 |
| 37 | 击弦贝斯 2 | Slap Bass 2 |
| 38 | 合成贝斯 1 | Synth Bass 1 |
| 39 | 合成贝斯 2 | Synth Bass 2 |
| Strings 弦乐 | ||
| 40 | 小提琴 | Violin |
| 41 | 中提琴 | Viola |
| 42 | 大提琴 | Cello |
| 43 | 低音提琴 | Contrabass |
| 44 | 震音弦乐 | Tremolo Strings |
| 45 | 拨弦弦乐 | Pizzicato Strings |
| 46 | 竖琴 | Orchestral Harp |
| 47 | 定音鼓 | Timpani |
| Ensemble 合奏 | ||
| 48 | 弦乐合奏 1 | String Ensemble 1 (slow) |
| 49 | 弦乐合奏 2 | String Ensemble 2 (fast) |
| 50 | 合成弦乐 1 | Synth Strings 1 |
| 51 | 合成弦乐 2 | Synth Strings 2 |
| 52 | 人声"啊" | Choir Aahs |
| 53 | 人声"呜" | Voice Oohs |
| 54 | 合成人声 | Synth Voice |
| 55 | 管弦乐强奏 | Orchestra Hit |
| Brass 铜管 | ||
| 56 | 小号 | Trumpet |
| 57 | 长号 | Trombone |
| 58 | 大号 | Tuba |
| 59 | 弱音小号 | Muted Trumpet |
| 60 | 圆号 | French Horn |
| 61 | 铜管组 | Brass Section |
| 62 | 合成铜管 1 | Synth Brass 1 |
| 63 | 合成铜管 2 | Synth Brass 2 |
| Reed 簧片 | ||
| 64 | 高音萨克斯 | Soprano Sax |
| 65 | 中音萨克斯 | Alto Sax |
| 66 | 次中音萨克斯 | Tenor Sax |
| 67 | 上低音萨克斯 | Baritone Sax |
| 68 | 双簧管 | Oboe |
| 69 | 英国管 | English Horn |
| 70 | 巴松管 | Bassoon |
| 71 | 单簧管 | Clarinet |
| Pipe 管乐 | ||
| 72 | 短笛 | Piccolo |
| 73 | 长笛 | Flute |
| 74 | 竖笛 | Recorder |
| 75 | 排箫 | Pan Flute |
| 76 | 吹瓶 | Blown Bottle |
| 77 | 尺八 | Shakuhachi |
| 78 | 哨子 | Whistle |
| 79 | 陶笛 | Ocarina |
| Synth Lead 合成主音 | ||
| 80 | 方波主音 | Lead 1 (square) |
| 81 | 锯齿波主音 | Lead 2 (sawtooth) |
| 82 | 卡利欧主音 | Lead 3 (calliope) |
| 83 | 气声主音 | Lead 4 (chiff) |
| 84 | 铿锵主音 | Lead 5 (charang) |
| 85 | 人声主音 | Lead 6 (voice) |
| 86 | 五度主音 | Lead 7 (fifths) |
| 87 | 贝斯主音 | Lead 8 (bass + lead) |
| Synth Pad 合成背景 | ||
| 88 | 新世纪音垫 | Pad 1 (new age) |
| 89 | 温暖音垫 | Pad 2 (warm) |
| 90 | 复合成音垫 | Pad 3 (polysynth) |
| 91 | 合唱音垫 | Pad 4 (choir) |
| 92 | 弓弦音垫 | Pad 5 (bowed) |
| 93 | 金属音垫 | Pad 6 (metallic) |
| 94 | 光环音垫 | Pad 7 (halo) |
| 95 | 扫频音垫 | Pad 8 (sweep) |
| Synth Effects 合成效果 | ||
| 96 | 雨声 | FX 1 (rain) |
| 97 | 音轨 | FX 2 (soundtrack) |
| 98 | 水晶 | FX 3 (crystal) |
| 99 | 氛围 | FX 4 (atmosphere) |
| 100 | 明亮 | FX 5 (brightness) |
| 101 | 小妖 | FX 6 (goblins) |
| 102 | 回声 | FX 7 (echoes) |
| 103 | 科幻 | FX 8 (sci-fi) |
| Ethnic 民族乐器 | ||
| 104 | 西塔琴 | Sitar |
| 105 | 班卓琴 | Banjo |
| 106 | 三味线 | Shamisen |
| 107 | 古筝 | Koto |
| 108 | 卡林巴 | Kalimba |
| 109 | 风笛 | Bagpipe |
| 110 | 提琴 | Fiddle |
| 111 | 山奈 | Shanai |
| Percussive 打击乐器 | ||
| 112 | 叮当铃 | Tinkle Bell |
| 113 | 阿哥哥铃 | Agogo |
| 114 | 钢鼓 | Steel Drums |
| 115 | 木鱼 | Woodblock |
| 116 | 太鼓 | Taiko Drum |
| 117 | 旋律鼓 | Melodic Tom |
| 118 | 合成鼓 | Synth Drum |
| 119 | 反转镲 | Reverse Cymbal |
| Sound Effects 音效 | ||
| 120 | 吉他品弦声 | Guitar Fret Noise |
| 121 | 呼吸声 | Breath Noise |
| 122 | 海浪 | Seashore |
| 123 | 鸟鸣 | Bird Tweet |
| 124 | 电话铃 | Telephone Ring |
| 125 | 直升机 | Helicopter |
| 126 | 掌声 | Applause |
| 127 | 枪声 | Gunshot |
—— 极简 · 专注 · 在浏览器里写 MIDI