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

ストリーミング音波

Voice Activity Detection (VAD) については、このページを参照してください。

ストリーミング音波は、再生中でも動的に音声データを追加できるインポートされた音波の一種です。インポートされた音波と同じ機能(例:巻き戻し)を提供し、SoundCuesなどで使用できます。

ストリーミング音波の作成

最初にストリーミング音波を作成する必要があります。注意点として、早期破棄を防ぐために強参照として扱う必要があります(例:Blueprintsで別の変数に割り当てたり、C++で UPROPERTY() を使用したりする)。

ストリーミング音波の作成ノード

音波を再生する

その音波を再生することができます。しかし、今すぐにこれをする必要はありません。音波の再生は後で開始することができます。

音波を再生するさまざまな例

オーディオデータの事前割り当て

必要に応じて、オーディオデータ(バイト)を事前に割り当てて、新しいオーディオデータが追加されるたびにPCMバッファ全体を再割り当てするのを避けることができます。

Pre Allocate Audio Data node

オーディオデータの追加

既存のバッファーの末尾にオーディオデータを追加するには、オーディオデータを動的に追加するための適切な関数を使用します。再生はこれらの追加の順番に従います。

Append Audio Data node

加速されたオーディオ再生の回避

しばしば、オーディオデータをストリームしながら同時に再生する必要がある場合、バッファが速く溜まりすぎてオーディオが加速してしまうのを避けるために、再生前に少し遅延を加えるべきです。一般的に約半秒の遅延が推奨されます。

使用例

最終的に、あなたの実装は次のようになるかもしれません:

ストリーミング音波を使用した例

On Populate Audio State

OnPopulateAudioState デリゲートは、ポピュレートされたオーディオデータを放送しない点を除き、OnPopulateAudioData と同様に機能します。これは、ポピュレートされたオーディオデータの配列を渡すことなく、オーディオデータがポピュレートされた時点を追跡したい場合に役立ち、パフォーマンス向上に寄与することがあります。

On Populate Audio State デリゲート

PCMデータの操作

再生中にPCMデータにリアルタイムでアクセスするには、PCM Data Handlingを参照してください。