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

Pixel Streaming Audio Capture

Pixel Streamingは、Unreal Engine用のプラグインで、レンダリングされたフレームをストリームし、入力/出力をWebRTC経由で同期させます。アプリケーションはサーバー側で実行され、クライアント側はレンダリングとユーザーインタラクションを処理します。Pixel Streamingとそのセットアップに関する詳細は、Pixel Streaming Documentationを参照してください。

Compatibility

このソリューションは以下で動作します:

この実装はこれらの環境でテストされており、使用する Pixel Streaming ホスティングソリューションに関わらず正しく機能します。

Extension Plugin Installation

この機能はRuntime Audio Importer プラグインに対する拡張として提供されます。使用するには次の手順を行います:

  1. プロジェクトに Runtime Audio Importer プラグインが既にインストールされていることを確認
  2. Google Drive から Pixel Streaming Audio Capture プラグイン拡張をダウンロード
  3. ダウンロードしたアーカイブからフォルダを抽出し、プロジェクトの Plugins フォルダに入れる(存在しない場合はフォルダを作成)
  4. プロジェクトを再ビルド(この拡張はC++プロジェクトを必要とします)
important
  • この拡張はソースコードとして提供されており、使用するにはC++プロジェクトが必要です
  • 対応するUnreal Engineバージョン: UE 5.2以降
  • プラグインを手動でビルドする方法の詳細は、Building Plugins tutorialを参照

Overview

Pixel Streaming Capturable Sound Waveは、標準のCapturable Sound Waveを拡張し、Pixel Streamingクライアントのマイクから直接音声をキャプチャできるようにします。この機能により、以下が可能になります:

  • Pixel Streaming経由で接続されたブラウザからの音声をキャプチャ
  • 特定のプレーヤー/ピアからの音声を処理
  • リモートユーザーからのボイスチャット、ボイスコマンド、または音声録音を実装

Basic Usage

Creating a Pixel Streaming Capturable Sound Wave

まず、Pixel Streaming Capturable Sound Waveオブジェクトを作成する必要があります:

Create Pixel Streaming Capturable Sound Wave node

警告

Pixel Streaming Capturable Sound Waveは、早期破壊を防ぐために強力な参照として扱うべきです(例:Blueprintsで別の変数に割り当てる、C++でUPROPERTY()を使用するなど)。

キャプチャの開始と停止

簡単な関数呼び出しでオーディオキャプチャを開始および停止できます:

キャプチャ開始および停止ノード

注記

StartCapture内のDeviceIdパラメーターは、Pixel Streaming Capturable Sound Wavesでは無視されます。キャプチャソースは自動的に、または設定されたプレイヤー情報によって決定されます。

キャプチャステータスの確認

サウンドウェーブが現在音声をキャプチャしているか確認できます:

Is Capturing node

完全な例

Pixel Streaming オーディオキャプチャの設定方法の完全な例です:

Complete Pixel Streaming Capture Example

複数のPixel Streamingプレイヤーとの作業

同時に複数のPixel Streamingクライアントが接続されているシナリオでは、特定のプレイヤーからオーディオをキャプチャする必要があるかもしれません。以下の機能がその管理を助けます。

使用可能なPixel Streamingプレイヤーの取得

接続されているPixel Streamingプレイヤーを特定するには:

Get Available Pixel Streaming Players node

特定のプレイヤーからキャプチャーする設定

特定のプレイヤーからキャプチャーする必要がある場合:

Set Player To Capture From node

備考

Player IDを空白のままにすると、サウンドウェーブが接続される最初のプレイヤーを自動的にリッスンします。これはデフォルトの動作で、シングルプレイヤーのシナリオでうまく機能します。

Common Use Cases

Voice Chat Implementation

Pixel Streaming Capturable Sound Wavesを使用して、リモートユーザーとローカルプレイヤー間のボイスチャットを実装できます。

  1. 接続されている各プレイヤーにPixel Streaming Capturable Sound Waveを作成する
  2. 現在話しているプレイヤーを管理するシステムを設定する
  3. Voice Activity Detectionシステムを使用して、ユーザーが話している時を検出する
  4. 必要に応じてUnreal Engineのオーディオシステムを使用してオーディオを空間化する

Voice Commands with Speech Recognition

この機能をRuntime Speech Recognizerプラグインと組み合わせることで、リモートユーザーの音声コマンド認識を実装できます。

  1. Pixel Streaming Capturable Sound Waveを使用して、Pixel Streamingクライアントからオーディオをキャプチャする
  2. キャプチャしたオーディオを直接Runtime Speech Recognizerに入力する
  3. 認識されたテキストをゲームのロジックで処理する

Runtime Speech Recognizerの例で標準のCapturable Sound WaveをPixel Streaming Capturable Sound Waveに置き換えるだけで、Pixel Streamingオーディオ入力とシームレスに連携します。

Recording Remote User Audio

リモートユーザーからのオーディオを後で再生するために録音できます。

  1. Pixel Streaming Capturable Sound Waveを使用してオーディオをキャプチャする
  2. Export Audioを用いてキャプチャされたオーディオをファイルにエクスポートする
  3. 後での使用や分析のためにファイルを保存する