欢迎光临散文网 会员登陆 & 注册

Serum公式解析器基础教程1 - 初步介绍

2022-06-22 17:10 作者:Endark  | 我要投稿


Formula Parser

前排提醒:玩这东西需要一定的数学基础和耐心。 UP目前使用的Serum版本为1.334,由于未在其他版本中验证公式的效果,不能保证相同公式在其他版本中的效果与1.334中的完全一致。但这些区别只会是一些细节上的区别,主体功能还是一致的。


1、 界面

        打开Serum的Wavetable Editor,我们可以看见如下图所示的界面。

Wavetable Editor界面

1.1 波形区

波形区

        波形区是我们最直观得观察波形的区域,它可以显示波表里选中帧的波形,左侧也提供了一些工具供我们方便地修改波形。

1.2 FFT区

FFT区

        最上面的两行是FFT区,点亮上图中左侧按钮后,在波形界面中修改波形时便会对其进行实时的傅里叶变换,使FFT区中各谐波的振幅、相位与波形区的波形相对应。FFT区中第一行是谐波栏,第二行是相位栏,而每一列代表一个谐波的信息,列号代表一个谐波的次数。

        如上图,将鼠标置于一个谐波上会显示“Bin n”,Bin后面的数字n代表的便是谐波次数n。而第一列第一行的柱高代表当前波形基频的振幅,第一列第二行的柱高则代表当前波形基频的相位。

1.3 公式解析器(Formula Parser)

Formula Parser

        波形区下方的这个小家伙就是我们今天的重点Formula Parser啦。总的来说,Formula Parser支持输入一个表达式来生成、修改波表的波形、频谱或相位,是雕琢波表的一个有力工具。

1.4 Serum官方使用手册

Read the manual

        Serum菜单中的Read the manual选项可以为我们打开Serum的官方使用手册。这个东西非常重要,不少操作问题或细节问题往往能在这里找到答案。

Serum官方使用手册中Formula Parser的章节

        手册中写了一个单独的章节来介绍Formula Parser,由此可见Formula Parser功能的多样性与复杂性。

2、 初探

       相信大家一开始玩公式的时候,都会试着去输入一个含x的表达式来尝试效果。这里我们输入x后按回车,看看效果。

x

        可见在波形区中生成了一个次函数的图像。那么通过这次尝试我们可以确认:

坐标系

        如上图,波形区域内存在一个平面直角坐标系,原点位于正中心。而查阅Serum参考手册可知,x的取值为[-1.0, 1.0],可以看出纵坐标取值也为[-1.0, 1.0]。那如果输入的函数,在[-1.0, 1.0]上的取值超过1或低于-1了会发生什么呢?

削波了

        不难发现,超过1的部分被削平至1,低于-1的部分被削平至-1。这个特性允许我们在波表里实现过载失真。

        知道了这些特点,我们就可以在波形区域里画其他函数的图像了。假设现在我们要绘制一个正弦函数的图像,我们便可以让它绘制函数 f(x)=sin(πx)的图像,因为sin(πx)在[-1,1]上的函数图像正好为一个周期的图像。

sin(x*pi)

         而如果我们要画一个三角波,就可以让它绘制函数 f(x)=|2x|-1 的图像。

abs(x*2)-1

        而如果需要绘制方波,我们则可以借助符号函数的力量,让它绘制 f(x)=sgn(x) 的图像。

sign(x),注意符号函数在Serum中应写作sign()而不是sgn()

        我们可以通过将函数图像左右平移,便可以得到占空比不同的方波。

sign(x-0.5),1/4方波

        我们也可以试着去画一些更加复杂的波形,比如用一个方波图像减去一个正弦波,来得到一个去除了基频的方波。

sign(x)-1.2734*sin(x*pi),去除基频的方波(虽然除得不是很干净)

 

Serum公式解析器基础教程1 - 初步介绍的评论 (共 条)

分享到微博请遵守国家法律