pypi / funasr
funasr
What changed in funasr 1, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-28.
1 new APIs and options3 performance2 behavior and defaults1 tooling31 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli initfunasr 138 changes
New APIs and options 1
Supports explicit PCM16 input without container probing.
Performance 3
Bounds clustering thread usage and avoids over-computing the spectrum.
Reports a B200 single-GPU step-time reduction from 0.244 s to 0.068 s, mostly by avoiding cuDNN SDPA plan builds on every new batch shape.
Avoids deep-copying the checkpoint when loading a pretrained model.
Behavior and default changes 2
Idle time is excluded from the dynamic VAD silence schedule.
The NumPy upper bound is removed, enabling compatibility with NumPy 2.
Tooling 1
Adds first nonempty transcript latency to benchmark reporting.
Fixes and other changes 31
Warns when unavailable accelerators cause a fallback to CPU.
Resolves the autocast and GradScaler device type for non-CUDA accelerators.
Prevents crashes on blank lines and avoids returning empty statistics.
Uses y.device instead of hardcoded .cuda() when computing variance.
Skips empty deduplicated event segments.
Binds distributed training to the active accelerator.
Handles empty references, sizes cost matrices for long inputs, and reports unscored references in the WER summary line.
Prevents fuzzy postprocess matching from rewriting nearby text.
Warns when jieba is unavailable for readable SRT splitting.
Ignores empty keyword entries.
Avoids duplicate fs and preserves audio loading errors.
Corrects punctuation timestamps across VAD merges.
Skips blank lines and reads hotword files as UTF-8.
Corrects timestamp alpha and peak argument order.
Recovers partials for merged long segments.
Reads and writes lists as UTF-8.
Stops rendering the Cough event as the Sneeze emoji.
Preserves SentencePiece word boundaries.
Assigns sentence speakers by total overlap without double counting.
Retains the unpunctuated tail in sentence timestamps.
Preserves the resampled rate for speaker inference.
Avoids a stale start timestamp when the timestamp list is shorter than the punctuation list.
Retains token separators in raw_text.
Generates independent keys for unkeyed batch inputs.
Skips blank lines in wav.scp and jsonl file lists.
Explicit device placement is preserved across repeated inference calls, and runtime device overrides do not mutate already-loaded models or caller-owned submodel configuration.
Explicit device placement is preserved across repeated inference calls; speaker inference uses the speaker model's own configuration.
Explicit device placement is preserved across repeated inference calls, and runtime device overrides do not mutate already-loaded models or caller-owned submodel configuration.
Unavailable validation metrics are excluded from checkpoint ranking.
Streaming preserves KWS frames across packet and EOS boundaries.
Optional output directories are now honored.