欢迎访问视障者音乐制作交流基地(www.szzyyzz.com)!
我们的网站致力于为使用读屏软件的视障群体(以下简称“读屏族”)提供音乐制作方面的技术和信息。
如您是读屏族,我们希望能在这里为您提供您最需要的内容
如您是明眼朋友,可能会对论坛中的一些用语感到无比疑惑,那是因为这些都是基于读屏软件下的操作术语。
虽然这个论坛对于明眼人也许帮助不大,但我们却很希望能得到您的援助,您可以以远程协助的方式为读屏族解决音乐制作过程中所遇到的困难……

首页

 找回密码
 立即注册

QQ登录

只需一步,快速开始

7
查看: 29437|回复: 11
打印 上一主题 下一主题

[虚拟乐器/软音源操作技巧] (轉載+原创),自製音色庫-用sfz打造自己的vst音色

[复制链接]

6

主题

76

帖子

979

积分

音乐尖子生

Rank: 4

积分
979
跳转到指定楼层
楼主
发表于 2020-3-4 01:44:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,浏览本站更多内容。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
楼主 elephant说:
自製音色庫-用sfz打造自己的vst音色
轉載自糖漿音樂製作成音團隊
市面上商業音源多有開發自己的sampler,例如說Eastwest公司開發play,Native Instrument開發kontakt,其他有名的取樣器像是uviworkstation、或是Motu machfive、Steinberg halion等等。但是一般來說這些商業取樣器可能不支援外來wav或aif聲音檔,再不然就是正版商業音色庫所費不貲,我們有沒有辦法自己用現有的wav檔案,免費製作自己的音色庫呢?答案是有的。
我們可以使用sfz的格式製作一個自己的音色庫,所需的東西有:
1.如果你是用windows,那你需要使用記事本,若是mac則你要使用文字編輯。我們要用它來寫一些類似「程式語言」的東西。
2.找到要做成音色庫的wav檔案,注意這些音色有沒有版權,勿將音色作為非法使用。
接下來說明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。
理論上做到這一步,已經可以讓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頻率點
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

6

主题

76

帖子

979

积分

音乐尖子生

Rank: 4

积分
979
来自 4#
 楼主| 发表于 2020-3-12 15:03:46 | 只看该作者
地板 elephant说:
我们制作好了的 sfz 音色库可以用什么加载呢?
有几个工具可以加载,
首先出厂的是 SONAR 自带的 SFZ 插件,为什么先介绍他出厂呢?
只因他有辅助工具,哈哈,多谢若飛的風老师提供,点此下载sfz辅助工具_sfz-Access
闲话休提,回归正传,
SONAR 自带的 SFZ 插件存放的位置在
C:\Program Files\Cakewalk\Vstplugins\SFZ
REAPER 可以刷得到
接下来有请 Plogue sforzando,
特别感谢若飛的風老师,这个工具是他推荐的,再一次说声谢谢,点此下载sforzando主程序_WIN_sforzando_v1.916
这个工具需要另外安装,
安装的时候用 tab 键可以操作的,安装界面是英文
一样有辅助工具,也是若飛的風老师提供的,谢谢,点此下载Sforzando辅助工具_Sforzando-Access
接下来有请  DropZone,SONAR 自带的音源插件,他可以支持载入的文件类型有 Sample Files (*.sfz, *.wav, *.aif, *.aiff, *.ogg, *.rcy, *.rex, *.rx2),
暂时没有辅助工具,据说可以用 OCR 玩,
SONAR 自带的 DropZone 存放位置是,
C:\Program Files\Cakewalk\Vstplugins\DropZone
REAPER 如果刷不到就尝试将 DropZone.dll 复制一份,就地粘贴
,然后把新复制出来的 DropZone - 副本.dll 改成 DropZone x64.dll,
然后就往 REAPER 里面添加,然后就刷!
接下来轮也轮到 RXP出场了!
SONAR 自带的音源插件,
支持加载的文件类型(T): 组合框 Sample Files (*.sfz, *.wav, *.aif, *.aiff, *.ogg, *.rx2, *.rex, *.rcy, *.prog)
暂时没有辅助工具,据说OCR也能玩,
SONAR 自带 rxp 存放位置是
C:\Program Files\Cakewalk\Vstplugins\RXP
REAPER 如果刷不到就尝试将 RXP.dll 复制一份,就地粘贴
,然后把新复制出来的 RXP - 副本.dll 改成 RXP x64.dll,
然后就往 REAPER 里面添加,然后就刷!
好了,各位同学诸君如果有什么疑问在跟帖哈。
回复 支持 反对

使用道具 举报

2

主题

18

帖子

598

积分

音乐尖子生

