Repository navigation
FunASR 1.4.17
Release source: 19e33badf1dba6f7606c9410c32c622486b5df13 (tag v1.4.17).
- 487 focused pytest checks passed; two local browser cases were skipped. The final PR-head hosted browser and other CI checks passed separately.
- Real NVIDIA L20Z validation includes CUDA compile checks and 48 CPU/CUDA FP32/BF16 keyword-decoding comparisons. These use synthetic inputs or tiny stand-ins, not pretrained ASR quality evaluation.
- Published wheel and sdist source bytes were checked against the final tag; strict Twine, offline installation, import and CLI checks passed.
- All ten runtime archives (including CUDA Blackwell), wheel and sdist were byte/hash and integrity verified. Eight files were downloaded from this release; four unchanged runtime archives reuse complete verified cache bytes whose full SHA-256 and size equal the new GitHub asset metadata. The new Python packages do not reuse candidate builds.
SHA256SUMScovers these 12 payloads. Archive integrity was checked; platform binaries were not executed.
This is focused release validation, not the complete repository test suite or the Nano leaderboard regression.
What's Changed
- Publish FunASR 1.4.16 bilingual site guide by @LauraGPT in #3721
- Record FunASR 1.4.16 release closeout by @LauraGPT in #3722
- fix(campplus): bound the clustering thread usage and stop over-computing the spectrum by @Gmgge in #3699
- fix(paraformer): correct timestamp alpha and peak argument order by @xx205 in #3716
- [perf] Fun-ASR-Nano fine-tuning on B200: 0.244 s to 0.068 s per step at 1 GPU, mostly from cuDNN SDPA plan builds on every new batch shape by @TarzanZhao in #3705
- fix: use y.device instead of hardcoded .cuda() in data2vec compute_var by @li-lizhe in #3710
- docs: note mixed-device support in PyPI 1.4.16 by @LauraGPT in #3724
- docs(nano): clarify training-speed evidence and release scope by @LauraGPT in #3725
- docs: 新增《在昇腾 NPU 上运行 FunASR》指南 by @Liuzi0816 in #3708
- fix(nano): correct punctuation timestamps across VAD merges by @Bruce-Yii in #3703
- fix: avoid deep-copying the checkpoint in load_pretrained_model by @yydhYYDH in #3729
- Remove unused imports by @yaojingguo in #3731
- Fix invalid escape sequences in text normalization and models by @MBK-fr in #3709
- fix: assign sentence speakers by total overlap without double counting by @LauraGPT in #3733
- feat(benchmark): report first nonempty transcript latency by @LauraGPT in #3734
- fix(sensevoice): preserve SentencePiece word boundaries by @LauraGPT in #3737
- fix(website): correct LiteLLM transcription route and guards by @LauraGPT in #3736
- docs: diagnose actual AutoModel GPU placement by @LauraGPT in #3740
- fix(amp): resolve autocast/GradScaler device type for non-CUDA accelerators by @li-lizhe in #3735
- fix(auto): warn when unavailable accelerators fall back to CPU by @LauraGPT in #3742
- Fix stale start timestamp in timestamp_sentence_en when timestamp list is shorter than punctuation list by @Arthur031221 in #3741
- docs: surface merged speech-to-speech SenseVoice integration by @LauraGPT in #3743
- docs(ops): record verified product-site release by @LauraGPT in #3745
- fix(hotwords): stop fuzzy postprocess matching from rewriting nearby text by @Arthur031221 in #3744
- fix: keep token separators in timestamp_sentence raw_text by @MohammadHijjawi97 in #3746
- fix(sensevoice): stop rendering the Cough event as the Sneeze emoji by @MohammadHijjawi97 in #3747
- fix(runtime): skip empty deduplicated event segments by @LauraGPT in #3748
- ci: run rich transcription regressions in ONNX package checks by @LauraGPT in #3749
- feat(audio): support explicit PCM16 input without container probing by @LauraGPT in #3751
- ci: cover CLI regressions in CPU NumPy checks by @LauraGPT in #3752
- docs(ops): make site monitoring aware of log rotation by @LauraGPT in #3753
- fix(realtime): recover merged long-segment partials by @LauraGPT in #3755
- fix(auto-model): preserve the resampled rate for speaker inference by @hulkbig in #3763
- fix: retain unpunctuated tail in sentence timestamps by @Arthur031221 in #3754
- fix(auto): skip blank lines in wav.scp and jsonl file lists by @Lesereingrape in #3758
- fix(paraformer): skip blank lines and read hotword files as UTF-8 by @MohammadHijjawi97 in #3761
- ci: cover timestamp and Paraformer hotword regressions by @LauraGPT in #3765
- docs: fix contact image paths in runtime SDK tutorials by @pratikgx in #3764
- fix(frontend): stop cmvn readers from crashing on blank lines or returning empty statistics by @Lesereingrape in #3760
- fix(auto): generate independent keys for unkeyed batch inputs by @hulkbig in #3772
- fix(data): read and write scp2jsonl/jsonl2scp lists as UTF-8 by @MohammadHijjawi97 in #3774
- docs: fix SenseVoice README images and Android SDK guide link by @pratikgx in #3775
- fix(train): bind distributed training to the active accelerator by @li-lizhe in #3771
- fix(metrics): score utterances with an empty reference in funasr.metrics.wer by @MohammadHijjawi97 in #3779
- fix(nano): avoid duplicate fs and preserve audio loading errors by @txfs19260817 in #3778
- fix(metrics): size the WER cost matrix for long inputs by @Batianxieshen1 in #3784
- fix(metrics): size the duplicated WER cost matrices for long inputs by @Batianxieshen1 in #3785
- fix(metrics): report unscored references in the WER summary line by @MohammadHijjawi97 in #3787
- fix(cli): warn when jieba is unavailable for readable SRT splitting by @Linxiushen in #3726
- fix(kws): ignore empty keyword entries in KwsCtcPrefixDecoder by @MohammadHijjawi97 in #3800
- Release FunASR 1.4.17 by @LauraGPT in #3770
New Contributors
- @Gmgge made their first contribution in #3699
- @xx205 made their first contribution in #3716
- @TarzanZhao made their first contribution in #3705
- @Liuzi0816 made their first contribution in #3708
- @Bruce-Yii made their first contribution in #3703
- @yydhYYDH made their first contribution in #3729
- @yaojingguo made their first contribution in #3731
- @MBK-fr made their first contribution in #3709
- @Arthur031221 made their first contribution in #3741
- @MohammadHijjawi97 made their first contribution in #3746
- @hulkbig made their first contribution in #3763
- @Lesereingrape made their first contribution in #3758
- @pratikgx made their first contribution in #3764
- @txfs19260817 made their first contribution in #3778
- @Batianxieshen1 made their first contribution in #3784
- @Linxiushen made their first contribution in #3726
Full Changelog: v1.4.16...v1.4.17
Runtime downloads
This Python release pairs with the current prebuilt llama.cpp / GGUF runtime release: runtime-llamacpp-v0.2.6.
The same verified runtime assets are attached directly to this Python release so users can find the package and self-contained llama-funasr-* binaries in one place.
| Platform | Asset | SHA-256 |
|---|---|---|
| Linux arm64 | funasr-llamacpp-linux-arm64.tar.gz | 7bca29cfa3c9a08e235a62212ca9e00f6656e59a8f07078966a2bfda1e5aa1f9 |
| Linux x64 AVX2 | funasr-llamacpp-linux-x64-avx2.tar.gz | aaebc5470f846ce915200b35d6e9f9bd0a0d3ed399d39e49bdeb7a1f1782bc70 |
| Linux x64 Vulkan | funasr-llamacpp-linux-x64-vulkan.tar.gz | f02d41e98e9d4041f0896661007193810f025484d2175958f7c1313d5c90ec46 |
| Linux x64 portable | funasr-llamacpp-linux-x64.tar.gz | 779967de1c528c2be966bcc47f246e7d3e6fcdb748d9491263062f4120f35e52 |
| macOS arm64 | funasr-llamacpp-macos-arm64.tar.gz | bda59474202b887190f59d25b7b42c714469efae71276072c12fa0a38de68792 |
| Windows x64 AVX2 | funasr-llamacpp-windows-x64-avx2.zip | 062cda8fefadd31c3e811227116daccf448a8520f4b0bb168d225c896e65ebbd |
| Windows x64 CUDA Blackwell (sm_120) | funasr-llamacpp-windows-x64-cuda-blackwell.zip | e32961a753f40888182f352fa551159c5165a6a77718ae4ade316aedfea4b1c2 |
| Windows x64 CUDA | funasr-llamacpp-windows-x64-cuda.zip | 148657911fb666b7af6ec43af2e23a0984e3259012b4c39f95631b717feb6840 |
| Windows x64 Vulkan | funasr-llamacpp-windows-x64-vulkan.zip | debf8007e55011cad06081e7b8a78972f1b8fe672bc324d41e650d68821f6a6a |
| Windows x64 portable | funasr-llamacpp-windows-x64.zip | f6a73a548413ba9fbaf2145263ea66ec53cbdad1fb11790dbeeee493e339492e |
Quick start: download one asset, unpack it, then run the bundled download-funasr-model.sh <sensevoice|paraformer|nano> helper and one of llama-funasr-cli, llama-funasr-sensevoice, or llama-funasr-paraformer.
For Python users, install from PyPI:
python -m pip install -U "funasr==1.4.17"