Note Repeat · 节奏细分 · 原始 MIDI · 边界排错

Note Repeat 换细分为什么会多打一击或漏一击?四拍 MIDI 边界测试

一条滚奏在持续固定 rate 时正常,持续按住 Pad 切换速率却可能在数字拍附近多一击、少一击,或只是声音拖尾让人误判。先编出一小节目标 T,再以 B0 → C → B1 的顺序录原始 MIDI:四个半开拍窗应分别容纳 2、4、3、2 个 Note On,共 11 个;下一小节第 1 拍只作右边界锚点,不混进得分。

适用范围:这是一项面向支持 Note Repeat、能在持续按住时切换 rate、并能捕获或监视其原始 MIDI 输出的外部硬件或软件系统的诊断流程。本文只把这些行为归给文中列明的外部产品,不把 Note Repeat 描述为 FingerDrum 的内建能力。厂商文档会说明各自的可选细分、按住/锁存、力度或 gate 控制,但并没有跨产品共同保证“mid-hold 换 rate 时如何重新定相”。11 击是本文预先声明的编程目标,不是所有设备规格。T/B0/C/B1、半开窗口、右边界锚点、对照矩阵和停止规则是 FingerDrum 的原创综合;没有通用 BPM、毫秒容差或指法。

边界只归一边:目标 T 让新 rate 取得数字拍

把每拍写成 [本拍拍点, 下一拍拍点):包含左端,不包含右端。按这个测试目标,第 2、3、4 拍上的事件都归切换后的新 rate;下一小节第 1 拍也不属于第 4 拍窗口。这样,边界 Note On 不会被旧、新两段各算一次。连续一小节的目标是 1/8 → 1/16 → 1/8T → 1/8,计数为 2 + 4 + 3 + 2 = 11

先区分四种证据:本文只用 onset 给 11 击计数

MIDI Association 把 Note On、Note Off 与力度作为可区分的消息或数据。Apple 的 Logic Pro 中文手册也把 Note Repeat 的速率、力度与门时长列为不同参数。因此,本文说“多一击”时,严格指测量窗内多了一个同音符、同通道的有效 Note On 起点(onset);不是音符画得更长、力度变了,或混响多响了一会儿。

证据层本轮记录什么不据此增加击数
Onset / Note On时间位置、音符编号、通道,以及监视器解析出的有效起音MIDI 1.0 中以 velocity 0 Note On 编码的释放事件
Gate / 音长Note On 到对应释放事件的显示长度长条跨过边界,或 Note Off 恰在边界
Velocity / 力度每个 Note On 的力度值,另列观察同一击因压力改变而更响
音频尾音干声衰减、混响、延迟、voice 交叠没有新增 Note On 的第二个峰或尾巴

先保存未量化的 MIDI。输入量化可能把边界前后的起点吸到同一拍点,删除你要检查的微小先后;音频则可能把两个很近的起点揉成一声。以录音端对当前 MIDI 版本的解析结果为准;若查看 MIDI 1.0 原始消息,不要把 velocity 0 的 Note On 释放编码再算成一次起音。原始事件是第一份证据,量化副本与音频只做后续解释。

T:不用 Note Repeat,先编出唯一的四拍目标

在一个 4/4 MIDI clip 中手动画出同一音符、同一通道的目标 T。关闭 Note Repeat,并让每个 Note On 的力度一致;gate 只需在当前工程内统一且短于最密的相邻间隔,不必换算成通用毫秒。再在下一小节第 1 拍画同一音符,标成 X 右边界锚点。T 画面共有 12 个起点,但评分区间 [本小节第 1 拍, 下一小节第 1 拍) 只有 11 个。

半开窗口目标 rateNote On 位置计数
[1, 2)1/811&2
[2, 3)1/1622e2&2a4
[3, 4)1/8T第 3 拍及该拍内第二、第三个八分三连音点3
[4, 下一小节 1)1/844&2
下一小节第 1 拍X右边界锚点;保留在画面中不计

这里的“新 rate 取得左端边界”是测试判定规则,不是对设备内部调度器的描述。T 回答“我们想得到什么”;捕获 C 才回答“这套系统实际做了什么”。若你的编辑器把三连音显示为 tick 或其他拍内单位,只要三点等分一个四分音符拍,并仍用音乐位置报告即可。

