FunASR v1.3.28: Reliable Realtime ASR and Better Subtitles
FunASR v1.3.28 is a focused reliability release for live transcription and subtitle generation. Realtime WebSocket sessions now keep the best continuous transcript when a final decode regresses, while SenseVoice subtitle cues preserve text and timestamp alignment.
The signed release includes the Python wheel, source distribution, and nine self-contained llama.cpp / GGUF runtimes on one download page.
What changed
| Scenario | v1.3.28 behavior | Why it matters |
|---|---|---|
| VAD-locked final decode becomes a short prefix, repetition, or exception | The server keeps the clean continuous partial covering the utterance | Final text no longer loses the end of a live sentence or replaces it with a repeated phrase |
Short audio tail followed by STOP | The pending samples use the same final decode path | Short endings are returned instead of being silently dropped |
| WebSocket disconnect or handler error | Connection exceptions are imported explicitly and unexpected errors reach the generic handler | Error handling is stable across supported websockets versions and import order |
| SenseVoice subtitle segmentation | Rich tags, punctuation, and word/BPE timestamps stay aligned | Chinese is not collapsed into one cue and English surface text is preserved |
1. Upgrade the Python package
Upgrade both realtime and subtitle deployments to the exact hotfix release:
python -m pip install -U "funasr==1.3.28"
funasr --version
The package version, command-line version, and server banner all report 1.3.28. Existing model caches and API request formats remain compatible.
2. Realtime and subtitle paths
For live Fun-ASR-Nano sessions, use the packaged realtime entry point and the repository's vLLM guide. Client-driven COMMIT and server VAD modes share the corrected finalization logic.
funasr-realtime-server --help
# See docs/vllm_guide.md for model and device options
SenseVoice users receive the subtitle alignment fix through the same package upgrade; no output-schema migration is required.
3. Download the self-contained llama.cpp / GGUF runtime
runtime-llamacpp-v0.1.9 ships nine Linux x64/ARM64, macOS ARM64, and Windows x64 packages. Linux includes AVX2 and Vulkan options; Windows includes AVX2, Vulkan, and CUDA, including funasr-llamacpp-windows-x64-vulkan.zip. Each archive provides a self-contained llama-funasr-* binary entry point.
- Choose the standard CPU build when you do not want to maintain Python.
- Choose Vulkan or CUDA for desktop GPU acceleration.
- Choose ARM64 for edge devices and Apple Silicon.
See the llama.cpp / GGUF page for models, commands, and hardware selection. Runtime assets and model versions are linked together so users do not have to hunt across releases.
What each repository owns
| Repository | What to follow |
|---|---|
| FunASR | Toolkit, serving, OpenAI API, vLLM, llama.cpp, and deployment docs |
| Fun-ASR | Fun-ASR-Nano / MLT models, capabilities, benchmarks, and model integrations |
| SenseVoice | Multilingual ASR plus emotion, language, and audio-event recognition |
| FunClip | Speech-driven video understanding, retrieval, and editing |
Run one real audio file through the path that fits your deployment. File a reproducible GitHub issue when something blocks you, and star the repository you actually use.
Open the v1.3.28 release and downloads