modelscope

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 AM
Downloads 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

  1. Install:
pip install torch torchaudio
pip install funasr
  1. 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'])
  1. 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 setting device=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