This code is a pytorch version for CycleFlow model in "CycleFlow: Purify Information Factors by Cycle Loss", which is modified for from the original Speechflow.
Some toolkits to be used can be found at our modified SpeechFlow
This project is built with python 3.6, for other packages, you can install them by pip install -r requirements.txt
.
To Prepare Training Data(take VCTK as an example here, for other dataset, you should modify some settings in below files)
-
Prepare your wavefiles
-
Prepare spectrograms and pitch contours for your data following tools provided in SpeechFlow
-
change settings at
hparams.py
andrun.py
-
Run the training scripts:
python run.py
You can change inputs of the "Generator_loop" module to make the model adapted for your inference.
This is a code for "CycleFlow: Purify Information Factors by Cycle Loss"(demo, paper), this improved model can produce more disentangled factors than SpeechFlow. The main design in this model is a random factor substitution (RFS) operation and a cycle loss. We highlight that this technique is simple and general and can be applied to any factorization model, although in this study we test it with the SpeechFlow architecture, hence the name CycleFlow. This code is modified for our task from the original Speechflow. Thanks for Kaizhi Qian providing the original code, which is much helpful for us.