步进音序器 · 异长循环 · Beat Making
15 步踩镲叠在 16 步鼓点上,为什么每小节错开?LCM 对齐表
当底鼓/军鼓行每 16 个十六分格回到开头,而踩镲行每 15 格就重新开始,两行没有谁“变慢”。它们共享同一个脉冲,却在不同边界循环:每过一个 16 步小节,踩镲在小节起点的内部相位前进一格;直到 LCM(15,16)=240 个共同步长后,两行才同时回到第 1 格。下面用一个 16 步对照、一个真正的 15 步实验和一张相位日历,把预期的演化与错误重启、tempo drift 或普通 loop 故障分开。
范围:本文只讨论支持逐行或逐轨独立 loop length / last step 的音序器,且两行使用同一 transport、同一 tempo、相同的 1/16 step 时值、同一起点和正向确定性播放。15 步指循环末端确实设在 local step 15;它不等于“16 步里只点亮 15 击”,也不等于第 16 格为空。本文不把这种相位循环自动命名为 15/16 拍或传统意义上的 15:16 复节奏,不规定通用 BPM,也不声称 FingerDrum 当前提供逐行独立长度。K16/H16/H15 是设备中立的教学卡,不是 FingerDrum 内建 pattern。Apple、Ableton、Novation、Roland 与 Arturia 支持本文关于独立轨长、step rate、pattern 边界和异长循环的产品事实;LCM 相位表、H16 对照、可听 tracer 与重启诊断流程是 FingerDrum 的原创综合。
先确认两行都以直十六分为一步,并把 H 行的 loop end 真正设为 15。这样 K16 每 16 步重启,H15 每 15 步重启;共同状态在 240 步后重现,即经过 15 个 16 步小节、进入第 16 小节第 1 格时重新对齐。若宿主每小节强制重启 H15,你听不到完整相位循环;若 H15 每格声音完全相同,你可能看得到相位变化却听不出来,所以需要一个固定在 H local step 1 的重音或不同音色作 tracer。
先证明它真的是 15 步循环,而不是 16 格里少一击
“事件数”和“循环长度”是两项不同的数据。一个 16 步踩镲行可以只在第 1、5、9、13 格有四击,甚至第 16 格完全为空,但它仍要等 16 个 step 才回到 local step 1。只有把该行的 end / last step / loop end 明确设为 15,它才会在第 15 格之后立即回到第 1 格。
不同产品为这项能力使用不同入口。Roland TR-8S 参考手册允许为具体 track 单独设置 Last Step;Novation Circuit Tracks 手册允许各轨 pattern 使用 1~32 步,并可独立定义 start/end;Arturia DrumBrute 的 Polyrhythm 模式允许各轨长度独立。名称相似不代表细节相同,因此先在当前工具的官方手册里确认“末端是否真的改变播放周期”,不要只凭变暗的格子或可见页数推断。
| 屏幕现象 | 真实循环长度 | 会不会产生 15-step / 16-step 相位循环 |
|---|---|---|
| 16 格中亮了 15 击 | 仅凭击数无法判断 | 无法判断;若 loop end 仍为 16,就不会 |
| 第 16 格为空 | 仅凭空格无法判断 | 无法判断;必须读取或观察真实播放边界 |
| 视图只显示前 15 格,但播放头仍经过第 16 格 | 16 步 | 不会;只是显示或折叠 |
| loop end / last step 明确为 15,播放头在 15 后回 1 | 15 步 | 会;前提是宿主不提前重启它 |
Novation 还给出一个好用的整除对照:16 步轨会在 32 步轨的一圈内完整重复两次。因为 16 整除 32,两者每 32 步就一起回到起点,不会出现长期移动。15 与 16 互不整除,才需要计算更长的共同周期。
冻结 K16/H16/H15:只让循环长度成为变量
先在副本或空白工程中建立三行。K16 是固定 16 步的底鼓/军鼓骨架;H16 是控制组;H15 从 H16 复制,只把 loop end 从 16 改成 15。不要改 hit、velocity、step rate 或音色,否则无法把差异归因于长度。
| 行 | Loop length | Local hit | 可听标记 | 用途 |
|---|---|---|---|---|
K16 | 16 | Kick 01/09;Snare 05/13 | 普通力度即可 | 固定 4/4 参照边界 |
H16 | 16 | Hat 01/05/09/13 | local 01 明确重音 | 不会移位的控制组 |
H15 | 15 | 与 H16 相同 | local 01 保留同一重音 | 唯一变量是 loop end |
- 共同时间基准:K16、H16、H15 都设为每步
1/16;不要把“15 steps”与“15 个八分音符”混在一起。 - 同一起点:三行在同一次 transport start 的 global step 0 启动,start offset / rotation 均为 0。
- 确定性播放:使用 forward;关闭 probability、random、skip、ratchet、note repeat 与 ping-pong。Swing 不改变 step 数,但为减少听觉变量,本次也固定为关闭或零。
- 足够长的容器:让容器覆盖 global step 0~240,包括作为共同回归点的 Bar 16 第 1 格。Apple 提醒,若 pattern region / cell 比完整音乐周期短,宿主可能在周期完成前截断或重启行。
- 不要覆盖源 pattern:给 H16 与 H15 分别命名并保存设置截图或参数记录,方便做 H16 → H15 → H16 回归。
如果 H15 的 15 格全是同一种闭镲、同一力度且每格都有起音,那么每次重启前后都可能听成连续十六分;row boundary 在移动,但声音具有旋转对称性。把一个明确重音、休止或不同镲音固定在 local step 1,才能听见“哪一格是 H 行自己的开头”。tracer 只用于定位,不代表推荐的编曲。
先统一 step 时值,再算最小公倍数
Apple 把 pattern length 与 step rate 列为共同决定音乐长度的基本因素。只有当两个 row 的 step 时值相同,才能直接对 step count 求最小公倍数。本例两行都用 1/16,所以:
LCM(15,16) = 240 个共同十六分 step
240 ÷ 16 = 15 个 K16 小节;240 ÷ 15 = 16 个 H15 循环。也就是说,从第 1 小节第 1 格出发,经过 15 个完整 16-step 小节后,在第 16 小节第 1 格两行再次同时处于 local step 1。
Ableton 的《Making Music》给出同一逻辑的较小例子:4-step 与 5-step 十六分循环组成的复合在 20 个十六分后重新对齐,再加入 3-step 循环则在 60 个十六分后对齐。它说明“共同起点何时回来”取决于完整长度组合,不取决于听者把哪一行当主拍。
若 step rate 不同,先换成共同时间单位。比如 8 步、每步 1/8 的行,与 16 步、每步 1/16 的行,音乐时长都等于 16 个十六分单位;不能直接把原始数字 8 与 16 当成两种相位长度。遇到 triplet、microstep 或无法换成明确共同单位的设置,先停止本表并查该工具的时间定义。
相位日历:每个 K16 小节起点,H15 的 local phase 前进一格
把 K16 小节编号记为 b,从 1 开始。它的全局起点是 (b-1) × 16;在该时刻,H15 所处的本地格为:
H phase at bar start = ((b - 1) × 16 mod 15) + 1
因为 16 mod 15 = 1,所以第 1~15 小节的起点依次遇到 H local step 1~15;第 16 小节起点重新回到 H local step 1。
| K16 小节起点 | 全局已过 step | H15 local phase | 两行都在 local 01? |
|---|---|---|---|
| Bar 1 | 0 | 01 | 是 |
| Bar 2 | 16 | 02 | 否 |
| Bar 3 | 32 | 03 | 否 |
| Bar 4 | 48 | 04 | 否 |
| Bar 5 | 64 | 05 | 否 |
| Bar 6 | 80 | 06 | 否 |
| Bar 7 | 96 | 07 | 否 |
| Bar 8 | 112 | 08 | 否 |
| Bar 9 | 128 | 09 | 否 |
| Bar 10 | 144 | 10 | 否 |
| Bar 11 | 160 | 11 | 否 |
| Bar 12 | 176 | 12 | 否 |
| Bar 13 | 192 | 13 | 否 |
| Bar 14 | 208 | 14 | 否 |
| Bar 15 | 224 | 15 | 否 |
| Bar 16 | 240 | 01 | 是 |
“移动方向”取决于观察基准。站在 K16 的每个小节起点看,H local phase 是 01 → 02 → 03;站在每次 H15 重启的位置看,它第一次在 Bar 1 step 01,下一次在同一小节 step 16,再下一次在 Bar 2 step 15,随后是 Bar 3 step 14——相对 16 格框架每次提前一格。两种说法描述同一算术,记录时必须写明视角,不能只写“向左移”。
连续捕获 240 步:先看事件相位,再听声音
先播放 H16 控制。local 01 的重音应始终落在每个 K16 小节第 1 格。然后换成 H15,不要在小节线手动 retrigger;从 global position 0 一直录到 240(共 241 个网格位置),把 Bar 16 第 1 格的共同回归也纳入。若工具能导出 MIDI、事件列表或逐步记录,先检查离散起音;音频尾音、choke、gate 与效果可能让“同一 row index”听起来不同,因此音频只能作为第二层证据。
- 起点门:global step 0 时 K16 与 H15 都是 local 01,tracer 与主小节起点同刻。
- 第一次分离:经过 15 个 step 后,H15 在 global position 15 重启;K16 Bar 2 起点位于 global position 16,此时遇到 H local 02。若 Bar 2 仍是 H local 01,宿主很可能按小节重启了它。
- 中段抽查:Bar 8 起点应是 H local 08,Bar 15 起点应是 H local 15。不要只试听开头和结尾。
- 共同回归:global step 240 / Bar 16 起点,两行再次都是 local 01。通过条件是相位表一致,不是“15 小节听起来都好听”。
- 反向对照:把 H15 只改回 length 16。tracer 应重新固定到每个小节第 1 格;若控制组仍移位,应查 transport、clock、offset 或编辑错误。
如果你只想在编曲中使用相位循环的一部分,也可以在第 4、8 或其他有意边界重启,但要把它记录为人工截断,而不是声称听完了完整共同周期。Apple 的文档明确指出,容器长度可能让行在自身周期结束前被重新启动;这正是制作选择与诊断证据的分界。
第一处与相位表不一致的位置,比“感觉漂了”更有用
| 观察 | 优先解释 | 下一项只改一个变量 |
|---|---|---|
| Bar 2 起点仍是 H local 01 | 宿主、scene、clip 或 region 每小节重新触发 H | 延长容器或关闭 relaunch,再从 global 0 重录 |
| 前几小节正确,但 240 前突然回到 01 | 中途 transport restart、follow action、短 region 或手动 launch | 标出第一处提前回位及当时的容器边界 |
| 记录到的 row phase 按别的速度移动 | step rate、真实 loop end、offset 或播放方向与合同不同 | 逐项读回设置,换成共同时间单位后重新算周期 |
| 事件表正确,但耳朵听不出移动 | H 图案具有旋转对称性,tracer 不可辨 | 只给 local 01 增加明确重音或不同音色 |
| 偶尔少击,位置不重复 | probability、random、choke 或 voice stealing | 先关闭生成/互斥变量,不能归咎于 LCM |
| H16 控制也相对 K16 漂移 | 共同 clock、tempo、launch 或同步链问题 | 回到等长控制,不继续调 H15 |
| global 240 时 row index 仍不共同为 01 | 真实长度、offset、方向或 step duration 与合同不符 | 逐行独奏并重新读参数,不用音频猜 |
这就是 15/16 拍吗?
H15 的一圈在本例确实占 15 个十六分时值,但拍号还涉及重音、分组与音乐语境。把 loop end 设为 15 只能证明循环时长,不能单独证明整段音乐应标记为 15/16。最稳妥的名称是“15-step independent-length loop”或“异长相位循环”。
这是 polyrhythm 还是 polymeter?
制造商和教材对功能标签并不完全一致:Arturia 将独立轨长功能称为 Polyrhythm,Ableton 写作 asynchronous or polyrhythmic loops,Roland 则只把对应控制描述为逐轨 Last Step。本文不靠标签完成验收,只记录共同 step 时值、各行长度、起点、方向与共同回归点;需要做音乐理论分析时,再根据实际分组和听觉层级选择术语。
相位变化是不是 tempo drift?
不是,只要两行共享稳定的 transport 与 step duration。Tempo drift 是脉冲间隔或时钟关系随时间偏离;本例每个 step 仍等长,变化的是两个循环边界的相对位置,而且回归点可以提前算出。若 H16 等长控制也逐渐偏离,就停止 LCM 实验并检查同步链。
加入第三条异长行怎么办?
先把三行时长换成同一基本单位,再求 LCM(A,B,C)。共同周期可能迅速变长;Ableton 的 4、5、3-step 示例从 20 增至 60 个十六分。若容器放不下或工具会提前重启,清楚标记“只使用局部演化”,不要把局部捕获说成完整回归。
保存 K16/H16/H15 参数、共同 step 时值、tracer 位置、LCM 计算、Bar 1~16 相位表、240-step 捕获和 H16 回归结果。这样你能判断某次变化是有意的异长演化、宿主提前重启,还是另一个 timing 问题,而不是把每次错位都叫作“loop 坏了”。
来源与访问日期
- Apple — 在 Mac 版 Logic Pro 中更改样式的音乐长度(访问于 2026-08-21)
- Ableton《Making Music》— Asynchronous or Polyrhythmic Loops(访问于 2026-08-21)
- Novation — Circuit Tracks 用户指南(中文简体)(访问于 2026-08-21)
- Roland — TR-8S Reference Manual, Version 3.00(访问于 2026-08-21)
- Arturia — DrumBrute User Manual 1.2(访问于 2026-08-21)