Error on generation: ValueError: Value too wide (>4 bytes) & other issues #291

Open
opened 2023-07-04 11:04:47 +00:00 by JoaoPimenta · 2 comments

I trained a model, and I'm having issues with all the saved pth files form that training. Notice that I trained and used models before with no issues.

I have 3 pth files under training/MyVoice/finetune/models:
25_gpt.pth
50_gpt.pth
75_gpt.pth

The first two (25 and 50), when I run it give the error:

Traceback (most recent call last):
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\gradio\routes.py", line 394, in run_predict
    output = await app.get_blocks().process_api(
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\gradio\blocks.py", line 1075, in process_api
    result = await self.call_function(
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\gradio\blocks.py", line 884, in call_function
    prediction = await anyio.to_thread.run_sync(
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\anyio\to_thread.py", line 33, in run_sync
    return await get_asynclib().run_sync_in_worker_thread(
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 877, in run_sync_in_worker_thread
    return await future
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 807, in run
    result = context.run(func, *args)
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\gradio\helpers.py", line 587, in tracked_fn
    response = fn(*args)
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\src\webui.py", line 94, in generate_proxy
    raise e
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\src\webui.py", line 88, in generate_proxy
    sample, outputs, stats = generate(**kwargs)
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\src\utils.py", line 319, in generate
    return generate_tortoise(**kwargs)
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\src\utils.py", line 1158, in generate_tortoise
    gen, additionals = tts.tts(cut_text, **settings )
  File "c:\MyPath\tortoisetts\ai-voice-cloning\modules\tortoise-tts\tortoise\api.py", line 668, in tts
    auto_conditioning, diffusion_conditioning, auto_conds, _ = self.get_conditioning_latents(voice_samples, return_mels=True, verbose=True)
  File "c:\MyPath\tortoisetts\ai-voice-cloning\modules\tortoise-tts\tortoise\api.py", line 497, in get_conditioning_latents
    concat = torch.cat(samples, dim=-1)
RuntimeError: torch.cat(): expected a non-empty list of Tensors

The last model, when I use it gives a different error:

Generating line took 10.869783163070679 seconds
Traceback (most recent call last):
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\mutagen\id3\_util.py", line 84, in to_str
    bytes_[index] = value & mask
IndexError: bytearray index out of range

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\gradio\routes.py", line 394, in run_predict
    output = await app.get_blocks().process_api(
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\gradio\blocks.py", line 1075, in process_api
    result = await self.call_function(
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\gradio\blocks.py", line 884, in call_function
    prediction = await anyio.to_thread.run_sync(
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\anyio\to_thread.py", line 33, in run_sync
    return await get_asynclib().run_sync_in_worker_thread(
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 877, in run_sync_in_worker_thread
    return await future
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 807, in run
    result = context.run(func, *args)
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\gradio\helpers.py", line 587, in tracked_fn
    response = fn(*args)
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\src\webui.py", line 94, in generate_proxy
    raise e
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\src\webui.py", line 88, in generate_proxy
    sample, outputs, stats = generate(**kwargs)
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\src\utils.py", line 319, in generate
    return generate_tortoise(**kwargs)
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\src\utils.py", line 1276, in generate_tortoise
    metadata.save()
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\music_tag\file.py", line 374, in save
    self.mfile.save(**kwargs)
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\mutagen\_util.py", line 155, in wrapper
    return func(self, h, *args, **kwargs)
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\mutagen\_file.py", line 131, in save
    return self.tags.save(filething, **kwargs)
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\mutagen\_util.py", line 184, in wrapper
    return func(*args, **kwargs)
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\mutagen\_util.py", line 155, in wrapper
    return func(self, h, *args, **kwargs)
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\mutagen\wave.py", line 133, in save
    data = self._prepare_data(
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\mutagen\id3\_file.py", line 194, in _prepare_data
    framedata = self._write(config)
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\mutagen\id3\_tags.py", line 188, in _write
    framedata = [
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\mutagen\id3\_tags.py", line 189, in <listcomp>
    (f, save_frame(f, config=config)) for f in self.values()]
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\mutagen\id3\_tags.py", line 523, in save_frame
    datasize = BitPaddedInt.to_str(len(framedata), width=4, bits=bits)
  File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\mutagen\id3\_util.py", line 88, in to_str
    raise ValueError('Value too wide (>%d bytes)' % width)
ValueError: Value too wide (>4 bytes)

I'm using Windows 11 Pro, an RTX 3070, CUDA V12.1.105

Let me know any other information you need

In regards to this last error, I added a breakpoint to the utils.py file, just to see the size of audio_cache[name]['settings']. I figured that, if it's saying that the value is too wide, I would at least see the size of what is being dumped to metadata['lyrics']. I added:

import sys
sys.getsizeof(audio_cache[name]['settings'])

and the value was 1176

Thanks for the help, I hope to have given you all the info you need.

I trained a model, and I'm having issues with all the saved pth files form that training. Notice that I trained and used models before with no issues. I have 3 pth files under training/MyVoice/finetune/models: 25_gpt.pth 50_gpt.pth 75_gpt.pth The first two (25 and 50), when I run it give the error: ``` Traceback (most recent call last): File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\gradio\routes.py", line 394, in run_predict output = await app.get_blocks().process_api( File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\gradio\blocks.py", line 1075, in process_api result = await self.call_function( File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\gradio\blocks.py", line 884, in call_function prediction = await anyio.to_thread.run_sync( File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\anyio\to_thread.py", line 33, in run_sync return await get_asynclib().run_sync_in_worker_thread( File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 877, in run_sync_in_worker_thread return await future File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 807, in run result = context.run(func, *args) File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\gradio\helpers.py", line 587, in tracked_fn response = fn(*args) File "C:\MyPath\TortoiseTTS\ai-voice-cloning\src\webui.py", line 94, in generate_proxy raise e File "C:\MyPath\TortoiseTTS\ai-voice-cloning\src\webui.py", line 88, in generate_proxy sample, outputs, stats = generate(**kwargs) File "C:\MyPath\TortoiseTTS\ai-voice-cloning\src\utils.py", line 319, in generate return generate_tortoise(**kwargs) File "C:\MyPath\TortoiseTTS\ai-voice-cloning\src\utils.py", line 1158, in generate_tortoise gen, additionals = tts.tts(cut_text, **settings ) File "c:\MyPath\tortoisetts\ai-voice-cloning\modules\tortoise-tts\tortoise\api.py", line 668, in tts auto_conditioning, diffusion_conditioning, auto_conds, _ = self.get_conditioning_latents(voice_samples, return_mels=True, verbose=True) File "c:\MyPath\tortoisetts\ai-voice-cloning\modules\tortoise-tts\tortoise\api.py", line 497, in get_conditioning_latents concat = torch.cat(samples, dim=-1) RuntimeError: torch.cat(): expected a non-empty list of Tensors ``` The last model, when I use it gives a different error: ``` Generating line took 10.869783163070679 seconds Traceback (most recent call last): File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\mutagen\id3\_util.py", line 84, in to_str bytes_[index] = value & mask IndexError: bytearray index out of range During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\gradio\routes.py", line 394, in run_predict output = await app.get_blocks().process_api( File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\gradio\blocks.py", line 1075, in process_api result = await self.call_function( File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\gradio\blocks.py", line 884, in call_function prediction = await anyio.to_thread.run_sync( File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\anyio\to_thread.py", line 33, in run_sync return await get_asynclib().run_sync_in_worker_thread( File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 877, in run_sync_in_worker_thread return await future File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 807, in run result = context.run(func, *args) File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\gradio\helpers.py", line 587, in tracked_fn response = fn(*args) File "C:\MyPath\TortoiseTTS\ai-voice-cloning\src\webui.py", line 94, in generate_proxy raise e File "C:\MyPath\TortoiseTTS\ai-voice-cloning\src\webui.py", line 88, in generate_proxy sample, outputs, stats = generate(**kwargs) File "C:\MyPath\TortoiseTTS\ai-voice-cloning\src\utils.py", line 319, in generate return generate_tortoise(**kwargs) File "C:\MyPath\TortoiseTTS\ai-voice-cloning\src\utils.py", line 1276, in generate_tortoise metadata.save() File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\music_tag\file.py", line 374, in save self.mfile.save(**kwargs) File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\mutagen\_util.py", line 155, in wrapper return func(self, h, *args, **kwargs) File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\mutagen\_file.py", line 131, in save return self.tags.save(filething, **kwargs) File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\mutagen\_util.py", line 184, in wrapper return func(*args, **kwargs) File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\mutagen\_util.py", line 155, in wrapper return func(self, h, *args, **kwargs) File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\mutagen\wave.py", line 133, in save data = self._prepare_data( File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\mutagen\id3\_file.py", line 194, in _prepare_data framedata = self._write(config) File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\mutagen\id3\_tags.py", line 188, in _write framedata = [ File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\mutagen\id3\_tags.py", line 189, in <listcomp> (f, save_frame(f, config=config)) for f in self.values()] File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\mutagen\id3\_tags.py", line 523, in save_frame datasize = BitPaddedInt.to_str(len(framedata), width=4, bits=bits) File "C:\MyPath\TortoiseTTS\ai-voice-cloning\venv\lib\site-packages\mutagen\id3\_util.py", line 88, in to_str raise ValueError('Value too wide (>%d bytes)' % width) ValueError: Value too wide (>4 bytes) ``` I'm using Windows 11 Pro, an RTX 3070, CUDA V12.1.105 Let me know any other information you need In regards to this last error, I added a breakpoint to the utils.py file, just to see the size of audio_cache[name]['settings']. I figured that, if it's saying that the value is too wide, I would at least see the size of what is being dumped to metadata['lyrics']. I added: import sys sys.getsizeof(audio_cache[name]['settings']) and the value was 1176 Thanks for the help, I hope to have given you all the info you need.
Owner

I'm not too sure how there would be a discrepancy between the models, but the first error seems to be that you don't actually have any voice samples to feed into TorToiSe (or it's unable to actually load them, for whatever reason).

The second error I'm not really too sure, but you can bandaid the issue, if I remember right, by going into Settings and unchecking Embed Output Metadata (I should probably default disable this, since no one really uses this feature to my knowledge).

I'm not too sure how there would be a discrepancy between the models, but the first error seems to be that you don't actually have any voice samples to feed into TorToiSe (or it's unable to actually load them, for whatever reason). The second error I'm not really too sure, but you can bandaid the issue, if I remember right, by going into Settings and unchecking `Embed Output Metadata` (I should probably default disable this, since no one really uses this feature to my knowledge).
Author

Many thanks! All my problems seem to be fixed, I'll let you know if I find any others. Thank you for your work!

Many thanks! All my problems seem to be fixed, I'll let you know if I find any others. Thank you for your work!
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: mrq/ai-voice-cloning#291
No description provided.