🚀 馬拉雅拉姆語文本轉語音
本倉庫包含 Swaram (mal) 文本轉語音(TTS)模型的檢查點。該模型能將輸入的文本序列轉化為語音波形,為馬拉雅拉姆語的語音合成提供了有效的解決方案。
🚀 快速開始
首先,你需要安裝必要的依賴庫:
pip install --upgrade transformers accelerate
然後,使用以下代碼片段進行推理:
from transformers import VitsModel, AutoTokenizer
import torch
model = VitsModel.from_pretrained("aoxo/swaram")
tokenizer = AutoTokenizer.from_pretrained("aoxo/swaram")
text = "കള്ളാ കടയാടി മോനെ"
inputs = tokenizer(text, return_tensors="pt")
with torch.no_grad():
output = model(**inputs).waveform
你可以將生成的波形保存為 .wav
文件:
import scipy
scipy.io.wavfile.write("kadayadi_mone.wav", rate=model.config.sampling_rate, data=output)
或者在 Jupyter Notebook / Google Colab 中展示:
from IPython.display import Audio
Audio(output, rate=model.config.sampling_rate)
✨ 主要特性
- 先進架構:Swaram(適用於馬拉雅拉姆語的隨機波形自適應遞歸自動編碼器)是一種先進的語音合成模型,基於條件變分自動編碼器(VAE)架構。
- 多模塊協同:文本編碼器基於 Wav2Vec2 解碼器構建,使用 VAE 作為解碼器,通過基於流的模塊預測基於頻譜圖的聲學特徵,該模塊由基於 Transformer 的上下文器和級聯密集層組成。
- 波形轉換:頻譜圖通過一系列轉置卷積層轉換為語音波形。
- 隨機預測:模型包含隨機持續時間預測器,能夠捕捉文本轉語音的一對多特性,同一文本輸入可產生不同的語音節奏。
📚 詳細文檔
模型詳情
Swaram(Stochastic Waveform Adaptive Recurrent Autoencoder for Malayalam)是一個先進的語音合成模型,它根據輸入的文本序列生成語音波形。它基於條件變分自動編碼器(VAE)架構構建。
Swaram 的文本編碼器基於 Wav2Vec2 解碼器構建。使用 VAE 作為解碼器。一個基於流的模塊用於預測基於頻譜圖的聲學特徵,該模塊由基於 Transformer 的上下文器和級聯密集層組成。然後,頻譜圖通過一系列轉置卷積層轉換為語音波形。為了捕捉文本轉語音的一對多特性,即同一文本可以有多種發音方式,模型還包含一個隨機持續時間預測器,允許從相同的文本輸入中產生不同的語音節奏。
架構

💻 使用示例
基礎用法
from transformers import VitsModel, AutoTokenizer
import torch
model = VitsModel.from_pretrained("aoxo/swaram")
tokenizer = AutoTokenizer.from_pretrained("aoxo/swaram")
text = "കള്ളാ കടയാടി മോനെ"
inputs = tokenizer(text, return_tensors="pt")
with torch.no_grad():
output = model(**inputs).waveform
保存音頻
import scipy
scipy.io.wavfile.write("kadayadi_mone.wav", rate=model.config.sampling_rate, data=output)
在 Notebook 中展示
from IPython.display import Audio
Audio(output, rate=model.config.sampling_rate)
📄 許可證
該模型採用 CC - BY - NC 4.0 許可證。