← Back to blog

2026. 6. 10.

hama v1.3.13: Faster pronunciation matching

Version 1.3.13 makes character-span pronunciation matching 4-40x faster in both runtimes while keeping scan and replace results unchanged.

  • Candidate character windows are now pre-screened with approximate phonemes sliced from each token's G2P character alignments; the neural model only runs on windows that pass length, q-gram, and banded edit-distance filters.
  • Kept the exact verification path unchanged. Tokens whose pronunciations cannot be sliced reliably, such as spell-out output or truncated alignments, fall back to per-window G2P.
  • Pronunciation matching now ignores literal separator tokens that some languages decode between phonemes, so they no longer inflate phoneme edit distances.
  • Verified byte-identical scan and replace output on the demo example set in both runtimes. Stats counters now reflect the new filter order and may differ from v1.3.12.
  • Added Python and TypeScript tests for sub-token matching through the prefilter and for the predictor-call budget.
  • Aligned Python hama and TypeScript hama-js on version 1.3.13.