VST SDK 3.x 开发(一):VST结构介绍

本文介绍了VST(Virtual Sound Technology)音频插件的基本概念,由Steinberg公司创建,允许宿主程序如Cubase处理音频数据块。VST开发类似COM但仅支持C++。文章阐述了VST-MA(VST Module Architecture),包括IPluginFactory、IPluginBase、IComponent、IAudioProcessor和IEditController等关键接口的作用,以及VST插件的实例化和与宿主程序的交互过程。
摘要由CSDN通过智能技术生成

注:所有文章内容均可在VST SDK的doc文件夹中找到英文版。如果你英文非常好可以忽略这个系列的文章直接看原版。本文并不是翻译而是个人对说明文档的理解

一、VST音频插件

VST(Virtual Sound Technology)音频插件是Steinberg公司创造的。简单的说VST技术就是由一个宿主程序(如Cubase,Protools,Audition)提供音频数据块(block)到一个VST插件中,再由插件的编写者在VST插件中对音频数据块进行处理后返回给宿主程序的技术。

二、VST-MA

VST-MA(VST Module Architecture)是用来描述VST插件代码结构的术语。VST的开发类似于COM开发,主要通过接口与外部进行交流,但是VST插件并不是COM,所以目前VST代码只提供C++一种版本,并且不可以被其他语言所重复利用。

VST插件代码的主要结构如下:

首先由宿主程序扫描VST插件所在的文件夹(不同于COM通过注册ID),当用户通过宿主程序启动一个VST插件时,宿主程序通

  • 10
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VST SDK 3.6.12 •The VST 3 API •VST 3 Implementation Helper Classes •AAX, AU and VST 2 wrappers •VST 3 Plug-ins Examples About VST 3 VST 3 is a general rework of the long-serving VST Plug-in interface. It is not compatible with the older VST versions, but it includes some new features and possibilities. We have redesigned the API to make it not only far easier and more reliable for developers to work with, but have also provided completely new possibilities for Plug-ins. These include: 1. Improved Performance with the Silence Flag Processing can optionally be applied to Plug-ins only when audio signals are present on their respective inputs, so VST 3 Plug-ins can apply their processing economically and only when it is needed. 2. Multiple Dynamic I/Os VST 3 Plug-ins are no longer limited to a fixed number of inputs and outputs, and their I/O configuration can dynamically adapt to the channel configuration. Side-chains are also very easily realizable. This includes the possibility to deactivate unused buses after loading and even reactivate those when needed. This cleans up the mixer and further helps to reduce CPU load. 3. Sample-accurate Automation VST 3 also features vastly improved parameter automation with sample accuracy and support for ramped automation data, allowing completely accurate and rapid parameter automation changes. 4. Logical Parameter Organization The VST 3 Plug-in parameters are displayed in a tree structure. Parameters are grouped into sections which represent the structure of the Plug-in. Plug-ins can communicate their internal structure for the purpose of overview, but also for some associated functionality (eg. program-lists). 5. Resizeable UI Editor VST 3 defines a way to allow resizing of the Plug-in editor by a user. 6. Mouse Over Support The Host could ask the Plug-in which parameter is under the mouse. 7. Context Menu Support VST 3 defines a way to allow the host to add its own entries in the Plug-in context menu of a specific parameter. 8. Channel Context Information A VST 3 Plug-in could access some channel information where it is instantiated: name, color,... 9. Note Expression VST 3 defines with Note Expression a new way of event controller editing. The Plug-in is able to break free from the limitations of MIDI controller events by providing access to new VST 3 controller events that circumvent the laws of MIDI and provide articulation information for each individual note (event) in a polyphonic arrangement according to its noteId. 10. 3D Support VST 3 supports new speaker configurations like Ambisonic, Atmos, Auro 3D or 22.2. 11. Factory Concept VST 3 Plug-in library could export multiple Plug-ins and in this way replaces the shell concept of VST 2 (kPlugCategShell). 12. Support Remote control Representation VST 3 Plug-in can deliver a specific parameter mapping for remote controls like Nuage. 13. Others While designing VST 3, we performed a careful analysis of the existing functionality of VST and rewrote the interfaces from scratch. In doing so, we focused a lot on providing clear interfaces and their documentation in order to avoid usage errors from the deepest possible layer. Some more features implemented specifically for developers include: - More stable technical Host/Plug-in environment - Advanced technical definition of the standard - Modular approach - Separation of UI and processing - Advanced Preset System - Multiple Plug-ins per Library - Test Host included - Automated Testing Environment - Validator (small command line Test Host) and Plug-in examples code included
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值