拓冰建站拓冰建站
首页 / 资讯中心 / 正文

FunASR Colab 快速上手:零本地环境在浏览器中跑通中文语音识别(VAD + 标点全流程)

FunASR Colab 快速上手零本地环境在浏览器中跑通中文语音识别VAD 标点全流程【免费下载链接】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 官方 Colab 快速体验指南examples/colab/README_ko.md及其配套 Notebookexamples/colab/funasr_quickstart.ipynb为主体讲解如何在Google Colab 中无需配置本地 Python 环境直接从浏览器完成一套完整的中文语音识别流水线安装依赖 → 自动选择 CPU/GPU → 使用paraformer-zh VAD 标点模型转写公开样例音频 → 上传自己的音频并转写 → 保存 transcript JSON。读完本文你将掌握 FunASR 核心推理接口AutoModel.generate()的典型用法理解 VAD、标点模型在推理链路中的底层调用关系并能够在 Colab 中复现、调试和扩展这一套开箱即用的 ASR 方案。一、Colab 快速体验能力总览FunASR 官方在examples/colab目录下提供了多语言版本的快速体验文档English / 简体中文 / 日本語 / 한국어核心目标只有一个无需提前配置本地 Python 环境直接在浏览器里运行 FunASR。该 Notebookfunasr_quickstart.ipynb完整覆盖以下内容在 Colab 中安装 FunASR 及运行依赖如果 Colab runtime 有 GPU自动使用cuda:0否则使用 CPU使用paraformer-zh、VADfsmn-vad和标点ct-punc模型转写公开样例音频上传自己的音频文件并用同一套模型运行转写保存 transcript JSON便于分享、对比或提交 issue。另外官方还提供了一个Fun-ASR-Nano 原生 Transformers Notebookfun_asr_nano_transformers.ipynb使用正式版 5.17.0、CPU 环境、官方样例与用户自己的录音无需 FunASR 工具库即可运行与本文讲解的 toolkit Notebook 在运行环境上有所不同适合希望直接走原生 Transformers 推理路径的用户。二、安装依赖一条命令装齐运行时Notebook 的第一步是安装 FunASR 及其运行时依赖!pip -q install -U funasr modelscope soundfile其中funasr核心工具库提供AutoModel等统一推理接口modelscope默认模型下载源ModelScope 魔搭社区的 SDKsoundfile音频文件读写依赖大多数 Colab runtime 已经内置 PyTorch因此这里无需显式安装 torch。该单元可能耗时数分钟因为需要安装 FunASR 并下载 Python wheel。需要说明的是runtime 一旦重置已安装的 Python 包不会保留重新连接后必须从安装单元开始重跑详见下文故障排查。三、设备选择自动切换 CPU 与 GPU在运行模型之前Notebook 会先探测可用设备import json import torch device cuda:0 if torch.cuda.is_available() else cpu print(fUsing device: {device})如果希望跑得更快可以在执行前通过 Colab 菜单Runtime → Change runtime type → GPU切换 GPU runtime。这一逻辑与 funasr/auto/auto_model.py 中AutoModel的device参数设计保持一致从源码结构看auto_model.py#L420-L440device支持cuda:0、cpu、mps、npu:0等取值并且在指定设备不可用时会回退到 CPUNotebook 中torch.cuda.is_available()的探测方式正是这套回退机制的简化版。即使 Colab 未分配 GPU短音频的 smoke test 依然可以用 CPU 跑通。四、转写公开样例音频paraformer-zh VAD 标点这是 Notebook 的核心单元也是 FunASR 最典型的中文离线识别组合from funasr import AutoModel sample_url https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/vad_example.wav model AutoModel( modelparaformer-zh, vad_modelfsmn-vad, punc_modelct-punc, devicedevice, ) result model.generate(inputsample_url, batch_size_s60) print(json.dumps(result, ensure_asciiFalse, indent2))4.1 模型别名与真实模型 IDAutoModel接收的model、vad_model、punc_model是别名会在下载时被解析为完整的 ModelScope 模型 ID。从 funasr/download/name_maps_from_hub.py 的别名表可以看到别名完整 ModelScope IDparaformer-zhiic/speech_seaco_paraformer_large_asr_nat-zh-cn-16k-common-vocab8404-pytorchfsmn-vadiic/speech_fsmn_vad_zh-cn-16k-common-pytorchct-punciic/punc_ct-transformer_cn-en-common-vocab471067-large也就是说paraformer-zh实际指向的是SEACO-Paraformer 大规模中文离线识别模型16kHz、通用词汇表 8404 词fsmn-vad是中文通用流式 VAD语音活动检测模型ct-punc是中英文通用 CT-Transformer 标点恢复模型。默认模型下载源是 ModelScopehubms也可通过hubhf切换到 HuggingFace。4.2 AutoModel 构建链路下载 → 解析 → 装配AutoModel初始化时auto_model.py#L420-L519会依次构建四个组件主 ASR 模型modelVAD 模型vad_model用于长音频分段可处理任意长度音频标点模型punc_model恢复标点符号Fun-ASR-Nano / SenseVoice / Qwen3-ASR 等模型原生输出标点则无需配置说话人模型spk_model如cam做说话人分离时使用需要配合vad_model。每个子模型都通过build_model()独立构建auto_model.py#L521-L537其内部流程是先从 ModelScope/HuggingFace 下载模型文件funasr/download/download_model_from_hub.py→ 解析仓库内的config.yaml/configuration.json确定模型类、tokenizer、frontend → 通过注册表实例化组件 → 加载model.pt预训练权重。这也是首次运行需要下载模型文件、耗时几分钟的根本原因同一个 runtime 内后续运行会命中本地缓存速度明显更快。4.3 generate() 内部流水线VAD 分段 → ASR → 标点model.generate(input..., batch_size_s60)是统一的推理入口auto_model.py#L695-L754其内部逻辑可概括为两条路径未配置vad_model直接调用inference()对整段音频解码若配置了punc_model再对识别文本做标点恢复配置了vad_model走inference_with_vad()auto_model.py#L858——先用 VAD 模型将长音频切分为有语音的片段再逐段送入 ASR 模型最后统一做标点恢复。这就是 Colab 示例能够处理任意长度音频的原因。batch_size_s是这里最重要的运行时参数之一它表示动态批处理的音频总时长秒在inference_with_vad中默认值为 300auto_model.py#L899Notebook 示例设置为 60并且从源码看auto_model.py#L935-L936当设备为 CPU 时会把batch_size置为 0即退化为逐段串行处理——这与 README 中CPU runtime 适合快速 smoke test长音频建议切换 GPU runtime的建议完全吻合。input参数则非常灵活支持本地文件路径、URL、numpy 数组、bytes 以及路径/数组列表auto_model.py#L703-L708Notebook 中同时演示了 URL 与上传文件两种形态。五、转写自己的音频上传即识别在跑通公开样例之后Notebook 演示了如何转写用户自己的音频from google.colab import files uploaded files.upload() audio_path next(iter(uploaded)) print(fUploaded: {audio_path}) user_result model.generate(inputaudio_path, batch_size_s60) print(json.dumps(user_result, ensure_asciiFalse, indent2))注意事项建议上传较短的.wav、.mp3、.m4a或.flac文件长录音建议先截取有代表性的片段或切换到 GPU runtime 再处理上传失败或文件过大时先用短 WAV/MP3 验证链路是否通畅。files.upload()是 Colab 特有的交互式上传接口返回的字典键即为上传文件名next(iter(uploaded))取第一个上传文件作为推理输入。六、保存 transcript JSON便于分享、对比与报 issue最后一步将结果落盘并下载到本地from pathlib import Path Path(funasr_transcript.json).write_text( json.dumps(user_result, ensure_asciiFalse, indent2), encodingutf-8, ) files.download(funasr_transcript.json)要点使用ensure_asciiFalse保留中文原文indent2让 JSON 可读保存的 transcript JSON 是分享、对比不同模型输出、以及提交 issue 时的关键附件——官方明确建议输出不符合预期时保存 transcript JSON 单元输出提交 issue 时一起附上generate()返回的是list[dict]结构常见字段包括key样本标识、text识别文本、timestamp字符/词级时间戳、sentence_info开启说话人分离时的句级信息等auto_model.py#L728-L732。七、使用建议与性能提示官方 README 给出了三条重要的使用建议首次运行会下载模型文件可能需要几分钟网络恢复后重跑对应单元即可同一个 runtime 内的后续运行会更快。CPU runtime 适合快速 smoke test长音频建议切换到 GPU runtime以获得更快的转写速度。如果要评估生产部署先跑通 notebook再阅读部署选型表中文版见 docs/deployment_matrix_zh.md如果要测试 OpenAI 兼容 HTTP 服务请参考 examples/openai_api/README_ko.md中文版见 examples/openai_api/README_zh.md。八、常见故障排查官方 README 以表格形式总结了 Colab 场景下最常见的五类问题及处理方式现象处理方法Colab runtime 断开或重置重新连接 runtime先重跑安装单元再重跑模型单元。runtime 重置后不会保留已安装的 Python 包。没有 GPU通过Runtime Change runtime type GPU切换。没有分配到 GPU 时短音频 smoke test 仍可用 CPU 跑通。模型下载很慢网络恢复后重跑该单元。第一次运行会下载模型文件同一个 runtime 后续运行会更快。上传音频失败或文件太大先用短 WAV/MP3 验证。长音频建议截取有代表性的片段再放到 Colab。输出不符合预期保存 transcript JSON 单元输出提交 issue 时一起附上。九、延伸阅读跑通 Colab 快速体验之后官方推荐按需深入以下方向均可在仓库内找到对应文档模型选型参考 docs/model_selection.md根据语言、实时性、资源约束选择合适模型Whisper / 云服务对比迁移参考 docs/migration_from_whisper.md部署为 OpenAI 兼容 API参考 examples/openai_api/README.md生产部署选型参考 docs/deployment_matrix.md。上述文档的中文版、日文版、韩文版大多已同步维护在docs/与examples/目录下可直接按需查阅。【免费下载链接】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),仅供参考
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门