Models
- Pocket TTS english_2026-10 is now the English pack (#1089). It uses Kyutai's default temperature of 0.3;
.english2026Aprkeeps the previous pack. - CAM++
_v2speaker embeddings (#1094, #1099) now match 3D-Speaker's reference at every length: AMI EER 4.67% → 2.85%, equal to PyTorch.
Default changes
- The offline diarizer keeps overlapping speech (
exclusiveSegments: false) (#1081). AMI overlap-scored DER goes from 24.2% to 20.3%. - Japanese long-form (
tdtJa) defaults to no mel context (#1098): 31-min CER 10.37% → 8.49%. - Sortformer
processCompleteandfinalizeSessionpredict every frame, including audio under 30 s and the tail (#1091). - Vocabulary boosting no longer gives the context-bias boost against a word TDT heard confidently (#1100).
Long-form and streaming ASR
- Dropped opening speech is recovered (#1056).
- Seam-gap repair probes short gaps with a short window, and its probe budget scales with file length (#1061, #1059).
- A streaming window that opens mid-word joins onto the previous text (#1097).
Vocabulary boosting: punctuation around replacements is kept (#1088), CTC probability extraction is about 3× faster (#1039), and the rescue floors are documented as an opt-in (#1101).
SenseVoice: emotion, event and language confidence (#1082), and the fp32 encoder now runs (#1096).
Reliability
- An interrupted model download resumes instead of deleting the repo folder (#1090).
AudioConverterhandles files over 4 GiB and converts as it reads (#1021).- LFM3-Audio's Core AI types are kept out of class metadata, so XCTest no longer crashes on macOS 26 (#1083).
- Kokoro Mandarin keeps word order around a custom-lexicon hit (#1055).
- The Pocket TTS session-lifetime guard has tests (#1058).
Docs: v3 language hints are script-level (#1092), and when to choose mel context for v3 long-form audio (#1095).
What's Changed
- fix(diarizer): Keep overlapping speech in offline output by default by @Alex-Wengg in #1081
- feat(tts/pocket): Make Kyutai's english_2026-10 the English pack by @Alex-Wengg in #1089
- feat(sensevoice): emotion, event and language confidence from the query logits by @benchen216 in #1082
- fix(lfm3-audio): keep Core AI types out of class metadata on older systems by @benchen216 in #1083
- test(tts/pocket): guard the one-shot session-lifetime hang and document session ownership (#1057) by @donpark in #1058
- Add Character Agent for iOS to README by @memgrafter in #1062
- fix(asr): keep punctuation around vocabulary replacements by @kiranjd in #1088
- fix(tts/kokoro-ane/zh): keep word order around a custom-lexicon hit by @pumclong in #1055
- perf(asr): Remove boxed scalar reads from CTC probability extraction by @achembarpu in #1039
- fix(audio): resample long files without the 4 GiB buffer cap, converting files as they are read by @maboa in #1021
- fix(asr): recover dropped opening speech in long-form v3 decoding by @quartzjer in #1056
- fix(asr): seam-gap repair probes a short window around every inter-word gap by @maboa in #1061
- fix(download): resume an interrupted model download instead of purging the repo folder by @Alex-Wengg in #1090
- fix(diarizer/sortformer): predict every frame of complete audio by @Alex-Wengg in #1091
- docs(asr): document that a v3 language hint is script-scoped by @Alex-Wengg in #1092
- fix(speaker/campplus): subtract the per-utterance fbank mean before CAM++ by @Alex-Wengg in #1094
- docs(asr): when to choose mel context for v3 long-form audio by @Alex-Wengg in #1095
- fix(sensevoice): pad to the lengths the loaded encoder accepts, so fp32 runs by @Alex-Wengg in #1096
- fix(asr/streaming): join a window that opens mid-word onto the previous text by @Alex-Wengg in #1097
- fix(asr/tdtJa): long-form Japanese defaults to no mel context and probes only long seam gaps by @Alex-Wengg in #1098
- fix(asr/vocab): no context bias against a word TDT heard confidently by @Alex-Wengg in #1100
- fix(speaker/campplus): load the _v2 CAM++ models that match 3D-Speaker by @Alex-Wengg in #1099
- docs(asr/vocab): document the rescue floors as an opt-in, with the measured trade-off by @Alex-Wengg in #1101
New Contributors
- @benchen216 made their first contribution in #1082
- @donpark made their first contribution in #1058
- @memgrafter made their first contribution in #1062
- @pumclong made their first contribution in #1055
- @quartzjer made their first contribution in #1056
Full Changelog: v0.18.1...v0.18.2