Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mimic3 TTS models failing to load with INVALID_PROTOBUF error #58

Open
Saisei2004 opened this issue Jun 2, 2024 · 6 comments
Open

Mimic3 TTS models failing to load with INVALID_PROTOBUF error #58

Saisei2004 opened this issue Jun 2, 2024 · 6 comments
Labels
bug Something isn't working

Comments

@Saisei2004
Copy link

I am encountering an issue with Mimic3 TTS models failing to load with the error "INVALID_PROTOBUF". Despite following the installation steps and ensuring the correct setup, the models are not loading correctly and the error persists.

Steps to reproduce the behavior:

Download and install the Mimic3 TTS models using the provided instructions.
Attempt to use the Mimic3 TTS models with the following command:

mimic3 --voice en_US/ljspeech_low "This is a test of the ljspeech voice model." > test_output_ljspeech.wav

Observe the error message: "Load model from /home/user/.local/share/mycroft/mimic3/voices/en_US/ljspeech_low/generator.onnx failed: Protobuf parsing failed."

The expected behavior is for the TTS model to load successfully and generate the audio output without errors.

Here are the relevant log files and error messages:

[ONNXRuntimeError] : 7 : INVALID_PROTOBUF : Load model from /home/user/.local/share/mycroft/mimic3/voices/en_US/ljspeech_low/generator.onnx failed: Protobuf parsing failed.

Environment:

Device type: Desktop
OS: Ubuntu 20.04
Mycroft-core version: N/A (using Mimic3 standalone)
Other versions: Mimic3 TTS version 0.2.5, Python 3.10

Additional context:
I have tried downloading and using multiple voice models (en_US/ljspeech_low, en_US/cmu-arctic_low, en_US/vctk_low) and encountered the same error with each. I followed the installation and usage instructions carefully but have not been able to resolve the issue. Any guidance or suggestions to resolve this problem would be greatly appreciated.

Thank you for your assistance.

@Saisei2004 Saisei2004 added the bug Something isn't working label Jun 2, 2024
@Takuchan
Copy link

Takuchan commented Jun 9, 2024

I tried cloning the mimic3 repository from GitHub and running the Dockerfile, but I encountered the same error.

@synesthesiam
Copy link
Collaborator

Inspect the contents of the onnx file. It is probably error text from a failed download due to GitHub.
You may need manually download voices from Huggingface: https://huggingface.co/mukowaty/mimic3-voices

@Xeraster
Copy link

Xeraster commented Jul 9, 2024

Where do you put the downloaded files? Mimic3 doesn't run off the of the files cloned from the repository if installed based on the installation instructions which suggests the downloaded voice files need to be put somewhere special.

note to self: this is the least broken one ive tried so far (im going try every ai tts on github until i find one that actually works)

@magiausde
Copy link

Since I also ran into this issue today, I had a look at the problem. It is indeed a problem with downloading the generator.onnx file. That file is so large in size that it gets stored in Github's LFS (https://docs.github.com/repositories/working-with-files/managing-large-files/about-git-large-file-storage). This has the side-effect that a direct fetch via the URL

"https://github.com/MycroftAI/mimic3-voices/raw/master/voices/{lang}/{name}"

does not return the file-contents, but rather a so called pointer file. So currently after downloading, inside the filesystem generator.onnx contains for example:

version https://git-lfs.github.com/spec/v1
oid sha256:3330372429b25fe3a38b10bbe914862a49b2cd0a58da332bbe30fa123035a067
size 76340831

It requires multiple steps to get such an LFS-file, I found this very useful gist: https://gist.github.com/fkraeutli/66fa741d9a8c2a6a238a01d17ed0edc5

So, to fix this, it would be necessary to add this functionality to the downloader. In the meantime one can download the file manually for each voice.

@magiausde
Copy link

Where do you put the downloaded files? Mimic3 doesn't run off the of the files cloned from the repository if installed based on the installation instructions which suggests the downloaded voice files need to be put somewhere special.

note to self: this is the least broken one ive tried so far (im going try every ai tts on github until i find one that actually works)

The voices are stored at /home/mimic3/.local/share/mycroft/mimic3/voices/

@mephi42
Copy link

mephi42 commented Aug 22, 2024

I get the following when trying to fetch voices from LFS: batch response: This repository is over its data quota. Account responsible for LFS bandwidth should purchase more data packs to restore access.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

6 participants