🚀 NVIDIA FastPitch (en-US)
NVIDIA FastPitch (en-US) 是一款文本轉語音模型,採用全並行的Transformer架構,可對音高和單個音素持續時間進行韻律控制。它還使用了無監督的語音 - 文本對齊器,並且與NVIDIA Riva兼容,可用於生產級服務器部署。
🚀 快速開始
該模型可在NeMo工具包中使用,可作為預訓練檢查點進行推理或在其他數據集上進行微調。
要訓練、微調或使用該模型,你需要安裝 NVIDIA NeMo。建議在安裝最新版本的PyTorch之後再安裝它。
pip install nemo_toolkit['all']
💻 使用示例
基礎用法
注意:此模型僅生成頻譜圖,需要一個聲碼器將頻譜圖轉換為波形。在本示例中使用了HiFiGAN。
from nemo.collections.tts.models import FastPitchModel
spec_generator = FastPitchModel.from_pretrained("nvidia/tts_en_fastpitch")
from nemo.collections.tts.models import HifiGanModel
model = HifiGanModel.from_pretrained(model_name="nvidia/tts_hifigan")
高級用法
生成音頻
import soundfile as sf
parsed = spec_generator.parse("You can type your sentence here to get nemo to produce speech.")
spectrogram = spec_generator.generate_spectrogram(tokens=parsed)
audio = model.convert_spectrogram_to_audio(spec=spectrogram)
保存生成的音頻文件
sf.write("speech.wav", audio.to('cpu').detach().numpy()[0], 22050)
輸入
該模型接受批量文本。
輸出
該模型生成梅爾頻譜圖。
📚 詳細文檔
模型架構
FastPitch是一個基於FastSpeech的全並行文本轉語音模型,以基頻輪廓為條件。該模型在推理過程中預測音高輪廓。通過改變這些預測,生成的語音可以更具表現力,更好地匹配話語的語義,最終讓聽眾更感興趣。FastPitch基於全並行的Transformer架構,在合成典型話語的梅爾頻譜圖時,其即時因子比Tacotron2高得多。它使用了無監督的語音 - 文本對齊器。
訓練
使用NeMo工具包 [3] 對模型進行了1000個週期的訓練。這些模型使用 此示例腳本 和 此基礎配置 進行訓練。
數據集
該模型在採樣率為22050Hz的LJSpeech數據集上進行訓練,並已在生成帶有美國口音的女性英語語音方面進行了測試。
性能
目前暫無性能信息。
侷限性
此檢查點僅適用於在22050Hz數據上訓練的聲碼器。否則,生成的音頻可能會有雜音或聽起來斷斷續續。
使用NVIDIA Riva進行部署
為了獲得最佳的即時準確性、低延遲和高吞吐量,請使用 NVIDIA Riva 部署該模型。NVIDIA Riva是一個加速語音AI SDK,可在本地、所有云環境、多雲、混合雲、邊緣和嵌入式設備上進行部署。
此外,Riva還提供:
- 針對最常見語言的世界級開箱即用準確性,其模型檢查點在專有數據上進行了數十萬小時的GPU計算訓練。
- 具有運行時單詞增強(例如品牌和產品名稱)以及聲學模型、語言模型和逆文本歸一化定製功能的一流準確性。
- 流式語音識別、Kubernetes兼容的擴展以及企業級支持。
查看 Riva即時演示。
📄 許可證
本項目採用CC BY 4.0許可證。
🔗 參考資料