VoiceDirector ガイド

台本をゲームの音声にする

Unreal Engine 5.5-5.8 向け VoiceDirector の操作ガイドです。台詞を取り込み、録音または生成したテイクを確認し、ゲームで再生できる音声アセットとして公開します。

VoiceDirector 1.0.0UE 5.5-5.8Windows x64
1テキスト取込
2テイク作成
3試聴
4承認
5公開
最初の台詞を再生する

ボタンや項目名はプラグインに表示される英語表記のままです。操作手順は日本語で説明します。

VoiceDirector でできること

#

VoiceDirector は Unreal エディタで台詞音声を制作するツールです。自分で用意した台詞に音声を割り当てるか録音を取り込み、試聴してゲームで使うテイクを決めます。結果は Unreal 標準の SoundWave 音声アセットです。会話の関連付けを設定すれば DialogueWave も作成できます。

タブ用途
Lines台本の取り込み、台詞選択、テイクの試聴と承認。
Voicesキャラクターと各言語に音声を割り当てる。
Jobs生成の進捗を確認し、新しいテイクを開く。
Publishゲーム用音声アセットの変更を確認して適用する。
Settings接続、出力、DataTable の対応付け、上限を設定する。

台詞は台本の 1 項目、言語バリアントはその台詞の特定言語版、テイクはその録音または生成音声です。複数のテイクを残しながら、ゲームには従来の音声を使い続けられます。

既存の WAV から始められます。AI 生成は任意です。VoiceDirector は台詞の執筆、翻訳、音声クローン、ゲーム実行中の音声生成を行いません。

インストールして開く

#

初めての Unreal プロジェクト

  1. Epic Games Launcher > Unreal Engine > Library を開き、UE 5.5、5.6、5.7、5.8 のいずれかを起動します。
  2. Games > Third Person、Blueprint、Desktop を選びます。Blueprint(ブループリント)はノードをつないで作る視覚的なプログラムです。このガイドでは C++ を書く必要はありません。
  3. 名前と空き容量のある保存先を指定し、Create を押してエディタの起動を待ちます。

プラグインを追加

使用する Unreal バージョンに対応した Windows x64 用のビルドを選びます。Fab 経由なら Launcher のライブラリから対象エンジンに追加します。プロジェクトに置く場合はエディタを閉じ、プラグインのフォルダー全体を YourProject/Plugins/VoiceDirector/ に置きます。Plugins がなければ作成します。

YourProject/Plugins/VoiceDirector/VoiceDirector.uplugin

VoiceDirector フォルダーを二重にしないでください。Blueprint のみのプロジェクトにはコンパイル済みパッケージと同梱のビルドファイルが必要です。ソースのみの場合は C++ コンパイラとビルドが必要です。

  1. プロジェクトを開き直して Edit > Plugins で VoiceDirector を検索し、有効にします。
  2. 求められたら再起動します。
  3. Tools > VoiceDirector を開きます。

エンジン内またはプロジェクト内の一方だけにインストールします。同じプラグインが 2 つあると起動できない場合があります。

最初の台詞をゲームで使う

#

この手順は付属の録音を使うため、Kokoro や ElevenLabs の設定は不要です。

ダウンロード用サンプル

取り込み可能な最初の台詞

CSV 1 行と「Keep your voice down.」という実際の WAV 音声です。音声はローカルの Kokoro で生成しました。取り込みにサーバーやアカウントは不要です。

  1. Settings の Output Content folder (/Game/...) を /Game/VoiceDirector/Audio にし、Save Output Folder を押します。/Game はプロジェクトの Content フォルダーを意味し、Windows のドライブではありません。
  2. サンプルの 2 ファイルを分かりやすい場所に保存します。
  3. Lines > Import script を開き、Import SourceId に MyScript を入力します。Import CSV でサンプル CSV を選びます。
  4. プレビューを確認して Apply Import を押します。Full snapshot はオフのままにします。
  5. L-001 の en を選び、Import WAV でサンプル WAV を読み込みます。
  6. 必要なら Select take、続いて Play を押します。「Keep your voice down.」が聞こえます。Stop で停止します。
  7. Approve take で承認します。
  8. Publish または Review publishing を開きます。Refresh Preview、新しい SoundWave のチェック、Apply Selected Approved の順に操作します。
  9. Ctrl + Space で Content Drawer を開き、Content > VoiceDirector > Audio を確認します。次はゲームでの再生です。

