VALL-E-X導入 (2024/07/21)¶
概要¶
ライセンス | GitHubリポジトリ (OSS) | 論文 (Microsoft) |
---|---|---|
MIT (商用利用可能) | https://github.com/Plachtaa/VALL-E-X | https://arxiv.org/abs/2303.03926 |
- 社内研修動画などのナレーションに利用することを目的として、音声合成モデル「VALL-E-X」を導入を検討する。
- はじめにPythonが動作する環境にCUIの生成AI環境を導入し、次にWebUIを使用したGUIツールを導入する。
- 「VALL-E-X」自体の概要説明は下記参照。
VALL-E-XはMicrosoftが開発した音声合成モデルのOSS実装です。
Microsoftのものは論文は公開されていますが、ソースコードと学習済みモデルはMicrosoftから公開されていないため、非公式の実装となっています。
単一言語の音声合成モデルのVALL-Eを、多言語対応した音声合成モデルがVALL-E-Xとなります。
Python動作環境導入¶
- Python動作環境導入の詳細は「Python仮想環境導入」をご参照ください。
Windows仮想環境に日本語版WebUI導入¶
① 下記サイトからWindows版の「FFmpge」をダウンロードしてパスを通す。¶
- 1. Windowsを選択し「Windows builds by Btbn」ボタンを押下。¶
- 2.「ffmpeg-master-latest-win64-gpl.zip」リンクを押下してダウンロード。¶
- 3. ダウンロードしたファイルを任意の場所に解凍する。¶
- 4. スタートメニューから「環境変数」で検索し「システムの環境変数の編集」を開く。¶
- 5. ウインドウ下部の「環境変数」ボタンを押下し「Path」を選択して「編集」ボタンを押下。¶
- 6.「新規」ボタンを押下し「FFmpge」binフォルダのフルパスを追加し「OK」ボタンを押下。¶
- 7. 下記のコマンドを入力してパスが通っていることを確認する。¶
$ ffmpeg -version
- 実行できない場合はコマンドプロンプトやWindowsを再起動する。
② 下記サイトからWindows版の「CUDA Toolkit 12」をダウンロードしてインストール。¶
- 1.「Windows」→「x86_64」→「11」→「exe (local)」→「Download(3.4GB)」の順に押下しインストーラーをダウンロード。¶
- 2. ダウンロードしたファイルを実行しインストールする。¶
③ 管理者権限でコマンドプロンプトを開き、下記のコマンドを実行する。¶
- 1. Python仮想環境導入¶
$ cd ~/
$ rmdir /s /q VALL-E-X-JP
$ git clone --recursive https://github.com/kuwacom/VALL-E-X-JP.git
$ cd VALL-E-X-JP
$ py -3.10 -m venv venv
$ .\venv\Scripts\activate
- 2. PyTorchなどのモジュールインストール¶
(venv)$ python.exe -m pip install --upgrade pip
(venv)$ pip install -r req-cuda-12.1.txt
(venv)$ pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
(venv)$ pip install -r req.txt
※ CUDAがインストールエラーになる場合、すでにインストール済のためスキップして進める。
- 3. WebUI起動¶
(venv)$ start-webgui-windows.bat
※ 不明点や動作確認方法などは、下記本家WebUI環境導入もあわせて参照。
Windowsに直接本家WebUI導入(非推奨)¶
① 管理者権限でコマンドプロンプトを開き、下記のコマンドを実行する。¶
cd ~/
rmdir /s /q VALL-E-X
git clone --recursive https://github.com/Plachtaa/VALL-E-X
cd VALL-E-X
py -m pip install -r requirements.txt
mkdir checkpoints
- Gitクライアントはあらかじめインストールしておいてください。
② 音声合成用の機械学習データをダウンロードして配置する。¶
- 1. 下記URLにアクセスして「vallex-checkpoint.pt」をダウンロードする。¶
- 2. ダウンロードしたファイルを「checkpoints」フォルダ直下に配置する。¶
③ テストコードを実行して動作確認する。¶
- 1. 「VALL-E-X」フォルダ直下に「tts.py」を作成し、下記のコードを記述する。¶
from utils.generation import SAMPLE_RATE, generate_audio, preload_models
from scipy.io.wavfile import write as write_wav
preload_models()
text_prompt = """
私たちは、日々新しい技術やサービスを生み出しております。
新しい技術を学び、サービスを改善することで、世界中のユーザーに便利さや快適さを提供することが、私たちの使命です。
"""
audio_array = generate_audio(text_prompt)
write_wav("chapter1-1.wav", SAMPLE_RATE, audio_array)
- 2. 下記のコマンドを実行する。¶
py tts.py
- テストコードの実行に成功すると、「VALL-E-X」フォルダ直下に「chapter1-1.wav」が出力されます。
- 「VALL-E-Xを自動でインストール&実行してくれるスクリプト」もあるようですが未確認です。
④ WebUIの起動¶
- 1. 下記のコマンドを実行する。¶
py launch-ui.py
- 2. Webブラウザで「http://127.0.0.1:7860」を開く。¶
- 他のソフトがポートを占有している場合、画面に表示されているURLを開く。
参考サイト¶
- https://hastaluegoblog.hatenablog.com/entry/2023/11/02/194722
- https://www.kkaneko.jp/ai/win/vall_e_x.html
- https://github.com/kuwacom/VALL-E-X-JP
- https://torish.hatenablog.com/entry/2023/09/02/142004
- https://note.com/0me84/n/nb32b81d195ff
- https://medium.com/axinc/vall-e-x-977efc19ac84
- https://qiita.com/fuyu_quant/items/0bf07e43e03c2251a53f