LLM(*1)をサーバーとして推論を行います。また推論内容から音声合成ライブラリ(*2)を用いて音声を生成するライブラリです。
サンプルシーンもあるため、cloneしてそのまま実行することができます。
またライブラリとしてもご活用いただけます。
- キャラクターとの音声対話プロジェクト
- Phoneサンプルのセットアップ方法
- 各種対応しているライブラリ
- ライブラリとしてインストール
- requirements
- using library for Sample
- License
以下はVADを使い音声入力を検知しつつローカルにて、音声の文字起こし→LLMによる推論→音声合成を行うサンプルシーンのセットアップ方法です。
LLM推論(llama.cpp)のセットアップ (click to expand)
- llama.cppをcloneします。
llama.cppのディレクトリに移動し、make(*3)を実行します。modelsにモデルを配置します。llama.cppのディレクトリに移動し、./server.exe -m models/{model_name}を実行します。llama.cppのサーバーAPIの詳細はllama.cpp/example/server を参照してください。
(*3) makeを実行するためには、プラットフォームごとに異なる手順が必要です。
-
Linux or MacOS
makeを実行します -
Windows
w64devkitをインストールした上で、
makeを実行します。
詳しくはllama.cppを参照してください。
音声合成(Style-Bert-VITS2)のセットアップ (click to expand)
- Style-Bert-VITS2をcloneします。
pip install -r requirements.txtで必要なライブラリをインストールします。python initialize.pyで必要なモデルをダウンロードします。model_assetsにモデルを配置します。このときに必要なファイルは、config.jsonと*.safetensorsとstyle_vectors.npyが必要です。python server_fastapi.pyを実行します。APIの詳細は実行後に表示されるURLを参照してください。
つくよみちゃんコーパスで学習したモデルを使用する場合は、こちらからダウンロードして model_assetsに配置してください。
音声の文字起こし(faster-whisper-server)のセットアップ (click to expand)
- faster-whisper-serverをcloneします。
faster-whisper-serverのディレクトリに移動し、docker-compose up -dを実行します。
- Unityでプロジェクトを開きます。
Assets/Scenes/にあるPhoneSampleを開きます。
(*1) 対応しているLLM
(*2) 対応している音声合成ライブラリ
- パッケージマネージャーを開く
- 左上にある
+ボタンをクリックする - 「
git URLからパッケージを追加...」を選択します。 https://github.com/ayutaz/uni-llama-voice-chat.git?path=Assets/UniLlamaVoiceChat/ScriptsのURLを追加する。Addをクリックします。
- リリースページから最新リリースをダウンロードする。
- パッケージをプロジェクトにインポートする
- Unity 2023.2.12f1
- UniTask