EveryVoiceTTS / EveryVoice

The EveryVoice TTS Toolkit - Text To Speech for your language
https://docs.everyvoice.ca
Other
20 stars 2 forks source link

Cannot actually use a non-multilingual system from the default procedure #264

Closed joanise closed 8 months ago

joanise commented 8 months ago

I just followed the the base guide in https://docs.everyvoice.ca/latest/guides/custom/ with a dataset not having a language column. The wizard prompted me for a language name, I just picked und, and now that I'm trying to synthesize I get this error message:

$ everyvoice synthesize from-text --vocoder-path logs_and_checkpoints/VocoderExperiment/base/checkpoints/last.ckpt .logs_and_checkpoints/FeaturePredictionExperiment/base/checkpoints/last.ckpt -t "this is a test"
Loading checkpoint from logs_and_checkpoints/FeaturePredictionExperiment/base/checkpoints/last.ckpt
Processing text ['this is a test']
The current model doesn't support multiple languages but your data has languages {'und'}.
Please retrain your model with multilingual set to True.

The und language my data supposedly has presumably comes from the training set, but in my synthesize command I'm just providing -t "this is a test" so I don't know why synthesize thinks my data has a language. If that comes from the training data, it should be ignored since I'm not providing a language specification in the data I'm providing for synthesis.

SamuelLarkin commented 8 months ago
==> preprocessed/training_filelist.psv <==
basename|text|language|speaker
LJ002-0148|and that no more than 197 creditors recovered debts and costs.|und|default

Observations:

Thus a trained model always has a speaker unk chosen by the user and a default speaker default.