🚀 马拉雅拉姆语文本转语音
本仓库包含 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 许可证。