Missing voice file
I am using eSpeak (latest) from here: https://github.com/espeak-ng/espeak-ng/
Previous error message:
Error: Could not load the mbrola.dll file.
After copying everything from https://github.com/thiekus/MBROLA/releases/download/3.3/mbrola_build_3.3_rev2.zip / Win64 / Release into my eSpeak installation folder (in most cases it's C:\Program Files\eSpeak NG), I get a different error message:
Error: Could not load the specified mbrola voice file.
What to do next to fix, what am I missing?
Did I do anything wrong? Put approx. 15 MBROLA voice files, including all of the German ones, into eSpeak installation folder.
Change? Nothing. Same error message:
Error: Could not load the specified mbrola voice file. (3x)
Full dictionary is not installed for 'be'
Error: Could not load the specified mbrola voice file. (another 88x)
Please compare the location of MBROLA voice files, and tell me the right place to move them. Thanks in advance (Do I have to unpack or install them somehow? Unfortunately, I cannot install them using any Linux tools, as I am on Windows.) myeSpeakfolder.txt
Seems to be no be file in https://github.com/numediart/MBROLA-voices/ .
My bad, didn't read https://github.com/espeak-ng/espeak-ng/blob/master/docs/mbrola.md (or didn't notice it anyway). So I know where to put the files, only I have to install MbrolaTools35.exe first. I installed MbrolaTools35.exe from here: https://archive.org/details/MbrolaTools35
Still getting similar error messages
Error: No such file or directory. <== new!
Error: Could not load the specified mbrola voice file.
Error: Could not load the specified mbrola voice file.
Full dictionary is not installed for 'be'
Error: Could not load the specified mbrola voice file.
Error: Could not load the specified mbrola voice file.
Error: No such file or directory.
Error: No such file or directory.
Error: No such file or directory.
Error: No such file or directory.
My bad, didn't read https://github.com/espeak-ng/espeak-ng/blob/master/docs/mbrola.md (or didn't notice it anyway). So I know where to put the files, only I have to install MbrolaTools35.exe first. I installed MbrolaTools35.exe from here: https://archive.org/details/MbrolaTools35
Still getting similar error messages
Error: No such file or directory. <== new! Error: Could not load the specified mbrola voice file. Error: Could not load the specified mbrola voice file. Full dictionary is not installed for 'be' Error: Could not load the specified mbrola voice file. Error: Could not load the specified mbrola voice file. Error: No such file or directory. Error: No such file or directory. Error: No such file or directory. Error: No such file or directory.
I have the same issue on windows
@justinjohn0306 @DGrothe-PhD
I analyzed which specific path mbrola couldn't find (using Sysinternals's Process Monitor) - it was found.
It's mbrola_ph folder inside espeak-ng-data.
Found that mbrola_ph can be extracted from the espeak packages for Linux. I ran sudo apt install espeak-ng mbrola on an existing Linux machine and packed the folder from /usr/lib/x86_64-linux-gnu/espeak-ng-data/mbrola_ph.
So try to use my archive - extract mbrola_ph folder to espeak-ng-data. mbrola_ph.zip
Worked for me (at least "no such file or directory" errors was gone).
@lethanner
Thank you for the detailed steps. I am still facing problem. RuntimeError: failed to load voice "ja"
Copied all files here C:\Program Files\eSpeak NG\espeak-ng-data\mbrola_ph
- af1_phtrans
- ar1_phtrans
- ar2_phtrans
- ca_phtrans
- cr1_phtrans
- cs_phtrans
- de2_phtrans
- de4_phtrans
- de6_phtrans
- de8_phtrans
- ee1_phtrans
- en1_phtrans
- es3_phtrans
- es4_phtrans
- es_phtrans
- fr_phtrans
- gr1_phtrans
- gr2_phtrans
- grc-de6_phtra
- hn1_phtrans
- hu1_phtrans
- ic1_phtrans
- id1_phtrans
- in_phtrans
- ir1_phtrans
- it1_phtrans
- it3_phtrans
- jp_phtrans
- la1_phtrans
- lt_phtrans
- ma1_phtrans
- mx1_phtrans
- mx2_phtrans
- nl_phtrans
- nz1_phtrans
- pl1_phtrans
- pt1_phtrans
- ptbr4_phtrans
- ptbr_phtrans
- ro1_phtrans
- sv2_phtrans
- sv_phtrans
- tl1_phtrans
- tr1_phtrans
- us3_phtrans
- us_phtrans
- vz_phtrans
- zh_phtrans
Also installed MbrolaTools35.exe
Environment variables are set
(venv) C:\aiai\DiffRhythm>python app.py
audio drop prob -> 0.3; style_drop_prob -> 0.1; lrc_drop_prob: 0.1
./diffrhythm/g2p\sources\g2p_chinese_model\poly_bert_model.onnx
C:\aiai\DiffRhythm\venv\lib\site-packages\onnxruntime\capi\onnxruntime_inference_collection.py:115: UserWarning: Specified provider 'CUDAExecutionProvider' is not in available provider names.Available providers: 'AzureExecutionProvider, CPUExecutionProvider'
warnings.warn(
Error: Could not load the specified mbrola voice file.
Error: Could not load the specified mbrola voice file.
Traceback (most recent call last):
File "C:\aiai\DiffRhythm\app.py", line 29, in <module>
cfm, tokenizer, muq, vae = prepare_model(device)
File "C:\aiai\DiffRhythm\diffrhythm\infer\infer_utils.py", line 29, in prepare_model
tokenizer = CNENTokenizer()
File "C:\aiai\DiffRhythm\diffrhythm\infer\infer_utils.py", line 105, in __init__
from diffrhythm.g2p.g2p_generation import chn_eng_g2p
File "C:\aiai\DiffRhythm\diffrhythm\g2p\g2p_generation.py", line 10, in <module>
from diffrhythm.g2p.utils.g2p import phonemizer_g2p
File "C:\aiai\DiffRhythm\diffrhythm\g2p\utils\g2p.py", line 30, in <module>
phonemizer_ja = EspeakBackend(
File "C:\aiai\DiffRhythm\venv\lib\site-packages\phonemizer\backend\espeak\espeak.py", line 49, in __init__
self._espeak.set_voice(language)
File "C:\aiai\DiffRhythm\venv\lib\site-packages\phonemizer\backend\espeak\wrapper.py", line 249, in set_voice
raise RuntimeError( # pragma: nocover
RuntimeError: failed to load voice "ja"
@nitinmukesh
It's a DiffRhythm issue and I raised a topic especially for it. :) https://github.com/ASLP-lab/DiffRhythm/issues/15
In short: just try installing Japanese voicepacks from https://github.com/numediart/MBROLA-voices/ to C:\Program Files\eSpeak NG\espeak-ng-data\mbrola.
Thank you. It worked. So it uses Japanese audio for English song. Did you figured how to use different voices.
So it uses Japanese audio for English song
I see.
Did you figured how to use different voices
But there is no solution yet. For now I can only suggest following this issue: https://github.com/ASLP-lab/DiffRhythm/issues/17
Thank you. It worked. So it uses Japanese audio for English song. Did you figured how to use different voices.
I also encountered the same problem and did the same thing, but still made the same mistake. Do I need to restart my computer?