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

Wwise 技巧和工具

前言

在大型项目的生产过程中,自动化是很常用的手段。

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

在工业化生产流程中,项目组往往会部署几台自动构建机、自动打包机等用于进行一些自动化等操作,配合通知机制,将自动化流程等结果反应在某个页面上,并提示相关人员。这使质量把控及工作流程更高效。

音频的生产也可以使用自动构建来完成一些机械化流程,减少人为操作和沟通:如使用构 建机完成自动打 Soundbank,可以避免多人协作过程中,本地生成 Soundbank 的冲突问题, 降低上传出错的几率。

Wwise 引擎的自动化部分,由于官方提供了 WAAPI(之前介绍 WAAPI 的文章较多,此处不多加赘述),其使开发者能够更方便的自动进行 Wwise 的内部操作, 使用 WAAPI 配合其他工具结合,开发一些自动化工具链,部署在打包机上,可使整个流程更紧凑与高效。

此处介绍利用 WAAPI TTS,实现语音临时资源自动构建的流程。

语音生产中的问题及优化思路

在语音的生产过程中,可能会遇到配置麻烦,迭代频率高的问题,尤其是在配音需求较多的情况下。在没有任何工具支持的情况下,需要策划和音频设计师来回沟通、操作、上传,整个过程重复性高、容易出错,耗时且机械化:

1. 策划上传语音表,告知设计师;

2. 音频设计师在 Wwise 中添加资源,同步到引擎、配置、上传;

3. 项目组验收、测试。

image001

解决配置问题

在工业化生产中,模块化是一种常用的方法,可以减少很多重复劳动,降低 debug 成本, 方便统筹和快速验证,使团队中的每个人专注于自己的工作,提高开发效率。通常且大致的思路是将文字、音频、美术表现及其他功能集成为一个模块进行配置,这样策划在配置文字的时候也就 顺便完成了语音的配置,不需要单独配置语音。其中,Event 名可按照规则拼写,可提前与策划商议。

解决沟通、Wwise 操作、上传等机械化操作问题

说到减少来回沟通,最直接的就是尽可能让机器来完成人为的协作,而语音生产中的协作,恰好是个非常机械化的过程,绝大部分可以用自动化来替代。

此处介绍一种语音自动构建的过程:先根据项目情况,找到机械化的人为协作,并规划好自动化流程,将要执行的过程封装到命令行中,其中涉及到 WAAPI Microsoft TTS 等相关的 API,使用的上传和部署工具为 Perforce Jenkins

开始部署临时语音自动化构建流程

制定规则

1. 确定 Event 名的拼写规则;

2. 确保语音表的表头具有语音名称、语言、音色、语气、内容等相关信息;

3. 分别创建 Audio 层级和 Event 层级的 Workunit,在 Originals 的多语言目录下创建一个 用于存放 AI 生成的 wav 的文件夹;

4. 试听、选择 TTS 提供的音色,或自己训练一种音色模型。

需开发的内容

1. 将语音表转化为 SSML(语音合成标记语言)格式(Microsoft TTS 识别的格式)的工具;

image002输出目标范例

2. TTS 文字转语音工具;

image003(需自行去官网注册并申请 license key

3. 用于自动导入资源、创建 Sound Voice Event WAAPI 工具;

4. p4git 等版本管理工具相关内容、通知机制、流程部署;

5. 前端播放逻辑。

部署构建机

使用一台自动构建机器,需安装 Wwise 环境,将以下流程部署至机器:

1. 比对、列出语音表中增、删、改的内容;

2. 将有变动的部分转化为 SSML

3. 执行文字转语音 TTS

4. 使用 WAAPI Wwise 中指定的 WorkUnit 中创建、更新 Voice SFX,并生成相关 Event,上传至服务器;

5. 在相关目录下生成 Soundbank 等游戏引擎使用的资源,上传到服务器;

image004

当服务器检测到策划上传语音表,则自动执行以上流程。

改善后的工作流

1. 日常生产中,只需策划配表、上传、等待自动化流程、拉新,即可听到临时语音

2. 语音测试、debug 可以和发包同步进行


image005

可能会遇到的问题

整个自动话过程会有些耗时,如果语音量很大,可能会占用构建机资源,可在特定的时间(如夜间)进行。构建机资源丰富的情况下,可以策划以上传语音表进行。

黄超

技术音频

心动网络

黄超

技术音频

心动网络

喜爱美食,享受探索新事物的过程和团队协作的乐趣。

评论

留下回复

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

更多文章

五分钟入门级音轨切换挑战

来一场五分钟入门级音轨切换挑战如何?

7.7.2020 - 作者:乔治.A.桑格 (GEORGE A. SANGER)

在现实当中运用 Wwise 制作互动音乐

前段时间,我决定对互动音频展开更加深入的研究。为此,我想创建一个跟工作相关的工程。希望既充满乐趣,又具有指导意义。不仅可以避免枯燥,还能提升自身技能。...

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

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

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

12.1.2022 - 作者:侯晨钟

Wwise Unity集成手动安装指南

0、上下文 社区中有不少朋友曾遇到Wwise...

9.3.2022 - 作者:侯晨钟

Wwise 2023.1 新增功能

Wwise 2023.1 现已推出并可通过 Audiokinetic Launcher 下载。下面来简要介绍一下该版本中都有哪些新增功能。...

7.7.2023 - 作者:Audiokinetic (音频动能)

关于 Wwise 2024.1 中新增的默认内存分配器 AkMemoryArena

在本文中,我们将详细介绍 Wwise 2024.1 中新增的默认内存分配器 AkMemoryArena。相较于之前的 Wwise 版本,新的内存分配器可大幅提升 Wwise...

18.12.2024 - 作者:大卫•克鲁克斯

更多文章

五分钟入门级音轨切换挑战

来一场五分钟入门级音轨切换挑战如何?

在现实当中运用 Wwise 制作互动音乐

前段时间,我决定对互动音频展开更加深入的研究。为此,我想创建一个跟工作相关的工程。希望既充满乐趣,又具有指导意义。不仅可以避免枯燥,还能提升自身技能。...

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

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