🚀 Vocos音频合成模型
Vocos是一款快速神经声码器,能够根据声学特征合成音频波形。相较于传统基于GAN的声码器,它不直接在时域对音频样本建模,而是生成频谱系数,通过逆傅里叶变换实现快速音频重建。
🚀 快速开始
若仅在推理模式下使用Vocos,可通过以下命令进行安装:
pip install git+https://github.com/langtech-bsc/vocos.git@matcha
从梅尔频谱图重建音频的示例代码如下:
import torch
from vocos import Vocos
vocos = Vocos.from_pretrained("patriotyk/vocos-mel-hifigan-compat-44100khz")
mel = torch.randn(1, 80, 256)
audio = vocos.decode(mel)
✨ 主要特性
- 快速合成:通过生成频谱系数并利用逆傅里叶变换,实现快速音频重建。
- 兼容性强:使用80-bin梅尔频谱图作为声学特征,与多种TTS模型的声学输出兼容。
- 替代方案:为hifi - gan提供了一个更快的替代方案。
📦 安装指南
若仅在推理模式下使用Vocos,可使用以下命令进行安装:
pip install git+https://github.com/langtech-bsc/vocos.git@matcha
💻 使用示例
基础用法
import torch
from vocos import Vocos
vocos = Vocos.from_pretrained("patriotyk/vocos-mel-hifigan-compat-44100khz")
mel = torch.randn(1, 80, 256)
audio = vocos.decode(mel)
📚 详细文档
模型描述
Vocos是一款旨在根据声学特征合成音频波形的快速神经声码器。与其他典型的基于GAN的声码器不同,Vocos不在时域对音频样本进行建模。相反,它生成频谱系数,通过逆傅里叶变换实现快速音频重建。
此版本的Vocos使用80-bin梅尔频谱图作为声学特征,自hifi - gan引入以来,这种特征在TTS领域广泛应用。该模型的目标是为hifi - gan提供一个更快且与多种TTS模型的声学输出兼容的替代方案。
预期用途和局限性
该模型旨在作为声码器,从梅尔频谱图合成音频波形。模型经过训练以生成语音,如果用于其他音频领域,可能无法生成高质量的样本。
训练数据
该模型在一个超过800小时的私有数据集上进行训练,该数据集由乌克兰有声读物组成,使用narizaka工具制作。
训练过程
模型训练了200万步和210个epoch,批次大小为20。使用了初始学习率为3e - 4的Cosine调度器。训练使用了两张RTX - 3090显卡,大约持续了一个月的连续训练。
训练超参数
- initial_learning_rate: 3e - 4
- scheduler: 无预热或重启的余弦调度器
- mel_loss_coeff: 45
- mrd_loss_coeff: 1.0
- batch_size: 20
- num_samples: 32768
评估
使用原始仓库中的指标进行评估,经过210个epoch的训练后,模型达到以下指标:
- val_loss: 3.703
- f1_score: 0.950
- mel_loss: 0.248
- periodicity_loss: 0.127
- pesq_score: 3.399
- pitch_loss: 38.26
- utmos_score: 3.146
引用
如果此代码对您的研究有帮助,请引用以下工作:
@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}
}
🔧 技术细节
模型架构
Vocos是一种快速神经声码器,它不直接在时域对音频样本建模,而是生成频谱系数,通过逆傅里叶变换实现快速音频重建。
训练设置
- 训练步数:200万步
- 训练轮数:210个epoch
- 批次大小:20
- 调度器:Cosine调度器
- 初始学习率:3e - 4
- 训练硬件:两张RTX - 3090显卡
- 训练时长:约一个月
📄 许可证
本项目采用MIT许可证。