Treine Hifi-Gan na TPU e outras correções.
O Hifi-Gan é um vocoder popular que alcança uma qualidade de áudio muito boa e geração de fala em tempo real na CPU. A implementação oficial do HIFI-GAN está em https://github.com/jik876/hifi-gan
Este repo tentou coisas diferentes para melhorar a implementação oficial:
Ele usa a Biblioteca Jax para que você possa treinar seu vocoder de GaN no TPUS. Ele pode ser executado no Google Colab TPUV2 com uma velocidade semelhante a uma GPU V100. Ele pode executar x3 mais rápido (do que um V100) em um TPUV3 (testado no Kaggle TPU).
Embora o artigo HIFI-GAN afirme que seu gerador é uma rede neural totalmente convolucional (FCN), sua implementação oficial usa preenchimento nas camadas de convivência para manter a dimensão da mesma forma. Portanto, não é um FCN. Este repositório fornece um gerador FCN que leva a uma melhoria na perda de espectrograma MEL.
Neste repositório, a taxa de aprendizado é reduzida por um fator de 0,999 para cada 1000 etapas. Isso é diferente da implementação original, que reduz a taxa de aprendizado para cada época. Para um pequeno conjunto de dados, isso pode fazer com que a taxa de aprendizado seja reduzida muito rápido.
A implementação original calcula os quadros condicionais de espectrograma MEL em tempo real para cada segmento de áudio de destino. Isso cria molduras tendenciosas nas bordas devido ao preenchimento. Neste repositório, também calculamos os quadros condicionais em tempo real; no entanto, removemos os quadros tendenciosos nas bordas.
pip3 install -r requirements.txt
python3 ljs.py
python3 prepare_data.py --wav-dir=/path/to/wav/dir
python3 train.py --data-dir=/path/to/wav/dir