Unreal Engine で読み上げ:ゲームのための AI 音声のセリフ
Unreal のプロジェクトには、声優が決まるずっと前から何百ものセリフがたまります。掛け声、クエストの会話、チュートリアル、毎週変わる仮のシーン。音声合成なら、書いたその日にセリフに声が付き、台本が変わっても数秒で作り直せます。
無料の SuperClonica エンジンは、ふつうのCPUでオフラインでセリフを読み上げます。このガイドでは、まとめて生成する方法、Unreal への取り込み方、実行時の音声が意味を持つ場面を紹介します。
Unreal のゲームに声を付ける2つの方法
プレイヤーのPCでは音声サーバーは動かないので、パッケージ化するシングルプレイのゲームには事前生成のセリフを同梱しましょう。
- 事前生成のセリフ:WAV を Sound Wave アセットとしてインポートし、録音したセリフと同じようにゲームと一緒にパッケージ化します。
- 実行時の音声:ゲームが SuperClonica サーバーに音声を要求します。開発ツールや、自前サーバーのあるオンラインゲームに向いています。
- どちらも、ふつうのCPUで動き、セリフごとの料金はかかりません。
- モデルは31言語を話します。中国語にはまだ対応していません。
声を無料で選ぶ
どの声のページでも、NPC のセリフを30〜100文字で入力し、言語を選んで生成ボタンを押します。数秒でキャラクターに合うか分かります。アカウントは不要です。
セリフをまとめて生成する
同じテキスト・声・seed なら常に同じ音声になるので、変わったセリフだけを作り直し、バージョン管理には音声ではなくスクリプトを入れましょう。
- エンジンをインストール:python -m pip install superclonica-cpu。
- セリフは ID、話者、言語、テキストの表で管理します。たとえば会話スプレッドシートからの書き出しで。
- 短いスクリプトで各行を読み上げ:superclonica --text "止まれ!用件を言え。" --voice guard.json --lang ja --output VO_Guard_Greeting_01.wav。
- ファイル名はセリフの ID と話者で付ければ、会話システムが見つけやすく、再インポートで正しいアセットが置き換わります。
Unreal にインポートする
エンジンが書き出す16ビット・モノラルの WAV は、Unreal で Sound Wave アセットとしてインポートできます。Content Browser にドラッグするか、生成のたびにフォルダーを再インポートしましょう。話者ごとにセリフをローカライズするなら Dialogue Wave アセットを使います。実行時の音声には docker run -d -p 8000:8000 -v superclonica-models:/models superclonica/superclonica:cpu でサーバーを起動します。呼び出して返ってきた音声を再生するには、HTTP モジュールとプロシージャルなサウンドウェーブなどの C++、またはプラグインが必要です。パッケージ化したゲームに APIキーを入れず、音声サーバーへは自分のゲームサーバーから呼び出しましょう。
リリースに使える声
プロトタイプならカタログのどの声でも構いません。リリースするゲームには、権利のある声を使ってください。モデル標準の10音声 M1〜M5・F1〜F5、同意を得た俳優の5〜10秒のきれいな録音から NVIDIA のグラフィックカードを積んだPCで SuperClonica のスタジオで学習させた自分の声、または取引所で注文した声です。ファンが作ったキャラクターの声はパロディやファン向けのプロジェクト用で、商用ゲーム向けではありません。