ETOS TTS zielt darauf ab, einen neuronalen Text-zu-Sprach (TTS) aufzubauen, der Text in Sprache in Stimmen umwandeln kann, die in freier Wildbahn abgetastet sind. Es handelt sich um eine Pytorch-Implementierung von Tacotron: ein vollständig End-to-End-Synthesemodell.
sudo apt install libsndfile1Sie können PIP verwenden, um andere Anforderungen zu installieren.
pip3 install -r requirements.txt
Sie können ein vorgezogenes Modell unter models/may22 verwenden und den TTS -Webserver ausführen:
python server.py -c server_conf.json
Gehen Sie dann zu http://127.0.0.1:8000 und genießen Sie.
Derzeit bietet TTS Datenlader für
Um Ihr eigenes Training auszuführen, müssen Sie eine config.json -Datei (einfache Vorlage unten) definieren und mit dem Befehl aufrufen.
train.py --config_path config.json
Wenn Sie einen bestimmten Satz von GPUs verwenden möchten.
CUDA_VISIBLE_DEVICES="0,1,4" train.py --config_path config.json
Jeder Lauf erstellt einen Experiment -Ordner mit dem Datum und der Uhrzeit des Corresponfing unter dem in config.json festgelegten Ordner. Und wenn es unter diesem Ordner noch kein Kontrollpunkt gibt, wird es entfernt, wenn Sie Strg+c drücken.
Sie können auch Tensorboard mit ein paar guten Trainingsprotokollen genießen, wenn Sie hinweisen -den Experiment -Ordner --logdir .
Beispiel config.json :
{
"num_mels": 80,
"num_freq": 1025,
"sample_rate": 22050,
"frame_length_ms": 50,
"frame_shift_ms": 12.5,
"preemphasis": 0.97,
"min_level_db": -100,
"ref_level_db": 20,
"embedding_size": 256,
"text_cleaner": "english_cleaners",
"epochs": 200,
"lr": 0.002,
"warmup_steps": 4000,
"batch_size": 32,
"eval_batch_size":32,
"r": 5,
"mk": 0.0, // guidede attention loss weight. if 0 no use
"priority_freq": true, // freq range emphasis
"griffin_lim_iters": 60,
"power": 1.2,
"dataset": "TWEB",
"meta_file_train": "transcript_train.txt",
"meta_file_val": "transcript_val.txt",
"data_path": "/data/shared/BibleSpeech/",
"min_seq_len": 0,
"num_loader_workers": 8,
"checkpoint": true, // if save checkpoint per save_step
"save_step": 200,
"output_path": "/path/to/my_experiment",
}