メインコンテンツまでスキップ

プラグインの使用方法

Runtime Text To Speech プラグインは、ダウンロード可能な音声モデルを使用してテキストを音声に変換します。これらのモデルはエディタ内のプラグイン設定で管理され、ダウンロードされ、ランタイムで使用するためにパッケージ化されます。以下の手順に従って始めましょう。

エディター側

プロジェクトに適した音声モデルをこちらに従ってダウンロードしてください。複数の音声モデルを同時にダウンロードすることができます。

ランタイム側

CreateRuntimeTextToSpeech 関数を使用してシンセサイザーを作成します。ガーベジコレクションされないように、これを参照として保持してください(例えば、Blueprints の別個の変数や C++ の UPROPERTY として)。

Blueprints における Runtime Text To Speech シンセサイザーの作成例

シンセサイザーが作成されると、以下の関数のいずれかを呼び出してテキストを合成できます。

  • Text To Speech (By Name) (TextToSpeechByName in C++)
  • Text To Speech (By Object) (TextToSpeechByObject in C++)

名前で

Text To Speech (By Name) 機能は、UE 5.4 からのBlueprintでより便利になります。ダウンロードされた音声モデルのドロップダウンリストから音声モデルを選択することができます。UE 5.3 以下のバージョンでは、このドロップダウンが表示されないので、古いバージョンを使用している場合は、必要な音声モデルを選択するために、GetDownloadedVoiceModels が返す音声モデルの配列を手動で反復する必要があります。

BlueprintでのText To Speech by Nameの使用例

オブジェクトによる

Text To Speech (By Object) 関数は、Unreal Engine のすべてのバージョンで動作しますが、ボイスモデルをアセットリファレンスのドロップダウンリストとして表示するため、直感的ではありません。この方法は、UE 5.3 以前、またはプロジェクトでボイスモデルアセットへの直接参照が必要な場合に最適です。

Blueprints でオブジェクトによる Text To Speech を使用する例

モデルをダウンロードしたのに表示されない場合は、Voice Model ドロップダウンを開き、設定 (ギアアイコン) をクリックし、Show Plugin ContentShow Engine Content の両方を有効にして、モデルを表示可能にしてください。

スピーカーの選択

どちらのText To Speech機能も、オプションでスピーカーIDを受け取ることができます。これは、複数のスピーカーをサポートするボイスモデルで作業する際に便利です。選択したボイスモデルが複数のスピーカーをサポートしているかを確認するには、GetSpeakerCountFromVoiceModelまたはGetSpeakerCountFromModelName関数を使用します。複数のスピーカーが利用可能な場合、Text To Speech関数を呼び出す際に、希望するスピーカーIDを指定するだけです。一部のボイスモデルは豊富なバリエーションを提供しています。たとえば、English LibriTTSには900以上の異なるスピーカーが含まれています。

再生

On Speech Resultデリゲートは、合成された音声をPCMデータとして提供します(Blueprintsではバイト配列、C++ではTArray<uint8>)、およびSample RateNum Of Channelsを共に提供します。このデータは必要に応じて処理することができます。

再生には、Runtime Audio Importerプラグインを使用して、生のオーディオデータを再生可能なサウンドウェーブに変換することをお勧めします。ただし、これは任意であり、希望する場合は生のPCMオーディオデータを自分のソリューションで処理することもできます。

Runtime Audio Importerを使用するには、Import Audio From RAW Bufferを呼び出し、RAW BufferOn Speech Resultデリゲートから)、Sample Rate、およびNum Of Channelsを入力してサウンドウェーブを生成します。

サウンドウェーブが生成されたら、Unreal Engine内の通常のサウンドウェーブと同様に、再生したり、セーブゲームファイルに保存したり、さらなる処理を行うことができます。

こちらはテキストを合成し音声を再生するBlueprintノードの例です(コピー可能なノード):

Runtime Audio Importer プラグインは、オーディオデータをファイルへエクスポートしたり、SoundCueやMetaSoundに渡したりする追加機能も提供します。詳細については、Runtime Audio Importer documentationを参照してください。