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動作環境導入


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を開く。

参考サイト