funasr
OpenAI-compatible speech recognition toolkit with WebSocket streaming, vLLM acceleration, and llama.cpp/GGUF edge runtime.
What it is and what it does
FunASR is a production-grade speech recognition toolkit that goes beyond single-model transcription. It coordinates multiple specialized models—ASR, voice activity detection (VAD), speaker diarization, punctuation, and emotion tagging—into unified pipelines. You choose the checkpoint that fits your task: Fun-ASR-Nano for Chinese/English/Japanese with GPU acceleration, SenseVoiceSmall for CPU-viable five-language ASR with emotion detection, Paraformer for low-latency streaming, or Qwen3-ASR for 52-language coverage. The toolkit handles offline batch processing, real-time WebSocket streaming, and edge deployment via GGUF or vLLM acceleration.
It ships with OpenAI-compatible API serving, MCP server integration, and agent hooks for LangChain and AutoGen. The core dependency stack includes transformers, librosa, scipy, and Hydra for configuration; model weights are fetched from ModelScope or Hugging Face on first use. Unlike single-model alternatives, FunASR lets you trade off speed, language coverage, and feature richness per deployment scenario—from CPU-only inference to GPU-accelerated batch processing.
Use it for:
- Transcribe multilingual audio with speaker labels and timestamps for meeting notes, interview processing, or call center analytics.
- Deploy a self-hosted OpenAI-compatible speech API endpoint for voice agents and chatbots without cloud vendor lock-in.
- Extract emotion and audio events alongside transcription for customer sentiment analysis or accessibility.
- Stream live audio transcription via WebSocket for real-time captioning or voice command interfaces.
- Run low-latency ASR on CPU or edge devices using SenseVoiceSmall or GGUF checkpoints for embedded systems.
- Batch-process large audio corpora with vLLM acceleration for industrial data labeling or training dataset preparation.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
FunASR is a speech recognition toolkit that transcribes audio offline or via streaming, with integrated voice activity detection, speaker identification, punctuation restoration, and emotion/audio-event tagging across multiple languages and deployment targets.
Yes. FunASR is actively maintained, MIT-licensed, and offers a genuine alternative to single-model approaches. Install it if you need speaker diarization, emotion detection, streaming support, or self-hosted deployment. The 26 runtime dependencies add setup complexity, but the toolkit's flexibility across models and deployment targets justifies it for production use. Start with the Colab quickstart to test before local setup.
Install
funasr on PyPI
pip
pip install funasruv
uv add funasrpoetry
poetry add funasrInstalling funasr
Before you install
Low friction installation with a pure-Python wheel. Active maintenance (latest release 2026-08-14) and strong community signal (19836 GitHub stars). Requires installation of dependencies including transformers and librosa before use; GPU support is optional but recommended for flagship models.
License in practice
MIT license (permissive) allows commercial and private use without restriction. Toolkit itself is free and self-hosted; individual model licenses vary by checkpoint.
Quickstart
pip install funasr
from funasr import AutoModel
model = AutoModel(model="iic/SenseVoiceSmall", device="cpu")
result = model.generate(input="audio.wav")
print(result[0]["sentence_info"])
Requires Python ≥ 3.7. Dependencies include transformers, librosa, scipy, and others; GPU-accelerated models require additional setup. CPU-only inference is viable but slower than GPU deployment.
Verify before relying
- Whether all 26 runtime dependencies are required for basic usage or only for specific models/features.
- Specific performance metrics and whether they apply to typical hardware configurations.
- Detailed compatibility matrix between model checkpoints and deployment targets (CPU, GPU, GGUF, vLLM).
- Whether external PyTorch installation is a hard blocker or handled by dependency resolution.
Package facts
| License | The MIT License (permissive) |
| Python support | supports the current Python release (>=3.7.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 26 — scipy, librosa, soundfile, numpy, PyYAML, tqdm, requests, regex, websockets, omegaconf, hydra-core, modelscope, huggingface_hub, safetensors, transformers, tiktoken, sentencepiece, kaldiio, jieba, jamo, jaconv, umap_learn, rapidfuzz, torch_complex, tensorboardX, oss2 |
| Maintenance | actively maintained — 0 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 497,863/month — #6,331 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: funasr-1.4.2-py3-none-any.whl
Keywords: speech-recognition, asr, speaker-diarization, vad, pytorch, whisper-alternative, multilingual, openai-compatible, websocket, vllm, gguf, llama-cpp
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
sherpa-onnxSherpa-onnx runs speech recognition,…
permissive · top 15,000 on PyPI
sherpa-onnx-coresherpa-onnx-core provides pre-built ONNX…
permissive · top 15,000 on PyPI
whisper-timestampedAdds word-level timestamps and confidence…
copyleft · top 15,000 on PyPI
onnx-asrAutomatic Speech Recognition using ONNX models…
permissive · top 15,000 on PyPI
openai-whisperWhisper performs multilingual speech…
permissive · top 5,000 on PyPI
SpeechRecognitionPerforms speech recognition and transcription…
permissive · top 5,000 on PyPI
qwen-asrQwen3-ASR provides speech recognition and…
permissive · top 15,000 on PyPI
whisperxWhisperX performs fast automatic speech…
permissive · top 5,000 on PyPI
livekit-plugins-speechmaticsIntegrates Speechmatics speech-to-text into…
permissive · top 15,000 on PyPI
kaldifstPython wrapper for OpenFst and Kaldi…
permissive · top 15,000 on PyPI