- Category
- AI Tools
- Rank
- No. 78Tools index
- Type
- APP
- Builder
- modelscope
- GitHub
- 20.3k stars
- Latest release
- v1.4.15
- Date
About
An industrial-grade speech-recognition toolkit with 170x-realtime inference, 50+ languages, and speaker diarization.
What it does
FunASR lets teams assemble self-hosted speech pipelines from separate recognition, voice-activity, punctuation, and speaker models. It handles offline files, live streams, subtitles, emotion and audio-event tags, and exposes results through Python, terminal commands, WebSockets, MCP, or an OpenAI-compatible service.
Why it's ranked here
The case rests on unusually broad deployment coverage and concrete performance documentation. Its published 184-file benchmark reports 340 times realtime throughput for Fun-ASR-Nano with vLLM batching, while the toolkit also offers CPU-oriented, streaming, subtitle, diarization, and private API paths. That breadth comes with meaningful setup complexity.
What's good
Model choice maps clearly to workloads. SenseVoice targets CPU-friendly multilingual transcription and sound tags. Paraformer covers Mandarin, timestamps, hotwords, and streaming. Fun-ASR-Nano handles harder contextual audio and can use vLLM for batch throughput. Structured JSON, SRT, TSV, speaker labels, timestamps, and punctuation reduce downstream transcript work.
Tradeoffs
Capabilities belong to different checkpoints and composed pipelines, not one universal model. The flagship Nano path needs a GPU, while its vLLM setup requires careful CUDA, driver, and PyTorch compatibility. Diarization uses a separate speaker model. Production batch callers still own queueing, manifests, retries, and logs. Toolkit code is MIT, but model licenses vary.
How to use it well
Use it for private transcription services, meeting pipelines, subtitle generation, archive processing, agent speech tools, or live captioning where model and runtime control matter. Start with a browser or Python smoke test, then benchmark representative noise, languages, silence, and overlapping speakers. It does not provide an application-layer interface or managed production operations.
Technical notes+
README.md presents AutoModel as the composition layer for ASR, VAD, punctuation, and speaker models, plus funasr-server for an OpenAI-compatible endpoint. setup.py defines the Python package, console entry points for transcription, serving, realtime WebSockets, training, export, and dataset conversion, along with substantial runtime dependencies and optional train, test, documentation, and LLM extras. pyproject.toml uses setuptools.build_meta. docs/vllm_guide.md describes a split engine: PyTorch creates audio embeddings, vLLM performs continuously batched decoding, and optional CTC forced alignment produces character timing. Note the compatibility mismatch: setup.py declares Python >=3.7.0, while README.md states Python >=3.8.
Observed
- License
- MIT for the toolkit; model licenses vary
- Primary language
- Python
- Packaging
- PyPI package and editable source installation via setuptools
- Interfaces
- Python library, CLI, OpenAI-compatible HTTP API, WebSocket service, and MCP example
- Platforms
- Linux, macOS, and Windows are declared in package classifiers
- Build system
- setuptools.build_meta with wheel support
Read from README.md, setup.py, pyproject.toml, docs/cli.md, docs/README.md, docs/vllm_guide.md, docs/vllm_guide_zh.md, docs/model_selection.md, docs/troubleshooting.md, docs/repository_roles.md, docs/vllm_guide_zh_v2.md, docs/deployment_matrix.md, docs/use_case_showcase.md.
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.
