Reaktor —— 正弦波變異

很多時候我們都是從一些簡單的東西開始,但更多時候我們卻需要把一些簡單的變得不簡單,就好比正弦波,一個簡單的波形,一種純粹的聲音,或許就是這樣一個簡單純粹的聲音,我們可以不用對它做任何改變就可以編寫美妙的音符了,可我們還是要有所突破,總不能一直沉浸這樣一種簡單的模式,當然突破最直接的方式就是破壞它,有些人可能認為說,我可以給它Clip,這樣一種失真的正弦味就出來了,但實際上它已經不是純正的正弦波了......而有一種能依然保留正弦波形態卻又讓聲音變樣的方式就是FM(頻率調解)

不過我並不是要講FM,而是要講Waveshaper,即波形塑形。

首先,我們先來想一個問題,如果以餘弦圖形為例,從下面的圖形我們可以看出,紅線中心,兩邊A和B區域內的圖形是對稱的,更確切地說,A區域的曲線跟B區域的反相曲線是一樣,那麼我們是否能移動中心紅線的位置來改變這個原始的正弦波形,如果可以的話,結果將會是怎樣?

好吧,假設上面是可以移動的,那麼我們應該是會知道,肯定有個曲線寬度被壓縮了,但本質上它還是具備正弦波形的性質,這就好比不同的斜線,它們仍然是直線,只是它們的斜率不同而已。

那怎麼在Reaktor實現呢?其實用Waveshaper最好不過了,因為剛好Reaktor為我們提供了一個叫Sine的模塊。

注意,這個不是振蕩器模塊,它本身是不會發出聲音的,很多初學者怕是會混淆掉。

OK,有了這個模塊,接下來的工作就是解決怎麼讀取正弦對稱的部分,對於上面Sine模塊,如果有個0到1的變化信號,那麼經過Sine模塊得到的結果就是正弦波信號,為了得到對稱的那一部分信號,我們可以限制輸入的信號的變化範圍,比如0到0.5,那麼結果將只是正弦波上半部分的信號,而-0.25到0.25就是我們要的信號部分。

但上面並不是我們想要的最終結果,因為還有另外一個對稱的部分,所以我們需要把另外對稱部分計算出來,顯然我們只能對輸入信號再思考,而且也只能是先-0.25到0.25,然後再0.25到-0.25這樣的一個輸入信號變化才能達到我們要的目的,於是就有:

上面的思路很簡單,無非就是把0到1分兩段了,但分段後需要解決分段點沒有重合的問題,於是我把各自的分段點都調整到了1,這樣就會變成0到1再從1到0的變化,當然對於這個結果還要重新換算到-0.25到0.25這個範圍內,最後再交給Sine模塊處理。

當然我還可以再加入一個Sine模塊進來二次處理,接著再用Selector模塊進行漸變處理。

最終波形就變成這樣,應該說這裡加入了漸變處理的話,波形再不是純粹的正弦波,就是等於被破壞了,所以最好的方式就是直接加Sine模塊二次處理,只不過這裡,我已經想讓它不一樣了。

注意Knob的取值,最好不要讓它等於0或者1,我上面Knob的取值範圍是0.1到0.9。

推薦閱讀:

安卓手機哪些軟體經常後台偷跑流量?
給視頻加特效的三種優美姿勢
求推薦電腦桌面分類管理軟體?!
是什麼在阻礙本土大型模擬軟體的研發

TAG:声音 | 软件 | 设计 |