

git clone [email protected]:andi611/ZeroSpeech-TTS-without-T.gitcd ZeroSpeech-TTS-without-TInstallez Python 3.
Installez la dernière version de Pytorch selon votre plateforme. Pour de meilleures performances, installez avec GPU Support (CUDA) si viable. Ce code fonctionne avec Pytorch 0.4 et plus tard.
Téléchargez l'ensemble de données Zerospeech.
wget https://download.zerospeech.com/2019/english.tgz
tar xvfz english.tgz -C data
rm -f english.tgz
wget https://download.zerospeech.com/2019/surprise.zip
# Go to https://download.zerospeech.com and accept the licence agreement
# to get the password protecting the archive
unzip surprise.zip -d data
rm -f surprise.zip
Après avoir déballé l'ensemble de données dans ~/ZeroSpeech-TTS-without-T/data , l'arbre de données devrait ressembler à ceci:
|- ZeroSpeech-TTS-without-T
|- data
|- english
|- train
|- unit
|- voice
|- test
|- surprise
|- train
|- unit
|- voice
|- test
Prétraitez l'ensemble de données et les exemples de fichiers d'index prêts pour le modèle:
python3 main.py --preprocess —-remake
Train Modèle ASR-TTS Autoencoder pour la découverte des unités linguistiques discrètes:
python3 main.py --train_ae
Des hyperparamètres accordables peuvent être trouvés dans HPS / ZerOspeech.json. Vous pouvez ajuster ces paramètres et définir en modifiant le fichier, les hyperparamètres par défaut sont recommandés pour ce projet.
Train TTS Patcher pour les performances de conversion vocale Boosting:
python3 main.py --train_p --load_model --load_train_model_name=model.pth-ae-400000
Train TTS Patcher avec formation adversaire guidée cible:
python3 main.py --train_tgat --load_model --load_train_model_name=model.pth-ae-400000
Moniteur avec Tensorboard (facultatif)
tensorboard --logdir='path to log dir'
or
python3 -m tensorboard.main --logdir='path to log dir'
Tester sur un seul discours ::
python3 main.py --test_single --load_test_model_name=model.pth-ae-200000
Tester sur «synthèse.txt» et générer des fichiers audio de resynthèse ::
python3 main.py --test --load_test_model_name=model.pth-ae-200000
Tester sur tous les discours de test sous test/ et générer des fichiers d'encodage ::
python3 main.py --test_encode --load_test_model_name=model.pth-ae-200000
Add --enc_only si tester avec ASR-TTS Autoencoder uniquement:
python3 main.py --test_single --load_test_model_name=model.pth-ae-200000 --enc_only
python3 main.py --test --load_test_model_name=model.pth-ae-200000 --enc_only
python3 main.py --test_encode --load_test_model_name=model.pth-ae-200000 --enc_only
--dataset=surprise pour passer à l'ensemble alternatif par défaut, tous les chemins sont gérés automatiquement si la structure de l'arborescence de données est placée comme suggéré. Par exemple: python3 main.py --train_ae --dataset=surprise
--load_train_model_name=model.pth-ae-400000-128-multi-1024-english
--ckpt_dir=./ckpt_english ou --ckpt_dir=./ckpt_surprise par défaut). --load_test_model_name=model.pth-ae-400000-128-multi-1024-english (by name)
--ckpt_pth=ckpt/model.pth-ae-400000-128-multi-1024-english (direct path)
128-multi-1024 est en cours de charge, seg_len et enc_size doivent être définis sur 128 et 1024, respectivement. Si un modèle ae est en cours de charge, l'argument --enc_only doit être utilisé lors de l'exécution main.py (voir 4. Dans la section de test). @article{Liu_2019,
title={Unsupervised End-to-End Learning of Discrete Linguistic Units for Voice Conversion},
url={http://dx.doi.org/10.21437/interspeech.2019-2048},
DOI={10.21437/interspeech.2019-2048},
journal={Interspeech 2019},
publisher={ISCA},
author={Liu, Andy T. and Hsu, Po-chun and Lee, Hung-Yi},
year={2019},
month={Sep}
}