🚀 FastSpeech2Conformer
FastSpeech2Conformerは、FastSpeech2とConformerアーキテクチャの強みを組み合わせた非自己回帰型のテキスト・トゥ・スピーチ(TTS)モデルです。このモデルは、テキストから迅速かつ効率的に高品質な音声を生成することができます。
🚀 クイックスタート
FastSpeech2Conformerを🤗 Transformersライブラリを使ってローカルで実行することができます。以下の手順に従ってください。
- まず、🤗 Transformersライブラリ とg2p-enをインストールします。
pip install --upgrade pip
pip install --upgrade transformers g2p-en
- モデルとhifiganを別々に使用して推論を実行します。
from transformers import FastSpeech2ConformerTokenizer, FastSpeech2ConformerModel, FastSpeech2ConformerHifiGan
import soundfile as sf
tokenizer = FastSpeech2ConformerTokenizer.from_pretrained("espnet/fastspeech2_conformer")
inputs = tokenizer("Hello, my dog is cute.", return_tensors="pt")
input_ids = inputs["input_ids"]
model = FastSpeech2ConformerModel.from_pretrained("espnet/fastspeech2_conformer")
output_dict = model(input_ids, return_dict=True)
spectrogram = output_dict["spectrogram"]
hifigan = FastSpeech2ConformerHifiGan.from_pretrained("espnet/fastspeech2_conformer_hifigan")
waveform = hifigan(spectrogram)
sf.write("speech.wav", waveform.squeeze().detach().numpy(), samplerate=22050)
- モデルとhifiganを組み合わせて推論を実行します。
from transformers import FastSpeech2ConformerTokenizer, FastSpeech2ConformerWithHifiGan
import soundfile as sf
tokenizer = FastSpeech2ConformerTokenizer.from_pretrained("espnet/fastspeech2_conformer")
inputs = tokenizer("Hello, my dog is cute.", return_tensors="pt")
input_ids = inputs["input_ids"]
model = FastSpeech2ConformerWithHifiGan.from_pretrained("espnet/fastspeech2_conformer_with_hifigan")
output_dict = model(input_ids, return_dict=True)
waveform = output_dict["waveform"]
sf.write("speech.wav", waveform.squeeze().detach().numpy(), samplerate=22050)
- パイプラインを使用して推論を実行し、使用するボコーダーを指定します。
from transformers import pipeline, FastSpeech2ConformerHifiGan
import soundfile as sf
vocoder = FastSpeech2ConformerHifiGan.from_pretrained("espnet/fastspeech2_conformer_hifigan")
synthesiser = pipeline(model="espnet/fastspeech2_conformer", vocoder=vocoder)
speech = synthesiser("Hello, my dog is cooler than you!")
sf.write("speech.wav", speech["audio"].squeeze(), samplerate=speech["sampling_rate"])
✨ 主な機能
FastSpeech2Conformerは、FastSpeech2とConformerアーキテクチャの利点を組み合わせた革新的なTTSモデルです。主な機能は以下の通りです。
- 高速な音声生成:非自己回帰型のアーキテクチャを採用しているため、自己回帰型のモデルよりも大幅に高速に音声を生成することができます。
- 高品質な音声出力:FastSpeech2の改良版であり、音声のピッチ、エネルギー、より正確な音長などの変動情報を条件入力として導入することで、高品質な音声を生成します。
- 局所的な音声パターンの捕捉:Conformer(畳み込みトランスフォーマー)アーキテクチャを使用することで、トランスフォーマーブロック内で畳み込みを行い、局所的な音声パターンを捕捉することができます。
📚 ドキュメント
モデルの説明
FastSpeech2Conformerモデルは、Pengcheng Guo、Florian Boyer、Xuankai Chang、Tomoki Hayashi、Yosuke Higuchi、Hirofumi Inaguma、Naoyuki Kamo、Chenda Li、Daniel Garcia - Romero、Jiatong Shi、Jing Shi、Shinji Watanabe、Kun Wei、Wangyou Zhang、およびYuekai Zhangによる論文 Recent Developments On Espnet Toolkit Boosted By Conformer で提案されました。このモデルは、このリポジトリ で最初に公開されました。使用されているライセンスは Apache 2.0 です。
FastSpeech2は非自己回帰型のTTSモデルで、教師モデルからの簡略化された出力ではなく、真のターゲットを使って直接モデルを学習させることで、前任者のFastSpeechのいくつかの制限を解消しています。また、音声のより多くの変動情報(例えば、ピッチ、エネルギー、より正確な音長)を条件入力として導入しています。さらに、Conformer(畳み込みトランスフォーマー)アーキテクチャは、トランスフォーマーブロック内で畳み込みを利用して局所的な音声パターンを捕捉し、一方で注意層は入力内のより遠くの関係を捕捉することができます。
- 開発者:Pengcheng Guo、Florian Boyer、Xuankai Chang、Tomoki Hayashi、Yosuke Higuchi、Hirofumi Inaguma、Naoyuki Kamo、Chenda Li、Daniel Garcia - Romero、Jiatong Shi、Jing Shi、Shinji Watanabe、Kun Wei、Wangyou Zhang、およびYuekai Zhang。
- 共有者:Connor Henderson
- モデルタイプ:テキスト・トゥ・スピーチ
- 言語:[詳細情報待ち]
- ライセンス:Apache 2.0
- ファインチューニング元のモデル:[詳細情報待ち]
モデルのソース
📄 ライセンス
このモデルは Apache 2.0 ライセンスの下で提供されています。