Operator:用两条包络塑造 FM 音色
在 FM 合成里,调大一个振荡器可能改变另一个振荡器的音色,而不是让第二个音符更响。先从一个载波加一个调制器开始,这个区别才听得见。
两个算子,两份不同的工作
Operator 有 A–D 四个振荡器和十一种路由算法。示例使用 D>C>B>A 链,但 C 和 D 的电平为零。剩下的就是 B 调制 A。A 是载波:它的信号到达输出。B 通过调制改变 A 的波形,加入称为边带的频谱成分。在这个路由里,B 并不单独混入输出。
原创的 MIDI 贝斯型提供音高、时序和力度;乐器负责生成声音。四个 Wave 控件都明确为零,即解析正弦设置。这些是手工编写的教学设置,不是工厂预设或采集的振荡器周期。学习本课时保持这些 Wave 值不变。
给贝斯音符一个明亮的开头和圆润的收尾
Interactive MIDI example
选中 B,把 B Level 从 32% 降到零。去听声音变得更简单,而不只是更安静。恢复它,再改为降低 A Level。那改变的是可闻的载波电平。知道每个控件的职责,比背下一个明亮的预设更有用:调制器电平可以是音色控件,而载波电平控制的是可闻的贡献。
让明亮度比响度衰减得更快
A/D/S/R 框属于当前选中的算子,分别是 attack 时间、decay 时间、sustain 电平和 release 时间。A 快速起音,衰减到 55% 的保持电平,在 note-off 之后释放。B 的衰减更短,180 ms,保持为零。因此调制在开头附近最强,随后消退,而载波可以继续。
不动 A,把 B 的 D 增加到 700 ms 左右。跟着每个贝斯音符的明亮段听:它应该占据音符更多的部分,而不是简单地把整个音符等比拉长。如果高次谐波挤到了下一个起音,就恢复较短的衰减。然后把 B 的 S 稍微抬高,让保持的音符全程留一点棱角。保持为零不等于起音为零。
先弄懂比率,再玩花哨路由
A Mode 和 B Mode 都是 Ratio。A Coarse 为 1 时跟随演奏的基频;B Coarse 为 2 时以其两倍频率运行。在适度的 B Level 下对比 B Coarse 在 1、2 和 3。整数比率为谐波化组织的频谱提供了有用的起点,不过调制深度仍决定它们变得多密。
Coarse 为零是一个特殊的半频比率,不是静音。这里的 Fine 也不是常规的音分失谐:实现的比率是 Coarse 乘以(1 加 Fine 除以 1000)。小的非零值会偏离精确的整数关系。想要铿锵感或拍频时可以有意利用它;当清晰的贝斯中心更重要时,把 Fine 归零。
Fixed 模式用以赫兹计的 Freq 替代算子的跟音比率。固定的调制器在不同琴键上给出不同的谐波关系。它适合刻意让键盘各处色彩不均,而不保证一个设置在所有位置听起来同样安定。定下来之前多对比几个音。
把算法当作信号流来读
试试 A+B+C+D,只启用 A 和 B。两者现在都是可闻的载波:B Level 加入的是它自己的正弦音,而不再调制 A。之后回到原来的链。全局 Feedback 把算子 D 反馈给它自己;D 为零时,它不是让这个双算子示例变亮的有效手段。
最后,用 Cutoff 去驯服一个已经有用的 FM 频谱,而不是掩盖过量的调制。Res 强调滤波区域,Vibrato 以半音为单位加入音高运动。评判调音时让颤音保持为零。这套实现教的是四算子合成;它熟悉的名字并不确立与另一台乐器的声音等价。