UNIVNET:具有多分辨率光譜歧視器的神經聲碼編碼器,用於高保真波形
這是Jang等人的非正式Pytorch實施。 (Kakao),Univnet 。
音頻樣本已上傳!
Univnet-C16和C32的結果以及預訓練的權重都上傳了。
對於這兩種模型,我們的實現都與原始論文的客觀分數(PESQ和RMSE)相匹配。

根據本文的作者,Univnet在最近的基於GAN的神經聲碼器(包括HIFI-GAN)中獲得了最佳目標結果,並且在主觀評估中表現優於HIFI-GAN。其推理速度也比HIFI-GAN快1.5倍。
該存儲庫使用與NVIDIA/TACOTRON2兼容的官方HIFI-GAN的MEL光譜函數。
我們的默認MEL計算超參數如下所示。
audio :
n_mel_channels : 100
filter_length : 1024
hop_length : 256 # WARNING: this can't be changed.
win_length : 1024
sampling_rate : 24000
mel_fmin : 0.0
mel_fmax : 12000.0您可以修改超參數以與聲學模型兼容。
實施需要以下依賴關係。
pip install -r requirements.txt準備數據
datasets/LibriTTS/train-clean-360下。注意:從音頻文件計算出的MEL光譜圖首先將保存為**.mel
準備元數據
遵循NVIDIA/TACOTRON2的格式,應將元數據格式為:
path_to_wav|transcript|speaker_id
path_to_wav|transcript|speaker_id
...
庫/驗證元數據用於庫里特列車 - 清潔360拆分,並且已經在datasets/metadata中準備。 5%的火車清潔360話語被隨機採樣以進行驗證。
由於該模型是聲碼器,因此在訓練過程中未使用成績單。
準備配置文件
運行cp config/default_c32.yaml config/config.yaml ,然後編輯config.yaml
在data部分中寫下火車/驗證的根路徑。數據加載程序在路徑中遞歸中解析文件列表。
data :
train_dir : ' datasets/ ' # root path of train data (either relative/absoulte path is ok)
train_meta : ' metadata/libritts_train_clean_360_train.txt ' # relative path of metadata file from train_dir
val_dir : ' datasets/ ' # root path of validation data
val_meta : ' metadata/libritts_train_clean_360_val.txt ' # relative path of metadata file from val_dir我們為Libritts Train-Clean-360 Split提供默認的元數據。
修改gen中的channel_size以在Univnet-C16和C32之間切換。
gen :
noise_dim : 64
channel_size : 32 # 32 or 16
dilations : [1, 3, 9, 27]
strides : [8, 8, 4]
lReLU_slope : 0.2訓練
python trainer.py -c CONFIG_YAML_FILE -n NAME_OF_THE_RUN張板
tensorboard --logdir logs/如果要在遠程計算機上運行張板,則可以通過添加--bind_all選項打開張板頁面。
python inference.py -p CHECKPOINT_PATH -i INPUT_MEL_PATH -o OUTPUT_WAV_PATH您可以從下面的Google Drive鏈接下載預訓練的模型。這些型號經過了庫列列列車清潔360分的培訓。
請參閱https://mindslab-ai.github.io/univnet/上的音頻樣本
我們通過驗證集評估了模型。
| 模型 | PESQ(↑) | RMSE(↓) | 型號大小 |
|---|---|---|---|
| hifi-gan v1 | 3.54 | 0.423 | 14.01m |
| 官方Univnet-C16 | 3.59 | 0.337 | 4.00m |
| 我們的Univnet-C16 | 3.60 | 0.317 | 4.00m |
| 官方Univnet-C32 | 3.70 | 0.316 | 14.86萬 |
| 我們的Univnet-C32 | 3.68 | 0.304 | 14.87萬 |
Univnet的損失圖如下所示。
橙色和藍色圖分別表示C16和C32。

實施作者是:
貢獻者是:
特別感謝
此代碼是根據BSD 3句牌許可許可的。
我們引用了以下代碼和存儲庫。
文件
數據集