はじめに
大きなプロジェクトで作業する時は自動化がよく採用される手法です。
何百人規模のチームでは、繰り返し連絡をとったり共同作業をしたりするうちに、何かと間違いが起こりやすくなります。自動化されたワークフローであれば、エラー率を最小限に抑えて生産性を最大化できます。
工業生産においてはプロジェクトチームが一部の自動化された業務でビルドマシンやパッケージャなどのツールを実装し、それを通知システムと組み合わせて特定のページに結果を反映し、関係者に知らせるようなことがよくあります。こうすることで品質管理やワークフロー全体の効率化が図れます。
オーディオ制作の現場でも一部の手作業を自動化し、人の介入とやり取りを減らすことができます。その1つの例がビルドマシンを使ったSoundBank の自動パッケージです。複数の人がローカルでSoundBankを生成した時の競合を回避でき、アップロード時の問題を最小化できます。
Wwiseエンジンの自動化に関してはAudiokineticが提供するWAAPI機能のおかげで、開発者はWwise内の操作をより簡単に自動化できるようになりました(すでにWAAPIの記事はたくさんありますので、ここでは詳しい説明を省きます)。またWAAPIをほかのツールと組み合わせて自動化された流れを構築し、パッケージャに展開することも可能で、ワークフロー全体をよりコンパクトに効率化できます。
ここでは仮のVO(ボイスオーバー)アセットをWAAPIとTTSで自動的に作成する方法を紹介します。
VO制作の課題と最適化の提案
VOの制作で、特にVOアセットの需要が多い場合は時間がかかる設定や頻繁なイテレーションなどの課題に直面するかもしれません。サポートツールがなければゲームデザイナーとサウンドデザイナーが何度も連絡を取り合い、操作をしてアップロードすることになります。全体的に繰り返しが多く単調でミスの起こりやすい、時間のかかるプロセスです。
1. ゲームデザイナーはVOシートをアップロードしてサウンドデザイナーに連絡します。
2. サウンドデザイナーは Wwise でアセットの追加、設定、アップロード、エンジンとの同期を行います。
3. プロジェクトチームは受け入れとテストを行います。
設定の問題を解消する
工業生産の場ではモジュラー化のアプローチがよく採用されますが、これは作業の重複を最小限にとどめ、デバッグのコストを削減し、作業調整と迅速な検証を促します。これにより、チームメンバー全員が自分の仕事に集中できるため開発効率が上がります。テキスト、オーディオ、アートなどの要素を1つのモジュールにまとめて設定を統一するというのが基本的な考え方です。ゲームデザイナーがテキストの作業を終えると、VOの作業も終わりです。改めてVOの設定をする必要はありません。イベント名は事前にゲームデザイナーと打ち合わせておいた具体的なルールに基づいて決められます。
コミュニケーション、Wwise操作、アップロードの問題を解決する
連絡を何度も取り合うのを避けるには、人間の調整をできるだけマシンに処理させることが一番分かりやすい対応策です。VO制作の連携作業には繰り返しが非常に多く、その大半を自動化したワークフローに置き換えることができます。
私のVOアセットの自動作成方法を説明します。まず、繰り返し行う手作業の操作を洗い出し、自動化されたワークフローを構築し、実行処理をコマンドラインにカプセル化します。これにはWAAPI、Microsoft TTS、そしてその他関連するAPIを含み、PerforceやJenkinsなどのアップロードおよび展開ツールを介します。
自動化ワークフローを導入する
ルールを設定する
1. Eventsの命名規則を指定します。
2. VOシートのヘッダにVO名、言語、音質、音色、内容などの情報が含まれていることを確認します。
3. Work UnitをAudioタブとEvents
タブでそれぞれ作成し、AIで生成されたwavファイル用のフォルダをOriginalsディレクトリ内に作成します。
4. TTSが提供する音色を試聴して選択するか、自分の音色モデルのトレーニングをします。
必要なツール
1. VOシートをSSML(Speech Synthesis Markup Language)形式(Microsoft TTSが認識可能な形式)に変換するツール。
出力先の例
2. TTS(text-to-speech)ツール。
(公式サイトでライセンスキーの登録と申請が必要)
Line 12: ライセンスキーとリージョンを設定
Line 13: 生成されるwavファイルの形式を設定
Line 16: SSMLファイル名を記入
Line 25: TTS変換を実行
Line 28: ファイルへ書き込む
3. アセットを自動的にインポートし、Sound VoiceやEventを作成するWAAPIツール
4. 該当するコンテンツ、通知メカニズム、gitやp4などのバージョン管理ツールへプロセスの展開。
5. フロントエンドの再生ロジック。
ビルドマシンに展開する
ビルドマシンを使用するには、Wwise環境をインストールしてマシンに以下のプロセスを展開する必要があります:
1. VOシートに対する追加、削除、変更の比較とリスト化。
2. 変更のあった部分のSSMLへの変換。
3. TTS変換の実行。
4. WAAPIを使い、Wwiseで指定したWork Unit内のVoice SFXの作成と更新、関連Eventの生成、サーバへのアップロード。
5. 特定ディレクトリにおけるゲームエンジンが使うSoundBankなどのアセットの生成とサーバへのアップロード。
サーバはゲームデザイナーがアップロードしたVOシートを検知すると、上記プロセスを自動的に実行します。
ワークフローの最適化
1. 日々の制作過程において、ゲームデザイナーがVOシートを作成してアップロードするとビルドマシンが自動化ワークフローを実行し、仮のVOアセットを試聴できます。
2. VOのテストやデバッグはパッケージ送信と同時に実行できます。
問題となる可能性のあるもの
自動化ワークフローにかなりの時間がかかり、VOの数が多い場合はビルドリソースを使い果たす可能性があります。やりやすい時間帯(夜間など)に行うと良いでしょう。充分なビルドリソースがあれば、VOシートのアップロードと同時に行うことができます。
コメント