工业级
语音识别服务

语音识别、语音检测、标点恢复、说话人分离、情感检测、音频事件识别——统一的 Python 接口,一次调用完成全部处理。50+ 语言覆盖,私有化部署,生产就绪。

50+支持语言
170x实时处理速度
1 API统一调用接口
16K+GitHub Stars
# 一行启动语音识别服务
$ pip install torch torchaudio pip install funasr vllm fastapi uvicorn python-multipart
$ funasr-server --device cuda

# OpenAI SDK 直接调用
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8899/v1", api_key="x")
result = client.audio.transcriptions.create(
    model="fun-asr-nano",
    file=open("meeting.wav", "rb")
)
print(result.text)

核心能力

从原始音频到结构化输出的完整语音理解流水线,一次调用全部搞定

🎙️

语音识别

端到端 ASR,支持 50+ 语言,中文含 7 大方言及 26 种地域口音,自动语种检测

📍

语音检测 (VAD)

毫秒级语音活动检测,自适应静音阈值,精确切分语音段与静音段

✍️

标点恢复

自动添加标点符号和逆文本正则化,输出可直接阅读的规范文本

👥

说话人分离

自动识别"谁说了什么",为每句话标注说话人 ID,支持多人会议

😊

情感检测

识别开心、悲伤、愤怒、中性情感状态,适用于客服质检和舆情分析

🔔

音频事件识别

检测背景音乐、掌声、笑声、哭声等声学事件,完整音频场景理解

如何使用

三步开始:安装 → 选择场景 → 调用

$ pip install torch torchaudio pip install funasr vllm fastapi uvicorn python-multipart

Python 3.8+ · GPU 8GB+ · 支持 Linux / macOS

文件转写 — 上传音频,获得完整转录结果

适合会议录音、视频字幕、批量音频处理。自动包含 VAD 分段、标点、时间戳和说话人标注。

# 启动离线转写服务(pip 安装后直接可用)
$ funasr-server --device cuda --port 8899

# 调用(curl)
$ curl -X POST http://localhost:8899/v1/audio/transcriptions \
    -F "file=@meeting.wav" -F "model=fun-asr-nano" -F "response_format=verbose_json"
输出结果 [00:01.7 → 00:05.5] 说话人 0: 今天我们讨论三个议题。
[00:05.8 → 00:08.2] 说话人 1: 好的,第一个是关于 Q3 计划。
[00:08.5 → 00:12.1] 说话人 0: 请开始吧,我们有半小时。

实时识别 — 麦克风输入,边说边出结果

适合实时字幕、直播转写、语音助手。基于 WebSocket 协议,确认文字锁定不变,新文字持续更新。

# 流式服务需要源码(pip 暂不包含)
$ git clone https://github.com/modelscope/FunASR.git && cd FunASR
$ python examples/industrial_data_pretraining/fun_asr_nano/serve_realtime_ws.py --port 10095 --language 中文

# 浏览器打开自带的客户端页面
$ open client_mic.html

# 或用 Python 连接
$ python client_python.py --server ws://localhost:10095 --mic
实时输出(逐步更新) [实时] 今天我们讨论...
[确认] 今天我们讨论三个议题。
[实时] 好的第一个是...
[确认] 好的,第一个是关于 Q3 计划。

API 接入 — OpenAI 兼容,AI 框架零改动对接

标准 /v1/audio/transcriptions 接口,LangChain、AutoGen、Dify、Coze 等框架可直接调用,无需修改代码。

# 启动 OpenAI 兼容 API
$ funasr-server --device cuda

# Python 调用(与 OpenAI Whisper API 完全相同)
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8899/v1", api_key="x")

result = client.audio.transcriptions.create(
    model="fun-asr-nano",
    file=open("audio.wav", "rb"),
    response_format="verbose_json"
)
print(result.text)
返回 JSON {"text": "今天我们讨论三个议题。", "segments": [{"start": 1.7, "end": 5.5, "text": "..."}], "duration": 12.1}

更多用法

性能对比

184 文件 / 11,541 秒 / Fun-ASR-Nano

模型引擎RTFxCER备注
Fun-ASR-NanoPyTorch218.06%基准
Fun-ASR-NanovLLM batch3408.20%16x 加速
Fun-ASR-Nano离线服务1028.14%含 VAD + 时间戳
GLM-ASR-NanovLLM batch26512.93%社区模型

准确率与 PyTorch 完全一致(CER 差 < 0.2%),速度提升 16–340 倍。完整报告 →

产品演示

观看 FunASR 实时语音识别效果