[原创]VST插件的延迟与补偿

2007-08-04 09:54 | 伊仑

说到VST效果器,玩音频或翻唱或广播剧的大伙都明白的,这里就不多说了。

而说到VST效果器自身的问题,在这里还是不得不提,特别是使用早期多轨音频软件(比如:Adobe Audition 1.5)的朋友,或者您使用一些硬件DSP卡的插件,建议您关注这个问题。

您是否遇到过这个情况,当您把一个质量非常高的或者一些特殊的VST插件挂到一个音轨进行实时处理,然后和其他音轨进行播放时,会发现挂了这个插件的轨道出现了滞后感,也就是音轨不同步了,这给人非常多的烦恼。而这个问题,就是VST延迟问题。这些VST插件延迟因程序设计或者特殊设计,会带有延迟,甚至有些延迟非常高,这些延迟通常使用采样数(Samples)来表示,比如VST latency=1024个采样。

原则上,VST效果器大多数都是0延迟,也就是说latency= 0 Samples ,0延迟的插件就不必考虑这个问题。而有些插件,比如大多数采样混响器、高质量线性均衡器(Linear EQ)等等,几乎大多都是带延迟的,有些是程序设计问题,而有些则是故意而为之(线性均衡就是故意加入延迟的)。这些带延迟的插件,通常都会在说明书内写明清楚它带了多大的延迟,比如SIR1011采样混响器的延迟是8960采样。如果你在翻唱的歌曲人声挂上了这个效果器,必须补偿这个延迟,才能保证该轨道不会出现滞后的情况。至于哪些插件带延迟,后面提供的小软件可以读到。

实际上,目前的大多数新出的多轨音频软件都会自动进行VST延迟补偿,比如:

Samplitude8\9、Sequoia8\9、Sonar6、SawStudio4、Adobe Audition 2.0等等,都会自动在轨道上延迟补偿,避免滞后和不同步的问题。其中Samplitude 8\9、Sequoia 8\9 等等还可以手动强制延迟补偿,强制补偿的功能是为了避免自动补偿产生的错误。因此使用以上软件,基本上不用担心这个问题。

然而,一些老的软件,就没有这么方便了,比如Adobe Audition 1.5、Vegas、SawStudio 3.9J之前的版本等等软件,它们处理这个问题就力不从心了。因此您在这些软件中使用巨大延迟的插件时,会出现麻烦的问题。

如果使用这些老软件,要解决这个问题,可以借助一些延迟补偿工具进行强制补偿,比如:

基于VST的有 VoxengoSampleDelay延迟补偿器;

基于SAWStudio的有 JMS latency延迟补偿器;


对于jms的东西,大家用得少,就先不谈了。而VoxengoSampleDelay是一个VST插件,可以用在任何支持VST的宿主软件上,当您把它挂在音轨上的时候,可以用它手动设置延迟采样,比如说,当您挂了一个插件(比如:FREQUAL-IZER),这个插件延迟是3072Samples,此时您可以在这个轨道插入VoxengoSampleDelay,在这个工具里面调整数值为3072,就达到了目的。如果有多个插件带延迟,总的延迟数值要相加后再用VoxengoSampleDelay调整。





那么,如何知道一个VST插件带有多大的延迟呢?前面说过了,这些VST产品都会在产品说明书上写明清楚的。不过.... 我知道大伙儿大多都用盗版...,没说明书 -_-b,那该怎么办?建议:

1.问使用正版的同学要...(被踢飞)

2.使用工具


那么,哪些工具可以读到vST插件的延迟数值?其实Samplitude、Cubase SX等等都可读出VST延迟的数值,当你挂上插件后,会显示插件的延迟数,因此你记下这个数就行了。

不过....不少懒人压根就不想装上述软件这类庞然大物,又懒得背下延迟数值(比如我 --__--b),因此读取VST延迟数值是个麻烦事儿...

后来发现有个小玩意似乎能干这事情,就是Christian的免费“VSTPluginAnalyser”小软件,它本身是一个VST插件的debug调试器,不过我们可以简单用它的log日志功能读到相关信息,比如Initial Delay之类的信息。本软件所在的网站:http://www.savioursofsoul.de/Christian/?page_id=5 自己去下挖

下图是我随便读取了一个EQ插件,可以看到log日志中的延迟是3072,一目了然挖。








当你得到延迟数后,就可以填入你的VST延迟补偿器中了。


于是,还在使用形如AA1.5、Saw 3.9i之类古董的朋友,可以偷笑了~



如果本文有错误,敬请批评指正挖~