🚀 Torchaudio_Tacotron2_kss
Torchaudio_Tacotron2_kss是基于torchaudio Tacotron2模型,在kss数据集上训练得到的文本转语音模型。
🚀 快速开始
本项目是一个文本转语音模型,使用Torchaudio的Tacotron2架构,在kss数据集上训练。下面将为你介绍使用该模型的具体步骤。
📦 安装指南
在使用该模型前,你需要安装必要的依赖库,具体安装命令如下:
pip install torch torchaudio transformers phonemizer
同时,你还需要安装 espeak-ng
。
⚠️ 重要提示
如果你使用的是Windows系统,需要设置额外的环境变量,详情请见:https://github.com/bootphon/phonemizer/issues/44
💻 使用示例
基础用法
以下代码展示了如何加载模型和分词器:
import torch
from transformers import AutoModel, AutoTokenizer
repo = "Bingsu/torchaudio_tacotron2_kss"
model = AutoModel.from_pretrained(
repo,
trust_remote_code=True,
revision="589d6557e8b4bb347f49de74270541063ba9c2bc"
)
tokenizer = AutoTokenizer.from_pretrained(repo)
model.eval()
以下代码展示了如何加载声码器:
vocoder = torch.hub.load("seungwonpark/melgan:aca59909f6dd028ec808f987b154535a7ca3400c", "melgan", trust_repo=True, pretrained=False)
url = "https://huggingface.co/Bingsu/torchaudio_tacotron2_kss/resolve/main/melgan.pt"
state_dict = torch.hub.load_state_dict_from_url(url)
vocoder.load_state_dict(state_dict)
⚠️ 重要提示
这里使用的声码器与原始的 seungwonpark/melgan 相同,但权重位于cuda上,因此需要单独加载。
以下代码展示了如何输入文本并进行推理:
text = "반갑습니다 타코트론2입니다."
inp = tokenizer(text, return_tensors="pt", return_length=True, return_attention_mask=False)
以下代码展示了如何进行推理并生成音频:
with torch.inference_mode():
out = model(**inp)
audio = vocoder(out[0])
以下代码展示了如何播放生成的音频:
import IPython.display as ipd
ipd.Audio(audio[0].numpy(), rate=22050)
你也可以点击下面的链接试听示例音频:
📄 许可证
- 代码:遵循MIT许可证。
pytorch_model.bin
权重:遵循CC BY - NC - SA 4.0(kss数据集的许可证)。