🚀 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許可證。