查看原文
其他

zerocrossing 为 Wwise 开发的 SpectralMultiEffect 插件

哈维尔阿西尼加斯 Audiokinetic官方 2022-06-07
SpectralMultiEffect 是一款为 Wwise 开发的插件,旨在为声音设计师提供丰富的实验素材,以便尝试运用各种方式对音频实施变形,藉此增强音频内容和游戏之间的交互性。该插件有两项主要功能:利用各种效果器对音频信号进行修改;通过相应系统访问从音频数据本身获取的信息以便直接用在游戏中。

SpectralMultiEffect 允许采用多种方式对频谱进行处理以实现对信号的变换。开发者最多可联用三个效果器,并在运行时通过 Wwise RTPC 功能控制所有可用参数。藉此,不仅可以启用或禁用效果器,甚至还可在运行时加以切换。

我发现很多声音设计师都在想办法增强音频内容和游戏之间的交互性。为此,我们专门构建了这款插件,方便大家从音频信号获取数据,以直接影响或控制游戏的行为。在播放过程中,开发者可将从音频信号获取的时域或频域数据提供给应用程序来满足各种需求。藉此,在游戏和音频内容之间建立紧密的联系。

开发者可使用所提供的一系列回调来以多种格式从音频实时获取数据。而且,还可将插件直接与声道或声音绑定,通过单独的插件实例及对应的回调构建多条数据流。

为游戏构建的音频插件一般都是为了解决某种常见的技术问题,但这并不妨碍我们把 SpectralMultiEffect 打造成一款突破创新的工具。这款插件可帮助开发者尝试运用各种方法来处理音频,以获得精妙的声音效果并为游戏打造欢畅的互动体验。

该插件提供以下功能:

1. 提供了 11 个不同的应用于频域的效果器,包括音高调节、多频段延迟和频谱冻结等。

2. 从时域或频域信号数据获取信息并发给应用程序,以此使音频和其他游戏元素之间的同步成为可能。

3. 在 Wwise 设计工具中监控应用程序,同时直观地呈现音频数据。

4. 使用预设来验证可能的音频变换,并在此基础上根据需要进行调节。

使用 SpectralMultiEffect

音频效果器


总共有三个插槽,可供联用效果器。在插件运行过程中,可随时选择并启用或禁用效果器。另外,还可在 -/+ 3 个八度的范围内实施音高偏移,同时确保不会对声音的时长产生影响。

Wwise 设计工具中的效果器选择分区

当插件处于活跃状态时,传入的音频数据会被转换为频域信号。在这一层级实施处理之后,会重新转换为时域信号以供播放。

一旦选择了所要使用的效果器,便可利用 RTPC 系统来控制其参数。可用的参数有很多,但只需控制已启用的效果器中涉及的那些参数。

通过插件回调获取音频信号数据


开发者可通过用户定义的回调从音频信号获取所需数据。

选项包括峰值和 RMS(时域)以及频格和频段(频域)。相应数据可以在应用效果器处理之前或之后发送给用户。

从音频信号获取数据以供应用程序使用:

1. 在 Wwise 工程中创建效果器实例,同时指派唯一的名称标记以在运行时由应用程序识别。

添加标记以识别插件实例


ZcSpectralMultiEffectFXCallback.h 中的回调声明

2. 实现 Initialization、Termination 和 Execute 回调。这些回调可在 ZcSpectralMultiEffectFXCallback.h 文件中声明(此文件在插件安装期间会被复制到 Wwise 的 include 目录下,所以只需在源代码中添加表示要使用它的 #include 指令即可)。

Initialization 回调用于配置首选数据格式。为此,需填写传入的 ZcSpectralMultiEffectDataFormat 结构。

在播放过程中,Execute 回调会向应用程序提供按规定格式从信号获取的数据。同时,还会接收用户设置的识别标记以便管理多个插件实例。

Termination 回调负责告知特定插件实例的操作即将结束。在此,可执行与初始化期间采取的操作对应的清理工作。

在 Wwise 设计工具中监控应用程序

在 Wwise 设计工具中监控应用程序时,可在插件的 Effect Editor 窗口中直观地呈现信号数据。在此,可选择以时域或频域数据形式来进行监控(如下图所示)。

Time Domain - Peak


Time Domain - RMS


Frequency Domain - Frequency Bins


Frequency Domain - Frequency Bands


预设

该插件提供多种预设,可在设计工具内从 Effect Editor 窗口右下角的下拉菜单中选择。这些预设包含一系列开发者可能感兴趣的设置。可据此生成出厂预设或创建自己的预设,并像其他插件一样根据需要自由地使用。

支持的平台

SpectralMultiEffect 最初仅可在移动平台 (Android / iOS) 和桌面平台 (Mac / Windows) 上使用。不过,我在考虑扩大支持范围,将游戏主机也涵盖在内。如果想在自己项目的平台上使用 SpectralMultiEffect,请通过公司官网与我取得联系并告知详情。我会根据用户的意见来决定稍后要添加哪些平台。

音频样本

以下三组样本展示了 SpectralMultiEffect 的音频处理效果。

说话声文件

此文件的开头是未经处理的语音,后面结合运用了不同的 SpectralMultiEffect 效果器逐步进行变换。

钢琴声文件


第一个音频样本包含没有经过任何处理的原始信号。后续样本均使用 SpectralMultiEffect 进行了不同的处理。

铜锣声文件

第一个音频样本包含没有经过任何处理的原始信号。后续样本均使用 SpectralMultiEffect 进行了不同的处理。


更多音频请浏览以下网页:

http://audiokinetic.com/media/blog/SpectralMultiEffect/Gong3.wav

http://audiokinetic.com/media/blog/SpectralMultiEffect/Gong4.wav

http://audiokinetic.com/media/blog/SpectralMultiEffect/Gong5.wav

http://audiokinetic.com/media/blog/SpectralMultiEffect/Gong6.wav

http://audiokinetic.com/media/blog/SpectralMultiEffect/Gong7.wav




本文作者



哈维尔•阿西尼加斯 (JAVIER ARCINIEGAS)

zerocrossing 首席执行官。在过去 16 年里,哈维尔•阿西尼加斯 (Javier Arciniegas) 一直在加拿大和日本从事游戏音频编程工作。阿西尼加斯拥有美国 Mills College 音乐创作和电子音乐与录音媒体双硕士学位。他目前在 zerocrossing Co., Ltd. (日本东京)担任首席执行官。该公司提供各类音频编程服务,包括声音引擎及插件开发、集成、定制等等。




更多内容,欢迎关注我们官方B站和新浪微博!





往期推荐



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


对白 | 基于Wwise与Unreal Engine的语音设计


atmoky Ears | 针对耳机为 Wwise 开发的空间音频插件



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存