狭いウィンドウでは Sources & filters に取り込み操作、Take review にテイク確認があります。台詞のダブルクリックでも確認を開けます。VD_... という名前は正常です。Copy でパスをコピーできます。

台本を書く・取り込む

#

表計算ソフトまたはテキストエディタで台詞を書き、カンマ区切り UTF-8 CSV で保存します。

LineId,CharacterId,Culture,Text,Context
L-001,rowan,en,Keep your voice down.,At the city gate
列意味
LineId固定の台詞 ID。文章を修正しても維持します。
CharacterId固定のキャラクター ID。音声の割り当てに使います。
Cultureen、fr、ru などの言語コード。
Text表示する台詞。必須です。
Context任意の演技指示や場面メモ。
SpokenText任意の正確な読み上げ文。空欄なら Text を使います。
SourceNamespace / SourceKey / SourceRevision任意のソース情報。

Lines > Import script で固定の Import SourceId を入力し、Import CSV を選びます。Added / Changed / Archived / Unchanged を確認後、Apply Import を押します。プレビューのみでは変更されません。

再取り込みでは同じ SourceId と LineId を使うと ID と過去のテイクが残ります。同じソース内の LineId/Culture は一意にしてください。同じ LineId を複数言語に使えますが、キャラクターは揃えます。

Full snapshot は、このソースと今回含まれる言語について、欠けている台詞をアーカイブします。その範囲を完全に置き換える場合だけ有効にします。オフなら欠けた行も残ります。アーカイブは録音を削除しません。

カンマを含むセルは二重引用符で囲み、内部の引用符は 2 つ続けます:"彼は ""待て。"" と言った"。セミコロン区切りはカンマに変換してください。上限は 16 MiB、10,000 行です。

Unreal の DataTable を取り込む

#

DataTable は Unreal 内の表形式アセットです。CSV や手書き JSON を用意せずに直接選択できます。

  1. Settings > Script DataTable でアセットを選びます。
  2. 列を LineId、CharacterId、Culture、Text と、必要に応じて Context、SpokenText に対応付けます。String、Name、Text 型に対応します。@RowName は行名を LineId に使います。
  3. 取り込み元はアセットのパスから自動的に決まります。Preview DataTable Import を押します。
  4. Lines の変更を確認し、Apply Import を押します。

表を新しく作る

Content Browser で Blueprint Structure を作り、String 型の LineId、CharacterId、Culture と Text 型の Text、Context、SpokenText を追加して保存します。Data Table を作成してこの構造体を行型に指定し、サンプル値の行を追加します。最大 10,000 行です。

VoiceDirectorScriptRow もエディタ用取り込み型として提供されます。パッケージ化したゲームで使う表には独自の実行時構造体を用意してください。公開済み SoundWave は通常のゲームアセットです。

キャラクターに音声を割り当てる

#

Kokoro または ElevenLabs の既存音声を使います。割り当ては音声と CharacterId + Culture の関連付けであり、新しい音声モデルの作成ではありません。

  1. 後続の章でプロバイダーを設定します。
  2. Voices でプロバイダーを選び、Check Connection / List Voices を押します。音声生成せず一覧を読み込みます。
  3. 台本の CharacterId と Culture を入力し、Voice、Model、利用可能な設定を選んで Save Voice Assignment を押します。
  4. Lines で 1 バリアントを選び、Generate new take を押します。

例:rowan、en、音声 af_heart、モデル kokoro。言語に対応する音声を選びます。WAV の取り込みには割り当て不要です。変更は次の生成に適用され、過去のテイクには元の設定が残ります。

Voices:プロバイダーの音声一覧とキャラクター・言語ごとの割り当て。

ローカル Kokoro を設定する

#