录音前冻结变量,不把别的节奏功能带进来

  1. 固定时钟:全程使用同一 4/4 工程、同一主时钟与同一同步来源。选择便于你操作和查看的速度即可,不公布“正确 BPM”。
  2. 固定路径:同一 Pad、MIDI 音符编号、通道、轨道、音源与监听路由;使用 momentary / 非锁存模式,让 C 由实际持续按住来定义;系统若做不到,这项精确测试便不适用。记录设备、版本和当前 rate 显示;若系统能输出 rate 控制事件,同时记录它的音乐位置,否则结论只能覆盖整套操作手势。
  3. 关闭位移器:关闭 swing、groove、humanize、随机概率、琶音,以及录入或回放量化。若某项无法关闭,就把它写进范围,不能再把结果称为直网格测试。
  4. 保留原始 take:让记录端接收 Note Repeat 生成后的 MIDI,而不是只录按住 Pad 的单个输入音符。看不到生成后的 Note On,就不能完成本文的 11 击检查。
  5. 分开声音与事件:先用短、清楚、无延迟效果的音色监听,但以 MIDI 列表或 piano roll 计数;不要为了“听清”先改 gate、包络或量化。

Ableton Push 文档说明,按住 Pad 可播放或录制节奏均匀的重复音符,压力可以改变重复音符的力度,Swing 与 Tempo 也会影响结果;Apple 则把速率、力度与 gate 分开。冻结这些变量能减少无关差异,但仍不能排除 C 中一次性的时钟、路由、控制或操作偏差。

B0:每个固定 rate 至少持续三拍,只评分中间完整拍

连续切 rate 之前,先检查固定 rate 能否重复地产生目标密度。为 1/8、1/16、1/8T、1/8 分别录一个独立块;每块让 Pad 在三个完整拍窗内持续按住,只评分中间那拍。第 4 拍专作不评分的释放牺牲窗,第 5 拍才观察是否出现新的残留 onset。第一拍吸收按下/启动边界,第三拍把评分窗与释放动作隔开,第 4 拍又把释放边界移出残留检查。

固定 rate 块三拍持续按住只评分第 2 拍第 4 拍释放;第 5 拍观察
1/8(开头控制)第 1–3 拍保持2 个 onset第 5 拍应无新 onset
1/16第 1–3 拍保持4 个 onset第 5 拍应无新 onset
1/8T第 1–3 拍保持3 个 onset第 5 拍应无新 onset
1/8(结尾控制)第 1–3 拍保持2 个 onset第 5 拍应无新 onset

四个中间评分窗分别通过 2/4/3/2,第 4 拍释放后,第 5 拍又没有新 Note On,B0 才通过。若固定 1/8T 的中间拍不是三击,或第 5 拍仍继续生成事件,只能说这套固定-rate 手势没有通过本文基线;先检查 rate、momentary/hold、时钟或路由,暂不运行 C。Ableton Note、Yamaha FGDP-50 与 M-Audio Oxygen Pro 的资料都列出直拍与 T 三连音细分,但这些列表只证明各自产品提供相应选项,不替你的系统保证输出。

C:持续按住一小节,只在数字拍切 rate

  1. 预置 1/8:打开原始 MIDI 录制并给一个不量化的 count-in。在评估小节第 1 拍按下目标 Pad。
  2. 保持接触:从第 1 拍一直按到下一小节第 1 拍之后;中途不松开、不重击,也不换 Pad。
  3. 只在数字拍换值:第 2 拍选 1/16,第 3 拍选 1/8T,第 4 拍回 1/8。不要在 e&a 或三连音中点切换。
  4. 固定右侧余量:持续录过下一小节第 1 拍,并再保持至少一个当前 1/8 rate 的完整间隔后释放;不要把“看见 X”当成释放提示。若 C 的计数和相位已经符合 T,下一首拍的同音符 Note On 标成 X;它只验证调度跨过评分窗右边界,不属于 11 击评分窗,也不测试释放后的停止行为。
  5. 不先修:保存 C-raw,再复制为工作副本。不要拖动、删重、量化或合并边界事件。

若界面要求另一只手操作 rate、另有锁存选项,或允许外部控制器切换,请选择能稳定复现的方式、保持锁存关闭并记录;本文不规定指法。若系统无法在保持同一 Pad/音符的同时切 rate,它不适用于这个 mid-hold 测试,不应靠松开重按伪造 C。M-Audio 的文档明确允许在 Note Repeat 激活时改变 time division,但没有承诺改变发生在一拍边界时会如何重新定相;这正是要用原始 MIDI 测的未知项。

B1:重做持续固定-rate 基线,先看前后能否重复

C 后立即重做四个“三拍保持、只评分中间拍、第 4 拍释放、第 5 拍观察”的 B1 块。不要复制 B0 的 MIDI;重新操作可以发现 rate 选择没有回到预期、momentary 状态改变、时钟失步或 Pad 释放行为变化。先逐块比较 B0 与 B1,再把 C 与 T 比较。

不要只看总数:让第一处半开窗口差异决定下一轮

按下表从上往下判断,命中第一行就停止;这样每次只得到一个主结果。B0/B1 不一致优先于基线失败,基线优先于 C,C 的每窗计数优先于相位,相位又优先于右边界 X。若首个差异窗少击或多击,同时记录与 T 的有符号差值,不用后续连锁差异再贴第二个标签。

