TTSのレポジトリ"VITS-fast-fine-tuning"の修正点まとめ(自分用)

TTS(text to speech)ができる有名なモデルの一つにVITSがあります。それをcolab上でfine-tuningして試せるライブラリを有志の方が一般公開されています。

しかしながらそのままだと動かなかったので、修正点をこちらに整理しておきます。

  • 大量のデータをアップロードするときには、事前にzip形式でdrive上にアップロードしておくといい(ローカルからのダウンロードはめちゃくちゃ時間かかる)

  • ライブラリのバージョンが色々合わないので、Step3で全自動処理する前に、以下で更新しておく

!apt-get install python3.8-distutils -y
!pip uninstall numpy
!pip install numpy==1.23
!pip install demucs
!pip install openai-whisper
!pip install Unidecode
!pip install pyopenjtalk
!pip install jamo
!pip install ko_pron
!pip install pypinyin
!pip install cn2an
!pip install indic_transliteration==2.3.37
!pip install eng_to_ipa
!pip install num_thai==0.0.5
!pip install Cython==0.29.21
!pip install librosa==0.9.1
!pip install gradio
  • Step3の自動処理以降の処理ではpythonから3.8を外す

    • 外した後の例

# すべての動画(アップロードまたはダウンロードされたもので、mp4形式でなければならない)から音声を抽出する。
!python scripts/video2audio.py
print("video2audio is finished.")
# 全ての音声をノイズ除去します
# (アップロードされたもの、または動画から抽出されたもので、.wav 形式である必要があります)
!python scripts/denoise_audio.py
print("denoise is finished.")

# 長い音声を分割して注釈をつける
!python scripts/long_audio_transcribe.py --languages "{PRETRAINED_MODEL}" --whisper_size large
print("long_audio is finished.")

# 短い音声にラベルを付ける
!python scripts/short_audio_transcribe.py --languages "{PRETRAINED_MODEL}" --whisper_size large
print("short_audio is finished.")

# ベースモードのサンプルレートは補助データと異なる可能性があるため、再サンプリングする必要があります。
!python scripts/resample.py
  • short_audio_transcribe.pyを直接編集(zipファイルをupした場合のみ)

    • 54行目:parent_dir指定部分が、zipファイルのファイル名を考慮できていないので、手動で付け足す
      修正前: parent_dir= "./custom_character_voice"
      修正後: parent_dir= "./custom_character_voice/voice-data"

    • 65行目以降: parent_dir + speakerの間にスラッシュがないので、ファイルが存在しないエラーが出るので修正
      修正前:parent_dir + speaker
      修正後:parent_dir + "/" + speaker

  • step4の実行前にmonotonic_alignのcythonファイルをビルドする

os.chdir("./monotonic_align")
!python setup.py build_ext --inplace
os.chdir("../")


この記事が気に入ったらサポートをしてみませんか?