2024年5月18日土曜日

Bark 用の学習済み音声モデル(npz)を使ってTTSさせる方法

Bark 用の学習済み音声モデル(npz)を使ってTTSさせる方法

概要

Bark は transformers に対応しているので学習した音声モデルを使うことができます
今回は transformers を使って Python スクリプトで tts してみます

環境

  • macOS 14.4.1 (M2Pro Mac mini)
  • Python 3.12.2
  • bark 0.1.5
  • scipy 1.13.0
  • transformers 4.40.2

サンプルコード

from scipy.io import wavfile
from transformers import AutoProcessor, BarkModel

# モデルのダウンロード
processor = AutoProcessor.from_pretrained("suno/bark-small")
model = BarkModel.from_pretrained("suno/bark-small")

# 学習済み音声モデルの指定
# voice_preset = "v2/ja_speaker_6"
voice_preset = "/Users/user01/one-click-installers-tts-6.0/tts-generation-webui/voices/Alice.npz"

# TTS設定
inputs = processor("こんにちわ、今日はいい天気ですね", voice_preset=voice_preset)

# モデルから音声の作成
audio_array = model.generate(**inputs, semantic_max_new_tokens=100)
audio_array = audio_array.cpu().numpy().squeeze()

# 音声の保存
sample_rate = model.generation_config.sample_rate
wavfile.write("/Users/user01/Downloads/audio.wav", sample_rate, audio_array)

最後に

tts-generator-webui でも同じように学習済み音声モデルを使って TTS できますがどちらがいいのが気になりました
transformers を使い慣れている人は直接 Python を触れる方が良いのかもしれません

参考サイト

0 件のコメント:

コメントを投稿