简化 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

评论

留下回复

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

更多文章

在Mac环境下使用Wwise为VikingVillage 进行声音设计

背景 近日在完成了 Wwise 301 认证课程的学习之后,我以 Unity 商店中提供的 Viking Village 免费 Project 为基础,对其进行了全面的声音设计,并在 Mac...

16.3.2020 - 作者:孙宇轩

搭建一个较完善的赛车系统

28.7.2021 - 作者:江山

WAAPI+TTS—语音临时资源自动构建流程

前言 在大型项目的生产过程中,自动化是很常用的手段。 在一个上百人的团队中,反复沟通、 来回协作,是非常容易出错的。使用自动化流程取代机械化的人为操作,可以大大减少出错的概率,提高生产效率。...

23.11.2021 - 作者:黄超

声音设计师如何利用PD+Heavy进行DSP插件的开发 Part 3

声音设计师如何利用PD+Heavy进行DSP插件的开发 Part 3 - 如何在Wwise2021.1.x版本下继续使用Heavy Compiler?...

11.1.2022 - 作者:侯晨钟

关于AudioLink的探索之旅

在去年 10 月的 GameSoundCon 上,我跟戴米安 (Damian) 在酒店拐角三明治店共进午餐的时候探讨着技术问题。我说“显然,现在我们可以将 MetaSounds 作为音频源在...

7.5.2024 - 作者:彼得·德雷舍 (Peter "pdx" Drescher)

利用 Wwise 实现逼真的触觉效果

简介 我叫香田夏雄 (Natsuo Koda),是 Miraisens...

18.6.2024 - 作者:香田 夏雄(NATSUO KODA)

更多文章

在Mac环境下使用Wwise为VikingVillage 进行声音设计

背景 近日在完成了 Wwise 301 认证课程的学习之后,我以 Unity 商店中提供的 Viking Village 免费 Project 为基础,对其进行了全面的声音设计,并在 Mac...

搭建一个较完善的赛车系统

WAAPI+TTS—语音临时资源自动构建流程

前言 在大型项目的生产过程中,自动化是很常用的手段。 在一个上百人的团队中,反复沟通、 来回协作,是非常容易出错的。使用自动化流程取代机械化的人为操作,可以大大减少出错的概率,提高生产效率。...