Melgan
Implementação não oficial de pytorch do vocoder de Melgan
Principais recursos
- Melgan é mais leve, mais rápido e melhor em generalizar para alto -falantes invisíveis do que o Wave Glow.
- Este repositório usa a função idêntica do espectrograma de MEL de Nvidia/Tacotron2, portanto, isso pode ser usado diretamente para converter a saída do tacotron2 da NVIDIA em Audio Raw.
- Modelo pré-terenciado no LJSpeech-1.1 via Hub Pytorch.

Pré -requisitos
Testado no Python 3.6
pip install -r requirements.txt
Prepare o conjunto de dados
- Faça o download do conjunto de dados para treinamento. Isso pode ser qualquer arquivo WAV com taxa de amostragem 22050Hz. (por exemplo, LJSpeech foi usado em papel)
- Processo:
python preprocess.py -c config/default.yaml -d [data's root path] - Editar o arquivo
yaml de configuração
Trem e Tensorboard
-
python trainer.py -c [config yaml file] -n [name of the run]-
cp config/default.yaml config/config.yaml e depois edite config.yaml - Anote o caminho raiz dos arquivos de trem/validação para a 2ª/3ª linha.
- Cada caminho deve conter pares de
*.wav com o arquivo correspondente (pré -processado) *.mel . - A lista de arquivos do carregador de dados dentro do caminho recursivamente.
-
tensorboard --logdir logs/
Modelo pré -terenciado
Experimente com o 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 )Inferência
-
python inference.py -p [checkpoint path] -i [input mel path]
Resultados
Veja amostras de áudio em: http://swpark.me/melgan/. O modelo foi treinado na GPU V100 por 14 dias usando LJSpeech-1.1.

Autores de implementação
Licença
Licença de 3 cláusulas BSD.
- Utils/stft.py por Prem Seetharaman (licença de 3-cláusulas BSD)
- dados de dados/mel2samp.py de https://github.com/nvidia/waveglow (licença de 3-cláusulas BSD)
- Utils/hparams.py de https://github.com/harryVolek/pytorch_speaker_verification (sem licença especificada)
Recursos úteis
- Como treinar um gan? Dicas e truques para fazer Gans funcionarem por Soumith Chintala
- Implementação oficial de Melgan por autores originais
- Reprodução de Melgan - Desafio de Reprodutibilidade Neurips 2019 (faixa de ablação) por Yifei Zhao, Yichao Yang e Yang Gao
- "Substituir a camada média de agrupamento por camada máxima de pool e substituir o preenchimento de reflexão pelo preenchimento de replicação melhora significativamente o desempenho, enquanto combiná -los produz resultados piores"