2024-09-12 03:56:16 +00:00
2024-09-11 05:09:05 +00:00
2024-09-11 11:20:25 +00:00
2024-09-11 05:43:37 +00:00
2024-09-09 08:46:48 +00:00
2024-09-12 03:56:16 +00:00
2024-09-12 03:56:16 +00:00
2024-09-12 03:56:16 +00:00
2024-09-11 18:51:14 +09:00
2024-09-12 03:56:16 +00:00
2024-09-12 03:56:16 +00:00
2024-09-11 02:01:02 +00:00
2024-09-11 18:51:14 +09:00
2024-09-09 08:47:41 +00:00
2024-09-11 18:42:31 +09:00

sbv2-api

このプロジェクトは Style-Bert-ViTS2 を ONNX 化したものを Rust で実行するのを目的としています。

学習したい場合は、Style-Bert-ViTS2 学習方法 などで調べるとよいかもしれません。

JP-Extra しか対応していません。(基本的に対応する予定もありません)

ONNX 化する方法

cd convert
# (何かしらの方法でvenv作成(推奨))
pip install -r requirements.txt
python convert_deberta.py
python convert_model.py --style_file ../../style-bert-vits2/model_assets/something/style_vectors.npy --config_file ../../style-bert-vits2/model_assets/something/config.json --model_file ../../style-bert-vits2/model_assets/something/something_eXXX_sXXXX.safetensors

Todo

  • WebAPI の実装
  • Rust ライブラリの実装
  • 余裕があれば PyO3 使って Python で利用可能にする
  • GPU 対応(優先的に CUDA)
  • WASM 変換(ort がサポートやめたので、中止)

構造説明

  • sbv2_api - 推論用 REST API
  • sbv2_core - 推論コア部分
  • docker - docker ビルドスクリプト

API の起動方法

cargo run -p sbv2_api -r

CUDA での起動

cargo run -p sbv2_api -r -F cuda,cuda_tf32
ORT_DYLIB_PATH=./libonnxruntime.dll cargo run -p sbv2_api -r -F dynamic

models をインストール

https://huggingface.co/googlefan/sbv2_onnx_models/tree/main の中身を models フォルダに配置

.env ファイルの作成

cp .env.sample .env

テストコマンド

curl -XPOST -H "Content-type: application/json" -d '{"text": "こんにちは","ident": "tsukuyomi"}' 'http://localhost:3000/synthesize' --output "output.wav"
curl http://localhost:3000/models

謝辞

  • litagin02/Style-Bert-VITS2 - このコードの書くにあたり、ベースとなる部分を参考にさせていただきました。
  • Googlefan - 彼にモデルを ONNX ヘ変換および効率化をする方法を教わりました。
Description
Infer only tts
Readme 5.5 MiB
Languages
Rust 78.3%
Python 10.8%
Jupyter Notebook 6%
TypeScript 2.5%
Shell 1%
Other 1.4%