Rank: 4

积分
598
沙发
发表于 2020-3-9 07:25:24 | 只看该作者
<
沙发 嗷嗷叫说:回楼主elephant
来个简单的例子:
力度在86到88之间,
音域在收割机的C4到E5
<group>
sample=1.wav
lovel=86
hivel=86
<region>
lokey=d4
hikey=e5

<group>
sample=2.wav
lovel=87
hivel=87
<region>
lokey=d4
hikey=e5

<group>
sample=3.wav
lovel=88
hivel=88
<region>
lokey=d4
hikey=e5

回复 支持 反对

使用道具 举报

31

主题

70

帖子

2041

积分

音乐研究生

Rank: 6Rank: 6

积分
2041
板凳
发表于 2020-3-10 16:57:49 | 只看该作者
<
板凳 棍棍糖说:回楼主elephant
这个怎样把写好的代码变成vst插件加载到宿主里啊?
回复 支持 反对

使用道具 举报

6

主题

76

帖子

979

积分

音乐尖子生

Rank: 4

积分
979
5#
 楼主| 发表于 2020-3-12 15:08:51 | 只看该作者
5楼 elephant说:
我见这个帖子刚发表那段时间没有人回帖,所以我就没有跟进了,今天上来见到有回帖了才促使我有回帖的动力,谢谢大家关注!
回复 支持 反对

使用道具 举报

6

主题

76

帖子

979

积分

音乐尖子生

Rank: 4

积分
979
6#
 楼主| 发表于 2020-3-12 15:11:32 | 只看该作者
6楼 elephant说:
希望网站的有关人员也能到此关注一下,最好能想办法把我所提到的工具上传到本网站来,这样同学诸君就可以直接在本网站下载了!
回复 支持 反对

使用道具 举报

704

主题

2787

帖子

5万

积分

管理员

本站创始人

Rank: 14Rank: 14Rank: 14Rank: 14

积分
53912
7#
发表于 2020-3-12 18:33:44 | 只看该作者
<
7楼 琴韵晓波说:回6楼elephant
感谢大象的分享!已经放到咱们网站服务器上去了,并把对应的楼层给置顶了。
回复 支持 反对

使用道具 举报

6

主题

76

帖子

979

积分

音乐尖子生

Rank: 4

积分
979
8#
 楼主| 发表于 2020-3-12 22:39:07 | 只看该作者
8楼 elephant说:
晓波老师辛苦了。
回复 支持 反对

使用道具 举报

6

主题

76

帖子

979

积分

音乐尖子生

Rank: 4

积分
979
9#
 楼主| 发表于 2020-3-13 22:20:37 | 只看该作者
9楼 elephant说:
各位同学诸君,Kontakt 有些音源也有附带了.sfz档在内的哦,敬请留意!
回复 支持 反对

使用道具 举报

704

主题

2787

帖子

5万

积分

管理员

本站创始人

Rank: 14Rank: 14Rank: 14Rank: 14

