VALL-E Xは、Microsoftが発表した音声合成AIモデル (VALL-E) の技術を再現し独自に訓練したモデルになります。WindowsとNVIDIAグラフィックボード(6GB以上のVRAMが必要)環境でのインストール方法とGUIでの使い方を紹介します。
ソフトウェア要件
VALL-E-Xをインストールする前に必要なソフトがあります。
Git
GitHubからリポジトリをクローンするのに使います。
64-bit Git for Windows Setup.をダウンロードしてインストールしてください。
Miniconda
conda(パッケージ管理ツール)を使いたいのでMinicondaをインストールします。こちらはPythonとcondaが一緒になってます。
Miniconda3 Windows 64-bitをダウンロードしてください。
installersを起動してインストールを進めていくのですが、途中のオプションでAdd Miniconda3 to my PATH environment variableにチェックを入れてください。
インストール
ここからはコマンドプロンプトを使ってのインストール作業になります。コマンドプロンプトを開いたら次のコマンドを順番に実行していってください。インストール途中にProceed ([y]/n)?と続行するか聞かれる場合があります。そのままenterを押して進めてください。
インストールするフォルダに移動する(今回はCドライブ直下にしました)
cd C:\
GitHubのリポジトリをクローンする
git clone https://github.com/Plachtaa/VALL-E-X.git
フォルダ移動
cd VALL-E-X
仮想環境を作成(Python 3.10 仮想環境の名前はmyenvとした)
conda create -n myenv python=3.10
仮想環境をアクティブ化
conda activate myenv
PyTorchのインストール(PyTorch2.0.0 CUDA対応バージョン11.8)
conda install pytorch==2.0.0 torchvision==0.15.0 torchaudio==2.0.0 pytorch-cuda=11.8 -c pytorch -c nvidia
ffmpegをインストール
conda install -c conda-forge ffmpeg
必要な依存関係をインストール
pip install -r requirements.txt
起動
python -X utf8 launch-ui.py
次回からの起動方法
コマンドプロンプトを起動してください。
インストールディレクトリへ移動(自身のインストール先フォルダのパス)
cd C:\VALL-E-X
仮想環境をアクティブ化
conda activate myenv
起動
python -X utf8 launch-ui.py
batファイルの作成
毎回コマンド入力が面倒な方へのbatファイルの作成方法です。
メモ帳を開き以下のテキストを貼り付けたら、名前をつけて保存で拡張子を.batにして保存してください。
@echo off
call conda activate myenv
python -X utf8 launch-ui.py
作成したbatファイルはVALL-E-Xフォルダ内に置いてください。作成したbatファイルを起動することでWebUIまで立ちあがります。
VALL-E Xの使い方
各タブを紹介します。
Infer from audio
音声ファイルを使って生成します。
- 喋らせるテキストを入力して言語とアクセントを設定
- 3秒から10秒の音声ファイルアップロードまたは録音する
- アップロードした音声のテキストを入力(空白の場合はWhisperで文字起こしされる)
- 生成する(生成結果は都度違う)
- Make promptをクリックするとnpzファイル(学習ファイル)ができるのでクリックしてダウンロードする。npzファイルを利用すればInfer from audioより早く生成できる
自分で音声ファイルを準備する場合はこちらの記事をご覧ください。
Make prompt
Infer from audioで作成できるMake promptと同じだと思います。どちらで作成してもnpzファイルの容量は同じでした。
Infer from prompt
npzファイルを利用して生成します。
- 喋らせるテキストを入力して言語とアクセントを設定
- npzファイルをアップロードします。また、よく使う学習ファイルはpresetsフォルダ内に保存しておくことでVoice presetから呼び出すことができます。
- 生成する(生成結果は都度違う)
Infer long text
使い方はInfer from promptと変わりません。タブを分けているので長い音声を生成する場合は、こちらからのほうがいいのかもしれません。