虚拟工作室技术(VST)是一个软件接口,集成软件音频合成器和功效插件与音频编辑和记录系统。VST和类似的技术使用数字信号处理在软件中模拟传统录音棚硬件。VST有成千上万的商业和免费插件,还有大量的获取了VST创造者Steinberg的许可的支持VST的音频软件。
简介
VST插件通常运行在一个
数字音频工作站(DAW)上来提供额外的功能,还有一些独立的支持VST的宿主插件。大部分VST插件是工具类或者效果类,也有其他的类别存在,比如
频谱分析仪和各种仪表。VST插件同长提供一个自定义
图形用户界面,显示类似于音频硬件的物理开关和旋钮。一些(通常是比较老的)插件的用户界面依赖于其宿主应用。
VST仪器包括软件
仿真用来模拟知名的硬件
合成器和
采样器。它们通常模仿原始设备的外观以及它的声波特性。这让音乐家和录音工程师使用虚拟版本的设备,而不是使用昂贵且难以获得的设备。
VST仪器通过MIDI接收数字信息记录和数字音频输出。效果插件接收数字音频,经过处理后输出。(一些效果插件也接受MIDI输入,例如MIDI同步调节与节奏同步的效果)。MIDI消息可以控制仪器和效果插件的参数。大多数的宿主应用程序可以按路线将音频从一个VST输出发送到另一个VST输入(链式)。例如,一个VST合成器的输出可以发送到一个VST混响效果插件。
历史
Steinberg 在1996年发布了VST接口规范和SDK。他们同时发布了Steinberg Cubase3.02,其中包括第一个VST格式的插件:Espacial(
混响),Choirus(合唱效果),Stereo Echo和Auto-Panner。
Steinberg 在1999年将VST接口规范更新到了2.0版本。其中一个附加能力是插件接收MIDI数据。它支持虚拟演播室技术工具(VSTI)格式插件的描述。VST仪器可以作为独立的软件合成器、采样器或鼓机。
Neon是第一个可用的VST仪器(包含在Cubase VST 3.7中)。这是一个16音,2振荡器的虚拟模拟合成器。VST接口规范在2006年更新到2.4版本。改动包括增加采用64位精度处理音频的能力。
VST 3.0 发行于2008年。改动包括:
VST 3.5发行与2011年2月。改动包括记录表达式,它提供了在复调安排中个人记录事件间的广泛的衔接信息。这支持了性能的灵活性和更自然的播放感觉。
2013年9月,Steinberg 停止了对VST 2 SDK 的维护。十二月,Steinberg停止发布SDK。
VST插件
一共有三种类型的VST插件。
VST仪器生成音频。他们一般都是虚拟的
合成器或
采样器。许多重新创建了著名的硬件合成器的外观和声音。知名的VST乐器包括Nexus 1,sylenth,Omnisphere,Omnisphere,FM8,Absynth,Reaktor,Gladiator和Vanguard。
VST效果处理而不是生成音频,执行和硬件音频处理器相同的功能如
混响和
移相器等。其他监控效果提供未处理音频的输入信号的虚拟反馈。大多数宿主程序允许链接多个效果。音频监控设备如频谱分析仪和测量仪代表视觉上的音频特性(振幅、频率分布、视觉等)。
VST的MIDI效果处理MIDI消息(例如,
转置或用琶音演奏)并安排路线将MIDI数据发送到另一个VST工具或者硬件设备。
VST宿主机
一个VST宿主机供VST插件运行的软件应用或硬件设备。主机应用程序为VST插件提供UI,以及为VST提供数字音频和MIDI的输入输出路线。
Software
许多VST宿主机都是可用的,不过并不是所有的都支持VST 3插件。
独立专用主机为VST插件提供主机环境,而不是使用插件来扩展自己的功能。它们通常针对实时性能使用进行优化,具有像快速歌曲配置切换这样的特征。
VST插件可以使用转换层或Shim托管在不兼容的环境中。例如,FL Studio仅支持其自己的内部插件架构,但是可用的本地“包装器”加载VST插件等。 FXpansion提供了一个VST到RTAS(Real Time AudioSuite)包装器,允许VST插件在Pro Tools中运行,VST到音频单元包装器允许VST插件在Logic Pro中运行。
硬件
硬件VST主机可以加载特殊版本的VST插件。这些单元是便携式的并且在没有计算机的情况下可用,尽管其中一些单元需要计算机进行编辑。其他硬件选项包括专为音频处理设计的PCI / PCIe卡,它们从计算机的CPU接管音频处理并释放RAM。
一些硬件主机接受VST和VSTis,并运行Windows兼容的音乐应用程序,如Cubase,Live,Pro Tools,Logic等,或运行自己的DAW。其他只有VST主机,需要单独的DAW应用程序。 Arturia的原产地是一个硬件DSP系统,在一台机器中包含几个VST软件合成器,如来自Roland的Jupiter 50/80。使用适当的软件,音频数据也可以通过网络发送,因此主机运行在一台计算机上,VST插件运行在外围机器上。
主机规范
用于实时,舞台上应用的硬件(或软件)VST主机的可测量的
关键性能指标(KPI)是:
插件标准
VST插件标准是由Steinberg创建的音频插件标准,允许任何第三方开发人员创建VST插件以在VST主机应用程序中使用。 VST需要单独安装Windows,Mac OS X和Linux。大多数VST插件仅适用于Windows,因为苹果公司在OS X(音频单元是OS X操作系统的核心部分)上使用专有的音频单元技术。缺乏Linux的商业环境意味着很少有开发者瞄准这个平台。
预置
VST插件通常有许多控件,因此需要一种管理预设(控制设置集)的方法。
Steinberg Cubase VST介绍了两种用于存储预设的文件格式:FXP文件存储单个预设,而FXB文件存储整个预设。这些格式已被许多其他VST主机采用,然而Cubase本身却切换到了一个新的Cubase 4.0预设置管理系统。
许多VST插件都有自己的加载和保存预设的方法,不一定使用标准的FXP / FXB格式。
竞争技术
编程语言
Steinberg的VST SDK是一套基于C API的C++类。 SDK可以从他们的网站下载。
有几个可用的端口,例如Frederic Vanmol的Delphi版本,Sourceforge的jVSTwRapper项目的Java版本和两个.NET版本 - Noise和VST.NET;这个开源项目还包括一个框架,使得创建VST插件更容易,并生成更结构化的代码。 VST.NET还支持使用允许加载非托管插件的托管类来编写托管主机应用程序。支持VST的一个值得注意的语言是Faust,考虑到它特别是用于制作信号处理插件,通常比手写的C ++生成的代码更快。
此外,Steinberg开发了VST GUI,这是另一套C++类,可用于构建图形界面。有按钮,滑块和显示器等类。请注意,这些是低级C++类,外观和感觉仍然必须由插件制造商创建。 VST GUI是VST SDK的一部分,也可作为sourceforge项目在http://sourceforge.net/projects/vstgui中获得。
大量的商业和开源VST是使用Juce C ++框架编写的,而不是直接调用VST SDK,因为它允许从单个代码库构建多格式(VST,AudioUnit和Real Time AudioSuite)的二进制文件。