MIDI 鼓垫 · 音符映射 · 路由排错
MIDI 鼓垫打出错音或没声音?逐垫一击映射检查法
如果一个鼓垫每次都稳定地把 snare 打成 tom,它可能没有坏,而是发送端和接收端对同一个音符的含义不一致。先按固定顺序采集每个实体鼓垫的一次干净敲击,再只修复证据第一次对不上的那一层。
范围说明:本文是一套兼容 MIDI 1.0 思路、与具体设备无关的诊断流程。MIDI monitor、Learn Note、Receive Note、Preview 是不同软硬件中的控制示例,不代表每个产品都提供相同菜单。改映射前请保存控制器预设和音源 patch;General MIDI 只可作为初始假设,不能证明自定义鼓组实际用了哪张表。
打开空白 MIDI 片段或监视器;若 Note Repeat、琶音等功能已开启,先关闭。按固定顺序让每个实体鼓垫只敲一下,记录正力度 Note On 的数字音符编号、通道和实际发出的声音;同时单独点击接收音源的试听按钮。完全没有敲击事件,先查控制器与输入路由;有事件但无声,先查接收端的音符/通道映射或音频路径;稳定打出同一个错音,通常说明两张映射表不一致。
一个鼓声背后有四层不同的映射
MIDI 是控制数据,不是鼓声音频。MIDI Association 的 MIDI 1.0 消息摘要显示,Note On 包含通道、音符编号和力度;接收端的鼓音源再决定哪个 chain 或 pad 接收该音符,以及那个目标播放什么声音。若把这些统称为“鼓垫分配”,排错很容易变成四处乱改。
1. 实体鼓垫与预设
切换 bank、scene、program 或用户预设后,同一块实体鼓垫可能发送不同数据。先按物理位置编号,不要直接拿“kick”当它的身份。
2. MIDI 消息
最有用的地址是“数字音符编号 + 通道”。力度也要记录,但面对稳定的错音问题,不要同时改 velocity curve。
3. 接收端分配
Drum rack 或 mapped instrument 决定哪个输入音符到达哪个目标。Ableton 使用 Receive note;Logic 的 Drum Machine Designer 则可设置 pad input note。
4. 声音与音频路径
目标 pad 仍需加载声音、接到可听输出,也不能处于意外 mute。先用音源自身的试听控制确认它能发声,再追查 MIDI。
先记数字,再记 C1、C2 之类的名称
不要只写 C1、C2 或 C3。MIDI Association 的音符编号表并列展示了同一数字音符的多种八度命名方式;两个软件可能显示不同八度名称,却在数字编号上完全一致。记录表先写整数,显示名称只用于帮助辨认当前软件界面。
通道 10 是惯例,不是万能修复开关
MIDI 1.0 提供 16 个逻辑通道。Apple 把通道 10 列为兼容 GM 的声音模块示例;Roland V31 中文手册则要求传入消息匹配目标 pad 的音符编号与通道设置。更一般地说,发送地址必须能被接收端当前配置接受或映射;自定义 rack 可能使用其他通道,也可能接收全部通道。先测出目标配置,不要不加判断地把所有设备改成通道 10。
逐垫只敲一次,完成记录前不要边听边修
- 冻结当前设置:复制工程或另存版本,记下控制器 bank/预设与接收音源 patch;关闭 transpose、scale、repeat、randomize 等会转换或生成额外音符的 MIDI 处理。
- 先证明接收端能响:逐个点击目标 pad 的 preview / audition。若目标 snare 自己试听都无声,先处理样本、mute 或音频路由。
- 建立空白采集:输入只选目标设备和轨道,打开录音或可靠 MIDI monitor,并停止其他 clip 与 sequencer。只把力度 1–127 的 Note On 计作敲击开始。MIDI 1.0 也允许用力度 0 的 Note On 表示 note-off;有些 monitor 会把它改标为 Note Off,有些保留原消息。两种释放形式与 aftertouch 都不能算作第二次敲击。
- 确定物理顺序:把控制器的 N 块鼓垫从左下到右上标为 P01–PN,也可使用设备印刷编号;16 垫网格对应 P01–P16。全程停留在同一 bank,每块用舒适的中等力度敲一下,敲击之间留出间隔。
- 只抄事实:每次记录是否看到事件、数字音符编号、界面显示名称、通道、大致力度、接收目标和听见的结果;整张表完成前不改名也不 remap。
- 原顺序再做一遍:映射不一致应稳定复现相同地址;若是间歇漏击或重复事件,就应进入另一条诊断路径。
| 实体鼓垫 | Bank / 预设 | 有敲击事件? | 音符编号 | 显示名称 | 通道 | 预期 → 实际 |
|---|---|---|---|---|---|---|
| P01 | ____ | 有 / 无 | ____ | ____ | ____ | Kick → ____ |
| P02 | ____ | 有 / 无 | ____ | ____ | ____ | Snare → ____ |
| P03 | ____ | 有 / 无 | ____ | ____ | ____ | Closed hat → ____ |
| P04 | ____ | 有 / 无 | ____ | ____ | ____ | Open hat → ____ |
| P05–PN | ____ | ____ | ____ | ____ | ____ | 剩余每块各写一行 |
不要用听见的声音替代音符身份。“P01 发出 kick”只描述当前音源 patch;“P01 在通道 10 发送音符 36”才描述采集到的消息。把两者分开,记录表才能跨鼓组复用。
按审计结果,只选择下一项受控测试
| 观察结果 | 优先假设 | 下一项测试 | 暂时不要做 |
|---|---|---|---|
| 所有鼓垫都没有正力度 Note On | 输入端口、轨道监听、控制器模式、线缆或连接不对 | 输入只选该设备,核对系统或 DAW 输入指示,再一次只换一条连接或路由 | 编辑鼓音符映射 |
| 有事件;接收端直接试听正常;实体鼓垫却无声 | 接收端没有监听该音符/通道,或 MIDI filter 拦截 | 把采集编号与通道同目标 receive 设置逐项对照;若软件提供 all-channel 输入,可临时用于定位 | 没核对地址就换样本 |
| 每次都稳定发出同一个错误鼓声 | 发送端与接收端的音符映射固定错位 | 试听正确目标,记下它的 receive number,只在一端修改一次 | 改灵敏度或敲得更重 |
| 一个正力度 Note On 触发两个接收端声音 | 两个目标共享同一 receive note,可能是有意或意外 layer | 找出该编号下所有 chain,逐个 solo,再明确保留叠层或拆分 | 直接认定控制器发了两个事件 |
| 一次实体敲击录到两个以上正力度 Note On | Note Repeat、MIDI 生成器、重复路由或触发问题 | 比较时间戳和音符号,关闭转换,在最简单路由中复测 | 一直 remap 到只剩一个声音可听 |
| 切换 bank 或重开后映射变化 | 加载了不同控制器预设,或编辑的 patch 未保存 | 重新加载有明确名称的预设与工程,先复测最多前四块鼓垫,再做全盘扫描 | 保留没有文档的临时转换 |
若音符与通道正确,但轻击消失、重击换成另一层样本,或一次敲击间歇性重复,就应转向力度与触发诊断,而不是继续改映射。文末关联的 20 击校准指南专门处理这类不同问题。
只选一个映射真源:控制器或接收端
希望实体布局跨项目复用,就改控制器
如果控制器能安全保存具名预设,而且你希望 P01–PN 在多个工程或音源中都发送同一组地址,可把接收端记录的数字音符写入控制器并另存新预设。断电重开或重新连接后,先复测最多四块鼓垫。除非手册明确可恢复,不要覆盖 factory preset。
鼓组只服务当前工程,就改接收端
控制器固定、多人共用或很难编辑,或者工程本来就要有意叠层时,改接收端通常更简单。Ableton 的 Receive chooser 与 Logic 的 input-note assignment 都是官方的接收端映射实例。完成后用新名称保存 rack、kit 或 patch,控制器保持不变。
避免两层看不见的转换
两条路线都能工作;最脆弱的是控制器暗中 transpose 一次,接收端又 remap 一次,最终没人知道哪份文件拥有布局。随预设保留一张极小清单:实体鼓垫、发送编号/通道、接收目标、预设名和复核日期。
Default Drum Note Map Profile 改变了什么?
MIDI Association 已发布 Default Drum Note Map 的 MIDI-CI Profile,映射源于长期通用、后来被 General MIDI 标准化的一组鼓音符分配。这项互操作工作很有价值,但“标准存在”不等于你的控制器、接口路径与音源已经支持并使用它。面对现有 MIDI 1.0 预设和自定义 rack,仍应分别查看两端手册,并以实测一击表为准。
用全盘扫描、一小节节奏和重载完成复核
- 扫描门禁:若有 N 块实体鼓垫,从 P01 到 PN 再返回,应得到预期的 2N 个正力度 Note On,没有漏项或额外敲击事件。
- 地址门禁:每个实体鼓垫在两遍中报告相同的数字音符与通道。
- 目标门禁:音源直接 preview 与映射后的实体敲击到达同一个预期声音。
- 持久化门禁:保存并重新加载预设与工程后,前四块鼓垫仍然通过;若 N 小于 4,则复测全部。
然后打一小节能清楚区分四个核心目标的节奏;速度保持舒适。这里检查的是声音身份,不是给 timing 打分。
1 & 2 & 3 & 4 &K h S h K h S OP1 P3 P2 P3 P1 P3 P2 P4图例:K = kick;S = snare;h = closed hi-hat;O = open hi-hat。请把 P1–P4 换成自己记录表中的实体位置。若开闭镲映射正确,却不能互相截断,再把接收端 choke / exclusive group 作为独立问题检查。
- 第一遍,看 monitor:只确认地址序列,不评价手感。
- 第二遍,关闭 monitor:用耳朵辨认八个声音。稳定替换指向映射;间歇漏击不应直接归因于映射。
- 第三遍,重载:保存、关闭、重新打开后再打一遍。只存在于未保存编辑器窗口里的修复还没有通过。
常见问题
为什么一个软件写 C1,另一个却写 C2?
不同软件采用的八度命名约定可能不同。比较数字 MIDI 音符编号和通道;若两者一致,仅文字标签不同并不能证明真的相差一个八度。
所有鼓控制器都该使用 MIDI 通道 10 吗?
不是。通道 10 是熟悉的 General MIDI 鼓类惯例,不是自定义音源的通用要求。发送端与接收端需要兼容的通道配置;记录实测通道,不要预设答案。
应该改硬件,还是改 plug-in?
如果目标是让一套实体布局跨工程复用,而且控制器预设可安全编辑,就改控制器;若鼓组只用于特定工程、需要叠层,或控制器固定,就改接收端。只选择一个有文档的转换拥有者。
为什么一块鼓垫会发出两个声音?
先看采集到的敲击事件:一个正力度 Note On 却有两个声音,通常是两个接收目标共享输入音符;两个正力度 Note On 则应向上游排查 repeat、重复路由、生成器或触发行为。不要把释放消息算进去。
力度会不会让“错误”声音出现?
力度可能选择另一 velocity layer,也可能被 velocity zone 过滤;但若每种力度都稳定发出同一个错误鼓件,它不是首要解释。先确认音符和通道,再分别测试轻击与重击。
来源与访问日期
这些来源支持 Note On 字段、不同音符命名约定、音符/通道匹配、接收端映射、输入音符叠层与当前 Default Drum Note Map Profile。逐垫一击表、症状矩阵、映射真源选择与复核门禁是 FingerDrum 编辑团队基于这些事实整理的原创框架。
- MIDI Association — Summary of MIDI 1.0 Messages(访问于 2026-07-18)
- MIDI.org 开发者论坛 — Zero-Velocity Note On(MIDI 1.0 规范讨论)(访问于 2026-07-18)
- MIDI Association — Microtuning and Alternative Intonation Systems(MIDI 音符编号表)(访问于 2026-07-18)
- MIDI Association — MIDI-CI Profile for Default Drum Note Map(访问于 2026-07-18)
- Roland V31 参考手册 — 为每个打击垫进行 MIDI 传输/接收设置 (KIT MIDI)(访问于 2026-07-18)
- Ableton Live 12 参考手册 — Instrument, Drum and Effect Racks(访问于 2026-07-18)
- Apple 支持 — Mac 版 Logic Pro 环境中映射的乐器(访问于 2026-07-18)
- Apple 支持 — 在 Mac 版 Logic Pro 中创建和自定义 Drum Machine Designer 架子鼓(访问于 2026-07-18)