rsxdalv / tts-generation-webui

TTS Generation Web UI (Bark, MusicGen + AudioGen, Tortoise, RVC, Vocos, Demucs, SeamlessM4T, MAGNet, StyleTTS2, MMS, Stable Audio, Mars5, F5-TTS, ParlerTTS)
https://rsxdalv.github.io/tts-generation-webui/
MIT License
1.84k stars 201 forks source link

Tortoise custom model switching (vocoder.pth not found) #221

Open Kemahudson opened 12 months ago

Kemahudson commented 12 months ago

(Edited to reflect figuring out one thing and then hitting another bit of confusion)

Not sure what I am doing wrong here. Please keep in mind that I am fairly new to all of this, so I appologize in advance if my questions come off as ignorant.

So I have been using the other Tortoise TTS webui, and trained a model, and have been using it fine in that UI.

But I am having a hell of a time getting the model to load in this UI. The model I am trying to load is holly.pth, which is my fine tuned model.

So I place my model in the proper folder, and I use the drop down menu to select it. I am assuming I am selecting the fine tuned model I want to load? So I select holly.pth in the list, and get the error ---

FileNotFoundError: [Errno 2] No such file or directory: 'F:\AI\TTSWebUI\tts-generation-webui\data\models\tortoise\holly.pth\autoregressive.pth'

The error confuses me, since as far as I understand, the fine tuned model should be in place of the autoregressive.pth?

So I then make a Holly directory, and just select that from the drop down list after putting all the files in there. I still get the error about no autoregressive. being found so I just rename my fine tuned Holly.ptf to autoregresive.pth.

I then select that in the drop down, and am now getting the error --- FileNotFoundError: [Errno 2] No such file or directory: 'F:\AI\TTSWebUI\tts-generation-webui\data\models\tortoise\Holly\vocoder.pth'

So I searched the entire folder where I keep all of my Tortoise TTS stuff, and I don't find a single file named vocoder.pth.

I am so confused lol. Especially after successfully training the model and being please with the results when using it in the other Tortoise TTS webui.

But I wanted to see if I could fine tune the model in RVC so I installed the tts-generation-webui to make that easier.

I am guesing it might be something I am just doing wrong due to knowing so little about any of this, but am at a loss and not sure.

rsxdalv commented 12 months ago

This indicates that the problem is with the tokenizer file. Mrq modified tortoise but didn't bring those changes back to the original, once I'm back from holiday I'll check if the model selection can be just revamped. This could make this problem disappear.

There is a way to make it work but it's not the first nor the second time that confusion has happened.

On Mon, Nov 27, 2023, 7:18 PM Kemahudson @.***> wrote:

So I only started learning about all this stuff over the last few months, so excuse my ignorance if I come off that way with my question.

I have a model (Holly.pth) that I trained in Tortoise TTS that works fine if I try to use it in other Tortoise TTS gui's. However when I try to use it in this tts-generation-webui, and click on the load model button, I end up getting the following errors.

Traceback (most recent call last): File "F:\AI\TTSWebUI\installer_files\env\lib\site-packages\gradio\routes.py", line 437, in run_predict output = await app.get_blocks().process_api( File "F:\AI\TTSWebUI\installer_files\env\lib\site-packages\gradio\blocks.py", line 1352, in process_api result = await self.call_function( File "F:\AI\TTSWebUI\installer_files\env\lib\site-packages\gradio\blocks.py", line 1077, in call_function prediction = await anyio.to_thread.run_sync( File "F:\AI\TTSWebUI\installer_files\env\lib\site-packages\anyio\to_thread.py", line 33, in run_sync return await get_asynclib().run_sync_in_worker_thread( File "F:\AI\TTSWebUI\installer_files\env\lib\site-packages\anyio_backends_asyncio.py", line 877, in run_sync_in_worker_thread return await future File "F:\AI\TTSWebUI\installer_files\env\lib\site-packages\anyio_backends_asyncio.py", line 807, in run result = context.run(func, args) File "F:\AI\TTSWebUI\tts-generation-webui\src\tortoise\gen_tortoise.py", line 49, in switch_model get_tts( File "F:\AI\TTSWebUI\tts-generation-webui\src\tortoise\gen_tortoise.py", line 84, in get_tts MODEL = TextToSpeech( File "F:\AI\TTSWebUI\installer_files\env\lib\site-packages\tortoise\api.py", line 233, in init self.tokenizer = VoiceBpeTokenizer( File "F:\AI\TTSWebUI\installer_files\env\lib\site-packages\tortoise\utils\tokenizer.py", line 174, in init* self.tokenizer = Tokenizer.from_file( Exception: stream did not contain valid UTF-8

I used the one click installer, and just to cover my bases in case something went wrong with the install, I have reinstalled it 3 times now. And end up with the same error.

Not sure what I am doing wrong. :/

— Reply to this email directly, view it on GitHub https://github.com/rsxdalv/tts-generation-webui/issues/221, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABTRXI2P5HR6KQGFNFUPOM3YGRZINAVCNFSM6AAAAAA733MIA6VHI2DSMVQWIX3LMV43ASLTON2WKOZSGAYTEMBVGEYDENI . You are receiving this because you are subscribed to this thread.Message ID: @.***>

Kemahudson commented 12 months ago

Thanks much for the reply! And glad to hear its not just something I was overlooking due to being clueless lol.

Also enjoy your holidays!

rsxdalv commented 10 months ago

My backlog is still a bit long but I think after I finish upgrading to the new RVC I can take a look at forking tortoise to make the model selection better. The new tortoise makes it painfully difficult to get the separate models for download so an option to just swap autoregressive is needed.