

git clone [email protected]:andi611/ZeroSpeech-TTS-without-T.gitcd ZeroSpeech-TTS-without-TInstale o Python 3.
Instale a versão mais recente do Pytorch de acordo com sua plataforma. Para melhor desempenho, instale com o suporte da GPU (CUDA) se viável. Este código funciona com Pytorch 0.4 e posterior.
Faça o download do conjunto de dados 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
Depois de descompactar o conjunto de dados em ~/ZeroSpeech-TTS-without-T/data , a árvore de dados deve ficar assim:
|- ZeroSpeech-TTS-without-T
|- data
|- english
|- train
|- unit
|- voice
|- test
|- surprise
|- train
|- unit
|- voice
|- test
Pré-processo o conjunto de dados e amostra de arquivos de índice prontos para o modelo:
python3 main.py --preprocess —-remake
Treine o modelo ASR-TTS AutoEncoder para descoberta de unidades linguísticas discretas:
python3 main.py --train_ae
Os hiperparâmetros ajustáveis podem ser encontrados em HPS/Zerospeech.json. Você pode ajustar esses parâmetros e definir editando o arquivo, os hyperparameters padrão são recomendados para este projeto.
Treine TTS Patcher para melhorar o desempenho do desempenho da conversão de voz:
python3 main.py --train_p --load_model --load_train_model_name=model.pth-ae-400000
Treine TTS Patcher com treinamento adversário guiado do alvo:
python3 main.py --train_tgat --load_model --load_train_model_name=model.pth-ae-400000
Monitor com Tensorboard (opcional)
tensorboard --logdir='path to log dir'
or
python3 -m tensorboard.main --logdir='path to log dir'
Teste em um único discurso ::
python3 main.py --test_single --load_test_model_name=model.pth-ae-200000
Teste em 'síntese.txt' e gerar arquivos de áudio ressynteesizados:::
python3 main.py --test --load_test_model_name=model.pth-ae-200000
Teste em todo o discurso de teste em test/ e gerar arquivos de codificação::
python3 main.py --test_encode --load_test_model_name=model.pth-ae-200000
Adicione --enc_only se testar apenas com ASR-TTS AutoEncoder:
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 para alternar para o conjunto alternativo padrão, todos os caminhos são tratados automaticamente se a estrutura da árvore de dados for colocada conforme sugerido. Por exemplo: 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 por padrão). --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 estiver sendo carregado, seg_len e enc_size devem ser definidos como 128 e 1024, respectivamente. Se um modelo ae estiver sendo carregado, o argumento --enc_only deve ser usado ao executar main.py (consulte 4. Na seção de teste). @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}
}