简化 Wwise 音频插件构建管线

互动音频 / 声音设计 / Wwise 技巧和工具

就音频插件开发来说,Wwise 与数字音频工作站 (DAW) 有很大的不同。Wwise 插件具有交互的特性,而且需要支持各种不同的平台,所以新手很难一下子掌握所有的东西。即便拥有我们团队内部开发的工具,其插件开发管线还是太过难以理解,这让新插件的构建显得有些劳心费力。因此,我们决定适时地简化或重写其中的一些工具,这样插件开发人员使用起来会更加地便捷高效。下面我们就来详细说说实施了哪些改进,看看如何使用其为 Wwise 轻松构建音频插件。

单个入口,统一访问

Wwise 2018.1.3.6784 中推出了多款插件开发工具,如今全部都可通过 Wwise Launcher 进行下载。倘若您想按照本文所述来构建自己的插件,建议随 Wwise 一并安装 Windows_vc140 SDK 平台。除此之外,还需安装 Python(任一版本均可)和 Visual Studio 2015。在此之后,便可通过 /Path/To/Wwise 2018.1.3.6784/Scripts/Build/Plugins/wp.py 中的单个入口来统一访问所有工具。为简单起见,全文将以 wp 来指代 wp.py 的完整路径。

1

嵌入基架,提高效率

示例是个好东西。它们直观地展示了如何将给定框架应用到实际场景中。这对刚刚开始使用这种框架的人来说极为重要。可是,在看完所有示例之后要怎么做呢?有人可能会说,可以选一个最为相符的示例,然后直接删掉那些无关紧要的部分,据此来构建自己想要的插件。不过,我个人觉得这样的流程比较容易出错,所以最好能换一种方法。为了解决这一问题以便更加轻松地构建新的插件,我们专门创建了一个插件生成器,并在其中嵌入了常用插件类型(效果器插件、源插件、Sink 插件或混音器插件)所需的各种基架。

3-4

生成的工程中包含各种必要的文件,方便您以此为基础快速构建自己的插件。里面有声音引擎和 Wwise 设计工具插件正常工作所需的基本代码,另外还有一些配置文件(稍后我们会说到)。

多次构建,普遍适用

Wwise 可以广泛地支持各种不同的平台,这对开发人员来说既有好处也有难处。一方面,它让游戏开发人员可以非常轻松地将 Wwise 整合到游戏引擎中,而不用担心目标平台不受支持。另一方面,也让插件开发人员很难保证支持所有这些平台,尤其是其中一些还需要获取授权。当然,您可以先创建一个 Windows 专用插件,然后再用到 Wwise 中来对效果器进行预渲染。但是,这样的话插件就没有了交互性。

在对开发工具实施改进之后,不管 Wwise 支持怎样的平台,管理和构建起来都轻松多了。虽然仍需针对特定平台安装开发工具,不过之后只要调用 wp 就可以了。


4

 
5

构建的结果会直接输出到 Wwise 目录中以便调用 wp,与之前相比大大加快了“构建-测试-调整”流程。 

 

6

自动处理,统一打包

在我看来,打包作为开发流程的一部分,理应自动完成。其关键在于自动处理各种相关任务,而无需让用户去学习我们的打包系统然后每一步都亲自动手。

7

8

首先,package 子命令会针对给定平台从已知位置自动检索构建工件,并以 .tar.xz 格式进行存档。最后,generate-bundle 子命令会在打包所有平台后统一地进行捆绑。它会通过插件根目录中的 bundle_template.json 生成 bundle.json 文件。其中,bundle_template.json 会根据备注自动存档。您可以在运行命令之前加以编辑来填入有关插件的一些信息(比如图像、描述、文档链接)。在此之后,这最后两步中生成的文件便可通过 Wwise Launcher 进行分享和安装。

9

宿主不同,架构通用

归根结底,无论目标宿主是 Wwise 还是 DAW,音频插件的基本架构都是一样的。抛开目标宿主的个别细节不说,每个音频插件肯定都有用户界面,其中包含可实时编辑以驱动某些数字信号处理代码的参数。也就是说,您可以使用几乎相同的代码库来为 Wwise 和 DAW 构建目标插件。

我最近使用 JUCE 音频插件开发框架探讨了这种可能性,并在今年的音频开发者大会(ADC’18)上发表了我的发现。

这里 获得演示稿 。

如果您有兴趣使用JUCE为Wwise制作音频插件,建议您看一下我所介绍的案例研究Voluminous,可以在我的Github上找到。

2018-10-22_20-33-32

2018-10-22_20-36-23

 

 
Screen Shot 2017-12-14 at 5.24.24 PM.png

有兴趣在Audiokinetic商店中推出您的插件吗

Subscribe

 

乔尔·罗比哈德(Joel Robichard)

软件开发员

乔尔·罗比哈德(Joel Robichard)

软件开发员

乔尔·罗比哈德是一名软件开发员,拥有计算机音乐和计算机科学的双学位。 他是Audiokinetic的Wwise Experience团队的成员,主要负责面向用户的软件,例如Wwise Authoring和Wwise Launcher。

 @joelrobichaud

评论

留下回复

您的电子邮件地址将不会被公布。

更多文章

关于局部线性与联动控制在Wwise中的应用探讨

引言...

18.11.2019 - 作者:王润琦

Time RTPC的使用技巧探讨

2019年,我曾经写过一篇探讨线性控制在Wwise中应用的文章。在那之后,针对局部线性控制的应用,我在不同的项目中,对其不同的方向做了大量的尝试。今天就和大家分享一下关于Wwise中Time...

14.4.2021 - 作者:王润琦

FPS游戏中枪械模块的音频设计思路

大家好,我是JYUN,近期作为音频设计师参与开发了一款FPS端游,梳理了一些开发过程中碰到的设计点,希望和同行老师朋友分享交流。文本内容基于个人经验和理解,仅供参考。...

22.6.2021 - 作者:谢玮

在 Wwise 和 Unity 中构建对白 | 叙事音频

9.12.2021 - 作者:杰克•盖米林 (Jake Gamelin)

《It Takes Two》背后的声音设计 | Hazelight 音频团队访谈

Hazelight Studios 开发的《It Takes...

29.12.2021 - 作者:Hazelight

作曲家如何使用控制器创作互动音乐

在互动音乐研讨会上,雷莎•施沃德 (Ressa Schwarzwald)...

2.9.2022 - 作者:雷莎•施沃德 (Ressa Schwarzwald)

更多文章

关于局部线性与联动控制在Wwise中的应用探讨

引言...

Time RTPC的使用技巧探讨

2019年,我曾经写过一篇探讨线性控制在Wwise中应用的文章。在那之后,针对局部线性控制的应用,我在不同的项目中,对其不同的方向做了大量的尝试。今天就和大家分享一下关于Wwise中Time...

FPS游戏中枪械模块的音频设计思路

大家好,我是JYUN,近期作为音频设计师参与开发了一款FPS端游,梳理了一些开发过程中碰到的设计点,希望和同行老师朋友分享交流。文本内容基于个人经验和理解,仅供参考。...