Train Hifi-gan sur TPU et autres correctifs.
Hifi-gan est un Gan Vocoder populaire qui atteint une très bonne qualité audio et une génération de discours en temps réel sur CPU. L'implémentation officielle de Hifi -gan se trouve sur https://github.com/jik876/hifi-gan
Ce repo a essayé différentes choses pour améliorer la mise en œuvre officielle:
Il utilise la bibliothèque JAX afin que vous puissiez entraîner votre Gan Vocoder sur TPUS. Il peut fonctionner sur Google Colab TPUV2 avec une vitesse similaire à un GPU V100. Il peut exécuter x3 plus rapidement (qu'un V100) sur un TPUV3 (testé sur Kaggle TPU).
Même si le papier HIFI-GAN affirme que son générateur est un réseau neuronal entièrement convolutionnel (FCN), sa mise en œuvre officielle utilise un rembourrage sur les couches Conv pour maintenir la dimension identique. Ce n'est donc pas un FCN. Ce repo fournit un générateur FCN qui entraîne une amélioration de la perte de spectrogramme de MEL.
Dans ce dépôt, le taux d'apprentissage est réduit d'un facteur de 0,999 pour toutes les 1000 étapes. Ceci est différent de la mise en œuvre d'origine qui réduit le taux d'apprentissage pour chaque époque. Pour un petit ensemble de données, cela peut entraîner la réduction du taux d'apprentissage trop rapidement.
L'implémentation d'origine calcule les trames de spectrogramme de MEL conditionnelles à la volée pour chaque segment audio cible. Cela crée des cadres biaisés sur les bords en raison du rembourrage. Dans ce dépôt, nous calculons également les cadres conditionnels à la volée, cependant, nous supprimons les cadres biaisés sur les bords.
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