🚀 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數據集的許可證)。