OmniVoiceプラグイン 使用説明書 (v1.8)
本プラグインは、Unityゲーム(EmotionCreators等)内のテキストをキャプチャし、外部のAI音声合成エンジン(TTS)を介してキャラクターに喋らせるためのBepInExプラグインです。
⚠️ 【重要】動作に必要な準備
本プラグイン単体では音声は再生されません。以下の準備が必要です:
外部音声合成AIサーバーの起動
GPT-SoVITS や OmniVoice などの、API(HTTPリクエスト)を受け付け可能な音声合成モデルを別途起動しておく必要があります。
デフォルトでは ポート 9880 のAPIを利用するように設定されています。
APIインターフェースについて
本プラグインはデフォルトで http://127.0.0.1:9880/?text={text}&speaker={speaker} という形式のGETリクエストを送信します。
他の音声合成エンジンを使用する場合:
UI内の「API URL」欄を書き換えることで、ほぼ全てのTTSエンジンに対応可能です。{0} : ゲームからキャプチャしたテキストに置換されます。
{1} : UIで選択したAI話者名に置換されます。
例:http://localhost:5000/tts?msg={0}&id={1} のように自由に変更可能です。
🛠 基本操作
1. UIの表示/非表示
デフォルトショートカット: Alt + PageDown
設定ファイル(Config)から変更可能です。
2. 話者リストのカスタマイズ
BepInEx/config/OmniVoice_Speakers.txt を編集してください。
このファイルに記述した名前が、UI上のボタンとして自動的に生成されます(1行につき1人)。
3. テキストのキャプチャ
ゲーム内で会話が進む(LoadCutが実行される)たびに、最新のテキストが自動的にプラグインに保存されます。
🌟 特徴的な機能
3D音響と口パク(Lip Sync)の連動
UI上部の「発音対象」からゲーム内のキャラクターを選択して再生すると、そのキャラクターの位置から声が聞こえるようになり、さらに声に合わせてキャラクターの口が動きます。
「ナレーター(全局旁白)」を選択した場合は、2Dの平坦な音声として再生されます。
キャラ特性の反映
キャラクターに紐づけて再生する場合、ゲーム内で設定されているキャラクターの「声の高さ(Pitch)」が自動的に適用されます。
UIの多言語対応
BepInExのConfigから Language を Japanese に設定することで、全ての操作画面が日本語表示になります。
📂 設定ファイル(Config)について
BepInEx/config/com.yourname.omnivoice.cfg で以下の項目を調整できます:
ShowGuiShortcut: UIを開くキー。
ApiUrlTemplate: デフォルトの接続先URL。
UI Language: 表示言語の切り替え。
💡 トラブルシューティング
音が鳴らない: AIサーバー側のコンソールを確認してください。リクエストが届いていない場合はポート番号(9880/7862等)が正しいか確認してください。
解析失敗エラー: AIサーバーが返す音声フォーマットが WAV であることを確認してください。もし MP3 の場合は、プラグインのソースコードの AudioType を変更する必要があります。
操作が効かない: UIのウィンドウ外をクリックするとゲーム側の操作が優先される場合があります。UIを操作する際はウィンドウ内をクリックしてください。