Kokoro-FastAPI は自分の PC または接続可能なサーバーで別に動かします。VoiceDirector はインストールや起動を行いません。依存関係とモデル用の空き容量が必要です。

  1. Kokoro-FastAPI v0.9.0 の公式設定手順に従います。Windows CPU では必要なソフトとモデルを用意し、バックエンドのフォルダーで .start-cpu.ps1 を実行します。
  2. 起動とモデル読み込みを待ちます。標準のローカル設定なら http://127.0.0.1:8880/docs をブラウザーで確認できます。
  3. Settings の Kokoro-FastAPI base URL を http://127.0.0.1:8880/v1 にし、Save Settings を押します。
  4. Voices で一覧を取得し、まず af_heart、kokoro、英語 en、速度 1.0 を使います。

Kokoro の速度は 0.5-2.0。言語はモデルと音声によります。ロシア語の台本や WAV は取り込めますが、この Kokoro 接続はロシア語生成を提供しません。他の適切な音声源を使ってください。

生成中はサーバーを動かしておきます。公開済みゲーム音声の再生にはサーバーは不要です。

ElevenLabs を設定する

#

自分のアカウント、クレジット、権限のあるキーが必要です。生成はそのアカウントの枠を消費します。大量生成の前に料金を確認してください。

  1. ElevenLabs の Developers > API Keys でキーを作成し、Voices: Read と Text to Speech: Access を許可します。モデルを制限する場合は使用モデルを許可します。
  2. Windows のスタート検索でアカウントの環境変数を編集を開きます。ユーザー環境変数の新規で名前を VOICEDIRECTOR_ELEVENLABS_KEY、値をキーにして確定します。
  3. Unreal と Epic Games Launcher を通知領域のプロセスも含めて完全終了し、再起動します。
  4. Voices で ElevenLabs を選び、Check Connection / List Voices から使用可能な音声とモデルを選択します。
  5. 割り当てを保存し、まず短い台詞を 1 つ生成して試聴します。

キーは環境変数に置きます。Settings にキー入力欄はありません。台本、アセット、画像、問い合わせにキーを含めないでください。

プラグインは pcm_24000 を要求し、PCM 応答から WAV を作ります。一覧取得の成功はこの形式の利用権限を保証しません。速度は 0.7-1.2。スタイルと speaker boost は対応モデルのみです。

既存キーは More Actions (...) > Edit で変更できます。公式キーガイドを参照してください。権限、上限、地域アクセスの問題はプロバイダー側で解決後に再試行します。

生成とキューを確認する

#
  1. Lines で選択します。複数は Ctrl または Shift を使います。
  2. 1 バリアントなら Generate new take、複数なら Generate selected。プロバイダー、要求数、文字数、費用見積もりを確認して承認します。
  3. Jobs で進捗を見ます。Pause は新しい送信を停止、Resume は再開、Cancel は残りを中止します。
  4. Completed の Open take を押すと、該当録音を Lines で開き、隠すフィルターを解除します。

完了したテイクはまだ確認、承認、公開が必要です。診断はコピーできます。1 バッチは最大 1,000 バリアント、TTS 1 要求は最大 5,000 文字です。

UnknownRemoteOutcome は、送信した要求がサーバーで完了していても結果を受信できなかった可能性を示します。再生成前にプロバイダーの履歴を確認してください。中止しても送信済み要求は取り消せません。

Jobs:完了した生成タスクと Open take ボタン。

テイクを試聴して選ぶ

#

確認パネルには収録文、由来、時刻、長さ、実際の WAV の波形が表示されます。台詞を切り替えるとその履歴に切り替わります。

状態意味
Selected確認中のテイク。ゲーム音声は変わりません。
Approvedこのバリアントで承認した演技。
In game / 公開済み次の公開を適用するまでゲームアセットに入っているテイク。
Current / Stale / Unknown現在の入力との一致。文章や音声設定の変更で古くなることがあります。
Human / AIWAV 取り込みかプロバイダー生成。取り込み WAV も外部 AI で生成されている場合があります。

Select take、Play、Stop を使い、良ければ Approve take を押します。他のテイクも残ります。波形は読みやすく拡縮されるので音量は耳で比較してください。

