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插件的实例化和与宿主程序的交互过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注:所有文章内容均可在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插件时,宿主程序通过IPluginFactory接口创建VST插件的实例,然后通过IPluginBase接口对VST插件及插件界面进行初始化或终止,通过IComponent接口获取VST插件的相关信息,然后VST插件通过IAudioProcessor接口与宿主程序进行交互,并在该接口中完成对音频数据的处理和返回。同时,用户还可以通过IEditController

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值