Releases: modelscope/FunASR
Release list
v1.3.22
v1.3.21
What's Changed
Full Changelog: v1.3.20...v1.3.21
v1.3.20
What's Changed
- docs: add LiveTalking community integration by @LauraGPT in #3262
- docs: add RAGFlow community integration by @LauraGPT in #3263
- docs: add Dify community integration by @LauraGPT in #3264
- docs: add Wyoming FunASR community integration by @LauraGPT in #3265
- docs: add NarratoAI community integration by @LauraGPT in #3266
- docs: add Optimum Intel community integration by @LauraGPT in #3267
- docs: add SGLang Omni community integration by @LauraGPT in #3268
- docs: add OpenVINO Notebooks community integration by @LauraGPT in #3269
- docs: add Sokuji community integration by @LauraGPT in #3270
- docs: add discovery list community entries by @LauraGPT in #3271
- docs: add Linux dictation community integrations by @LauraGPT in #3272
- docs: add QuQu community integration by @LauraGPT in #3273
- docs: refresh OmniVoice community integration by @LauraGPT in #3274
- docs: refresh Sokuji community integration by @LauraGPT in #3275
- docs: refresh RAGFlow community integration by @LauraGPT in #3276
- docs: add OpenLess community integration by @LauraGPT in #3277
- docs: add voiceai discovery listing by @LauraGPT in #3278
- docs: add audio model discovery lists by @LauraGPT in #3279
- docs: link long-session diagnostics from release news by @LauraGPT in #3280
- docs: quote current FunASR install commands by @LauraGPT in #3281
- docs: add clowder-ai community integration by @LauraGPT in #3282
- docs: add SGLang Omni review-fix evidence by @LauraGPT in #3283
- docs: refresh HF integration growth status by @LauraGPT in #3284
- docs: add Stet Fun-ASR Nano integration by @LauraGPT in #3285
- docs: refresh HF model-card status by @LauraGPT in #3286
- docs: refresh external growth tracker by @LauraGPT in #3287
- release: prepare funasr 1.3.20 by @LauraGPT in #3288
Full Changelog: v1.3.19...v1.3.20
FunASR 1.3.19
FunASR 1.3.19
This release ships the realtime WebSocket long-session diagnostics in the PyPI package and keeps the 1.3.18 subtitle fixes available for CLI users. It is the recommended package for anyone testing long realtime sessions, speaker-enabled streaming, or subtitle export from the funasr command.
Install or upgrade
python -m pip install -U "funasr==1.3.19"What changed
- Realtime WebSocket diagnostics are now packaged with the release docs. Start the server with
--enable-spk --log-session-stats-interval 30and collect the emittedSession stats:lines when debugging disconnects, RTF growth, or memory growth. - The long-session guide explains how to distinguish bounded session state from model inference, payload size, or container scheduling bottlenecks by watching audio buffers, locked sentence counts, speaker history chunks, speaker embeddings, and speaker centers.
- CLI subtitle generation keeps the 1.3.18 behavior:
srtandtsvoutput request sentence timestamps and load punctuation when needed, so subtitle files split into readable cues instead of one full-text block. - The release includes the latest community documentation updates so users can discover verified FunASR/SenseVoice integrations from the official docs.
Quick checks
Realtime long-session retest:
python -m pip install -U "funasr==1.3.19"
python funasr/bin/realtime_ws.py \
--host 0.0.0.0 \
--port 10095 \
--enable-spk \
--log-session-stats-interval 30Subtitle smoke test:
funasr input.wav --output-format srt --output-dir ./subsHelpful links
- Long-session docs:
docs/vllm_guide.md - CLI subtitle docs:
docs/cli.md - Community integrations:
docs/community_projects.md - Full changelog: v1.3.18...v1.3.19
FunASR 1.3.18
Install
python -m pip install -U "funasr==1.3.18"What changed
This patch release ships the CLI subtitle segmentation fix from #3254 for the user-reported #3253 regression in funasr ... --output-format srt.
- SRT/TSV output now requests sentence-level timestamps from
AutoModel.generate. - Subtitle generation loads the punctuation model when needed for SenseVoice-style CLI runs.
- Single-cue fallback now uses known timestamp/audio bounds instead of an invalid placeholder duration.
- SRT millisecond formatting now avoids float truncation drift.
- Malformed timestamp entries are skipped safely instead of crashing fallback formatting.
Verification
python3 -m pytest tests/test_cli.py tests/test_generate_subtitle.py tests/test_punc_model_none.py -q-> 9 passedpython3 -m py_compile funasr/cli.py tests/test_cli.py setup.pypython3 -m build --outdir disttwine check dist/*- Wheel content check confirmed version
1.3.18, console entry point, subtitle timestamp request, punctuation setup, and safe timestamp parsing.
Artifacts
- PyPI: https://pypi.org/project/funasr/1.3.18/
- Wheel SHA-256:
20e85f86e5b700a1f2b9b496e92076d0787272eafeb9716caa9fdf6f1c4b9a77 - Source tarball SHA-256:
31502e2395f336ab12d158a55fadb305678252872572e4bde120828128c25923
FunASR 1.3.17
FunASR 1.3.17 focuses on making local and long-running speech deployments easier to install, debug, and share.
Install
python -m pip install -U "funasr==1.3.17"
python -c "import funasr; print(funasr.__version__, funasr.__file__)"Highlights
- Realtime WebSocket diagnostics for long SenseVoice / Fun-ASR-Nano sessions. Use
--log-session-stats-interval 30to print bounded-session state such as retained audio samples, locked sentences, speaker history chunks, speaker embeddings, and speaker centers while reproducing long-session disconnect or RTF growth reports. - SenseVoice llama.cpp runtime improvements, including a backend selector and README promotion for Windows CUDA users.
- Windows CUDA llama.cpp release asset published for users who want a local binary path instead of building from source.
- Documentation links for the SenseVoice paper and GGUF checkpoints, making it easier to find local-runtime model artifacts.
Long Realtime Session Retest Path
For reports like long-running serve_realtime_ws.py --enable-spk sessions slowing down or disconnecting, please test this public package and include the final session stats in any follow-up issue:
python -m pip install -U "funasr==1.3.17"
python examples/industrial_data_pretraining/fun_asr_nano/serve_realtime_ws.py \
--enable-spk \
--log-session-stats-interval 30Useful logs to attach:
- final
Session stats: ...lines - last observed RTF values
- process RSS and GPU memory
- whether the server printed a close/error log
What's Changed
- Add SenseVoice llama.cpp backend selector by @LauraGPT in #3247
- Add Windows CUDA llama.cpp release asset by @LauraGPT in #3248
- Add realtime WebSocket session stats logging by @LauraGPT in #3249
- Promote llama.cpp Windows CUDA release in README by @LauraGPT in #3250
- docs: link SenseVoice paper and GGUF checkpoints by @LauraGPT in #3251
- Release FunASR 1.3.17 by @LauraGPT in #3252
Full Changelog: v1.3.16...v1.3.17
FunASR llama.cpp runtime v0.1.7
Prebuilt self-contained binaries for the FunASR llama.cpp / GGUF runtime: SenseVoice, Paraformer and Fun-ASR-Nano with built-in FSMN-VAD. Download the default quantized model with bash download-funasr-model.sh <sensevoice|paraformer|nano> (the helper requires the Hugging Face CLI: pip install -U huggingface_hub), then run llama-funasr-cli / llama-funasr-sensevoice / llama-funasr-paraformer. Use the default x64 asset for maximum CPU compatibility; use the x64-avx2 asset on CPUs with AVX2/FMA/F16C/BMI2 for higher throughput. The Windows CUDA asset is windows-x64-cuda; it requires an NVIDIA driver compatible with the CUDA Toolkit version configured by the release workflow, targets CUDA architecture 86, and enables SenseVoiceSmall graph execution with llama-funasr-sensevoice ... --backend cuda. Build from source for other GPU architectures. No Python ASR runtime or local build is required. Docs: https://github.com/modelscope/FunASR/blob/runtime-llamacpp-v0.1.7/runtime/llama.cpp/README.md
FunASR 1.3.16
What's changed
FunASR 1.3.16 makes the Fun-ASR-Nano realtime WebSocket service directly installable from PyPI.
- Run the service with
funasr-realtime-serverafter installing FunASR. - Use
--endpoint-mode clientwhen the client controls utterance boundaries withCOMMITmessages. - Stream multiple utterances on one connection with monotonic absolute timestamps.
- Keep the existing example entrypoint as a compatibility wrapper.
- Support current
websocketsreleases through an explicit runtime dependency.
pip install --upgrade funasr
funasr-realtime-server --endpoint-mode clientThe installed wheel was validated end to end on an NVIDIA H100 with Fun-ASR-Nano, vLLM 0.19.1, Torch 2.10.0+cu128, and websockets 16.1.
Full changelog: v1.3.15...v1.3.16
FunASR v1.3.15: more reliable streaming, hotwords, and Fun-ASR-Nano
FunASR v1.3.15 rolls up the production fixes merged since v1.3.14, with a focus on long-running streaming sessions, Fun-ASR-Nano compatibility, and predictable CLI/text behavior.
Streaming and deployment reliability
- Bound streaming VAD frame buffers so long sessions do not retain audio indefinitely. (#3236)
- Remove duplicate dynamic-silence state updates that could produce inconsistent segment boundaries. (#3240)
- Bound realtime WebSocket session state, accept float32 runtime dtype, and expose keepalive controls. (#3214, #3204, #3121)
Fun-ASR-Nano fixes
- Correct stereo-audio preprocessing and NPU autocast device selection. (#3102, #3113)
- Make CTC batch fallback robust and disable timestamps cleanly when a checkpoint has no CTC weights. (#3187, #3211)
- Warn before a single vLLM request exceeds the supported audio window. (#3033)
CLI and text processing
- Route Paraformer CLI hotwords correctly and add post-processing hotword correction to
AutoModel.generate(). (#3237, #2959) - Add explicit model-hub selection to the CLI. (#3046)
- Prevent SenseVoice special-token strings from being mistaken for batched text and handle Unicode punctuation consistently. (#3110, #3238)
- Replace
editdistancewith RapidFuzz for maintained, guarded error-rate metrics.
Upgrade
pip install --upgrade funasr==1.3.15Full changelog: v1.3.14...v1.3.15
FunASR llama.cpp runtime v0.1.6
Prebuilt self-contained binaries for the FunASR llama.cpp / GGUF runtime: SenseVoice, Paraformer and Fun-ASR-Nano with built-in FSMN-VAD. Download the default quantized model with bash download-funasr-model.sh <sensevoice|paraformer|nano> (the helper requires the Hugging Face CLI: pip install -U huggingface_hub), then run llama-funasr-cli / llama-funasr-sensevoice / llama-funasr-paraformer. Use the default x64 asset for maximum CPU compatibility; use the x64-avx2 asset on CPUs with AVX2/FMA/F16C/BMI2 for higher throughput. No Python ASR runtime or local build is required. Docs: https://github.com/modelscope/FunASR/blob/runtime-llamacpp-v0.1.6/runtime/llama.cpp/README.md