rhasspy / piper

A fast, local neural text to speech system
https://rhasspy.github.io/piper-samples/
MIT License
4.57k stars 315 forks source link

Error during post processing #307

Closed Graylington closed 5 months ago

Graylington commented 5 months ago

I'm following this tutorial, and during the Preprocess step I encounter the following error. Any idea how I can get by this?

Traceback (most recent call last): File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main return _run_code(code, main_globals, None, File "/usr/lib/python3.10/runpy.py", line 86, in _run_code exec(code, run_globals) File "/home/gray/piper/src/python/piper_train/preprocess.py", line 502, in main() File "/home/gray/piper/src/python/piper_train/preprocess.py", line 225, in main for utt_batch in batched( File "/home/gray/piper/src/python/piper_train/preprocess.py", line 491, in batched raise ValueError("n must be at least one") ValueError: n must be at least one

rmcpantoja commented 5 months ago

Hi @Graylington, Maybe it is the problem of sylero vad model and onnxruntime. I have solved it in #177. I just hope this gets merged soon.

Graylington commented 5 months ago

Hi @Graylington, Maybe it is the problem of sylero vad model and onnxruntime. I have solved it in #177. I just hope this gets merged soon.

It would be nice if it was that, hopefully it does get merged at some point.

Graylington commented 5 months ago

Just gonna leave a note here before I close this issue. The error seems to have been a results of having under five minutes of combined training data. Added 8 minutes of training data and the error disappeared and preprocessed successfully.

rmcpantoja commented 5 months ago

Wow, that's strange, I managed to process one-minute datasets and the result was a success. I think it had to do with something to do with the transcription, but what you have done is good. The more data, the better results and better expressiveness in the resulting voice.

Graylington commented 5 months ago

Wow, that's strange, I managed to process one-minute datasets and the result was a success. I think it had to do with something to do with the transcription, but what you have done is good. The more data, the better results and better expressiveness in the resulting voice.

I got the idea here fyi. It would be great if I could use a <1 minute of dataset though, would be interesting to know how you got that working.

alphafortytwo commented 5 months ago

I have around 25min of data and it still doesn't work. Can't even get the local version to run the training.

JahanHH commented 5 months ago

I have the same problem. I have followed all instructions, and my file is about 11 min. I have even tried it with only 1 file, then 7 files and more. But I get allways the same error:

(.venv) (base) jahan@Main:~/piper/src/python$ python3 -m piper_train.preprocess --language de --input-dir ~/piper/my-dataset --output-dir ~/piper/my-training --dataset-format ljspeech --single-speaker --sample-rate 22050 INFO:preprocess:Single speaker dataset INFO:preprocess:Wrote dataset config INFO:preprocess:Processing 1 utterance(s) with 12 worker(s) Traceback (most recent call last): File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main return _run_code(code, main_globals, None, File "/usr/lib/python3.10/runpy.py", line 86, in _run_code exec(code, run_globals) File "/home/jahan/piper/src/python/piper_train/preprocess.py", line 502, in main() File "/home/jahan/piper/src/python/piper_train/preprocess.py", line 225, in main for utt_batch in batched( File "/home/jahan/piper/src/python/piper_train/preprocess.py", line 491, in batched raise ValueError("n must be at least one") ValueError: n must be at least one

Dabsterr commented 3 weeks ago

Hey try my solution, it was due to batch size calculation https://github.com/rhasspy/piper/issues/297#issuecomment-2102282853