Skip to content

v1.11.0 — seven-language offline G2P (English + fr/es/pt/it/ru join German)

Latest

Choose a tag to compare

@willwade willwade released this 15 Nov 02:17

What's new

#92 complete: every validated-locale catalog voice installs and speaks offline. German (#82, v1.9.0) → English migration + MMS validation + license-corrected bundles (#98) → fr/es/pt/it/ru locale flips (#99).

Seven languages on the codepoints path

language bundle whisper round-trip
de deu (expanded) v1.9.0
en eng-US (expanded) "I have 42 houses and 1,000 acres" — numbers spoken, was dropped
fr fra (expanded) quarante-deux + un virgule cinq audible
es spa-ES (expanded) "Tengo 42 casas" exact
pt por-BR (expanded) "Eu tenho 42 casas" exact (medium)
it ita (expanded) "ho 42 case" exact (medium)
ru ru (base) "У меня 42 дома" exact

Every language has a per-locale digit normalizer (Russian new: paucal agreement, feminine одна/две in thousands, comma decimals). The old lexicon path silently dropped OOV/number words — the codepoints path speaks them through the bundle's dictionary.

Hyphenated dictionary lookups (all languages)

Audited: no bundle lexicon carries hyphenated entries — "forty-two"/"Kfz-Kennzeichen" previously letter-spelled through the WFST fallback. Interior hyphen runs now split into dictionary lookups (typed and digit-expanded).

MMS digit words

MMS front-ends read raw characters and their token files carry 0–9, so digits articulated one-by-one (user-verified through speakers). Digits now expand to words in the model's language; spot-validation: spa perfect, deu/eng good (whisper round-trips). MMS readiness: unverified pending registry sha256s.

Catalog readiness (installer contract)

needs_bundle now covers de/en/fr/es/pt/it/ru — download, then tts_provision_sherpa_g2p_bundle(model_id), then speak offline. English degrades to the auto-lexicon path without the bundle (upgrade, not requirement); the others report blocked:g2p-unavailable on front-end-less builds. Variant note: es voices default to spa-ES (Castilian) and pt to por-BR phonemes; per-variant rows are a follow-up.

voicegarden-lexicons v0.4.0

All bundles relabeled CC BY-SA 4.0 (data) + MIT (tooling) with Wiktionary attribution — data byte-identical to v0.3.1. The fetcher follows releases/latest; provisioning re-verified end-to-end.

Dasher: gate modelNeedsLexicon on readiness == "needs_bundle", call the provisioning ABI after download — see the #92 comments for the integration sketch.