自分の録音を取り込む

1 バリアントを選び Import WAV。形式は little-endian RIFF WAV、16-bit PCM、24 または 48 kHz、モノまたはステレオ、最大 64 MiB。MP3、浮動小数点 WAV、24-bit PCM は先に変換します。

More line actions にロック、翻訳確認、安定 ID を保つ名前変更、会話の関連付けがあります。承認を変える前にロック解除します。同じ入力でも新しく作る場合は Create another take even if input matches を有効にします。

Lines:台本、フィルター、実際の録音の波形を使ったテイク確認。

音声アセットを公開する

#

公開だけがゲームの使用アセットを変更します。取り込み、生成、承認だけでは従来の音声は置き換わりません。

  1. Publish > Refresh Preview を開きます。
  2. パスと操作を確認します。Create は作成、Update は更新、Conflict は解決が必要です。
  3. 必要な承認済み行と、ベース SoundWave や会話の依存行を選びます。
  4. Apply Selected Approved を押し結果を確認します。Copy はパスのコピーです。

外部で変更された、未保存、読み取り専用のアセットはそのまま上書きされません。競合を解決して再プレビューします。古い承認済みテイクには stale takes の明示的な許可が必要です。先に文章と音声を確認してください。

承認済みテイクと現在のゲーム音声は別の状態です。Publish で切り替えを適用します。

Publish:アセット変更のプレビューと競合。

ゲームで台詞を再生する

#
  1. レベルを開き、主ツールバーの Blueprints > Open Level Blueprint を選びます。
  2. Event BeginPlay を探します。なければグラフを右クリックして追加します。
  3. 白い実行ピンからドラッグし、Play Sound 2D ノードを作ります。
  4. Sound に公開した SoundWave を選びます。
  5. Compile を押し、Blueprint とレベルを保存し、エディタで Play を押します。

レベル開始時に台詞が再生されます。空間内のキャラクターには Unreal の位置音声ノードと自分の会話処理を使います。パッケージに含めるためゲームからアセットを参照してください。

再生にはエディタモジュール、キー、TTS サーバーは不要です。Epic の Play Sound 2Dも参照できます。

言語と会話コンテキスト

#

翻訳は同じ LineId と CharacterId に別の Culture を使います。例:L-001,rowan,en と L-001,rowan,fr。翻訳と各言語に適した音声は自分で用意します。

既定のソース言語は en。ベース SoundWave と新しい翻訳版を一緒に公開します。Unreal の /Game/L10N/<culture>/... 構造を使います。ゲームではベースアセットを参照し、アクティブなカルチャーで翻訳を選びます。

Project Settings > Packaging に必要なカルチャーと国際化データを含めます。エディタの表示言語だけではゲームの台詞言語は設定されません。

DialogueWave

話者と必要な聞き手の DialogueVoice アセットを作ります。More line actions で Dialogue speaker、聞き手、固定の Context key を選び、Save Dialogue Context を押します。必要な SoundWave と DialogueWave を一緒に公開します。

DialogueVoice は会話情報であり音声モデルではありません。1 LineId につき 1 コンテキストです。別のコンテキストには別 ID を使います。

声優の録音を受け取る

#
  1. 台本を用意し、Settings > Export Actor Manifest CSV を押します。
  2. マニフェストを演者に渡し、ID と指定 WAV 名を維持して対応形式で録音してもらいます。
  3. Choose Actor Manifest で元のマニフェスト、Choose Returned WAV Folder で受け取ったフォルダーを選びます。
  4. Preview Actor Matching で準備済み、不足、曖昧な一致を確認し、まずファイルを修正します。
  5. 準備済み行を選んで Import Selected Actor WAVs を押し、試聴、承認、公開します。

テイクには元のマニフェストの台詞が残ります。その間に台本が変わった場合は古い状態になるため、実際の発話と比較してください。

設定と生成上限

#

Settings には Kokoro URL、出力、DataTable、演者ツール、キュー上限があります。接続と生成は Save Settings、出力先は Save Output Folder で保存します。

