Skip to content

Conversation

@entermask
Copy link

Some characters sound: "chinese letter".

Ex: もしおれがただ偶然、そしてこうしようというつもりでなくここに立っているのなら、ちょっとばかり絶望するところだな」と、そんなことが彼の頭に思い浮かんだ。

I’m not sure if it’s the base model or the JS.

@rotemdan
Copy link
Member

rotemdan commented Jan 15, 2026

Thank, but the implementation of Kokoro used in Echogarden uses eSpeak-NG to convert raw text to phonemic characters (IPA or IPA-like), which are required by the model, and eSpeak-NG isn't able to phonemize Japanese properly. It replaces some letters with "Chinese letter". This problem happens in all instances where eSpeak-NG is used, including things like alignment (DTW-based), and other forms of synthesis. There are multiple past issues about this.

The Japanese voices could technically be added (will likely require updating the voices packages, which is currently kokoro-82m-v1.0-voices-20250209), but they will not produce correct outputs, due to the limitations of eSpeak-NG. There's not really any way around that unless using a different phonemizer. It will likely require the exact Japanese phonemizer used by reference implementation, but the phonemizer used by the standard (reference) Kokoro implementation is written in Python and can't really be used from Node.js (and even if it was possible, this may be a massive project to port it while still allowing all the existing functionality, like alignment and text pre / post-processing).

@entermask
Copy link
Author

Do you try latest version of eSpeak-NG? I saw they support japanese right now.

https://github.com/espeak-ng/espeak-ng/blob/master/docs/languages.md

@rotemdan
Copy link
Member

Yes, they list Japanese, with an annotation [4]

If you go to the bottom of the documentation page:

[4] With Hiragana and Katakana syllabary.

I'm not familiar with Japanese (I know very little about the language), but I think the problem may be with "Kanji" characters.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants