《一场内心的万物复苏》讲师专访——赵靖

适合手机应用的高品质声卡——TOPPING E 1X2 OTG 评测

杜比全景声监听控制器的奥秘:Ginger Audio 终极解决方案和性价比可以兼得

旗舰级的监听耳机新标杆:Sennheiser 森海塞尔 HD 490 PRO 监听耳机首发体验

零基础到专业制作人:HEMe 全新概念的培训 + 作品发行计划新年再出发!

Reaktor 之选择的套路

曾照南 添加于 2017-12-24 ·

分享到微信

暂无评论

作者:Dreason

说到在使用波形选择的时候,越来越多的人已经无法满足单一传统的选择方式,尽管Reaktor也给我们提供了Selector这样一种模块去解决你单一的选择方式,但它也仅仅只是提供三种方式:None、Linear和Sine。(图1)


图1

既然上面的Selector模块已经无法满足我们的需求,那么我们是否能自己来设计一个属于自己的选择器,问题的答案是可以的。

可前提是你想要设计一个什么样的选择器?

好的,今天我们来设计一些不一样的选择器,不过在一开始,我们就用Core Cell先来设计一个Linear模式的Selector,默认两个输入的处理。


图2

这种选择设计的原理很简单,具体内部结构如下图所示:(图3)


图3

当然这里有个问题,就是Pos的取值范围,如果Pos的取值范围在0到1,那么这个Selector是正常的,如果Pos超出了这个范围,那么Selector就会发生异常,也就说我们需要限制Pos的取值范围,限制取值范围一般有两种方式,一种是Clip切段,另一种是Wrap折回;通常性我们会采用Clip的方式,比如这样:(图4)


图4

好吧,上面只是两个输入的处理,如果大于两个输入的处理呢?比如四个输入的处理,那又该如何设计?其实问题也不是很难,我们可以把图4的设计放到Macro作为一个单独的处理来调用,但Reaktor Core Cell有为我们提供一个叫XFade,处理的结果跟图4的一样,只不过把图4的设计简化了。(图5)


图5

对于XFade,首先我们要明白的是它的x输入的数值范围永远都要在0到1,因此我们依然可以去限制Pos的取值范围,因为现在是四个输入,所以Pos默认的取值范围应该是0到3,为了避免超出范围,要对Pos进行Clip处理:


图6

那么接下来我们怎么让Pos在Clip处理后的数值范围去控制四个输入的线性切换呢?仔细想想,思路是很简单的,我们依然可以去限制每个控制的分段,比如0到1、1到2还有2到3这三个分段,然后在对这三个分段进行Wrap折回处理,最后利用Wrap折回的数值变化去控制每个XFade的x输入。(图7)


图7

可能有人看不出到底Wrap处理的部分是哪里,其实Wrap处理的部分就在于减1和减2的那个部分,实际上我们是可以重新把这个部分整合设计放到Macro里去的,比如这样:


图8

不过说实在的,图8上面n..n+1的输出并不是我们想要用的,这里只是让大家知道下,我们最终要的是0..1这个输出,于是图7的结构我们可以变成下图这样:(图9)


图9

可能你觉得图7和图9的结果都一样,既然两个结果都是一样,就没必要再有图9这样的设计,只不过这里有图9的设计是想让大家有整合的思路,一旦有整合的思路,以后设计搭建模块会起到事半功倍的效果,至于Sine模式的选择器,思路也如此,只不过我们要考虑是XFade的部分应该怎么设计。

OK,到这里可以说设计选择器的部分依然还是很传统,当然一开始我们就只是在设计一个跟Reaktor本有的Selector一样的Selector,因此处理的效果当然是相同,那么进阶一点,我们要来真正的设计一个不一样的选择器,那么怎么才算是不一样的选择器呢?如果我们不按规则来选择,可以自己自定义选择曲线,最有用的方法就是波表选择器。

说到波表选择器,可能你会误会成是波表合成器,其实可以说概念上是一样,但用法上却不同,为了让问题简单化,我们还是回到两个输入处理的问题上来完成这样的选择器。(图10)


图10

现在我们不能再使用XFade了,因为它根本无法完成我们最终要的选择器设计要求,说到波表,我们肯定要用到数组的概念,也就是说利用Pos的取值去读取数组内每个位置的数值,比如这样:


图11

尽管如此,在上面读取之前,我们需要保证数值内有数据可读,那么我们就需要提前把数据写入数组,为了能更XFade一样,我们需要这一过程的处理整合到Macro里去,并给它一个名称叫做Array Fade,具体内部结构设计如下图所示:


图12

好了,有了上面的Array Fade,我们接下来要考虑的是如何把我们自定义的数值变化写进去。(图13)


图13

不过到这里还没有结束,我们还需要真正去完成写入的部分,而这个部分可能会稍微繁琐了点,这里我们会用到Event Table去写入数值,而对于Event Table的Size具体要调到多少了,我们这里默认就64,所以对于选择器内的Array数值的Size也同样要调节到64,具体搭建结果如下图所示:(图14)


图14

这样一来我们就可以在Event Table上画一些奇怪的曲线变化并通过Pos去读取这些相应的变化点来得到最终选择器的信号渐变,这就有别于我们传统上的选择器了,当然上面的设计还会存在一个问题,那就是我们在Event Table上画曲线的时候,并不会立马改变最终输出的信号变化,因此我们需要借助Mouse Area这个模块来实现它。(图15)


图15

当然最后我们可以把Mouse Area和Event Table的部分整合到Macro里去,甚至我们还可以去Selector的内部里去给波表选择变化后的数值做平滑处理。



可下载 Midifan for iOS 应用在手机或平板上阅读(直接在App Store里搜索Midifan即可找到,或扫描下面的二维码直接下载),在 iPad 或 iPhone 上下载并阅读。

暂无评论