TTS沼へようこそ 〜GPT-SoVITSをインストールして動かしてみた〜
ごあいさつ
ElevenLabs高いなぁどうしようかなぁ。と迷っていたら見つけました。
インストールしてみるしかないでしょ!ってわけで。
どこからスタートかは人それぞれなので、ざっつな備忘録です。
ちなみに私はxcodeとpythonやpipにgit、brewあたりはインストールしてありました。
Linuxベースではありますが、mac OSな人は↓の環境設定に沿っていけばなんとなく、できるはず!(私は完全にこの流れに沿ってインストール繰り返してなんとかなりました)
参考資料たち
あとはここら辺のReadmeとか。
https://github.com/RVC-Boss/GPT-SoVITS/blob/main/docs/ja/README.md
開発環境構築〜インストールまで
Dockerをインストール
Conda環境もインストール
conda create -n GPTSoVits python=3.9
conda activate GPTSoVits
まで完了させます。
git lfsを導入
brew install git-lfs
git lfs install
ようやく本体導入!GPT-SoVITSをclone
git clone https://github.com/RVC-Boss/GPT-SoVITS
cd /GPT-SoVITS
zsh install.sh
cloneできたら、GPT-SoVITSフォルダに入って、docker-compose.yamlの設定を確認し、シェル環境に合わせてinstall.sh を実行。(私の環境はzsh)
問題なければ
docker compose -f "docker-compose.yaml" up -d
あとは、/GPT_SoVITS/pretrained_modelsの下に移動して
https://huggingface.co/lj1995/GPT-SoVITS をgit lfs cloneして
cd ./GPT_SoVITS/pretrained_models
pwd
git lfs clone https://huggingface.co/lj1995/GPT-SoVITS
ls -ltar ./GPT-SoVITS/
mv ./GPT-SoVITS/* .
cloneできたファイルを上層にmvしておきます。
./tools/damo_asr/modelsの下に移動して、3つのファイルをgit lfs cloneして(どれも重い)
cd ./tools/damo_asr/models
git lfs clone https://www.modelscope.cn/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch.git
git lfs clone https://www.modelscope.cn/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch.git
git lfs clone https://www.modelscope.cn/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch.git
ls -ltar
./tools/uvr5/の下に移動して、
git lfs clone https://huggingface.co/Delik/uvr5_weights
git config core.sparseCheckout true
/GPT-SoVITS/の直下に移動したら
python webui.py
で、ブラウザで画面が開きます。
ついにお目見えGPT-SoVITSの設定画面!
1-GPT-SoVITS-TTSのタブ>1C-推論タブ
にある「TTS推論WebUIを開く」をチェックすると別画面が立ち上がります。
こんな感じで、サンプルボイス(wav形式で3〜10秒)を飲み込ませて、wav内のテキストを参考オーディオのテキストに入力し、日本語を選択。
推論テキストを入力して日本語を選んだら、推論を開始!!
ようやくできた…
GPT-SoVITSの音声サンプル
自分の音声をサンプリングし、推しのセリフを読ませてみました。
「ここは無下限の内側。視覚、伝達、生きるという行為に無限回の作業を強制する。皮肉だよね。すべてを与えられると何もできず、緩やかに死ぬなんて。」(きゃー悟ー💓/心の声)
・・・。(stand.fm noteのアプリ経由だと聞けないことに今気づきました)
なんだいっ😡ダウンロードして聞くほどのものではないので、PCで聞いていただくのが良さそうです。↓は念のため。
8秒の地声からここまで作れるのはすごい!と、思う🤔
といっても、自分では聞いても似てるのかわからないんですけど。
デフォルトの学習データをそのまま使ってみているのですが、RVC学習データは自分でも作れるってことなので。奥深そう。。
Anaconda環境のとかDockerの概念を正しく理解しないまま突っ走ったので色々とおかしなことになっていそうですが、実装してたのが朝の3時半近くだったので、もう色々うろ覚えすぎて。ね。。
寝たら全ての設定の流れを忘れる…と思いながら書いた、雑なメモなのでご了承ください。
役に立たないゴミ記事ですが、とりあえず投下します。
まさに、a.m.3:21でした。
おやすみなさい。(投稿できてなくて、後からしました。)
えっ!!そんな、そんなそんなそ…!!!いいんですかぁ〜?ありがとうございます🥰