音频插件也可以自己动手写:Blue Cat Audio 家的 PlugNScript 详解

安小匠 发布于2022-10-07 暂无评论

除了使用现成的插件,有些制作人也想到自己动手开发,在满足自己需要的同时也可以作为自己的另一部惊艳“代表作”。

不过,插件开发本身有技术门槛,需要精通以C++为主的编程语言,也要熟悉各类插件SDK(VST3、AU、AAX等)或框架(JUCE、iPlug等),更要熟悉DSP的原理……远非一般人能做到。

以上插件开发的难点、痛点,Blue Cat Audio公司早已摸透了插件开发的种种痛点,于是推出了PlugNScript。它提供一套开箱即用的开发环境,用来编写属于你自己的音效插件和音源。

Blue Cat Audio拥有大量脍炙人口的效果器插件,早在开发插件过程中,团队就广泛使用PlugNScript来搭建它们的原型,经过了众多考验。现在,它也能够助力更多有志于构建自己插件的开发者。


设计理念

PlugNScript设计的初衷是:仅仅是“略懂编程”,也可以编写你自己的插件。这意味着不需要专业团队那样极高的技术门槛,就可以上手——要知道,仅仅是搭建VST3插件的开发环境,以及熟悉VST3的文档和范例,工作量就很不小。
它本身就是一套强大的开发环境,使用它可以:

  1. 快速构建插件的算法原型
  2. 生成具有前沿外观的插件界面
  3. 导出多种格式的插件: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)等等)
    • 波形生成
    • 音频文件回放/录音
    • 其他未提及的领域

不足之处

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元)。

在官方网站中可以获取试用版本,官网链接见下方的“参考与拓展阅读”部分。


参考与拓展阅读

 


本文出自《midifan月刊》2022年09月第198期

 

可下载 Midifan for iOS 应用在手机或平板上阅读(直接在App Store里搜索Midifan即可找到,或扫描下面的二维码直接下载),在 iPad 或 iPhone 上下载并阅读。

 

文章出处 https://magazine.midifan.com/detail.php?month=2022-09#29

转载新闻请注明出自 Midifan.com

共有 0 条评论