sina.com.cn
新浪首页|免费邮件|用户注册|网站地图

科技时代

新浪首页 > 科技时代 > 软件 > 多媒体类 > 正文
软件分类教程

● 系统工具
● 网络工具
● 常用工具
● 多媒体类
● 图像处理
● 文字编辑
● 休闲娱乐
● 办公软件
● 编程语言
● 操作系统
● 其它软件
● 软件评测
● 主页制作
● 观点评论





合成音色,SOUNDFONT你用过了吗?

http://tech.sina.com.cn 2000/12/06  中国电脑教育报 李惟然

  SoundFont是创新公司的子公司之一———E-mu公司制定的采样音色库技术,根据这一技术编制的扩展名为“sbk”、“sf2”的文件就是用于合成MIDI乐曲的音色库文件。其中,扩展名为“sf2”的文件是2.0版本的音色库文件。SoundFont技术的推出使得用户可以根据自己的需要在声卡的RAM或系统内存中加载所需的音色库,从而根据MIDI文件合成所希望的MIDI乐曲。

  PCI声卡的产生使SoundFont获得了巨大的生命力,它使得用户不必为了获得满意的MIDI合成效果而去购买载有大量ROM和RAM的价格昂贵的ISA声卡(如SB AWE64Gold)。而用户所需做的就是选择合适的音色库加载到内存当中去,从而以很低的成本获得足够大的音色库。当然要获得很好的MIDI合成效果,光有足够大的音色库还不行,PCI声卡的波表合成性能是更加重要的因素。

  Sound Font会打架?

  前些时候,我获得一块创新最新推出的SBLive!Digital数码版声卡。装好声卡发现有2MB、4MB和8MB这3个音色库可供选择加载,先迫不及待地加载了最大的8MB音色库,然后开始欣赏几首配器及混响效果非常复杂的MIDI乐曲。效果果然不同凡响,比我以前使用的只带1MB ROM硬波表的SBAWE64Value强了不少。再加载2MB音色库试试吧!可这么一加,我却傻“耳”了,音质不仅没有提高,反而略有下降,主要是鼓声没原来清楚。这时我注意到在选择音色库的窗口的“配置音色库”一项中“音色库堆栈:”中的2MB音色库前被打了一个箭头,而8MB音色库前没有箭头;在“选择音色库:”的下拉列表中也显示为2MB音色库,打开列表也找不到8MB音色库(如图1)。难道说此时8MB音色库已经不起作用了?清除了8MB音色库后再听,音质没有改变,说明刚才8MB音色库的确不起作用了,也就是说只有最新加载的音色库才起作用。


  这怎么行?我还打算装满SBLive!的各种音色库呢!心有不甘,于是我先清除2MB音色库,重新加载了8MB音色库,然后又加载了一个民族乐器———板笛的音色库,这个音色库很小,只够用来表现板笛的音色,不足以表现稍微复杂一些的MIDI乐曲。加载后,选择音色库的窗口中板笛的音色库被打上箭头。然后开始播放一首复杂的交响乐MIDI乐曲,我又听到了动听完美的乐曲,而且其中包含板笛的声音。这就说明两个音色库都起到了作用,这又怎么解释呢?接着我先清除了8MB音色库再重新加载,使8MB音色库被打上箭头,这时再听那首复杂的交响乐MIDI乐曲,虽然乐曲仍得以完整表现,可是听不到板笛的声音了。真奇怪了!然后我又使板笛的音色库重新被打上箭头,再听一首只由板笛一种乐器演奏的MIDI乐曲,听到了动听的板笛声;可是若让8MB音色库被打上箭头,再听这首MIDI乐曲,听到的却是钢琴的演奏。我打算再做一些试验,于是先清除了8MB音色库,再加载了一个编钟的音色库。此时编钟的音色库被打上箭头,其下是板笛的音色库,再听那首板笛的MIDI乐曲,听到的却是编钟的声音。我又加载了一个二胡的音色库,再听同首MIDI乐曲,听到的又是二胡的声音。


  Sound Font怎么用?这些现象真让我迷惑了,直到我打开选择音色库的窗口的“配置乐器”一页才恍然大悟(如图2)。我们知道根据MIDI规则,各种乐器的声音样本都被分配了一定的乐器号,一共有000~127个乐器号。通常钢琴占据前几个乐器号,枪声占据最后一个乐器号。演奏某首MIDI乐曲时,系统根据MIDI文件所包含的发音命令到音色库中相应的乐器号上取样合成乐曲。只有当被打上箭头的音色库不包含演奏该首MIDI乐曲所需的全部乐器号时,系统才会从其后的音色库中寻找所需的乐器号再取样合成。由于创新提供的2MB、4MB和8MB这3个音色库都是完整音色库,也就是说它们都包含了000~127号的全部乐器号(3个音色库的差别主要是乐器音色样本及混响效果的数量不同),因此任何一个音色库被最后加载,即被打上箭头,那么其他音色库就没用了。而那几个板笛、编钟、二胡的音色库都只占据000乐器号,在播放复杂的MIDI乐曲时,还需从其他的音色库中的001~127乐器号上取得声音样本进行合成。图2表明000乐器号已被板笛占据,而原来占据该乐器号的8MB音色库中的Piano1已不起作用。此时听那首复杂的交响乐MIDI乐曲时所听到的板笛的声音实际上本应是钢琴发出的。而那首只由板笛一种乐器演奏的MIDI乐曲只要求从000号乐器取样合成,因此,当8MB音色库被打上箭头,则听到的是钢琴声;若编钟(二胡)的音色库被打上箭头,则听到的是编钟(二胡)声,只有当板笛的音色库被打上箭头,才能正确演奏板笛的声音。

  由此,前面的试验现象都可以容易地得到解释了。但是由此又产生了一个问题,即SBLive!系列声卡所支持的32MB音色库到底意味着什么?如果创新提供的3个完整音色库中的任一个处于优先状态(被打上箭头),那么其他音色库就完全不起作用了。如果要增加乐器样本,就必须加载非完整音色库,并使其处于优先状态,其缺少的乐器号再由创新提供的完整音色库或其他音色库来填补。这样做的好处是可以正确合成非常见乐器的MIDI乐曲,如中国民族器乐。可这又带来了另一个问题,很多非完整音色库其实就是一种乐器或一类乐器的音色库,通常都占据000乐器号,最多占据前几个本属于钢琴的乐器号,所以鱼与熊掌不可兼得,用户必须根据MIDI乐曲的特点来决定到底用哪一种乐器的音色库来取代钢琴的音色库。可有时连用户自己都不知道所要听的MIDI乐曲到底应由什么乐器的音色来表现。如果要获得更多的有效音色库,只能期望一种(一类)乐器的音色库被分配于不同的乐器号上,比如我们“短歌行-浮点联盟”网站(www.fashao.com)上有一个吉他音色库被加载后被分配于000、001、002这三个乐器号上,这样一来演奏MIDI乐曲时把钢琴的声音都变成了吉他声。So u n d Fo nt有什么意义?通过比较,我终于发现,包含在完整音色库中的128种常见乐器的单一音色库被加载后,要么被分配在原有的对应乐器号上从而取代完整音色库中的同种乐器,要么分配于前几个乐器号上(视大小而定,通常只占据000乐器号);而128种常见乐器以外的特殊乐器的音色库被加载后都被分配于前几个乐器号上(也视大小而定,通常只占据000乐器号)。也就是说即便你拥有100种民族乐器的单一音色库,但你也只能同时听到处于优先状态的那一种乐器声,或者说你不可能完美地听到哪怕只由2种民族乐器演奏的MIDI乐曲,除非某个民族乐器的音色库特别复杂,将001、002等前几个乐器号也占用了。由此我们可以断定,除非创新编制出32MB的完整音色库,否则SBLive!系列声卡所能支持的32MB音色库容量没什么意义。其实我现在也并不期待创新推出32MB的完整音色库,一个原因是凭我的“肉耳”已无法分辨出4MB音色库与8MB音色库之间的区别了,32MB音色库又有什么意义呢?不过创新若能推出一套全由非常见乐器组成的完整音色库,从而能把同一个MIDI文件演奏成两种迥然不同的乐曲,那可就太好了。另一个原因是我前面提到的,要获得很好的MIDI合成效果,光有足够的音色库还不行,声卡的波表合成性能是更加重要的因素。要证明这一点很容易,不给SBLive!加载任何音色库而让其与YAMAHA的S-YXG50这个软波表配合使用,然后与SB16声卡加S-YXG50相对比,那简直是天壤之别。因此我更期待Live!Ware4.0、5.0……,希望我的声卡还有很大潜力可挖。最后一个原因当然是大音色库也要让人付出代价———系统资源被大量占用。

  最后需要说明的是,SoundFont的意义是允许用户根据需要选择音色库,其实如果不是为了听特殊的音色,最好还是装一个YAMAHA的软波表,如:S-YXG50、S-YXG100,并在“控制面板\多媒体”中选用软波表来播放MIDI。虽然是软波表,可是合成效果与声卡的性能关系极其密切,配合EMU -10K1的强大性能,MIDI合成效果真是太棒了!此时不论给声卡加载什么音色库都不会影响音质,而合成效果远远好于采用8MB音色库进行合成的效果。

     

  【相关论坛】 【发表评论】  


网站简介 | 用户注册 | 广告服务 | 招聘信息 | 中文阅读 | Richwin | 联系方式 | 帮助信息 | 网站律师

Copyright © 1996 - 2000 SINA.com, Stone Rich Sight. All Rights Reserved

版权所有 四通利方 新浪网