要求数と文字数を制限できます。USD 見積もりには 1,000 文字あたりの料金を入力します。料金 -1 は不明、USD 予算 -1 は金額上限なしです。予算ありで料金不明の場合、計算可能になるまでクラウド生成を止めます。

見積もりは入力料金に基づきます。アカウント残高や最終請求額の保証ではありません。プロバイダーの枠も確認してください。

ローカルのエディタ設定です。通常の操作に JSON 編集は必要ありません。

Settings:接続、出力先、取り込み、生成の上限。

保存と中断からの復旧

#

プロジェクト全体をバックアップします:

フォルダー内容
Content/公開アセットと元の DataTable。
VoiceDirector/台本、テイク履歴、保存した元 WAV。
Saved/VoiceDirector/ローカル設定、ジョブと公開のジャーナル、復旧用コピー。

SoundWave だけでは履歴全体を復元できません。書き込みは 1 エディタのみです。読み取り専用から戻すには別エディタを閉じ、現在のエディタも再起動します。使用中のロックを削除しないでください。

生成中断後は Jobs を確認します。送信済みで結果不明の要求は自動再送しません。先にプロバイダー履歴を確認します。

Publish の検出済み Review interrupted publication、または Restore From Publish Journal でこのプロジェクトの Saved/VoiceDirector/Publish/<batch>/Journal.json を選択します。確認文を読んでください。解決までジャーナルとバックアップを保管します。外部変更は競合となり、新規アセットが確認用に残ることがあります。必要ならプロジェクトのコピーを保持してサポートへ連絡します。

問題を調べる

#
症状確認すること
プラグインがないEdit > Plugins で有効化、再起動、Tools。UE に合うビルドを 1 つだけ配置。
ボタンが無効正しい選択、ロック、読み取り専用、取り込み/キュー実行中を確認。公開には承認が必要。
CSV エラーUTF-8、カンマ、正確な列名、空でない ID、一意な LineId/Culture、診断を確認。
Kokoro 一覧が空サーバー稼働、/docs 接続、保存 URL の /v1、一覧再取得。
ElevenLabs 拒否再起動で変数継承、Voices: Read、Text to Speech: Access、モデル/形式、クレジット、API 接続。
HTTP 429指定時間待ち、バッチを減らし手動再試行。短時間の連続送信を避ける。
波形や音がない元 WAV と対応 PCM、出力先と音量。欠損ファイルはバックアップから復元。
結果不明再生成前にプロバイダー履歴を見る。
Conflict診断とパスを読み、外部変更、未保存、読み取り専用を解決して更新。
ゲームで無音実行ピン、Sound、コンパイルと保存、音量、アセットとカルチャーのパッケージ包含。

よくある質問

#
最初のレッスンに支払いは必要ですか?

CSV/WAV 取り込みとアセット再生にプロバイダーアカウントは不要です。ElevenLabs はその料金とクレジットを使います。ローカル Kokoro はサーバーとモデルの導入が必要です。

台詞と声はどこから来ますか?

文章は自分で用意します。音声は WAV またはプロバイダーです。VoiceDirector は履歴を整理し、物語作成や音声学習はしません。

C++ や JSON は必要ですか?

コンパイル済みパッケージは Blueprint のみでも使えます。音声、設定、DataTable は画面で操作します。ソースのビルドは別の開発作業です。

新しいテイクですぐゲーム音声が変わりますか?

いいえ。試聴、承認、公開の適用が必要です。それまでは以前に公開した音声が使われます。

言語を変えても同じ章に戻れますか?

はい。現在の章が維持されます。プラグインのボタン名は英語のままなので画面と対応できます。

パッケージ化したゲームで音声生成できますか?

VoiceDirector 1.0.0 はエディタ制作ツールです。ゲームは公開した標準アセットを再生し、実行時 TTS は提供しません。

サポートに問い合わせる

#

nexusforgeuesupport@gmail.com に、VoiceDirector と Unreal のバージョン、プロバイダー、再現手順、エラー、該当タブの画像を送ってください。

API キーは送らないでください。共有可能な小さな例が、非公開プロジェクト全体より役立ちます。復旧を調べる前にコピーを保持します。