FunASR is an industrial-grade open-source speech recognition toolkit (Python) covering offline and streaming ASR, VAD, punctuation restoration, and speaker diarization, with OpenAI-compatible serving and MCP integration.
- v1.4.17
- Published at
- 4h ago
- 20,859
- Stars
- 9,592
- Download
- Synced at
- 25m ago
Latest release
v1.4.17Oct 28, 2026, 09:40 AMDownloads slow? Switch the source anytime above
README
Project Overview
FunASR is an industrial speech recognition toolkit open-sourced by Alibaba DAMO Academy, covering offline transcription, streaming recognition, and edge deployment. It models ASR, voice activity detection, punctuation restoration, and speaker diarization as composable units, ships strong Chinese models such as Paraformer, and offers an OpenAI-compatible API plus an MCP Server for agent workflows.
Tasks, checkpoints, and runtimes are decoupled, so you can compose a full speech pipeline per scenario.
| Item | Value |
|---|---|
| Platform | Linux, macOS, Windows (CPU and GPU) |
| Language | Python |
| License | MIT |
| Serving | Local SDK, OpenAI-compatible API, MCP Server |
Key Features
- Speech recognition: offline and streaming transcription with strong Chinese support, multiple languages and dialects
- Voice activity detection: FSMN-VAD segments speech boundaries and splits long audio
- Punctuation restoration: adds punctuation to transcripts automatically
- Speaker diarization: CAM++ separates speakers with timestamps
- Emotion recognition: SenseVoice outputs emotion and audio-event tags
- Model composition: chain ASR, VAD, and speaker models into a pipeline
- Serving: OpenAI-compatible API, MCP Server, and vLLM batch acceleration
Target Audience
- Developers transcribing meeting recordings and podcasts locally
- Engineers building real-time voice assistants
- Algorithm engineers working on Chinese ASR
- Teams wiring speech into agent workflows
Quick Start
- Install:
pip install torch torchaudio
pip install funasr- Load a model and transcribe:
from funasr import AutoModel
model = AutoModel(model='FunAudioLLM/Fun-ASR-Nano-2512', device='cuda')
result = model.generate(input='asr_example_zh.wav')
print(result[0]['text'])- Use SenseVoiceSmall on CPU; see the official vLLM guide for GPU deployment
Core Advantages
- Strong Chinese: the Paraformer family handles Chinese and dialects well
- Flexible deployment: one toolkit spans CPUs, GPUs, and edge devices
- Easy integration: OpenAI-compatible API and MCP Server are ready to use
System Requirements
| Item | Requirement |
|---|---|
| OS | Linux, macOS, Windows |
| Runtime | Python |
| Hardware | Runs on CPU; GPU needs a CUDA-matched PyTorch |
Notes
- GPU check: confirm
torch.cuda.is_available()returns True before settingdevice=cuda; otherwise use CPU or reinstall a CUDA-matched PyTorch - Speaker IDs: returned speaker indices are valid within a single recording and are not real identities
- Checkpoint choice: Fun-ASR-Nano and MLT-Nano cover different languages; treat them as separate choices
Release history
Sort