Melgan
Implementación no oficial de Pytorch de Melgan Vocoder
Características clave
- Melgan es más ligero, más rápido y mejor para generalizar a los altavoces invisibles que a Wavlow.
- Este repositorio utiliza la función de espectrograma MEL idéntica de NVIDIA/Tacotron2, por lo que esto puede usarse directamente para convertir la salida de Tacotron2 de NVIDIA en Audio Raw.
- Modelo previo a la aparición en ljspeech-1.1 a través de Pytorch Hub.

Requisitos previos
Probado en Python 3.6
pip install -r requirements.txt
Preparar el conjunto de datos
- Descargue el conjunto de datos para la capacitación. Esto puede ser cualquier archivo WAV con velocidad de muestra 22050Hz. (por ejemplo, se usó LJSpeech en papel)
- Preprocess:
python preprocess.py -c config/default.yaml -d [data's root path] - Editar el archivo
yaml de configuración
Train & Tensorboard
-
python trainer.py -c [config yaml file] -n [name of the run]-
cp config/default.yaml config/config.yaml y luego editar config.yaml - Escriba la ruta raíz de los archivos de tren/validación a la segunda/3ra línea.
- Cada ruta debe contener pares de
*.wav con el archivo correspondiente (preprocesado) *.mel . - La lista de archivos analiza la lista de archivos de la ruta de forma recursiva.
-
tensorboard --logdir logs/
Modelo previamente
Prueba con Google Colab: TODO
import torch
vocoder = torch . hub . load ( 'seungwonpark/melgan' , 'melgan' )
vocoder . eval ()
mel = torch . randn ( 1 , 80 , 234 ) # use your own mel-spectrogram here
if torch . cuda . is_available ():
vocoder = vocoder . cuda ()
mel = mel . cuda ()
with torch . no_grad ():
audio = vocoder . inference ( mel )Inferencia
-
python inference.py -p [checkpoint path] -i [input mel path]
Resultados
Ver muestras de audio en: http://swpark.me/melgan/. El modelo fue entrenado en V100 GPU durante 14 días usando LJSPEECH-1.1.

Autores de implementación
Licencia
Licencia BSD 3 Cláusula.
- Utils/stft.py por Prem Seetharaman (licencia BSD 3 cláusula)
- DataSets/Mel2samp.py desde https://github.com/nvidia/waveglow (licencia BSD 3-cláusula)
- Utils/hparams.py desde https://github.com/harryvolek/pytorch_speaker_verification (sin licencia especificada)
Recursos útiles
- ¿Cómo entrenar a un gan? Consejos y trucos para hacer que Gans funcione de Soumith Chintala
- Implementación oficial de Melgan por autores originales
- Reproducción de Melgan - Neurips 2019 Reproducibilidad Challenge (pista de ablación) por Yifei Zhao, Yichao Yang y Yang Gao
- "Reemplazar la capa de agrupación promedio con una capa de agrupación máxima y reemplazar el relleno de reflexión con relleno de replicación mejora el rendimiento significativamente, mientras que combinarla produce peores resultados"