Skip to content

This project uses llama.cpp as an LLM server to perform inference and generate speech using Synthetic voice library

License

Notifications You must be signed in to change notification settings

ayutaz/uni-llm-voice-chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

キャラクターとの音声対話プロジェクト

LLM(*1)をサーバーとして推論を行います。また推論内容から音声合成ライブラリ(*2)を用いて音声を生成するライブラリです。
サンプルシーンもあるため、cloneしてそのまま実行することができます。
またライブラリとしてもご活用いただけます。

Phoneサンプルのセットアップ方法

以下はVADを使い音声入力を検知しつつローカルにて、音声の文字起こし→LLMによる推論→音声合成を行うサンプルシーンのセットアップ方法です。

LLM推論(llama.cpp)のセットアップ (click to expand)

llama.cppのセットアップ

  1. llama.cppをcloneします。
  2. llama.cppのディレクトリに移動し、make(*3)を実行します。
  3. modelsにモデルを配置します。
  4. 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のセットアップ

  1. Style-Bert-VITS2をcloneします。
  2. pip install -r requirements.txt で必要なライブラリをインストールします。
  3. python initialize.pyで必要なモデルをダウンロードします。
  4. model_assetsにモデルを配置します。このときに必要なファイルは、config.json*.safetensorsstyle_vectors.npy が必要です。
  5. python server_fastapi.py を実行します。APIの詳細は実行後に表示されるURLを参照してください。

つくよみちゃんコーパスで学習したモデルを使用する場合は、こちらからダウンロードして model_assetsに配置してください。

音声の文字起こし(faster-whisper-server)のセットアップ (click to expand)

音声の文字起こし

  1. faster-whisper-serverをcloneします。
  2. faster-whisper-serverのディレクトリに移動し、docker-compose up -dを実行します。

Unityのセットアップ

  1. Unityでプロジェクトを開きます。
  2. Assets/Scenes/にあるPhoneSampleを開きます。

各種対応しているライブラリ

(*1) 対応しているLLM

(*2) 対応している音声合成ライブラリ

ライブラリとしてインストール

UPM

  1. パッケージマネージャーを開く
  2. 左上にある+ボタンをクリックする
  3. git URLからパッケージを追加...」を選択します。
  4. https://github.com/ayutaz/uni-llama-voice-chat.git?path=Assets/UniLlamaVoiceChat/Scripts のURLを追加する。
  5. Addをクリックします。

Unity Package

  1. リリースページから最新リリースをダウンロードする。
  2. パッケージをプロジェクトにインポートする

requirements

using library for Sample

License

About

This project uses llama.cpp as an LLM server to perform inference and generate speech using Synthetic voice library

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published