← 返回离线文章目录

Мороже 的效果讲座②: updateTrigger

作者:Мороже(Nitrone7)|2019-12-11|TapeStop100 Advent Calendar 2019 第 11 天

译注:KSM 谱面制作者 Мороже 的技术文。此篇承接 ① rate 与 updatePeriod 原文

早上好,我是 TapeStop100 的 Мороже🛰️。本文是昨天文章的续篇;还没读过的请先读前篇。今天继续用实例讲 KSM Retrigger 的参数,重点是 updateTrigger

更严格地说明 updatePeriod

上一回讲得颇粗略,这里严谨一点。把 Retrigger 为重复而取用的声音 区间 称为“样本”;样本起点称为 updateTrigger ,更新该起点的间隔称为 updatePeriod 1 。默认 Retrigger 的 updateTrigger 先在谱面开头,然后按 updatePeriod 指定的周期重新更新。

例如有一个八分音符长度的 Retrigger:它会取从已经出现过、距离当前最近的 updateTrigger 开始的样本,并重复该样本最开始的八分音符区间 2 。文字不易说明,所以我准备了图帮助直觉理解 3 ;左上有空白太寂寞,便画了个炸弹兵。

updateTrigger 与 updatePeriod 图解
原文图解:样本起点、更新线与 Retrigger 取样关系。

实际挂右侧两行效果器的结果如下:

任意位置的 updateTrigger

updateTrigger 其实可手动修改(方法后述)。利用此点,便能从有 updateTrigger 的位置取音,在喜欢的位置重复。例如修改名为 free 的效果器的 updateTrigger ;黄绿色线是更新线:

如果连续采样人声,会变成很强的玩梗效果。

顺带一提,民间流行一种“把按下瞬间作为 updateTrigger 更新线”的效果 R ;我 强烈不推荐 。它表面便利,但是真的会在玩家 按下的瞬间 更新,所以声音受玩家何时按键支配;稍微偏一点就常常响出并非设计者本意的声音。官方博客也写过,却还广为流传;正因这些缺点,应该废除。请绝对不要用。

实际放置 updateTrigger

接下来说明手动改动方式。若要修改定义效果器 free updateTrigger ,先把它的 updatePeriod 设为 0 ,然后在文本编辑器中、希望放置的位置写入 fx:free:updateTrigger=on

#define_fx free type=Retrigger;updatePeriod=0;rate=100%

但在文本编辑器里找准确位置几乎不可能,所以借助编辑器的替换功能。 补记: K-Shoot Mania 更新后,可在工具栏“工具”→“启用通过注释直接编辑谱面文件”中轻松写入(重载后生效);以下是旧版操作。

  1. 在 Editor 里通过“插入注释”(Ctrl+Shift+右键),在要修改的位置写 fx:free:updateTrigger=on ,并用 Editor 覆盖保存。
  2. 在文本编辑器打开谱面,将 // 批量替换为空字符串 4 ,然后保存。
  3. 在 Editor 打开谱面;原来插注释的位置若显示为绿色的输入字符串,即成功。

下面录下了实际步骤。熟练后很快,大家尽管编辑 updateTrigger

总结

这不是我的谱面,但利用目前的知识可以挂出这样的效果。扩展 Retrigger 很强,基本什么都能做:

这是 Effectors Challenge 2 的《もぺもぺ[peace]》差分谱面;大量使用扩展效果器,很有意思,推荐观看。

两天里我热情地谈了 Retrigger。使用本文介绍的用户定义效果器,可以相当自由地使用リトリ。还没讲到的东西不少(像 Disconnect 那种“ドゥルルドゥルルッ”式效果、同时按两条 FX 的行为),留待下次。祝大家有美好的效果器生活!

追记: 两年后续篇已经发布: ③ 用用户定义 Retrigger 操控附点八分

脚注

1 实际上它不是样本 长度 ,而是“从小节开头开始,每隔 x 小节重放置一次 updateTrigger ”的规格。比如在小节开头过 1/4 处放一次,然后想从那里每 1/2 小节更新、写 updatePeriod=1/2 ,不会按预期工作;它仍会在从小节开头过 1/2 处放置。

2 与其说“此前看过”,不如说必须实际播放:从曲首到曲尾的过程中实时取样。因此在 updateTrigger 后的部分播放时,取样来源区间尚不存在,会响出别的声音。

3 我觉得图相当易懂;需要解释时请随意贴出使用。

4 注释在内部被当作以 // 开头的字符串。

← 前篇