Serum公式解析器基础教程3 - 案例
例1: 生成波形
前面的章节演示了不少生成波形的例子,此处我演示一下我在我的Toolbox中提供的波形Soft SAW和Soft Square,来作为较进阶的应用实例


例2: 失真
利用in参数,我们可以实现类似 waveshaper 的失真功能,通过变换波形来产生失真。
而借助双曲正切函数的特性,我们可以实现类似 soft clip 的效果:


借助前面的章节提到的超过1削波的特性,我们也可以实现过载失真的效果:

当然,还能实现Sinusoidal Fold、Linear Fold、Hard Clip等更多失真效果,我分享的Toolbox里均有实现,此处不再赘述。
例3: 陷波滤波
利用q参数,我们可以修改波表的谐波振幅。此处演示给波表添加陷波滤波器(Notch Filter)的效果。注意FFT区各振幅的取值为[0.0, 1.0],频谱绘制完成后会根据对应波形的最大值进行归一化处理,而不是削波。


例4: 频散
利用p参数,我们可以修改波表的相位,达到频散效果。频散效果一般指相位与谐波次数平方线性相关带来的听感。注意FFT区各相位的取值为[0.0, 1.0],超过1的部分全部视为0,频谱绘制完成后也会归一化处理。因此我们需要借助周期函数或取余、取整等方法,将相位值限制在[0.0, 1.0]之间。

Formula Parser的玩法还有千千万,以上只粗略地介绍了一些基本知识和基础用法,还有一些小细节未涉及,大家如果有兴趣的话可以自行尝试与探索。