🚀 桑鳥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) |