注意:本文已经发表在《MIDI音乐制作》杂志第8期上,请勿转载。
本文是本站编译的《Cakewalk Sonar 4 超级使用宝典》中的第20章:改善音频性能。
有关CAKEWALK SONAR 4更加详细的使用说明,请购买本站新书《Cakewalk Sonar 4 超级使用宝典》,其中的内容相当丰富,适合任何阶段的用户。详情请参考:http://www.cakewalk.com.cn/show.aspx?id=683&cid=35
前言
相对于其他文件格式来说,数字音频目前面临着几大挑战:体积太大,消耗大量的磁盘空间(尤其使用高采样率和位深时更是如此)和完全依赖CPU。但是数字音频格式仍然有着其他格式(如MIDI格式)无法比拟的优势——那就是基本上不受回放设备的限制,较为真实地反映声音。所以,要想在现有的基础上让音频性能表现得更好则是首要问题。改善音频性能除了可以在硬件上下功夫外(升级电脑,更换CPU,添加内存,更换专业音频卡等),还可以通过软件设置优化性能。硬件优化的方面不在本文的主要讨论范围之内,因为只要花钱,就可以买到质量好的设备,但这对于大多数人来说没有任何实用意义。我们的目标是尽量花最少的钱得到最好的结果。下面我们将从几个方面详细讲述如何从软件上改善音频性能。
硬件配置
笔者经常可以在各大网站的帖子里看到这样的问题:“如何才能录的更加清楚?”,“怎样才可以反应快一点?”,“有没有适合板载声卡的ASIO驱动程序?”等等。其实很多人在问这些问题的时候,基本上都是因为不是很了解应该使用何种音频驱动,如何配置音频驱动等等。我们暂时撇开驱动不谈,先谈谈应该使用什么样的硬件。
首先,要搞清楚你究竟要做什么。假如你只是进行简单的MIDI制作或者偶尔做一些音频处理,你可以不必购买昂贵的专业设备,只需要使用板载的声卡(AC97系列)或者另外买一块创新的声卡(300元左右)就可以满足需要了。如果你需要进行大量的音频编辑和处理工作,那么我劝你还是购买一块专业的音频卡,因为这样可以省去以后的很多麻烦。这个钱一定不能省。
其次,使用合适的音频驱动程序。对于目前的大多数声卡来说,都使用的是WDM驱动,有些专业声卡则使用了ASIO驱动。ASIO驱动是一种低延迟响应的音频驱动,对于纯MIDI制作没有任何影响,但是却是音频工作者的一大福音。对于WDM驱动来说,延迟一般都在20毫秒以上,而对于ASIO驱动来说,延迟轻易降到10毫秒以内,有的甚至达到无延迟!使用效果器或软音源的用户会很在意这个延迟,尤其在使用MIDI键盘实时挂接软音源时更加明显。
软件配置
这里的软件配置指的是在SONAR里进行合适的配置,使得音频性能最佳化。
1.使用Wave Profiler工具
Wave Profiler是一个分析电脑中的声卡并为SONAR的工作确定最好的DMA(直接内存访问)设置的工具。DMA设置会以采样数显示声卡所支持的采样率和位深。Wave Profiler也会设置Buffer Slider(缓存滑块)的数值,该数值控制着混音时的延迟。如果你使用的驱动是ASIO驱动的话,就没有必要使用Wave Profiler(在Audio Options命令的General标签页的下面的按钮)了。改善混音延迟的最好的办法之一就是使用WDM或ASIO声卡驱动程序代替老式的MME驱动程序。
DMA设置用于确保包含MIDI和音频的工程在回放时保持完全同步。如果没有正确配置音频设备的DMA设置,MIDI和音频素材很可能无法正确的回放。
Wave Profiler工具会在第一次运行SONAR时自动运行。如果你的声卡已经安装了WDM驱动,SONAR就会侦测到,然后运行wave profiler为声卡支持的采样率和位深选择最好的DMA参数。也可以点击Audio Options对话框里Advanced标签里的“Always Use MME Interface Even When WDM Drivers are Available(即使有WDM驱动,也仍然使用MME驱动)”选项强制使用MME驱动。该选项会强制有WDM驱动的声卡使用MME驱动。在重新启动SONAR时,会提示运行wave profiler,这时,系统会使用MME的DMA设置代替WDM的DMA设置。如果你有多个声卡,而其中一个不支持WDM时就需要使用这种方法。
如果你遇到了回放时MIDI和音频的同步问题,请先运行Wave Profiler尝试默认设置。
手动运行Wave Profiler
1.选择Options-Audio打开Audio Options对话框,点击General标签。
2.点击Wave Profiler。
3.点击是开始检测。测试完毕,点击Close。
Wave Profiler就会按次序检查所有声卡,并把检测到的声卡的名称按照下面的标题显示出来:
标题 |
|
含义 |
16 Bit Wave API |
|
没有检测到 WDM 驱动。只能使用 MME 驱动。 |
32 Bit Wave API |
|
你可以选择即使有 WDM 驱动,仍然强制使用 MME 驱动。 注意: Windows 2000 会使用该标题设置。 |
WDM Kernel Streaming |
|
检测到了 WDM 驱动。 |
2.启用和禁用音频设备
你的电脑里可能已经安装了很多设备,比如FAX和软合成器,而Windows会把它们识别为包含音频驱动的声卡。而你并不想使用这些设备作为音频的输入或输出。如果它们列于Audio Options对话框里作为音频端口的话,就需要禁用它们。
启用和禁用音频设备
1. 选择Options-Audio打开Audio Options对话框,点击Drivers标签。
2. 在Input Drivers和Output Drivers区,按以下说明操作:
● 要启用一个音频设备,点击设备名称,让该设备高亮显示。
● 要禁用一个音频设备,点击设备名称,让该设备取消高亮显示。
3. 点击OK。
在Audio Options对话框里禁用一个设备,通常会阻止和其他音频设备的冲突。有时,你可能需要在Windows控制面板里禁用设备。
SONAR也允许你选择一个声卡,用于同步录制和回放的时钟(如果你只有一个声卡,那么SONAR就会自动使用它)。每个声卡的时钟晶振可能会稍微不同,这会引起声卡的实际回放率有稍许不同。如果你是用一个声卡录制而另一个声卡回放,这些不同可能会导致轻微的同步问题。一般来说,你应该选择最好的声卡作为录制和回放时的同步时钟源。
注意:有些多通道的声卡会有多个驱动,而大多数声卡都只有一个音频驱动。
选择回放和录制的同步控制器
1. 选择Options-Audio打开Audio Options对话框,点击General标签。
2. 在Playback Timing Master和Record Timing Master区,分别选择控制回放和录制同步的声卡。
3. 点击OK。
必须选择回放同步控制器,你可以通过任意数量的设备一次发送到音频输出。例如,假定你的电脑有两个声卡,一个是独立声卡,一个是主板内建的声卡。你应该选择独立声卡作为录制和回放的同步控制器。但是,在Console视图或Track视图里使用bus,也可以通过内建声卡传送混音数据。
3.使用18-bit,20-bit,和24-bit位深
SONAR在首次安装后会配置使用16-bit、44.1kHz采样率。几乎所有的声卡都支持这种音频数据。目前越来越多的专业声卡都开始支持使用更高的位深(18-bit,20-bit和24-bit)和采样率(48 kHz和96 kHz)进行录制和回放。SONAR允许使用这些位深和采样率。为了得到更好的效果,参考如下项目:
● 在录制或导入音频之前,设置合适的音频驱动位深和采样率。这一点很重要。从24 bit到16 bit降低音频驱动位深会降低工程中音频的质量。工程的采样率只有在添加音频之前才可以改变。要设置音频驱动位深和采样率,则打开Audio Options对话框(Options-Audio命令),点击General标签并从Audio Driver Bit Depth和Sampling Rate区域里选择合适的数值。
● 如果你的声卡支持的音频驱动位深是18,20或24,就选择文件位深为24。SONAR就会按照bytes(8-bits)分配内存。如果你没有选择24-bit的文件位深(3 bytes),SONAR就会把选择的18-,20-或24-bit数据转换成16 bits (2 bytes),这样声卡的高位深能力将会没有用处了。要使用Audio Options对话框(Options-Audio命令)设置文件位深,则点击General标签,从File Bit Depth区域选择数值即可。
● 在Audio Options对话框的Driver Profiles标签里的Stream > 16 Bit Data As区域选择一种数据格式。你可能需要参考声卡的说明书找到优化配置的方法。
● 注意:使用24-bit位深和高的采样率需要消耗更多的磁盘空间和更快的CPU。
24-bit的工程使用的磁盘空间比16-bit工程使用的磁盘空间多50%。如果你有很多音频轨,需要的磁盘空间的总数量将会很多。同时,在回放使用实时效果器的多条24-bit音轨时,一个强劲的CPU也是必需的。
注意:
某些音频设备,尤其是使用WDM驱动的USB设备,必须把SONAR的aud.ini 文件其中一个变量的值设置为1时才可以工作在24-bit模式下。该变量是aud.ini文件的[音频设备的名称 (`n' in, `n' out)]部分的Use24BitExtensible=<0或1>。
4.转换采样率和位深
通常,最好的做法就是保持工程中从开始到最后的采样率和音频位深不变,但是SONAR可以完成下面一些任务:
● 为制作CD(CD格式是16-bit,44.1 kHz)准备高质量的音频(高于16-bit,44.1 kHz)。
● 更改音频文件的位深。
● 转换工程的采样率。
● 把24-bit的音频导入到16-bit的工程里。
● 把16-bit的音频导入到24-bit的工程里。
● 导入不同采样率的音频到工程里。
下面是具体的操作方法:
为制作CD准备高质量的音频
1. 使用File-Export Audio命令打开Export Audio对话框。在Files of Type区选择RIFF Wave,在Format区选择Export to Stereo File(s),在Bit Depth区选择16。
2. 导入音频后,关闭SONAR并打开声卡的控制面板(对于Midiman声卡就是Delta Control Panel;对于Echo Audio就是Echo Console;对于MOTU就是324控制台,等)。打开控制面板后设置采样率为44.1 kHz。
3. 下一次启动SONAR时,使用Options-Audio命令打开Audio Options对话框,在General标签里,把Audio Driver Bit Depth更改为16。更改新工程的默认设置:Sampling Rate(采样率)为44100 Hz,File Bit Depth(文件位深)为16 bits。
4. 在做了这些调整后,点击对话框里的Wave Profiler按钮。在进行音频硬件的配置时,可能会被提示音频驱动错误,需要关闭。不用管它,重新启动SONAR,检查Audio Options对话框的设置,重新设置,然后再次点击Wave Profiler按钮。当运行Wave Profiler没有错误提示时,就可以进入下一步了。
5. 创建一个新工程(File-New命令),选择Normal模板。
6. 使用File-Import Audio命令导入已经缩混的音频。
7. 使用File-Info命令,点击File Stats按钮确认导入音频的bit depth和sample rate。File Stats对话框会列出正确的采样率和位深。
8. 最后一步,使用File-Export Audio命令,确保使用16位深并取消所有Mix Enables选项。
现在你就可以使用烧录软件把导出的文件烧录成CD了。
更改音频文件的位深
1. 使用Tools-Change Audio Format命令打开Change Audio Format对话框。
2. 在New Bit Depth区域选择一个新的位深。
3. 如果要更改到16 bits,可以选中或取消选中Apply Dither选项。Dither(抖动)意思就是添加某个音频信号到16 bit音频里,让声音听起来更像是24 bit信号。
4. 点击OK。
SONAR就会更改音频文件的位深。
转换工程的采样率
1. 选择一条音频轨,使用File-Export Audio命令打开Export Audio对话框。
2. 选择需要的选项,点击Export。
3. 对所有需要转换的音轨重复第1步和第2步操作。
4. 导出了所有需要转换的音轨后,打开Audio Options对话框(Options-Audio命令),点击General标签,更改Sampling Rate区域的数值。
5. 使用File-New命令打开一个新工程。
6. 使用File-Import Audio命令打开Import Audio对话框。
7. 选择刚才导出的音频文件(按住Ctrl键可多选),点击Open按钮导入文件。
SONAR就会按照新的采样率导入选择的文件。
把24-bit的音频导入到16-bit的工程里
1. 打开Audio Options对话框(Options-Audio命令),点击General标签,更改File Bit Depth为24。
2. 使用File-New命令打开一个新工程。
3. 导入一个24-bit的音频到新工程里。
4. 使用Tools-Change Audio Format命令打开Change Audio Format对话框。
5. 在New Bit Depth区域里选择16。
6. 可以选中或取消选中Apply Dither选项。Dither(抖动)意思就是添加某个音频信号到16 bit音频里,让声音听起来更像是24 bit信号。
7. 点击OK。SONAR就会更改音频文件的位深到16 bit。
8. 打开要导入音频的16-bit工程。
9. 把更改位深后的音频文件拖动或粘贴到16-bit工程里。
把16-bit的音频导入到24-bit的工程里
只要使用File-Import Audio命令导入16-bit的音频文件即可。
导入不同采样率的音频到工程里
1. 使用File-New命令打开一个新工程。
2. 打开Audio Options对话框(Options-Audio命令),点击General标签,把Sampling Rate区域的数值更改成和工程的采样率相同。
3. 使用File-Import Audio命令导入音频文件(这将会把它们转换为新的采样率)。
4. 打开需要导入音频的工程,把更改位深后的音频文件拖动或粘贴到目标工程里。
改善音频文件的性能
当工程中包含了很多的数字音频轨或者有很多的实时效果器在使用时,你的电脑可能在回放时无法连续播放。这时,你将会听到一些音频出现破音或者停顿。或者可能会导致工程对实时效果器和音量变化的响应变慢。到最后可能回放完全停止。如果你碰到这种现象,就会收到一个对话框建议你修复该问题。下面将会讲述数字音频的性能问题,包括:如何使用更多的音频轨、更多的实时效果器、更低的延迟以及如何修复音频问题。
1.发挥电脑的最大效能
电脑能够最多同时播放多少的音频轨取决于音频采样率,硬盘速度以及CPU的速度。
CPU对音频轨的影响很难量化。一般是由芯片的类型,时钟频率,正在使用的实时效果器的数量和类型,缓存大小和设置以及其他一些因素影响的。
下表列出了一些用于增加音频轨数量和效果器的方法:
方法 |
|
工作原理 |
避免压缩磁盘 |
|
如果你使用了 DoubleSpace , Stacker 或其他一些磁盘压缩程序,这些程序将会极大减慢音频回放的速度。建议把你的数据目录放在没有被压缩的磁盘上。 |
退出其他程序 |
|
如果打开了很多程序,将会占用更多的 CPU 。建议退出目前不需要的程序。 |
回放时避免其他动作 |
|
在回放期间,打开、关闭窗口或者做很多编辑工作,将会占用 CPU 资源。 |
离线应用一些效果器 |
|
如果对实时效果很满意,那么就考虑使用 Process-Apply Audio Effects 命令离线应用这些效果器。然后从实时效果器项目里删除这些效果器以减轻 CPU 占用。 |
存档不使用的音频轨 |
|
被静音的音频轨仍然会继续载入处理器。要减轻处理器负担,请把不使用的音频轨存档。 |
缩混音频轨 |
|
如果你的工程里包含了很多不同的音频轨和许多实时效果器,就可以使用 Edit-Bounce to Track(s) 命令把这些内容缩混成一条音频轨 。缩混后,就可以把原始音轨(如果日后还需要它们)存档,只播放新音轨,这样就会大大减轻电脑的计算负担。 |
更改 Audio Options 对话框 Advanced 标签里的 I/O Buffer Size |
|
默认设置是 64 KB 。也可以使用 128 , 32 或 16 。如果无效,试试 256 , 512 或采用其他的方法。 |
对硬盘碎片整理 |
|
如果硬盘有很多碎片,音频回放就会很慢。使用系统自带的磁盘碎片整理程序可以改善这种情况。 |
关闭 Audio Options 对话框 Advanced 标签里的 Clip Audio Mix Upon Overflow 选项 |
|
如果混音没有失真,就不需要使用该选项。 |
关闭 Audio Options 对话框 Advanced 标签里的 Apply Dither 选项 |
|
抖动可以巧妙的改善声音,而大多数人根本听不出来,你可以在后期处理时打开。 |
启用磁盘缓存 |
|
SONAR 默认不使用磁盘缓存,但是磁盘缓存会更好的改善音频性能。如果你的电脑有很大的内存( 128 MB 或更多),而且音频轨也包含很多的重复片断,就可以启用缓存来改善 SONAR 的音频性能。选择 Options-Audio ,点击 Advanced 标签更改磁盘缓存设置。 |
以较低的采样率录制音频 |
|
如果不需要 CD 质量的 44.1 kHz 音频,那么录制时可以采用较低的 22.05 kHz 或 11.025 kHz 采样率。选择 Options-Audio 更改采样率。该方法只在开始新工程时有效 。一旦工程的音频采样率设定后就不可更改了。 |
禁用 Display Clip Contents 选项 |
|
在 Clips 区显示音频 clips 的内容会使用一些 CPU 资源。如果你的电脑比较慢,最好禁用该特性。在 Clips 区点击右键选择 View Options ,禁用 Display Clip Contents 选项。 |
2.混音延迟
在SONAR的Audio Options对话框的General标签里有一个设置Mixing latency(混音延迟)的滑块。混音延迟是SONAR用于回放时准备音频数据缓存的时间量。更低的延迟设置将会增加处理的时间,因为要更加频繁的填充更小的数据缓存。在以下的条件下,你可能需要使用滑快增加混音延迟量:
● 使用很多的实时效果器,并听到了断断续续的声音。检查CPU负荷表是否有较高的读数,尝试适当增加延迟。
● 你的声卡在低延迟下运行的不好。某些声卡在在低延迟下可能运行的不好。即使SONAR的CPU负荷表和Dropout指示器都没有报告错误,但是仍然听到了断断续续的声音,可以尝试增加延迟。
不同声卡的同步精度以及需要多少音频缓存等方面都是不同的。SONAR的Wave Profiler工具通常可以自动的检测到声卡的类型,并按照最佳性能加以配置。如果你的声卡是知名型号的声卡,那么就无需更改过多的音频设置即可以使用SONAR。但是如果遇到MIDI和音频之间的同步问题时,比如使用不同的采样率和位深或想要试验混音延迟,就需要做一些优化了。
3.WDM和MME驱动程序
基本上在任何情况下,新式的WDM(Windows Driver Model)声卡驱动程序都会比老式的MME(Multi-Media Extensions)驱动程序有更好的表现。如果你的声卡使用WDM驱动,就一定要使用它。下表比较了两种驱动的不同之处:
WDM... |
|
MME... |
低延迟 |
|
通常是高延迟 |
使用在 Windows XP , 2000 , ME , 98 SE 上,但无法使用在 98 Gold 上 |
|
使用在 Windows 98 , ME 上。某些 MME 也可以使用在 Windows 2000 上 |
大多数声卡厂商都使用 WDM 驱动 |
|
MME 驱动随处可见。 注意: 如果你使用多个声卡而且他们不都使用 WDM 驱动,你必须强制 WDM 驱动作为 MME 驱动使用。选中 Audio Options 对话框的 Advanced 标签里的 Always Use MME Interface Even When WDM Drivers Are Available 命令。 |
4.ASIO驱动
SONAR支持ASIO驱动。所以尽量在SONAR里设置使用ASIO驱动。
使用ASIO驱动
1. 选择Options-Audio打开Audio Options对话框。
2. 点击对话框的Advanced标签。
3. 在Playback and Recording区,从Driver Mode下拉菜单里选择ASIO。
4. 重新启动SONAR。
5.Queue Buffers(队列缓存)
SONAR允许在Audio Options对话框General标签里设置队列缓存的数量。更高的队列缓存可以保证完全的回放,但是会增加延迟;更低的队列缓存可以降低延迟,但是可能会引起丢祯。默认设置是2。
6.状态栏/CPU负荷表/磁盘表
SONAR中有几个工具可以帮助识别和纠正音频问题,这些工具是:CPU负荷表、磁盘占用表以及Dropout(丢祯)指示器。这些工具都位于屏幕底部的状态栏上。状态栏也包含了磁盘空间的测量工具。如果没有看到状态栏,那么选择Options-Global命令的General标签,选中Show Status Bar(显示状态栏)。
状态栏包含以下几个区域,从左到右依次是:
● Now time——状态栏最左面的区域显示的是当前时间。
● Audio Running——只要按下Transport工具栏上的Audio Engine按钮 ,该Audio Running指示器就会亮起。
● Dropout指示器——该指示器和Audio Running指示器在同一个位置。当工程需要更多的CPU、内存和磁盘空间时,Dropout指示器就会显示Dropout。
● Mute——只要有音轨静音,该指示器就会亮起。点击Mute指示器取消所有静音轨的静音。
● Solo——只要有音轨独奏,该指示器就会亮起。点击Solo指示器取消所有独奏轨的独奏。
● Arm——只要有音轨按下Arm按钮准备录制时,该按钮就会亮起。该指示器和红色的Aut指示器在同一个位置。点击Arm指示器取消所有Arm音轨的状态。
● Aut——在Automation录制时任何控制项被Arm后,红色的Aut指示器就会亮起。该指示器和Arm指示器在同一个位置。点击Aut指示器取消所有Arm音轨的状态。
● Disk Space——该区域显示了波形数据目录所在的磁盘,目前还剩余多少磁盘空间。它也可以使用磁盘总空间的百分比显示剩余空间量。
● CPU meter——CPU负荷表显示的是处理一个完全的音频数据缓存所使用的时间作为用于处理这些数据并维持连续回放的最大时间百分比。由于该指示器设计了一些公差范围,所以很有可能读数会超过100%。如果读数超过100%会显示"Overload(过载)"。
● Disk meter——磁盘表显示的是还有多少可用于在磁盘上执行输入输出操作的时间。I/O缓存的大小(列于Audio Options对话框的Advanced标签里)决定了还有多少时间可以用于执行磁盘操作和维持连续回放。在SONAR进行磁盘操作时,该指示器会跳动显示可以使用的时间的百分比。
● 如果碰到丢祯问题或者CPU或Disk表的读数很高,你就需要改善音频性能了。一些插件无法工作在96 kHz的采样率下,使用24的音频位深可以增强某些插件的性能,但是把采样率增加到96 kHz并不能明显的改善,还会引起插件添加一些不真实的声音效果。使用24-bit,44.1 kHz的设置就可以得到丰富的增强性能了,而且各种插件也可以很好地进行工作。
其实音频优化是一个相对具体的问题,需要因地制宜。因为每个人的硬件配置不同,软件设置也不同,这就造成了使用同样的设置,有些人有效,有些人无效的情况。
综上所述,音频性能的改善需要对软硬件综合优化,并不仅限于硬件。根据软件的不同,优化的方式也不相同。本文着重讲述了如何使用SONAR进行音频性能的优化。如果你正在使用其他的音频软件,如CUBASE,那么本文也同样会起到参考的作用。
最后,我仍然想要建议大家的是:在自己经济条件许可的条件下,为了避免今后出现任何音频问题(尤其是延迟问题),尽量购买一块专业的音频卡。也不要寄希望于如何把普通音频卡“变成”专业音频卡。
(如果你在使用音频驱动方面有什么问题,欢迎发邮件与我交流:midisky@163.com)