音频插件也可以自己动手写:Blue Cat Audio 家的 PlugNScript 详解
除了使用现成的插件,有些制作人也想到自己动手开发,在满足自己需要的同时也可以作为自己的另一部惊艳“代表作”。
不过,插件开发本身有技术门槛,需要精通以C++为主的编程语言,也要熟悉各类插件SDK(VST3、AU、AAX等)或框架(JUCE、iPlug等),更要熟悉DSP的原理……远非一般人能做到。
以上插件开发的难点、痛点,Blue Cat Audio公司早已摸透了插件开发的种种痛点,于是推出了PlugNScript。它提供一套开箱即用的开发环境,用来编写属于你自己的音效插件和音源。
Blue Cat Audio拥有大量脍炙人口的效果器插件,早在开发插件过程中,团队就广泛使用PlugNScript来搭建它们的原型,经过了众多考验。现在,它也能够助力更多有志于构建自己插件的开发者。
设计理念
PlugNScript设计的初衷是:仅仅是“略懂编程”,也可以编写你自己的插件。这意味着不需要专业团队那样极高的技术门槛,就可以上手——要知道,仅仅是搭建VST3插件的开发环境,以及熟悉VST3的文档和范例,工作量就很不小。
它本身就是一套强大的开发环境,使用它可以:
- 快速构建插件的算法原型
- 生成具有前沿外观的插件界面
- 导出多种格式的插件:VST、VST3、AAX、AU
与此同时,即使你不怎么编程也照样可以行云流水地运用。PlugNScript自带了一些开箱即用的脚本,你可以直接打开它们,将PlugNScript作为常规的效果器来使用。你也可以直接运用他人编写好的脚本。这和REAPER的JSFX有异曲同工之妙。
编程语言
PlugNScript采用AngelScript作为编程语言。它的语法接近Java、C#、C++或JavaScript,简单易学。
根据编程语言官方文档的示例代码(http://www.angelcode.com/angelscript/sdk/docs/manual/doc_hello_world.html),可以看到它的语法与C、C++语言非常接近。它使用了C++的基本语法、基本特性、数据类型、面向对象等要素,如果你先前学过C++,或者是正在学习,那么将很容易上手。当然,学过Java、C#、JavaScript等编程语言的玩家自然也能触类旁通。
PlugNScript使用了一套高性能的AngelScript引擎,它原本是为游戏领域开发,使用JIT(Just In Time Compiler,实时编译)技术,在运行时将脚本代码实时编译为机器码,从而保证性能。相反,如果依然采用传统的解释(interpret)方式来运行脚本语言,会影响性能发挥。
值得一提的是,这套脚本引擎是开源的:https://github.com/BlindMindStudios/AngelScript-JIT-Compiler。
拓展性
从第2版开始,PlugNScript也支持(事先)编译成二进制格式的原生机器码,并且能加载使用其他编程语言编写的模块——只要这些编程语言能导出C语言的函数即可,例如C、C++、Delphi、Fortran、C#(基于.Net Framework)。
得益于此,你可以直接把事先写好的C++等代码编译成二进制格式,并在PlugNScript中运用,实现高效、高性能开发。同时,对于同一个脚本(同一功能在不同编程语言的实现),你也可以在AngelScript与二进制版本中切换自如,只需作出极其微小的调整即可。
对新手友好的自带资源
PlugNScript不会为难用户。就和诸多的商业插件一样,它预置了大量用于处理音频和MIDI的脚本,也包括了一些虚拟乐器和实用工具,开箱即用,可以立刻用于你的编曲、混音当中。
不仅于此,它们也是你开发新插件的活教材。预置的脚本本身就是优质的开发示例,助力你一步步构建属于你自己的插件。
出厂预装的脚本,以及一些用户提供的脚本,也会发布在Blue Cat Audio的官方GitHub仓库中(https://github.com/bluecataudio/plugnscript)。尽管已经近2年未更新,但也不影响使用和参考价值。
预置脚本/插件一览
PlugNScript预置的脚本、插件,虽每个插件只做一两种功能,但制作精良,不亚于各类商业插件。可以右击插件界面,依次选择“Preset”→“Factory Presets”来打开,分门别类。以下撷取一些例子:
压缩器
滤波器
风琴
波形生成器
联动Blue Cat Audio的其他产品
Blue Cat Audio的产品本身也构成了生态链。
如果需要用多个脚本构建复杂的效果链,你可以配合他们家的PatchWork来使用——PatchWork可以以串联或并联的方式,加载PlugNScript的多个实例。
同时,你也可以借助Blue Cats Analysis Pack的可视化分析插件,来检查你的脚本对音频信号的影响。
特性一览
- 可用于处理音频与MIDI
- 构建你自己的音频、MIDI效果器,或者是虚拟乐器
- 将插件导出为多种可独立运行的格式:VST、VST3、AU、AAX
- 脚本语法简单。你既可以使用AngelScript脚本语言(近似于C++、Java、JavaScript),也可以使用由C/C++编译的原生代码
- 对原生二进制脚本的支持(编译好的C、C++、Delphi、Fortran等代码)
- 完全可自由定制的用户界面,可与脚本代码自动适配。界面构建使用Blue Cat Audio的KUIML语言
- 提供多达48个输入参数、32个输出,支持完整的MIDI与自动化控制
- 可以使用你最喜欢的IDE(集成开发环境)来编写代码
- 集成JIT compiler(实时编译器),保证性能优化。这意味着脚本不是解释运行,而是编译运行
- 内置57个脚本(含源代码),以及267个预置,涵盖以下领域:
- 声音合成
- MIDI效果
- 音频效果(压缩器、门限器、颤音回声(tremolo echo)、滤波器、循环器(looper)等等)
- 波形生成
- 音频文件回放/录音
- 其他未提及的领域
- 支持侧链输入与辅助输出
- 环绕声处理(多达8个声道)
- 可以从官方仓库中下载各类免费脚本(https://github.com/bluecataudio/plugnscript)
不足之处
AngelScript编程语言并不像C/C++、Java、Python、JavaScript、Lua那样使用广泛。原本是为游戏引擎设计的编程语言,但并未充分流行开来,算是比较小众的编程语言。
加之,它缺少中文文档,甚至原文文档也不像其他编程语言的官方入门教程(tutorial)一样清晰。要参考文档上手,还是有一定的门槛。
如果你对PlugNScript感兴趣,并且有学习和举一反三的能力,也许直接用预置的脚本做教材是最好的选择。
售价
PlugNScript在Blue Cat Audio官网的售价是99美元(约合人民币680元),在Best Service商城上则为89.02美元(约合人民币611.72元)。可以在以下链接购买:https://www.bestservice.com/plugnscript.html。
它也是Blue Cat Crafters Pack套件的组成部分,Best Service上该套件售价为358.76美元(约合人民币2465.29元)。
在官方网站中可以获取试用版本,官网链接见下方的“参考与拓展阅读”部分。
参考与拓展阅读
- Blue Cat Audio PlugNScript的官方网站:https://www.bluecataudio.com/Products/Product_PlugNScript/
- AngelScript编程语言官方文档:http://www.angelcode.com/angelscript/sdk/docs/manual/index.html
- 《angelscript,极具潜力的脚本语言》(从程序员的角度讲解这门语言的特性及现状):http://aicdg.com/oldblog/c++/2017/11/06/angelscript.html
可下载 Midifan for iOS 应用在手机或平板上阅读(直接在App Store里搜索Midifan即可找到,或扫描下面的二维码直接下载),在 iPad 或 iPhone 上下载并阅读。