Skip to content

v0.18.3 — Kokoro Mandarin punctuation pauses and misaki parity, streaming encoder-outputs callback

Latest

Choose a tag to compare

@Alex-Wengg Alex-Wengg released this 07 Nov 22:59

Kokoro Mandarin

  • Punctuation pauses (#1131, #1105): KokoroAneManager.setPunctuationPauses(["、": .milliseconds(300)]), or --pause 、=300 in the CLI. Keys match the mark as written, so 、 and , can be set separately. A longer pause is rendered as silence, on the legacy chain and ANE-v3, for every language.
  • Phonemes match misaki v1.1 (#1129): the space misaki puts after fullwidth punctuation (, → , ), / between words, and erhua as R (小孩儿 → ㄒ要3ㄏㄞR2), the tokens Kokoro v1.1-zh was trained on. Mandarin strings from phonemes(for:) change to match, and custom-lexicon @ escapes accept R.
  • Mainland polyphone readings (#1130): g2pW reads 和 as hé instead of the Taiwan hàn, and 吨, 厂 and 咋 as dūn, chǎng and zǎ.

Kokoro ANE-v3 follows the OS 27 default routing instead of pinning Noise, Tail and SourceGenerator to the GPU. That GPU route aborted in MPSGraph on macOS 27.0.1 (#1104).

ASR

  • Opt-in raw encoder-outputs callback for StreamingUnifiedAsrManager and StreamingNemotronAsrManager (#1109).
  • CtcModels downloads report download and compile progress (#1124).
  • Streaming: a word re-spelled at a window seam ("thirty" → "30") replaces the kept one (#1128). tdtJa's seam re-decode takes a time tail instead of the whole previous window, which dropped whole windows (#1125).
  • Vocabulary boosting reads tokenizer.json next to CtcModels loaded from a custom directory (#1126), and scores a lone stopword that is an exact alias (#1127).
  • Language hints treat currency symbols such as € and £ as script-neutral (#1120).

Pocket TTS: closing quotes and brackets stay with their sentence (#1121), and a period inside a word (www.kyutai.org) no longer ends a sentence (#1122).

Docs: tdtJa's multi-sentence window limitation (#1133).

What's Changed

  • fix(tts/kokoro-ane-v3): follow the OS 27 default routing instead of pinning GPU (#1103) by @Alex-Wengg in #1104
  • fix(tts/pocket): don't end a sentence at a period inside a word by @unaltolga in #1122
  • fix(tts/pocket): keep closing quotes and brackets with their sentence by @unaltolga in #1121
  • fix(asr): treat currency symbols as script-neutral in TokenLanguageFilter by @unaltolga in #1120
  • feat(asr): raw encoder-outputs callback for streaming ASR managers by @donpark in #1109
  • Add hark to showcase by @PhantomYdn in #1108
  • docs(readme): move Speakmac back to the README showcase by @kiranjd in #1106
  • Add Lowspeak to the showcase by @sventmueller in #1123
  • fix(asr/vocab): read CTC tokenizer next to the loaded CtcModels (#1114) by @Alex-Wengg in #1126
  • fix(asr/vocab): score a lone stopword that is an exact alias (#1115) by @Alex-Wengg in #1127
  • fix(asr/streaming): a re-spelled word at a window seam replaces the kept one by @Alex-Wengg in #1128
  • feat(asr/vocab): report download and compile progress from CtcModels by @ertra in #1124
  • fix(asr/tdtJa): streaming seam re-decodes a time tail, not the whole previous window by @Alex-Wengg in #1125
  • docs(asr/tdtJa): document the multi-sentence window limitation (#1117) by @Alex-Wengg in #1133
  • fix(tts/kokoro-ane/zh): emit misaki v1.1's spaces, word slashes and erhua R by @Alex-Wengg in #1129
  • feat(tts/kokoro-ane): per-punctuation pause durations (#1105) by @Alex-Wengg in #1131
  • fix(tts/kokoro-ane/zh): keep g2pW to the mainland dict's readings by @Alex-Wengg in #1130

New Contributors

Full Changelog: v0.18.2...v0.18.3