学習と音声生成の合計時間が10秒未満で、文章から日本語や英語の音声などを生成したり、わずか3秒の声から似せた音声の生成を行ったりできる驚異の技術「VALL-E-X」をWindowsで動かす方法を画像付きで丁寧に解説します。
動作時のハードウェア負荷(VRAM使用量)なども併せて載せておくので参考にしてください。
わずか6秒の音声ファイル1つを元に、以下のような声質を反映させた読み上げが可能でした!!
学習と生成の合計所要時間は10秒未満でした!!!
- 「ご主人様。何なりとお申し付けください。」 :
- 「お兄ちゃんおはよう」 :
ちなみに学習元音声はこの動画の冒頭みたいなものなので、結構再現できてます。
0. VALL-E-Xとは何者か?
従来のTTS(文章読み上げ)モデルとの違い、特徴
- 学習元音声は数秒でOK
- 学習元音声の文字起こし不要
- 話す言語ごとモデルを切り替える必要なし
- 日本語の音声から声質学習し英語・中国語の文章読み上げも可能
(逆も然り) - 読み上げて欲しい文章の読み方(ふりがな)は不要
漢字使って普通に書けば正しく音読する - 読み上げ時イントネーションの指定なしに流暢に音読
- 学習所要時間は数秒(GPU使用時)
- 音声生成時間も同様に数秒程度(GPU使用時)
- VRAM 6GB台で動作
「VALL-E-X」とは……
VALL-E Xは、マイクロソフトの研究に基づいた多言語テキスト音声変換(TTS)モデルのオープンソース実装です。
VALL-E Xが可能にすることは以下のとおりです。
https://github.com/Plachtaa/VALL-E-X を参考にAIにより説明を生成し一部加筆修正
- 3つの言語で自然で表現豊かな音声合成:VALL-E Xは、英語、中国語、日本語の3つの言語に対応した高品質な音声合成を行うことができます。テキストを入力するだけで、それぞれの言語に合わせた発音やアクセントで話してくれます。
- 音声プロンプトを用いたゼロショット音声クローニング:VALL-E Xは、未知の話者の声をクローニングすることができます。3~10秒程度の音声プロンプトとそのテキストを入力すると、VALL-E Xはその話者の声に近い音声を生成します。自分自身や好きな人物やキャラクターの声を使ってみることができます。
- 音声プロンプトを用いた感情やアクセントの制御:VALL-E Xは、音声プロンプトの感情やアクセントを反映した音声合成を行うことができます。例えば、笑っている音声プロンプトを入力すると、笑顔で話すような音声が生成されます。また、中国語で話す英語話者や英語で話す日本語話者など、異なるアクセントで話すこともできます。
- ゼロショットなクロスリンガル音声合成:VALL-E Xは、異なる言語で話すこともできます。例えば、日本語話者の音声プロンプトを入力して中国語や英語のテキストを入力すると、日本語話者が中国語や英語で話すような音声が生成されます。これにより、モノリンガルな話者でも多言語な体験ができます。
- 音響環境の維持:VALL-E Xは、音声プロンプトの音響環境を保持した音声合成を行うことができます。例えば、雨の中で話す音声プロンプトを入力すると、雨音が聞こえるような音声が生成されます。これにより、自然で没入感のある音声生成が可能になります。
1.VALL-E-Xを動かす(環境構築)
予めインストールしておくもの
- Python(当方3.10.7で動作確認済)
- (GPUを使うならCUDA関連)
- Git(git lfs)
- Microsoft C++ Build Tools
- ↑がないと
ERROR: Failed building wheel for pyopenjtalk ERROR: Could not build wheels for pyopenjtalk
となるようです
- ↑がないと
これらをインストール&パスの通った状態にします。
リポジトリをダウンロード
適当なフォルダを作成し、フォルダ内で右クリック→「ターミナルで開く」を選択。

以下のコマンドをコピペして実行しましょう。
git clone https://huggingface.co/spaces/Plachta/VALL-E-X
仮想環境作成
フォルダ内にPyhtonの仮想環境を構築します。
以下のコマンドをコピペして実行しましょう。
cd VALL-E-X
python -m venv venv
venv\Scripts\activate.ps1

警告は気にせず貼り付けてください。
これで仮想環境が作成できました。
Pytorchをインストール(GPU使うなら)
PyTorchについてはCUDAバージョンなどに左右されるため、エラーなど出たら公式を確認してください。

ここでは一例として当方の環境(上記画像の通り)のコマンドを載せておきます。
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
Pytorch以外のPythonパッケージをまとめてインストール
下のコマンドを実行します。
pip install -r requirements.txt
これで必要なモジュールなどを全てインストールできました。
ターミナルは開きっぱなしにしておいてください。
2. VALL-E-Xで声質を似せて文章読み上げ
WebUIを起動する
ターミナルに以下のコマンドを打ち込みエンター。
python app.py
初回は約4GBのダウンロードが行われます。
その後、URLが表示されるのでブラウザからアクセスします。

似せたい声(3〜10秒程度)をもとに、文章を読み上げてもらう
「つくよみちゃんコーパス」を使用させていただきます。
「声質の学習」には、フリー素材キャラクター「つくよみちゃん」が無料公開している音声データを使用しています。
■つくよみちゃんコーパス(CV.夢前黎)
https://tyc.rei-yumesaki.net/material/corpus/#terms2
https://tyc.rei-yumesaki.net/material/corpus/
今回は「01 WAV(収録時の音量のまま)」フォルダ内のVOICEACTRESS100_001.wav(6秒)のみを使用します。
当方でフォーマットやノイズ除去その他変換など前処理は一切していません。
Make promptタブで読み上げたいテキストを記入し、元となる音声ファイルをアップロードします。
language,accentは日本語で良いでしょう。

Generate!ボタンを押すと数秒程度で音声が生成されます。
3. 実際の生成音声。VALL-E-Xは神
幾つか例を載せておきます。
language,accentは日本語にしました。
- 「ご主人様。何なりとお申し付けください。」 :
- 「お兄ちゃんおはよう」 :
凄いですよね。
- 漢字の読みを平仮名にすることなく
- イントネーションなど指定せずに
- わずか6sの音声ファイル1つだけを元にして
- 数秒程度の所要時間で
これだけの音声を生成できるVALL-E-Xは革新的です。
ハードウェア負荷 VRAM使用量
VRAM使用量は6GB台です。

ちなみに、10sの音声生成に5s程度の時間がかかりました。
これはハードウェアにより千差万別と思われるので参考程度で。
追記:2回目以降のVALL-E-Xの起動方法
VALL-E-X
フォルダ内で右クリック→「ターミナルで開く」を選択。

以下のコマンドをコピペしてエンター。
venv\Scripts\activate.ps1
python app.py

このように起動できました。
あとは初回起動時同様に表示されたURLにアクセスしてください。
3, まとめ 「VALL-E-X」を試してみるには
- Git,Python,CUDA関連をインストールしておく
- 仮想環境venvに諸々インストール
- WebUIを起動
- 生成を楽しむ!!
ハードウェア負荷も比較的小さく、精度も良好と感じました。
- 漢字の読みを一々平仮名にすることなく
- 読みのイントネーションなどは指定不要で
- わずか数秒の音声ファイル1つだけを元にして
- 声質を反映した音声を数秒程度の所要時間で生成できる
VALL-E-Xは神。
学習に用いる音声を抽出したりする際は、ボーカル抽出&除去ができるUVR GUIがおすすめです。
あるいは、Demucs。これはボーカル・インスト・ドラムなど複数の分離を1度の処理で完了できます。
他にも色々と面白いAIがあるのでご覧ください。