译注:这是 KSM 谱面制作者 Мороже 本人的技术文章,不是 SDVX 官方资料。术语 Retrigger、rate、updatePeriod 等保留原参数名,以免代码和编辑器对应关系丢失。原文
早上好,我是 TapeStop100 的 Мороже🛰️。这是我第二次参加 Advent Calendar。之前第 2 天的文章及我的介绍可见这里。
这次我会用今天和明天两个名额,谈谈 K-Shoot Mania 中效果器 Retrigger 的参数。今天具体讲 rate 与 updatePeriod。
KSM 效果器内部有若干参数,但随程序附带的编辑器(下称 Editor)只能编辑其中一部分1。要改其余参数,可以用文本编辑器,在谱面 footer 部分加入指定参数的用户定义效果器。详见 KSM 制作者 masaka 的说明文章。
Editor 的编辑界面不是“在线”的2:你在文本编辑器中加入用户定义效果器后,它不会立刻可用。因此每次添加后都务必在 Editor 中重新载入。为方便修改后的重载,推荐使用 Notepad++ 等编辑器,而不是 Windows 自带记事本3。
本文承蒙やどりぎ提供《星の彼方》作为示范用曲目。(而且它真的很好听。)它收录于 B4UT 2018 年五月祭 package;作者本人也提供了较高音质的替换音源。Effectors Challenge 2、3 也有志愿者制作的差分谱面。
rate 参数先说 Retrigger 的 rate。默认值为 70%4。先听默认 70% 的例子:
这大概就是大家平时熟悉的“リトリ”。改变 rate 会怎样?以下定义 35%、70%、85%、100% 的 Retrigger:
#define_fx 35 type=Retrigger;rate=35%
#define_fx 70 type=Retrigger;rate=70%
#define_fx 85 type=Retrigger;rate=85%
#define_fx 100 type=Retrigger;rate=100%随着 rate 增大,样本重复会逐渐无缝;尤其 rate=100% 时,重复完全没有切分感。35% 那种较强的切分、85% 那种较弱的切分也很有趣。适用面很广,建议把 100% 和 85% 的版本作为常备效果器。(我本人其实很少用默认 70% 的 Retrigger。)
rate 的百分比,指的是在一个样本中“重复部分”占用的时间比例。也就是说,rate=0% 不出声;rate=100% 则成为无缝重复。
updatePeriod 参数把 Retrigger 挂在较长的区间上,会得到下列行为:它每 1/2 小节更换(更新)一次重复位置。即便放的是短 Retrigger,它也同样每 1/2 小节取一次声音来切分:
那么,如果想重复下图浅蓝线所示区间的声音,该怎么做?

此前的 Retrigger 每 1/2 小节重复一次;其实这个更新间隔由 updatePeriod 定义,可以从默认的 updatePeriod=1/2 改动。如此便可实现:
#define_fx 1/2 type=Retrigger;updatePeriod=1/2
#define_fx 1/4 type=Retrigger;updatePeriod=1/4updatePeriod 还可指定 1、1/8 等:
光是常备 1 与 1/4,表现范围就会扩大很多;再与 rate=100%、85% 配合即可。以下七个定义效果器通常足够:
#define_fx 1f type=Retrigger;updatePeriod=1;rate=100%
#define_fx 1w type=Retrigger;updatePeriod=1;rate=85%
#define_fx 1/2f type=Retrigger;updatePeriod=1/2;rate=100%
#define_fx 1/2w type=Retrigger;updatePeriod=1/2;rate=85%
#define_fx 1/4f type=Retrigger;updatePeriod=1/4;rate=100%
#define_fx 1/4w type=Retrigger;updatePeriod=1/4;rate=85%
#define_fx 1/8w type=Retrigger;updatePeriod=1/8;rate=85%f(full)表示 rate=100%,w(weak)表示 rate=85%。这些名字只是我为文章随手取的,实际请按喜好命名。
把上述内容应用起来,可以挂出这样的效果;能很直观地听到扩展 Retrigger 的威力。(这里的效果和配置是我写文章时随手做的,不必太认真看谱面。)
不止 rate、updatePeriod,试着改动各种效果器参数,能为整张谱面带来很大的多样性。请一定亲自试试。谢谢🛰️
1 例如在 Editor 中对 FX 的 Retrigger 按 Shift+右键,可编辑切样本的间隔;这个参数内部名为 waveLength。
2 此处“在线”指持续捕捉数据变化的意思。
3 我无意挑起文本编辑器宗教战争,请用喜欢的;我个人认为能黑底、改字体、自动缩进、EOL 转换、语法高亮就够,反之就不能算文本编辑器。
4 Gate 的默认值为 60%。
5 若在 FX-R→FX-L 的长条上用同一个用户定义效果器,第二个及之后的效果会不响。可定义内容相同但名称不同的两个效果器交替使用;或用第③篇介绍的“临时命令”规避。