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

プラグインの使い方

Runtime Speech Recognizerプラグインは、入力される音声データから単語を認識するために設計されています。エンジンと連携するために、whisper.cppの少し改良されたバージョンを使用しています。プラグインを使用するには、次の手順を実行してください:

エディター側

  1. プロジェクトに適した言語モデルを選択します。詳しくはこちら

ランタイム側

  1. Speech Recognizerを作成し、必要なパラメータを設定します(CreateSpeechRecognizer、パラメータはこちらを参照してください)。
  2. 必要なデリゲートにバインドします(OnRecognitionFinishedOnRecognizedTextSegmentOnRecognitionError)。
  3. 音声認識を開始します(StartSpeechRecognition)。
  4. 音声データを処理し、デリゲートからの結果を待ちます(ProcessAudioData)。
  5. 必要に応じて音声認識を停止します(例:OnRecognitionFinishedがブロードキャストされた後)。

プラグインは、32ビット浮動小数点インターリーブPCMフォーマットでの音声の入力をサポートしています。Runtime Audio Importerとよく連携しますが、直接的には依存していません。

認識パラメータ

プラグインはストリーミングと非ストリーミングの両方の音声データ認識をサポートしています。特定の使用例に対して認識パラメータを調整するには、SetStreamingDefaultsまたはSetNonStreamingDefaultsを呼び出してください。また、スレッド数、ステップサイズ、入力された言語を英語に翻訳するか、過去のトランスクリプションを使用するかどうかなど、個別のパラメータを手動で設定する柔軟性もあります。利用可能なパラメータの完全なリストについては、Recognition Parameter Listを参照してください。

パフォーマンスの向上

プラグインのパフォーマンスを最適化する方法については、How to improve performanceセクションを参照してください。

音声活動検出 (VAD)

特にストリーミングシナリオにおける音声入力の処理時には、Voice Activity Detection (VAD)を使用して、認識器に到達する前に空の音声セグメントやノイズのみの音声セグメントをフィルタリングすることが推奨されます。このフィルタリングは、Runtime Audio Importerプラグインを使用してキャプチャ可能なサウンド波側で有効にすることができ、言語モデルがノイズにパターンを見出し、不正確な写字を生成するのを防ぎます。VADの設定の詳細な手順については、Voice Activity Detection documentationを参照してください。

プラグインに付属するデモプロジェクトでは、VADはデフォルトで有効になっています。デモの実装に関する詳細情報は、Demo Projectで確認できます。

プラグインのContent -> Demoフォルダーに含まれている優れたプロジェクトデモがあります。これを実装の例として使用できます。こちら

これらの例は、ストリーミングおよびノンストリーミング音声入力の両方でRuntime Speech Recognizerプラグインを使用する方法を示しています。音声データを取得するためにRuntime Audio Importerを使用した例を示しています。例に示されている同じセットの音声インポート機能にアクセスするには、RuntimeAudioImporterを別途ダウンロードする必要があります。これらの例はコアコンセプトを示すためのものであり、エラー処理は含まれていません。

ストリーミング音声入力

この例は、Capturable sound waveを使用してマイクからの音声データをストリームとしてキャプチャし、それを音声認識器に渡します。コピー可能なノード

注意: UE 5.3、および他のバージョンでは、コピーした特定のノードがBlueprintsから欠落する場合があります。これは、異なるエンジンバージョン間でノードのシリアライズ/デシリアライズの違いによって発生することがあります。すべてのノードが正しく接続されていることを確認してください。

より広範な例

非ストリーミング音声入力

この例では、音声データをImported sound waveにインポートし、インポートされた音声データを一度に認識します。コピー可能なノード