Univnet: нейронный вокадер с дискринаторами спектрограммы с несколькими разрешениями для генерации формы волны с высокой точки зрения
Это неофициальная реализация Pytorch Jang et al. (Какао), Univnet .
Образцы аудио загружаются!
Результаты как Univnet-C16, так и C32 и предварительно обученные веса были загружены.
Для обеих моделей наша реализация соответствует объективным оценкам (PESQ и RMSE) оригинальной статьи.

По словам авторов статьи, Univnet получил наилучшие объективные результаты среди недавних нейронных вокодеров на основе GAN (включая Hifi-Gan), а также опережая Hifi-Gan в субъективной оценке. Также его скорость вывода в 1,5 раза быстрее, чем Hifi-Gan.
Этот репозиторий использует ту же функцию мель-спектрограммы, что и официальный Hifi-Gan, который совместим с Nvidia/Tacotron2.
Наши гиперпараметры 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 , а затем загружены с диска впоследствии.
Подготовка метаданных
После формата из Nvidia/Tacotron2 метаданные должны быть отформатированы как:
path_to_wav|transcript|speaker_id
path_to_wav|transcript|speaker_id
...
Метаданные поезда/валидации для разделения поезда Libritts-Clean-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-Clean-360.
Измените channel_size в gen , чтобы переключаться между 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/ Если вы запускаете Tensorboard на удаленной машине, вы можете открыть страницу Tensorboard, добавив опцию --bind_all .
python inference.py -p CHECKPOINT_PATH -i INPUT_MEL_PATH -o OUTPUT_WAV_PATHВы можете скачать предварительно обученные модели по ссылке Google Drive ниже. Модели были обучены на библиотере-CLEAN-360 SPLO.
См. Образцы аудио на https://mindslab-ai.github.io/univnet/
Мы оценили нашу модель с помощью набора валидации.
| Модель | Pesq (↑) | RMSE (↓) | Размер модели |
|---|---|---|---|
| Hifi-Gan v1 | 3.54 | 0,423 | 14.01M |
| Официальный Univnet-C16 | 3.59 | 0,337 | 4,00 м |
| Наш Univnet-C16 | 3.60 | 0,317 | 4,00 м |
| Официальный Univnet-C32 | 3.70 | 0,316 | 14,86 м |
| Наш Univnet-C32 | 3.68 | 0,304 | 14.87M |
Графики потерь Univnet перечислены ниже.
Оранжевые и синие графики указывают C16 и C32 соответственно.

Авторы реализации:
Участники:
Особое спасибо
Этот код лицензирован по лицензии BSD 3-rain.
Мы ссылались на следующие коды и репозитории.
Документы
Наборы данных