Skip to content

Kokoro-ANE: 5 of hexgrad's 9 supported languages have voice data but no real G2P frontend (Spanish, French, Hindi, Italian, Brazilian Portuguese) #926

Description

@Abusayid693

What problem does this solve?

hexgrad/Kokoro-82M documents 9 supported language/locale groups in its own VOICES.md: American English, British English, Japanese, Mandarin Chinese, Spanish, French, Hindi, Italian, and Brazilian Portuguese.

KokoroAneVariant currently has real support for only 3: english, mandarin, japanese — each with its own dedicated text-to-phoneme frontend (English's built-in, NemoTextNormalizer+MandarinG2P for Mandarin, the MeCab+Cutlet port from #915 for Japanese).

The voice tensors for the other 5 language groups are already present, though — they're just folded into englishVoices, with this SDK's own doc comment admitting the real behavior:

non-English-prefixed packs (zf_*, jf_*, …) still speak English phonemes here, just with that voice's timbre.

Concretely, these voice codes exist in the SDK today but can only be used as English-phoneme playback with that voice's timbre, not real speech in their actual language:

Language hexgrad's VOICES.md section Voice codes already in englishVoices
Spanish Spanish ef_dora, em_alex, em_santa
French French ff_siwis
Hindi Hindi hf_alpha, hf_beta, hm_omega, hm_psi
Italian Italian if_sara, im_nicola
Brazilian Portuguese Brazilian Portuguese pf_dora, pm_alex, pm_santa

Proposed solution

For each of the 5 languages, in roughly the order of upstream G2P complexity (per misaki, hexgrad's own G2P library):

  • Add a real KokoroAneVariant case + move its voices out of englishVoices into a dedicated array, same shape as .mandarin/.japanese
  • Port or wrap a real text-to-phoneme frontend for that language

Alternatives considered

  • Leaving these voices as English-phoneme-with-accent (already possible today, no SDK changes) — a real, smaller-scope option for apps that just want the timbre, not correct pronunciation of the actual language. Not what this issue is asking for.

Additional context

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions