menu
 

How to Create Temporary VO Assets Automatically with WAAPI + TTS

Wwise에 대한 팁과 도구

Introduction

Automation is a commonly used approach while working on large projects.

In a team with hundreds of people, things could easily go wrong during repeated communication and back-and-forth collaboration. With an automated workflow, we can minimize the error rate and maximize our production efficiency.

In industrial production, the project team tends to implement tools like build machines and packagers for some automated operations, combined with a notification system to show the results on a certain page and notify personnel involved. This makes quality control and the whole workflow more efficient.

In audio production, we can also automate some manual operations, reducing human intervention and communication. For example, using the build machine to package SoundBanks automatically. This way you can avoid the conflict while having multiple people generating SoundBanks locally, thereby minimizing uploading issues.

As for Wwise engine automation, thanks to the WAAPI functions provided by Audiokinetic (there are lots of articles on WAAPI, so I won't go into details here), it becomes easier for developers to automate the internal operations of Wwise. Also, you can combine WAAPI with other tools to build an automation chain, and deploy it on the packager, making the whole workflow more compact and efficient.

Here, I will describe how to create temporary VO assets automatically with WAAPI and TTS.

Issues in VO Creation & Optimization Ideas

During VO creation, you may encounter time-consuming configuration and high iteration frequency, especially when there is a high demand for VO assets. Without any tool support, the game designer and the sound designer will have to communicate, operate and upload over and over. The whole process is repetitive, monotonous, error-prone and time-consuming.

1. The game designer uploads the VO sheet and informs the sound designer;

2. The sound designer add assets in Wwise, configuring, uploading and synchronizing to the engine;

3. The project team performs project acceptance and testing.

Img001_arrows_edit

Solving Configuration Issues

In industrial production, modularization is a common approach that can minimize duplicated work, reduce debug costs, and facilitate coordination and rapid verification. This allows everyone on the team to focus on their own work, thus increase the development efficiency. The general idea is to integrate text, audio, art and other elements into a single module for unified configuration. When the game designer is done for texts, it’s also done for VOs. No need to configure VOs separately. Events can be named according to specific rules, as agreed with the game designer in advance.

Solving Communication, Wwise Operation and Uploading Issues

When it comes to "avoiding repeated communication", the most obvious solution is to let the machine handle as much human coordination as possible. And the collaboration in VO production happens to be very repetitive, which can be replaced with the automation workflow in most cases.

Here is how I create VO assets automatically: first, find repetitive manual operations, then build an automation workflow, then encapsulate the execution processes into command lines, which involves WAAPI, Microsoft TTS and other related APIs, via uploading and deployment tools like Perforce and Jenkins.

Deploying the Automation Workflow

Setting Rules

1. Specifying the naming convention for Events;

2. Confirming that the header of the VO sheet includes information such as VO name, language, timbre, tone and content;

3. Creating Work Units separately in the Audio and the Events tab, and creating a folder for AI generated wav files within the Originals directory;

4. Auditioning and selecting tones provided by TTS, or training your own tone model.

Tools Needed

1. The tool for converting the VO sheet into SSML (Speech Synthesis Markup Language) format (recognizable by Microsoft TTS);

image002Example of the output target

2. The TTS (text-to-speech) tool;

image003(You need to register and apply for a license key on the official website)
Line 12: Setting the license key & region
Line 13: Setting the format of the generated wav file
Line 16: Filling in SSML file names
Line 25: Performing the TTS conversion
Line 28: Writing to files

3. The WAAPI tool for automatically importing assets, creating Sound Voices and Events;

4. Relevant content, notification mechanism and process deployment for version control tools like git, p4, etc.;

5. The frontend playback logic.

Deploying the Build Machine

To use the build machine, you need to install the Wwise environment and deploy the following processes to the machine:

1. Comparing and listing the additions, deletions and changes made to the VO sheet;

2. Converting the part with changes to SSML;

3. Performing the TTS conversion;

4. Using WAAPI to create and update Voice SFXs within the Work Units specified in Wwise, generate associated Events and upload them to the server;

5. Generating SoundBanks and other assets used by the game engine in certain directories and uploading them to the server.

Img002_arrows_edit

When the server detects the VO sheet uploaded by the game designer, it will execute the above processes automatically.

Optimized Workflow

1. In daily production, after the game designer creates and upload the VO sheet, the build machine will execute the automation workflow, then you can audition those temporary VO assets;

2. VO testing and debugging can be done simultaneously with the package sending.

Img003

Potential Issues

The automation workflow can be time consuming and may use up building resources if the VO amount is high. You may want to do this at a convenient time (e.g. at night). With abundant building resources, however, it can be done simultaneously with the VO sheet uploading.

Huang Chao (黄超)

Technical Sound Designer

X.D. Network

Huang Chao (黄超)

Technical Sound Designer

X.D. Network

Huang Chao is a food lover. She enjoys exploring new things and working with her teammates.

댓글

댓글 달기

이메일 주소는 공개되지 않습니다.

다른 글

Wwise에서 Audio Object 저작하기

미래... 미래란 항상 멀리 있고, 절대 지금으로 앞당길 수 없지만, 항상 손안에 잡힐 듯 말 듯 하지 않나요? 최신 뉴스를 꿰뚫고 있거나, 좋아하는 드라마를 바로바로 챙겨...

7.7.2021 - 작성자: 데미안 캐스트바우어 (Damian Kastbauer)

Wwise 2021.1 저작 플러그인 | 제 1부: 역사와 목표

Wwise 생태계에 대해 잘 알려지지 않은 특징 중 하나는 바로 확장성입니다. 프로젝트에 사용할 플러그인을 회사들이 직접 만들기도 하고 판매사는 (가끔은 저희 도움을 통해) 자체...

18.8.2021 - 작성자: 미셸 도네 (Michel Donais)

Wwise 2022.1에서의 SDK 런타임 성능 개선

이 글에서는 Wwise 2022.1의 런타임에서 CPU 사용량에 대한 몇 가지 개선 사항을 살펴보게...

5.12.2022 - 작성자: 데이비드 크룩스 (David Crooks)

대사 | Wwise와 Unity에서의 나레이션

현대 게임의 필수 요소 중 하나인 보이스오버 대사는 플레이어가 캐릭터를 특정 목소리와 연관지을 수 있을 뿐만 아니라 전반적인 억양을 통해 캐릭터의 감정을 더 잘 이해할 수 있게...

5.4.2023 - 작성자: Jake Gamelin (제이크 겜린)

Wwise Unreal 통합 현황

이 글은 작년에 게시한 'Wwise Unreal 통합 개선하기(Improving the Wwise Unreal Integration)'에 대한 후속 글입니다. 저번 블로그에서는...

13.10.2023 - 작성자: 기욤 르노 (Guillaume Renaud)

AkMemoryArena - Wwise 2024.1의 새로운 메모리 할당자를 소개합니다

이 글에서는 Wwise 2024.1의 새로운 시스템 중 하나인 AkMemoryArena라는 Wwise의 새로운 기본 메모리 에 대해 소개하고 자세히 살펴보려고 합니다. 이전 버전의...

18.12.2024 - 작성자: 데이비드 크룩스 (David Crooks)

다른 글

Wwise에서 Audio Object 저작하기

미래... 미래란 항상 멀리 있고, 절대 지금으로 앞당길 수 없지만, 항상 손안에 잡힐 듯 말 듯 하지 않나요? 최신 뉴스를 꿰뚫고 있거나, 좋아하는 드라마를 바로바로 챙겨...

Wwise 2021.1 저작 플러그인 | 제 1부: 역사와 목표

Wwise 생태계에 대해 잘 알려지지 않은 특징 중 하나는 바로 확장성입니다. 프로젝트에 사용할 플러그인을 회사들이 직접 만들기도 하고 판매사는 (가끔은 저희 도움을 통해) 자체...

Wwise 2022.1에서의 SDK 런타임 성능 개선

이 글에서는 Wwise 2022.1의 런타임에서 CPU 사용량에 대한 몇 가지 개선 사항을 살펴보게...