Skip to content

ayutaz/UniRealtime

Repository files navigation

UniRealtime

Unity Version Releases

日本語 | English

UniRealtimeは、OpenAIのRealtime APIをUnityプロジェクトに簡単に統合し、インタラクティブな音声およびテキストベースの対話を実現するためのライブラリです。このライブラリを使えば、低遅延でマルチモーダルなキャラクター対話や、リアルタイムでのAI応答をスムーズに実装できます。

サンプルシーンを含んでいるため、クローンしてすぐに動作を確認できます。また、ライブラリとしてプロジェクトに組み込むことも可能です。

サンプルプロジェクトのセットアップ

  • 以下は、Unityを使ったプロジェクトでOpenAIのRealtime APIを利用するためのサンプルシーンのセットアップ手順です。
  1. OpenAI APIにアクセスして、APIキーを取得。
  2. Unityでプロジェクトを開きます。
  3. Assets/UniRealtime/Sample/Scenes にあるRealtimeAIDemoシーンを開きます。
  4. OpenAIのAPIキーをプロジェクト内で設定します。

実行することで以下の画像のように動作します。

ライブラリとしての使用方法

依存ライブラリのインストール

  1. unity-websocketをインストールします

  2. 任意でUniTaskをインストールします。こちらをしようしない場合は,内部処理はTaskを使用します。

Package Manager

  1. Package Managerを開きます。
  2. + ボタンをクリックし、Add package from git URL を選択します。
  3. https://github.com/ayutaz/UniRealtime.git?path=/Assets/UniRealtime/Scripts

Unity Package

  1. UniTaskおよびunity-websocketをインストールします。
  2. リリースページから最新のUnityパッケージをダウンロードします。
  3. ダウンロードしたUnityパッケージをプロジェクトにインポートします。

動作環境

  • Unity: 2022.3.x 以降
  • OpenAI Realtime API: 最新のAPIバージョンに対応

サンプルの使用方法

  • サンプルには、音声入力からAI応答、さらにリアルタイムでの音声合成までを行うシンプルなキャラクター対話システムが含まれています。以下のステップで利用可能です。
  • マイクや他の入力デバイスを用いて音声をリアルタイムで取得。
  • 音声やテキストをOpenAI Realtime APIに送り、応答を受信。
  • Unity内のキャラクターに応答させることで、インタラクティブな対話が可能。

License

このプロジェクトはApache-2.0ライセンスの条件下で提供されています。詳細はLICENSEファイルを参照してください。

ただしサンプルシーンに使用しているFontは、Google FontsNotoSansJPを使用しています。Noto Sans JPはASIL Open Font License, Version 1.1の下で提供されています。