license: apache-2.0
language:
- en
library_name: transformers
pipeline_tag: text-to-audio
tags:
- audio
FastSpeech2Conformer模型
FastSpeech2Conformer是一个非自回归的文本转语音(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
- 模型类型: 文本转语音
- 支持语言(NLP): [需更多信息]
- 许可证: Apache 2.0
- 微调自模型 [可选]: [需更多信息]
模型来源 [可选]
🤗 Transformers 使用指南
您可以使用🤗 Transformers库本地运行FastSpeech2Conformer模型。
- 首先安装🤗 Transformers库和g2p-en:
pip install --upgrade pip
pip install --upgrade transformers g2p-en
- 通过Transformers建模代码运行推理,模型和HiFi-GAN分开使用
from transformers import FastSpeech2ConformerTokenizer, FastSpeech2ConformerModel, FastSpeech2ConformerHifiGan
import soundfile as sf
tokenizer = FastSpeech2ConformerTokenizer.from_pretrained("espnet/fastspeech2_conformer")
inputs = tokenizer("你好,我的狗很可爱。", 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)
- 通过Transformers建模代码运行推理,模型和HiFi-GAN联合使用
from transformers import FastSpeech2ConformerTokenizer, FastSpeech2ConformerWithHifiGan
import soundfile as sf
tokenizer = FastSpeech2ConformerTokenizer.from_pretrained("espnet/fastspeech2_conformer")
inputs = tokenizer("你好,我的狗很可爱。", 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)
- 使用pipeline运行推理并指定声码器
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("你好,我的狗比你酷多了!")
sf.write("speech.wav", speech["audio"].squeeze(), samplerate=speech["sampling_rate"])
直接使用
[需更多信息]
下游使用 [可选]
[需更多信息]
超出范围的使用
[需更多信息]
偏见、风险和限制
[需更多信息]
建议
用户(包括直接使用和下游使用)应了解模型的风险、偏见和限制。需要更多信息以提供进一步建议。
如何开始使用模型
使用以下代码开始使用模型。
[需更多信息]
训练详情
训练数据
[需更多信息]
训练过程
预处理 [可选]
[需更多信息]
训练超参数
速度、大小、时间 [可选]
[需更多信息]
评估
测试数据、因素和指标
测试数据
[需更多信息]
因素
[需更多信息]
指标
[需更多信息]
结果
[需更多信息]
总结