MIDI 力度 · 音符概率 · 鼓点变化
MIDI 鼓点变轻还是偶尔不响?Velocity 与 Note Chance 五版本测试
降低 Velocity 和降低 Note Chance 解决的是两类问题。把网格、音色与骨架击打锁住,只让一行装饰打击乐变化,就能证明改变的是起音数值、事件是否出现,还是两者同时变化。
范围:这是面向“已明确支持逐音符或逐步播放概率”的 MIDI 音序器测试,不主张所有音序器采用相同随机过程、概率分组、导出行为或术语。FingerDrum 当前不提供 Note Chance 编辑器。文末资料支持标准 Note On 力度与 Ableton、Apple、Native Instruments 对应功能的既有行为。固定 16 格、A0→V→C→B→A1 对照、锚点规则、出现—数值账本、诊断代码与停止条件,是 FingerDrum 编辑团队的原创综合。本文不给出通用力度数字,不把随机等同于“真人感”,也不设所谓最佳概率。
Note On 携带音符编号与力度。接收端鼓音源通常用力度表达相对起音强弱,也可能采用其他映射或忽略它。Note Chance 则是音序器在 Pattern/循环播放时做的决定:某个候选事件在这一轮产生音符,或不产生。50% Chance 不是“一半音量”,也不是“严格隔轮播放”。先让底鼓、军鼓与脉冲锚点保持 100%,只在装饰事件上学会区分两者。
位置、出现、力度、接收端响应与时序必须分开
MIDI Association 对 Note On 的说明包含音符编号和力度,接收端通常用力度控制相对振幅;这不等于固定的分贝变化。具体音色决定一个力度值怎样起作用,所以同一输入在两种鼓声上可能有不同结果。Apple 的 Step Sequencer 文档也说明,力度通常影响起音响度,但若 Patch 做了别的映射,也可能控制其他参数。
| 轴 | 它回答什么 | 可观察证据 | 本测试是否锁定 |
|---|---|---|---|
| 位置 | 候选事件排在哪一格? | 格号或起音时间 | 是 |
| 出现 / Chance | 这一轮是否播放该候选? | 音符事件存在或缺席 | 只有 C、B 改变 |
| Velocity | 已播放音符携带什么非零力度? | 捕获到的 Note On 力度 | 只有 V、B 改变 |
| 接收端响应 | 音源如何解释这个数值? | 有文档的映射响应,或没有听觉差异 | 全程使用同一 Patch |
| 时序变化 | 起音是否被移动? | 时间戳或格点偏移变化 | 是;必须关闭 |
这些资料还能支持一个有边界的推断:标准 Note On 文档列出音符编号与力度,而 Note Chance 出现在各家音序器的编辑功能中。因此,不要默认概率设置会作为通用字段跟随每一种 MIDI 交接。需要精确复现时,应保留源工程,并另行捕获一次实际播放结果。这里明确写作“推断”,不是新增 MIDI 规范结论。
把 A0 搭成确定性的 16 格 Loop
使用一小节直十六分网格与四个短促、可区分的音色。测试中不要加入 Swing、时序随机、Note Repeat、Round-robin 变化、力度处理或总线效果。底鼓、军鼓和闭镲是骨架;最后一行打击乐是唯一变化候选。
| 格 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 底鼓 K | x | . | . | . | . | . | . | . | x | . | . | . | . | . | . | . |
| 军鼓 S | . | . | . | . | x | . | . | . | . | . | . | . | x | . | . | . |
| 闭镲 H | x | . | x | . | x | . | x | . | x | . | x | . | x | . | x | . |
| 装饰 P | . | . | . | x | . | . | . | x | . | . | . | x | . | . | . | x |
A0 每轮有 12 个骨架事件和 4 个 P 事件,共 16 个分声部事件。给四个 P 使用同一个、接收端能明确注册的非零中间力度。录四轮,把回放/输出记录在概率判定之后,而不是查看源 Clip 储存的音符表。每个捕获到的循环都必须是 K 在 1/9、S 在 5/13、H 在所有奇数格、P 在 4/8/12/16。修改前先保存或复制这份对照。
把概率端点当成接线测试
在听 50% 之前,先证明自己选对了声部和参数。只把四个 P 事件设为 0%,跑四轮:判定后的回放捕获每轮必须保留恰好 12 个骨架事件,且完全没有 P 的 Note On。再把同四个 P 设回 100%:每轮必须恢复四个 P,总数回到 16;位置与力度都应等于 A0。
- 0% 门:P 缺席,K、S、H 完整。若骨架也消失,选区或概率分组超出了预期。
- 100% 门:P 每轮出现四次。若不满足,先解决静音、路由、映射或捕获问题,不要讨论随机。
- 数值门:100% 时 P 的捕获力度等于 A0。概率编辑不应在未记录的情况下同时改动力度。
- 位置门:所有实际播放的事件仍在原格。关闭会同时改变 Timing 或 Note Length 的 Variation 工具。
两个端点是确定性对照,用来证明配置链,不评判概率是否“好听”。只有 0% 与 100% 两个端点都通过后,才为观察轮选择 50% 之类的中间值。
先做单变量对照,再组合与回归:A0 → V → C → B → A1
V、C、B 与 A1 都从 A0 独立复制,不要从相邻版本继续编辑。箭头只表示展示顺序。用 A0↔V 隔离力度,用 A0↔C 隔离 Chance,再从 V↔B 与 C↔B 两个单变量方向检查组合版,最后用 A0↔A1 证明回归。这样不会把 V→C 或 B→A1 误写成单变量变化。
| 版本 | P 是否出现 | P 的力度 | 预期事件证据 | 回答的问题 |
|---|---|---|---|---|
A0 | 100% | 同一个中间值 | 每轮 4 P + 12 骨架 | 基线能否稳定复现? |
V | 100% | 预先写好的轻 / 中图案 | 仍是 16 个事件;仅 P 数值变化 | Velocity 是否改变接收端响应? |
C | 中间 Chance | 恢复 A0 数值 | 骨架固定;记录 P 的实际播放结果 | Chance 是否改变事件出现? |
B | 与 C 相同 | 与 V 相同 | 缺席的 P 无起音数值;出现的 P 遵循 V | 两个维度能否干净共存? |
A1 | 100% | A0 数值 | A0 事件表完全回来 | 实验设置是否都可逆? |
在 V 中,选择当前 Patch 确实能听出差别的两个非零值,并把实际数值写进记录;不存在通用的 Ghost 或 Accent 数字。让 P4/P8/P12/P16 交替轻、中,同时保留每个事件。在 C 中,先把力度恢复为 A0 的单一数值,再降低 Chance,避免把非常轻的存活事件误判为漏击。
B 是最后才做的可选组合。读证据时有严格顺序:先问这一轮有没有 P;只有存在,才读取它的力度。不要给缺席事件填入 0 或虚构数值。最后,A1 必须在位置、数量与数值上复现 A0,而不只是“听起来差不多”。
观察 16 轮,但不要要求 50% 在 64 次机会中恰好命中 32 次
Ableton 的官方 FAQ 明确指出,50% Note Chance 不代表严格每两次播放一次,并说明普通同概率音符会按事件分别计算。Native Instruments 对 Maschine 3.7 的说明则写明,中间概率会在每轮重新抽取。这些事实支持多轮观察,不支持短样本必须达成固定配额;其他工具仍可能另有分组或条件规则。
| 轮次 | 骨架实测 / 12 | P4 | P8 | P12 | P16 | 已出现 P 的力度 | 第一个失败 |
|---|---|---|---|---|---|---|---|
| 1 | ___ / 12 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | ___ | ___ |
| 2 | ___ / 12 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | ___ | ___ |
| 3 | ___ / 12 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | ___ | ___ |
| 4 | ___ / 12 | 0 / 1 | 0 / 1 | 0 / 1 | 0 / 1 | ___ | ___ |
| 16 轮后 | ___ / 192(总计) | 64 次 P 机会中实际出现 ___ 次 | 异常数值:___ | ___ | |||
把轮次扩写到 16,或在概率判定之后录制输出事件表。硬条件是:16 轮共 192 个骨架事件,骨架位置与数值不变;0% 对照没有 P;100% 对照的 64 次 P 机会全部播放。50% 观察轮没有“必须等于 32”的通过条件:只记录实际播放结果,并让其他维度继续受控。有限样本不必同时包含出现与缺席。若 64 次恰好全有或全无,先复查两个端点并延长观察;不要据此断言随机引擎失效或公平。
如果你的要求是“P16 恰好每第 4 轮出现”,概率不是正确契约。应使用文档明确的 Recurrence、First Loop / Last Loop 等确定性条件,或直接写成四小节显式编排。Apple 把 Chance 与 Recurrence、First Loop、Last Loop 分开记录。此时应称为条件或编排,不要称为随机。
给第一个失效不变量命名
| 代码 | 证据 | 下一项单独检查 | 不要下的结论 |
|---|---|---|---|
ANCHOR | C 中 K、S 或 H 消失 | 检查选区范围与概率分组 | “50% 本来就会破坏 Groove” |
ENDPOINT | P 在 0% 存活,或在 100% 缺失 | 核对编辑 Lane、静音状态与 MIDI 捕获点 | 随机引擎有偏 |
VALUE | V 改变音频但捕获力度固定,或反之 | 比较接收端前 MIDI 与接收端后干声 | Velocity 永远等于音量 |
TIME | 音符离开参照格 | 关闭 Timing、Groove 或多参数 Variation | Chance 有意制造了微时序 |
GROUP | P 总是一起出现,或每轮只留一个 | 查阅该工具独立 / 分组概率设置 | 所有音序器都逐音符独立计算 |
RETURN | A1 与 A0 不同 | 恢复源副本,或撤销文档明确的 Lock/冻结操作 | 基线仍被保留 |
只有事件审计给维度命名之后,再用耳朵判断。极轻的采样可能听不见,但 MIDI 事件仍存在;缺席事件之后也可能残留混响或其他叠层声。原始 MIDI 与干声回答不同问题;当可疑边界位于音序器和音源之间时,两者都应保留。
按已记录的行为翻译工具,不要只翻译同名参数
- MIDI Association:Note On 的说明包含音符编号与力度,接收端通常用力度表达相对振幅;它没有规定本文的概率层,也没有规定通用鼓声响应。
- Ableton Live:Live 12 手册将 Velocity 与 Chance 放在独立编辑器,并把随机力度范围写作 Velocity Deviation。Live 11 FAQ 使用“Velocity Chance”这个名称,把 Note Chance 定义为音符是否播放,并明确否定“50% 就是隔次播放”。
- Logic Pro:Apple 把 Chance 与 Velocity 记录为不同的 Step Sequencer 编辑模式;Step Inspector 又把随机 Chance 与确定性的 Recurrence、First Loop、Last Loop 条件分开。
- Maschine 3.7:Native Instruments 区分“对现有音符应用播放概率”和“随机生成阶段的概率”;逐音符概率在各轮重算,而文档所称的 Lock 功能可以把选中结果冻结为固定、可编辑的 MIDI。
同名不代表行为相同。“Probability”可能表示写入多少音符、决定是否回放、从组内选一个,或改变某个参数。先跑 0%/100% 端点,检查实际事件,并写清操作是实时、分组、在判定后捕获,还是由有文档的 Lock 操作冻结。
同时保留规则与一次已经捕获的结果
带概率的源工程与捕获到的回放结果不是同一种产物。源工程保留的是一套会在后续播放中继续产生新结果的规则。只有录在概率判定之后的 MIDI/音频捕获,或产品文档明确会解析概率的 Lock/冻结操作,才能视为一次固定结果。不要默认普通 MIDI 导出或重新打开工程就会解析或保留 Chance。若协作者必须听到完全相同的 Fill,应在可编辑源文件之外再交付捕获的 MIDI 或音频,并核对事件数、位置、力度、音色和循环边界。
- 写明来源:记录音序器和版本,以及 P 使用独立、分组还是条件播放。
- 保留足够上下文:从变化段前一小节开始,到后续第 1 拍之后结束,方便核对边界。
- 保留 A0:让确定性参照与概率版本并存,不覆盖唯一对照。
- 重开验收:分别重新载入源工程与另行捕获的结果,再按账本比较首尾。
- 准确命名:写“判定后 MIDI 捕获”“工具文档明确的已锁定 MIDI”或“已渲染音频”,不要暗示概率规则本身已通用迁移。
用于 Pad 练习时,V 可以成为有意控制动态的练习,因为所有事件仍存在;C 是编曲或播放变量,不是手指控制的证据。若目标是稳定演奏某个可选 Fill,先把选中的结果写进确定性练习 Loop,再判断时序和协调。
Velocity 与 Note Chance 常见问题
降低 Note Chance 会让留下来的击打更轻吗?
不能从 Chance 单独推出这个结果。音符实际播放时,它的力度与接收端映射决定响应。先在 MIDI 中判断事件是否存在,再在音频中判断强弱。
为什么 50% 在一段里出现三次,下一段一次也没有?
因为 50% 是概率,不是固定交替安排,也不是短样本配额。先证明 0% 与 100% 的精确行为,再观察多轮,不强求正好一半。
为什么改变 Velocity 后,音色变化比电平更明显?
接收 Patch 可以把力度映射到有文档的非电平参数,也可以忽略它。记录输入数值并描述观察到的接收端响应,不要把力度写成分贝设置。
底鼓和军鼓是否永远都该保持 100%?
这是本测试的对照规则,不是通用编曲规定。保护锚点能让“出现”和“数值”之差变得可观察;后续编曲可以在独立命名的版本中有意改变骨架击打。
Note Chance 是标准 MIDI Note On 字段吗?
所引 MIDI 概览把 Note On 记录为音符编号与力度,而本文引用的 Chance 行为属于具体音序器。因此,在目标端通过对照测试前,应把可移植性视为未证实;这是基于资料的推断,不是新的 MIDI 规范声明。
当 A0 每轮稳定产生 16 个事件、只有 P 行通过精确的 0% 与 100% 对照、V 保留所有起音且只改变已声明的非零力度、C 保留全部 12 个骨架且只有 P 是否出现可以不同(不设实现数量配额)、A1 又精确恢复 A0 时停止。任一门失败,就保留最后通过的判定后 MIDI 捕获,只修一个已命名层。在第一处失败可逆之前,不加入时序随机、概率分组、新音色或更快速度。
来源与访问日期
MIDI Association 支持 Note On 与力度的区分;Ableton、Apple、Native Instruments 支持各自已命名的力度、Chance、条件与锁定行为。它们不规定本文的网格、锚点规则、五版本对照、16 轮账本、诊断代码或停止条件,也不能把某一产品行为泛化到所有音序器。
- The MIDI Association — About MIDI, Part 3: MIDI Messages(访问于 2026-10-19)
- Ableton — Live 12 Reference Manual: Editing MIDI(访问于 2026-10-19)
- Ableton — Note and Velocity Chance in Live 11 FAQ(访问于 2026-10-19)
- Apple — Edit Step Sequencer Pattern, Row, and Step Settings in Logic Pro for Mac(访问于 2026-10-19)
- Native Instruments — What’s New in Maschine 3.7?(访问于 2026-10-19)