🚀 NVIDIA Hifigan Vocoder (en-US)
HiFiGAN [1]は、メルスペクトログラムから音声を生成する敵対的生成ネットワーク(GAN)モデルです。生成器は転置畳み込みを使用して、メルスペクトログラムを音声にアップサンプリングします。
🚀 クイックスタート
このモデルは、NeMoツールキット[3]で使用可能であり、推論用の事前学習済みチェックポイントとして、または別のデータセットでの微調整に使用できます。
モデルを学習、微調整、または試すには、NVIDIA NeMoをインストールする必要があります。最新バージョンのPyTorchをインストールした後に、NeMoをインストールすることをおすすめします。
git clone https://github.com/NVIDIA/NeMo
cd NeMo
BRANCH = 'main'
python -m pip install git+https://github.com/NVIDIA/NeMo.git@$BRANCH#egg=nemo_toolkit[all]
✨ 主な機能
モデルのインスタンス化
このモデルはスペクトログラムのみを生成し、スペクトログラムを波形に変換するにはボコーダーが必要です。この例ではHiFiGANが使用されています。
from huggingface_hub import hf_hub_download
from nemo.collections.tts.models import FastPitchModel
from nemo.collections.tts.models import HifiGanModel
REPO_ID = "Mastering-Python-HF/nvidia_tts_en_fastpitch_multispeaker"
FILENAME = "tts_en_fastpitch_multispeaker.nemo"
path = hf_hub_download(repo_id=REPO_ID, filename=FILENAME)
spec_generator = FastPitchModel.restore_from(restore_path=path)
REPO_ID = "Mastering-Python-HF/nvidia_tts_en_hifitts_hifigan_ft_fastpitch"
FILENAME = "tts_en_hifitts_hifigan_ft_fastpitch.nemo"
path = hf_hub_download(repo_id=REPO_ID, filename=FILENAME)
model = HifiGanModel.restore_from(restore_path=path)
音声の生成と保存
import soundfile as sf
parsed = spec_generator.parse("You can type your sentence here to get nemo to produce speech.")
"""
話者ID:
92 Cori Samuel
6097 Phil Benson
9017 John Van Stan
6670 Mike Pelton
6671 Tony Oliva
8051 Maria Kasper
9136 Helen Taylor
11614 Sylviamb
11697 Celine Major
12787 LikeManyWaters
"""
spectrogram = spec_generator.generate_spectrogram(tokens=parsed,speaker=92)
audio = model.convert_spectrogram_to_audio(spec=spectrogram)
sf.write("speech.wav", audio.to('cpu').detach().numpy()[0], 44100)
Colabの例
入力
このモデルはバッチ形式のテキストを受け付けます。
出力
このモデルはメルスペクトログラムを生成します。
🔧 技術詳細
モデルアーキテクチャ
FastPitch multispeakerは、基本周波数の輪郭を条件としたFastSpeechに基づく完全並列型のテキスト音声変換モデルです。このモデルは推論時にピッチの輪郭を予測します。これらの予測を変更することで、生成される音声をより表現力豊かにし、発話の意味により適合させ、最終的に聴き手にとってより魅力的なものにすることができます。FastPitchは完全並列型のTransformerアーキテクチャに基づいており、典型的な発話のメルスペクトログラム合成においてTacotron2よりもはるかに高いリアルタイム係数を持ちます。また、教師なしの音声テキストアライナーを使用しています。
学習
NeMoツールキット[3]を使用して、モデルを1000エポック学習させました。
データセット
このモデルは、44100HzでサンプリングされたHiFiTTSで学習されており、アメリカ英語と英国英語のアクセントを持つ複数話者の英語音声の生成についてテストされています。
性能
現時点では性能に関する情報はありません。
制限事項
このチェックポイントは、44100Hzのデータで学習されたボコーダーとのみうまく動作します。それ以外の場合、生成される音声はノイズが多い、または途切れ途切れに聞こえる可能性があります。
📄 ライセンス
参考文献