我們可以使用sfz的格式製作一個自己的音色庫,所需的東西有:
1.如果你是用windows,那你需要使用記事本,若是mac則你要使用文字編輯。我們要用它來寫一些類似「程式語言」的東西。
2.找到要做成音色庫的wav檔案,注意這些音色有沒有版權,勿將音色作為非法使用。
3.sfz player,網路上很多免費的,本文以cubase + sforzando示範
下載網址http://www.plogue.com/products/sforzando/
接下來說明sfz中,Region、Group、comment等基本語法。
語法Region作用在特定某波形sample的特徵,語法Group則作用在多個sample上,comment則告訴sfz這些東西是輔助說明不做任何影響。
我們實際以一些sample實作一個sfz檔案,先在資料夾裡準備好你要的wav檔,以這幾個木箱鼓的sample為例。
第一步
首先開啓一個記事本/文字編輯,副檔名請改成sfz,建議開在同一個資料夾,比較方便。開頭數行我們打上// 並加上後面註解,這樣電腦sfz就會知道這是comment而不會理會。
第二步
我們打下<region>指令告訴電腦這個sfz幾個片段的詳細資料
<region>
sample=
lokey=
hikey=
pitch_keycenter=
sample= 指的是你wav檔的路徑
pitch_keycenter指的是你這個sample用在哪個特定音鍵上
lokey=與hikey=指的是你這個sample要涵蓋哪些音域
意思就是說某個sample用在pitch_keycenter上的音,就是原波型原汁原味的音,而lokey=與hikey=是這個範圍中,電腦會用音律數學計算的方式修改pitch_keycenter上的sample。
通常lokey與hikey這個概念會用在陽春的音色上,例如Reason內建的factory soundbank,當鋼琴我們只取樣PianoF33.wav檔的時候,會設定成用該sample用電腦計算發出E2~G#2的音色。
但是如果你只需要單一琴鍵發出單一聲音的話,可以將lokey hikey pitch_keycenter設為一樣,或直接在sample=下一行打key=
第三步
重複以上<region>指令使每個wav檔都成功被指定到,打完後先存檔。別忘了如果是midi keyboard上的黑鍵要指定的話,音名要打成c#6而不是#c6。
開啓cubase(或其他DAW),讓DAW抓到sfz player的VST,並且在sequencer中載入它,並import剛剛存檔的sfz。
理論上做到這一步,已經可以讓sfz player發出聲音了。我們可以看到下面的琴鍵出現了亮暗的顏色區別,表示哪幾個琴鍵可以發聲。
我們還可以玩更多東西。
第五步,我們加上<group>,可以一次調整全部的sample。
舉例來說我們可以在sfz裡面設定pan=、filter=、tune=、等等
pan=就是左右相位,你從sfz player發出來的聲音就會有相位調整,其值為-100~100
tune=就是增減多少音分
fil_type= 為濾頻器 可以設定 lpf(low pass filter)hpf(hi pass filter)
cutoff= 為filter頻率點
fileg_depth=
其它還有調整ADSR語法像是ampeg=,或是移調語法transpose=,內容繁雜不及一一解釋,有興趣的人請自行尋找「sfz opcode」相關資訊,例如下面這個。
https://www.linuxsampler.org/sfz/
Cakewalk Synthesizers: From Presets to Power User這本書第13章,專門討論sfz格式。
https://www.youtube.com/watch?v=kqVepfS9AVY
以下連結,也是sfz入門的介紹文
http://www.soundonsound.com/sos/apr08/articles/sonartech_0408.htm
最後為了符合Creative Commons規範,這邊提供音色來源連結 ( http://www.freesound.org/people/OldBassMan/ )