积分
53912
10#
发表于 2020-8-24 10:11:58 | 只看该作者
<
10楼 琴韵晓波说:再来补充一篇文章,供大家研究参考
自编程SFZ采样文件
文:Craig Anderton
编译:musiXboy
出处:Sound On Sound
2008年4月
了解如何对SFZ采样进行编程,会让我们更好的使用SONAR自带的软件乐器。别害怕,其实对采样进行编程并不像你想象的那么困难。
SONAR7内置了大量基于波表和采样的软件乐器,包括DropZone、RXP、SFZ、Session Drummer 2、Dimension LE和Rapture LE,它们有一个可能你并不知道的共同点,那就是都可以读取SFZ格式的采样。
SFZ采样格式:
SFZ的概念与Sound Font有所不同,它能够通过一个文件一次性读取多重采样,而非单一的采样文件。我在之前的第14期杂志的《Sonar 小贴士:用好 Session Drummer 2 鼓音源》一文里提到过如何在Session Drummer 2里用多重采样创建自己的鼓组,实际上就用到了SFZ采样格式。实际上SFZ还能做更多的事情。
一个SFZ格式的采样文件其实包含了两个部分:一组多重采样,以及一个告诉采样器如何应用这些多重采样的text文本文件,这个text文件里会写出采样的根音、采样范围、力度范围、滤波、包络、默认的控制器号、loop点、音量、声像、效果等等参数,告诉采样器如何回放这些多重采样。
需要说明的是虽然SONAR里内置了大量基于SFZ采样的音源,但SFZ标准是开放的,而且是免费的,正是因为这个原因我们才可以自定义SFZ采样,才有现在这篇文章。如果你看完这篇文章,自己制作SFZ采样拿去卖钱,也不必交纳任何的授权费。
为什么要如此费劲的学习对SFZ采样进行编程呢?主要有三点原因:
* 你可以创造自己的音色,而且可以被所有支持SFZ的音源读取使用
* Dimension LE和Rapture LE对采样的编辑功能很有限,但如果你会自己对SFZ编程,一切问题都可迎刃而解
* SFZ格式可以被SFZ Player读取,而它是免费的VSTi插件,你可以把需要的音色转移到其它任何宿主里使用,而不限于SONAR 7带效果器,支持硬盘直读
创建你的第一个SFZ文件:
创建SFZ采样并不会像软件编程那么恐怖,甚至比你写音符还简单。你不必从头写起,而只是在已经做好的SFZ文件基础上进行修改就好了。SFZ文件编程需要用到的代码可以在这里找到:http://www.cakewalk.com/DevXchange/sfz.asp
我们来举个例子,比如我对吉他D和弦做了采样,叫GuitWavetable_D1.WAV,我应该如何把它制作成SFZ采样通过采样器正确的回放出来呢?
1. 创建一个叫做GuitarWavetables的文件夹,好把所有相关文件都存放在一起
2. 把录好的吉他D和弦采样GuitWavetable_D1.WAV拖到这个文件夹里
3. 新建一个文本文件,比如叫GuitarWavetables.txt
4. 写入说明语句:
// SFZ 定义文件
// 一个简单的吉他D和弦
你可以随意的写,省得以后txt文件太多了你不知道是做什么用的了。只要语句前加“//”的都是说明语句,不起任何作用
5. 写入采样文件区域定义语句:
<region>
pitch_keycenter=D1
lokey=C0
hikey=C8
sample=GuitWavetable_D1.WAV
这里pitch_keycenter表示根音,lokey表示采样区域的最低音符,hikey表示采样区域的最高音符,sample表示采样文件名称,因为采样文件和txt文件在同一目录,所以直接写wav名称即可,如果txt文件放在采样文件夹以外,那么就要写sample=文件夹名称\GuitWavetable_D1.WAV。Lokey到hikey之间的音符都将按照根音来做重采样,使得音高平均分配到每个琴键上。
6. 在记事本中点“文件-另存为”,保存文件为“所有类型”,文件名写GuitWavetable.sfz。这样就可以把txt文件另存为sfz文件了。
7. 在SONAR里打开一个可读取SFZ的软音源,比如Dimension LE,点击Load Multisample按钮,找到刚刚保存的GuitWavetable.sfz,读取它。现在你就可以在Dimension LE里演奏你自制作的采样了。
深入SFZ:
现在我们已经可以回放简单的单一采样了,这是成功的第一步。下面我们深入一点,读取两个一样的采样,将它们稍微做一下detune,一个减5个音分,另外一个加5个音分,做出饱满的和声感,<region>区域要加入tune参数。为了再做出立体声场的感觉,再加入pan参数(要在-100到100之间)。我们还想采样的音色突出低频,那么就再加一个声像在中间并降低一个八度的采样吧,用transpose=-12就可以,所以就这么写:
<region>
pitch_keycenter=D1
lokey=C0
hikey=C8
tune=-5
pan=-100
sample=GuitWavetable_D1.WAV
<region>
pitch_keycenter=D1
lokey=C0
hikey=C8
tune=5
pan=100
sample=GuitWavetable_D1.WAV
<region>
pitch_keycenter=D1
lokey=C0
hikey=C8
pan=0
transpose=-12
sample=GuitWavetable_D1.WAV
保存之后再用Dimension LE读取,演奏一下,恩,感觉有些浑浊,加点滤波,调节一下包络吧。
因为滤波和包络是同时作用于三个采样的,所以我们不必再分别在三个<region>里写参数了,只用一个<group>就可以同时搞定三个采样,前提是要写在所有<region>标签之前,就是这么写:
<group>
fil_type=lpf_2p
cutoff=300
ampeg_decay=5
ampeg_sustain=0
fileg_decay=.5
ileg_sustain=0
ileg_depth=3600
按照顺序,表示增加一个两磁极的低通滤波,截止频率300Hz,音量decay为5秒,音量sustain为0%(也就是无),滤波decay为0.5秒,滤波sustain为0%,滤波包络的调制深度为3600分(也就是三个八度)。
突破LE的限制:
SONAR 7内置的Rapture LE和Dimension LE都是很棒的软音源,但很显然它们是简化版有很多限制。比如Dimension LE只有两个包络,一个滤波,没有tuning和transpose音高调节,包络也没有attack。如果你在SFZ采样被Rapture LE和Dimension LE读取之间,自己改写了.sfz文件,你就可以突破LE版本的限制,获得所有功能了。
比如一个Dimension LE内置的音色Hammond Jazz3,我们可以在“C:\ProgramFiles\Cakewalk\Dimension LE\Multisamples\Organs”目录里找到Hammond jazz.sfz文件,这就是该音色所属的SFZ文件。在Dimension LE里我无法让这个音色增加两个声部变成三个八度的管风琴,那么我们自己手动编辑SFZ文件不仅可以让它增加两个八度,还可以分配新增八度的声像,修改attack、release音量包络,增加EQ等等。
首先打开“C:\Program Files\Cakewalk\Dimension LE\Multisamples\Organs”目录里的Hammond jazz.sfz文件,看到它里面有如下的语句
<region>
sample=Hammond Jazz\HBj1slC_2H-S.wav
key=c3
hikey=f3
<region>
sample=Hammond Jazz\HBj1slC_3H-S.wav
key=c4
hikey=f4
<region>
sample=Hammond Jazz\HBj1slC_4H-S.wav
key=c5
hikey=f5
<region>
sample=Hammond Jazz\HBj1slD_5H-S.wav
key=d6
hikey=f6
<region>
sample=Hammond Jazz\HBj1slC_6H-S.wav
key=c7
hikey=f7
<region>
sample=Hammond Jazz\HBj1slF#1H-S.wav
key=f#2
hikey=b2
lokey=c1
<region>
sample=Hammond Jazz\HBj1slF#2H-S.wav
key=f#3
hikey=b3
<region>
sample=Hammond Jazz\HBj1slF#3H-S.wav
key=f#4
hikey=b4
<region>
sample=Hammond Jazz\HBj1slF#4H-S.wav
key=f#5
hikey=c#6
<region>
sample=Hammond Jazz\HBj1slF#5H-S.wav
key=f#6
hikey=b6
这里显示出Hammond Jazz 3音色由10个不同的采样组成。在这里它用了key标签,而非我们之前定义根音的pitch_keycenter标签。首先因为Dimension LE不认pitch_keycenter,第二因为key标签可以让根音、lokey、hikey都定义成同一个音,而不必分开来写。比如第一个HBj1slC_2H-S.wav采样,它写了key=c3 hikey=f3,没有写lokey,因为lokey默认跟key是同一个音符了。
那么我们就在这10个<region>标签前,加上<group>标签,先集体定义10个采样的音量包络,再加一个EQ,这么写:
<group>
ampeg_attack=0.2
ampeg_release=2
pan=-100
eq1_freq=4000
eq1_bw=2
eq1_gain=20
按顺序分别表示:音量包络attack为0.2秒,音量包络release为2秒,声像为-100最左边,并增加一个EQ,中心频率为4000Hz,带宽为2个八度,增益为20dB。
好了,下面我们加入一个低八度的新声部,依然先用<group>定义包络、音高和EQ,再用<region>引用采样,这么写:
<group>
ampeg_attack=0.2
ampeg_release=1
transpose=-12
eq1_freq=2000
eq1_bw=4
eq1_gain=20
<region>
sample=Hammond Jazz\HBj1slC_4H-S.wav
key=c5
lokey=c0
hikey=c8
<group>定义与之前写的一样,只不过加了一个transpose=-12让采样降低一个八度,去掉了pan标签的定义,那么默认声像就是在正中了。<region>定义借用Hammond Jazz 3音色本身的HBj1slC_4H-S.wav采样,根音为c5,区域为c0到c8。
最后我们再以同样的方法加入高八度的声部,这么写:
<group>
ampeg_attack=0.2
ampeg_release=1
transpose=12
pan=100
<region>
sample=Hammond Jazz\HBj1slC_4H-S.wav
key=c5
lokey=c0
hikey=c8
这样都保存后,再读取Hammond Jazz 3音色,就跟以前大不同了。

回复 支持 反对

使用道具 举报

6

主题

76

帖子

979

积分

音乐尖子生

Rank: 4

积分
979
11#
 楼主| 发表于 2020-8-24 15:07:39 | 只看该作者
11楼 elephant说:
晓波老师好样的,终于可以上来了。
回复 支持 反对

使用道具 举报

6

主题

76

帖子

979

积分

音乐尖子生

Rank: 4

积分
979
12#
 楼主| 发表于 2020-8-24 15:09:00 | 只看该作者
12楼 elephant说:
啊不是,应该是 elephant 可以上来了才对,哈哈!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|视障者音乐制作交流基地(szzyyzz.com) ( 蜀ICP备15002464号免责声明:本站网友发表的言论属其个人观点,与本站立场无关!

GMT+8, 2024-11-23 02:19 , Processed in 0.067270 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表