テキスト読み上げの概要
Voice SDKのテキスト読み上げ(TTS)機能は、Wit.aiベースのサービスを使うことにより、テキスト文字列の音声ファイルを提供します。1つのTTSService prefabがすべてのTTS設定を扱います。TTSクリップ再生が可能なシーンロケーションごとに1つのシンプルなTTSSpeakerスクリプトを使うことができます。
TTSが滑らかに動作し続けるため、実行時にVoice SDKによりTTSファイルのキャッシュの処理がなされます。一方、ストリーミングTTS音声ファイルが該当アプリのオプションではない場合、アプリをビルドする前に、事前読み込みの静的TTSファイルを使うように設定することができます。
プラグインがインポートされたら、次の手順でアプリのTTSを設定します。
- TTSを使う対象となるシーンを開きます。
- [Meta] > [Voice SDK (ボイスSDK)] > [Voice HUB (ボイスハブ)]の中にあるWit設定メニューを使って、新しいWit設定を生成します。これが正常に更新され、自分用の構成で利用可能なすべての音声が表示されていることを確認します。
- [Assets (アセット)] > [Create (作成)] > [Voice SDK (ボイスSDK)] > [TTS] > [Add Default TTS Setup (デフォルトのTTS設定を追加)]に移動します
- シーン階層で、新たに生成されたTTSゲームオブジェクト内部に移動し、TTSWitServiceゲームオブジェクトを選択し、自分のニーズに合わせてインスペクターを調整します。
- [TTSWit] > [Request Settings (リクエストの設定)] > [Configuration (設定)]を使って、ステップ2で生成されたWit設定アセットを選択します。
- 設定が完了したら、[Preset Voice Settings (音声のプリセット設定)]に移動し、複数のTTSSpeakerが共有する可能性のある音声を設定します。詳しくは、TTSボイスのカスタマイズをご覧ください。

- [TTS Runtime Cache (Script) (TTSランタイムキャッシュ(スクリプト))]で設定を調整し、クリップをメモリから自動的にアップロードする頻度を指定します。詳しくは、TTSキャッシュのオプションをご覧ください。
- [TTS Disk Cache (Script) (TTSディスクキャッシュ(スクリプト)]のツリーで、ディスクキャッシュのディレクトリロケーションと名前を、必要に応じて調整します。

- アプリの中でTTSを再生するすべての場所にWitTtsSpearkerを移動して、複製します。
- インスペクターを使って、自分のニーズに合わせて各TTSSpeakerに変更を加えます。
- [Voice Settings (音声の設定)]の下で、特定のスピーカーの[Voice Preset (音声プリセット)]を選択するか、[Custom (カスタム)]を選択してスピーカー固有の設定を適用します。
- AudioSourceを調整することにより、TTSSpeakerをカスタム音声に追加するか、音声を2Dから3Dに設定します。
- スクリプトにより、以下のTTSSpeakerメソッドを使ってテキストを読み込んで再生します。
- 読み込み時に特定のテキストをリクエストして読み上げるには、TTSSpeakerスクリプトの
Speak(textToSpeak : string)メソッドを使います。 - 特定のテキストをリクエストして読み上げるには、TTSSpeakerスクリプトの
SpeakQueued(textToSpeak : string)メソッドを使います。 - 特定のテキストの読み込みや再生のイベントのコールバックをリクエストするため、
Speak/SpeakQueuedメソッドにカスタムTTSSpeakerを送信します。 - すべてのTTSクリップの読み込みと再生を直ちに停止するには、TTSSpeakerスクリプトの
Stop()メソッドを使います。 - 特定のテキスト文字列の読み込みと再生を直ちに停止するには、TTSSpeakerの
Stop(textToSpeak : string)を使います。
注: TTS実装の例については、Samples/TTSVoices/TTSVoices.unityをご覧ください。