🚀 桑鸟AI卢干达语文本转语音(TTS)模型
本项目基于专业录音室录制数据,使用Tacotron2训练了一个文本转语音(TTS)模型。该项目提供了使用SpeechBrain实现文本转语音所需的所有工具。预训练模型可以将输入的短文本转换为频谱图,再通过声码器(如HiFIGAN)处理频谱图,即可得到最终的语音波形。
🚀 快速开始
安装SpeechBrain
pip install speechbrain
执行文本转语音(TTS)
import torchaudio
from speechbrain.pretrained import Tacotron2
from speechbrain.pretrained import HIFIGAN
tacotron2 = Tacotron2.from_hparams(source="/Sunbird/sunbird-lug-tts", savedir="tmpdir_tts")
hifi_gan = HIFIGAN.from_hparams(source="speechbrain/tts-hifigan-ljspeech", savedir="tmpdir_vocoder")
mel_output, mel_length, alignment = tacotron2.encode_text("Mbagaliza Christmass Enungi Nomwaka Omugya Gubaberere Gwamirembe")
waveforms = hifi_gan.decode_batch(mel_output)
torchaudio.save('example_TTS.wav',waveforms.squeeze(1), 22050)
如果你想一次性生成多个句子,可以这样做:
from speechbrain.pretrained import Tacotron2
tacotron2 = Tacotron2.from_hparams(source="speechbrain/TTS_Tacotron2", savedir="tmpdir")
items = [
"Nsanyuse okukulaba",
"Erinnya lyo ggwe ani?",
"Mbagaliza Christmass Enungi Nomwaka Omugya Gubaberere Gwamirembe"
]
mel_outputs, mel_lengths, alignments = tacotron2.encode_batch(items)
在GPU上进行推理
若要在GPU上进行推理,在调用from_hparams
方法时添加run_opts={"device":"cuda"}
。
✨ 主要特性
- 基于专业录音室录制数据训练,提供高质量的文本转语音功能。
- 使用Tacotron2模型生成频谱图,结合HiFIGAN声码器生成最终语音波形。
📦 安装指南
pip install speechbrain
💻 使用示例
基础用法
import torchaudio
from speechbrain.pretrained import Tacotron2
from speechbrain.pretrained import HIFIGAN
tacotron2 = Tacotron2.from_hparams(source="/Sunbird/sunbird-lug-tts", savedir="tmpdir_tts")
hifi_gan = HIFIGAN.from_hparams(source="speechbrain/tts-hifigan-ljspeech", savedir="tmpdir_vocoder")
mel_output, mel_length, alignment = tacotron2.encode_text("Mbagaliza Christmass Enungi Nomwaka Omugya Gubaberere Gwamirembe")
waveforms = hifi_gan.decode_batch(mel_output)
torchaudio.save('example_TTS.wav',waveforms.squeeze(1), 22050)
高级用法
from speechbrain.pretrained import Tacotron2
tacotron2 = Tacotron2.from_hparams(source="speechbrain/TTS_Tacotron2", savedir="tmpdir")
items = [
"Nsanyuse okukulaba",
"Erinnya lyo ggwe ani?",
"Mbagaliza Christmass Enungi Nomwaka Omugya Gubaberere Gwamirembe"
]
mel_outputs, mel_lengths, alignments = tacotron2.encode_batch(items)
📄 许可证
本项目采用Apache-2.0许可证。
📚 详细文档
属性 |
详情 |
模型类型 |
基于Tacotron2的文本转语音(TTS)模型 |
训练数据 |
SALT-TTS数据集 |
评估指标 |
平均意见得分(MOS) |