音声クローンAI VALL-E-X を試してみる【Python】

スポンサーリンク
スポンサーリンク

はじめに

前回はゲーム完全自動生成AI ChatDEV をテストしました。

今回は音声クローンを生成するAI VALL-E-X をテストしてみます。

github はこちらです。

前提条件

前提条件は以下の通りです。

  • Python3.10.6
  • Windows11
  • NVIDIA GeForce RTX 3050 Ti 4GB
  • cuda == 11.7
  • pytorch == 2.0.1+cu117
  • ffmepg == 2023-09-07-git-9c9f48e7f2-full_build-www.gyan.dev
    ※ ffmpeg のインストールは こちらのページ を参考にしてください

インストール

まずはソースの取得と必要なライブラリをインストールしていきます。

git clone https://github.com/Plachtaa/VALL-E-X.git
cd VALL-E-X
python -m pip install -r requirements.txt

サンプルを動かしてみる

早速、sample を動かしてみます。

実行できない場合は、よくある質問 からモデルをダウンロードしてください。

app.py

from utils.generation import SAMPLE_RATE, generate_audio, preload_models
from scipy.io.wavfile import write as write_wav
from IPython.display import Audio

# download and load all models
preload_models()

# generate audio from text
text_prompt = """
Hello, my name is Nose. And uh, and I like hamburger. Hahaha... But I also have other interests such as playing tactic toast.
"""
audio_array = generate_audio(text_prompt)

# save audio to disk
write_wav("vallex_generation.wav", SAMPLE_RATE, audio_array)

# play text in notebook
Audio(audio_array, rate=SAMPLE_RATE)

以下のコマンドで動作します。

python app.py

実行すると、フォルダに vallex_generation.wav が作成されているので、確認してみてください。

音声クローンの作成

続いて、音声クローンを作成していきます。

スマホで録音した test.mp3 を使用します。

create_prompt.py

from utils.prompt_making import make_prompt
from utils.generation import generate_audio, preload_models
from scipy.io.wavfile import write as write_wav

SAMPLE_RATE = 24000
make_prompt(name="test", audio_prompt_path="source/test.mp3",
                transcript="こんにちは、私は鈴木です。")

preload_models()
text_prompt = "こんにちは、あなたは佐藤です。"
audio_array = generate_audio(text_prompt, language="ja", prompt="test")

write_wav("test_generation.wav", SAMPLE_RATE, audio_array)

以上で test_generation.wav が作成されます。非常に簡単ですのでぜひお試しください。

おわりに

今回は VALL-E-X の使い方について説明しました。

make_prompt の結果は custom フォルダに .npz 形式で保存されるため、何回でも同じ結果を出力することが可能になります。
文言が変わると不安定になるかもしれませんが…。

次回は 4GB VRAM でも動作可能な画像生成AI InvokeAI について使い方を説明します。

コメント

タイトルとURLをコピーしました