
FunASR 语音识别实战从装到能跑分角色会议转写的 3 步【免费下载链接】FunASROpen-source speech recognition toolkit for training, inference, streaming ASR, VAD, punctuation, speaker diarization pipelines, and OpenAI-compatible/MCP serving.项目地址: https://gitcode.com/GitHub_Trending/fun/FunASR一小时会议录音里六个人抢话转写出来是一整坨没有标点的文字——谁说了什么、哪句话对应第几秒全靠猜。这正是开源语音识别工具包 FunASR 要解决的痛点它把语音活动检测、识别、标点恢复、说话人分离装进一次 AutoModel 调用直接产出带说话人标签、时间戳和标点的转写还支持实时流式识别与私有化部署。 先跑起来2 条 pip 命令拿到带说话人的转写先装依赖GPU 用户需先装与驱动匹配的 PyTorch 版本pip install torch torchaudio pip install funasr然后写一个 8 行脚本首次运行会自动下载模型SenseVoice 识别 FSMN-VAD 检测 CAM 说话人CPU 就能跑from funasr import AutoModel from funasr.utils.postprocess_utils import rich_transcription_postprocess model AutoModel(modeliic/SenseVoiceSmall, vad_modelfsmn-vad, spk_modelcam, devicecpu) result model.generate(inputmeeting.wav) for seg in result[0][sentence_info]: print(f[{seg[start]/1000:.1f}s] Speaker {seg[spk]}: {rich_transcription_postprocess(seg[sentence])})输出形如[0.6s] Speaker 0: 欢迎大家来体验……——时间戳、说话人编号、文本都有了。一段会议记录的核心信息到这里已经成型。 功能地图五个环节各管一段FunASR 不是单一模型而是模型工具包每个环节有专门模型按需拼装语音识别ASRParaformer中文 220M 参数字级时间戳 热词、SenseVoiceSmall中/英/日/韩/粤 情感与音频事件标签、Fun-ASR-Nano中/英/日 方言LLM 路线。解决音频变文字、且要准。语音活动检测VADFSMN-VAD仅 0.4M 参数判断两小时录音里哪些时段有人在说话VAD 即检测哪段是语音让后面的识别模型只处理有效片段。标点恢复PUNCCT-Transformerct-punc给无标点长句恢复标点文本才能读得下去。说话人分离DiarizationCAM7.2M提取说话人特征并聚类回答这句话是谁说的。流式识别Paraformer-zh-streaming 按块喂音频边说边出部分结果用于直播字幕与实时对话。热词hotword关键词 20这类参数把领域专有词加权进解码专治人名、术语总认错。⚙️ 底层视角一段音频走过的五道关卡离线识别的流水线如下图所示顺着实线箭头从左边读起长音频先进入消息队列FSMN-VAD做端点检测——端点就是句子起止的边界非静音视频段才放行两小时文件先被切成几十段有效语音。接着Paraformer声学模型把声学特征转成字符序列。到Wfst 解码器这一步注意图上方两个虚线框Ngram/Token/Lex 语言模型和 Fst-hotword。它们不进主链路而是给解码器缩小候选空间——热词就是在这里以约束形式注入的领域词因此获得加分。随后CT-Transformer补标点最后一道ITN逆文本正则化把二零二六还原成2026输出成品。放大到工具包层面看这条流水线只是一条支线左侧模型库Model zoo的预训练模型被中间 funasr 库的训练/推理代码加载库内可把模型导出为 LibTorch/ONNX/TensorRT右侧经 gRPC/WebSocket/Triton 对外提供服务或下放到边缘设备。研究、训练、部署用的是同一套模型和代码这是它作为工具包而非单个模型的关键。 深挖一个点实时字幕如何用 2-pass 兼顾快和准实时字幕有天然矛盾流式模型只看到约 600ms 的音频就得立刻猜字快但糙离线模型准但要等整句说完实时场景没法用。FunASR 的答案是 2-pass两遍识别图中蓝色上半部分是在线层音频以 60ms 一块进队列FSMN-VAD 实时端点检测非静音视频段约 600ms 间隔喂给 Paraformer 流式模型识别文字实时推回客户端——这是草稿快但有错字且无标点。红色下半部分是纠错层VAD 一旦检测到尾点说话人停了就把该句完整音频交给 Paraformer 非流式重解码CT-Transformer 补上标点二遍结果在消息队列里覆盖首遍文字。为什么这么设计流式模型必须在信息不完整时做预测准确率是低延迟付出的代价2-pass 相当于让离线模型在尾点之后追上来纠正。用户感知是边说边出字幕说完一句标点补齐、错误改好。 最新旗舰Fun-ASR-Nano 的三路上下文2025 年 12 月发布的 Fun-ASR-Nano 是工具包里的旗舰 LLM-ASR 模型800M 参数SenseVoice 编码器 Qwen3 解码器用数千万小时真实语音训练。它对使用者的直接意义是难场景准确率提升图中底部波形经 Audio Encoder 编码由 Audio Adaptor 转成 A 段右侧绿色 Context 块是这一版的灵魂——三路上下文Audio Context 把编码后的音频信息回喂模型CTC Predicting Context 用 CTC 解码器的一遍式文字做参考User Hotword 经 RAG检索增强先从词表里捞相关词再供模型使用从大热词表中动态取词。这些上下文与 A 段一起送入顶部模型块解码器逐字输出文本。落到使用者支持吴、粤、闽等 7 大方言和 26 种地区口音会议室、车内等远场高噪场景准确率 93%带音乐背景的歌词也能识别配 vLLM 批量推理时官方 benchmark 最高 340 倍实时速度。 4 个实战场景选什么模型、怎么配参数会议记录谁说了什么用上面的 SenseVoiceSmall fsmn-vad cam 组合每句输出自带说话人编号与秒级时间戳。想免拼装一次拿全转写 时间戳 匿名说话人看 MOSS 部署指南。呼叫中心实时质检 / 直播字幕Paraformer-zh-streaming 按 600ms 块喂入chunk_size[0,10,5]部分结果即时返回生产环境直接起 runtime 里的 WebSocket 服务原生支持长连接会话与 2-pass 修正。视频批量出字幕不用写代码CLI 直接产 SRTfunasr audio.wav --output-format srt --output-dir ./subs也可参考现成的字幕生成脚本。领域热词医疗、金融场景的专有名词最易认错。Paraformer 路线传hotword关键词 20词后数字是权重Fun-ASR-Nano 路线维护一份热词列表由 RAG 自动挑选相关词注入。⚠️ 常见坑与求助入口别急着devicecuda先跑python -c import torch; print(torch.cuda.is_available())输出 False 就用devicecpu。torch/torchaudio 要先从同一渠道装好版本混装是 import 失败的头号原因。模型下载慢或中断境内优先 ModelScope用iic/...模型名境外走 Hugging Face 通常更快中断后只清该模型的部分缓存再重试。funasr-server 浏览器请求失败CORS 默认关闭需对每个来源传--cors-origin如--cors-origin http://localhost:3000可达网络里避免用通配符。更多问题看排障指南与模型选型零环境体验走 Colab接入现有 AI 应用看 OpenAI 兼容服务和 MCP 服务器从 Whisper 迁移可对照迁移指南。结语FunASR 的核心不是单个模型而是一条流水线VAD、识别、标点、说话人各环节配对应模型自行拼装。建议先拿一段 10 秒录音跑通上面的 8 行示例确认说话人和时间戳输出符合预期再谈选型与部署。【免费下载链接】FunASROpen-source speech recognition toolkit for training, inference, streaming ASR, VAD, punctuation, speaker diarization pipelines, and OpenAI-compatible/MCP serving.项目地址: https://gitcode.com/GitHub_Trending/fun/FunASR创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考