原始 MIDI 结果可支持的判断下一轮只做什么
B0 与 B1 不一致控制状态不稳定,C 暂不可解释恢复同一时钟、锁存与 rate 状态后重做整组
B0 与 B1 一致,但两者都偏离固定-rate 目标计数,或释放牺牲窗后的第 5 拍仍有新 onset固定-rate 手势没有通过本文基线,C 暂不评分检查 rate、momentary、时钟与路由;记录观察,不强迫它通过
两份基线通过,但 C 的第 1 拍入口先偏离 T差异先出现在按下/启动手势,尚未发生 mid-hold 切换单独重做 C 的入口,并记录按下与首个 onset
两份基线通过;C 的首个差异窗比 T 少击或多击本次完整手势在该边界附近出现 onset 缺额或盈余,不等于已经找到内部原因记录有符号差值,只重复该一处转换并保留控制事件
四窗计数均为 2/4/3/2,但一个或多个 onset 的拍内相位不同于 T计数通过,相位没有符合本文声明的目标保存相位图样,查该产品文档或支持;不要转判 X 缺失
四窗计数与相位都通过、捕获已越过下一首拍,但 X 缺失或被算进第 4 拍声明的右边界目标未通过,或半开窗口归属用错以固定录音余量只重做最后一个边界
onset 检查通过,只有音长或力度突变gate、压力/触后或力度映射改变,不是多击/漏击另开 gate/velocity 测试,11 击结论保持独立
MIDI onset、音长与力度检查通过,音频仍像多响一次采样尾音、效果、voice/retrigger 或瞬态形状仍是候选旁路效果并渲染干声,不移动 MIDI
每窗 2/4/3/2、相位符合 T、X 存在此版本、时钟与完整操作手势符合本文目标保存证据;不要推广成所有设备规格

厂商对 rate 选择、按住触发、力度和 gate 的说明各有范围;本文查阅的页面没有给出跨设备通用的 mid-hold phase reset 规则。因此,报告应包含版本、时钟来源、B0/C/B1 原始文件、每窗计数与相位、X 是否存在、rate 控制事件能否捕获,以及哪个边界最先稳定偏离。

为什么不能先量化,再数 11 击?

量化会改写你正在测的起点位置:边界前后的两击可能被吸到一起,也可能被分开。先数原始 MIDI,再在副本上量化,才能分别回答“生成器输出了什么”和“编辑后要保留什么”。

1/8T 为什么一拍是 3 击?

本文把 1/8T 定义为八分音符三连音:一个四分音符拍被等分成三个起点窗口。Yamaha 的中文指南也把带 T 的值说明为对应时值的三连音;这不等于它承诺切换瞬间的相位。

听见两下,就一定有两个 Note On 吗?

不一定。音色可能有双瞬态、delay、release 或重触发行为;反过来,两个靠得很近的 Note On 也可能听成一下。先看事件,再看干声与湿声。

这是 FingerDrum 的内建功能教程吗?

不是。本文不把 Note Repeat 归为 FingerDrum 的内建能力;它提供的是测试支持 Note Repeat 的外部系统时可复用的 MIDI 边界方法。

来源与访问日期

Ableton Note 中文手册说明可按住 Pad 按所选节拍单位重复;Push 中文手册说明按住 Pad 可播放或录制均匀重复音符,并把压力、Swing 与 Tempo 作为相关变量;Apple 中文手册把传入 MIDI 的重复速率、力度与 gate 分开;Yamaha FGDP-50 中文指南记录其 NoteRepRat、当前速度、直拍/三连音值与 hold 行为;M-Audio 列出 Oxygen Pro 的 time divisions,并说明激活 Note Repeat 时可改值;MIDI Association 区分 Note On、Note Off 与力度。它们都没有规定 T/B0/C/B1、半开窗口、2/4/3/2 门槛、11 击总数或 X 右边界锚点,也没有形成所有产品共同的 mid-hold 重新定相承诺。

  1. Ableton —《Ableton Note Manual》:Pad 的 Repeat 节拍单位(访问于 2026-08-15)
  2. Ableton —《Push 3 Manual》:使用重复模式进行录音(访问于 2026-08-15)
  3. Apple —《在 Mac 版 Logic Pro 中使用音符重复》(访问于 2026-08-15)
  4. Yamaha —《FGDP-50 用户指南》:演奏打击垫时的音符重复(访问于 2026-08-15)
  5. M-Audio — Oxygen Pro Series: Note Repeat Time Divisions(访问于 2026-08-15)
  6. The MIDI Association — About MIDI, Part 3: MIDI Messages(访问于 2026-08-15)