alvocat-vocos-22khz 项目介绍
项目概述
alvocat-vocos-22khz 是一个针对加泰罗尼亚语文本到语音合成(TTS)的声码器项目,基于 Vocos 架构。此项目旨在提供高性能、高质量的音频合成解决方案,并与 Matxa 项目协同工作。用户可以通过提供的链接访问该项目的代码及在线演示。
模型详情
模型描述
Vocos 是一种快速神经声码器,专用于从声学特征合成音频波形。与其他基于对抗生成网络(GAN)的声码器不同,Vocos 不在时间域上对音频样本进行建模,而是通过生成频谱系数来完成音频重建。这种方法可通过逆傅立叶变换快速生成音频。
该版本的 Vocos 使用 80-bin 的梅尔声谱图作为声学特征,这是在 TTS 领域的常见做法,尤其是自 hifi-gan 引入以来。alvocat-vocos 优先提供一个更快速的替代方案,专为加泰罗尼亚语言定制,训练只基于加泰罗尼亚语音数据集。
使用目的及限制
该模型的设计目的是通过梅尔声谱图合成音频波形,主要用于生成语音。如果在其他音频领域使用,模型可能无法提供高质量的样本。
如何开始使用
要使用 Vocos 进行推理,安装如下:
pip install git+https://github.com/langtech-bsc/vocos.git@matcha
从梅尔声谱图重建音频
import torch
from vocos import Vocos
vocos = Vocos.from_pretrained("projecte-aina/alvocat-vocos-22khz")
mel = torch.randn(1, 80, 256) # B, C, T
audio = vocos.decode(mel)
从文件进行合成
import torchaudio
y, sr = torchaudio.load(YOUR_AUDIO_FILE)
if y.size(0) > 1: # 转为单声道
y = y.mean(dim=0, keepdim=True)
y = torchaudio.functional.resample(y, orig_freq=sr, new_freq=22050)
y_hat = vocos(y)
Onnx 支持
项目还提供了Onnx版本,详情可以访问Colab笔记本查看:
训练详情
训练数据
模型共使用了三个加泰罗尼亚语音数据集训练:
数据集 | 语言 | 时长 |
---|---|---|
Festcat | ca | 22小时 |
OpenSLR69 | ca | 5小时 |
LaFrescat | ca | 3.5小时 |
训练过程
该模型经过150万步的训练,历时1300个Epoch,使用批量大小16以保证稳定性。我们使用了初始学习率为5e-4的余弦调度器,并对梅尔声谱图损失进行了修改。
训练超参数
- 初始学习率:5e-4
- 调度器:无预热或重启的余弦
- 梅尔损失系数:45
- MRD损失系数:0.1
- 批量大小:16
- 样本数:16384
模型评估
评估基于原始仓库中的指标,在大约1000个Epoch后,我们达到了以下结果:
- 验证损失:3.57
- f1得分:0.95
- 梅尔损失:0.22
- 周期性损失:0.113
- PESQ得分:3.31
- 音高损失:31.61
- UTMOS得分:3.33
引用
如果本代码对您的研究有帮助,请引用这项工作:
@article{siuzdak2023vocos,
title={Vocos: Closing the gap between time-domain and Fourier-based neural vocoders for high-quality audio synthesis},
author={Siuzdak, Hubert},
journal={arXiv preprint arXiv:2306.00814},
year={2023}
}
其他信息
作者: 巴塞罗那超级计算中心语言技术单元
联系方式: 如需进一步信息,请发送电子邮件至 langtech@bsc.es。
版权: 版权所有(c) 2024,巴塞罗那超级计算中心语言技术单元
许可: Creative Commons Attribution Non-commercial 4.0
这些模型可免费用于非商业和研究目的。商业用途仅通过许可语言艺术家进行。欲了解更多信息,请联系 langtech@bsc.es 和 lafrescaproduccions@gmail.com。
资助: 该工作由加泰罗尼亚自治区Aina项目资助。
模型的部分训练得益于加利西亚超级计算中心CESGA提供的计算时间。