5分钟部署Fun-ASR,钉钉通义语音识别系统一键搭建
你是否还在为会议录音转文字效率低而头疼?
有没有一种方式,能像用Word一样简单地把一段音频“变成”可编辑的文字?
更重要的是——整个过程数据不离本地,安全可控。
答案是:有。而且现在只需要5分钟,就能在自己的服务器上搭起一套企业级语音识别系统。
今天要介绍的主角,就是由钉钉与通义联合推出的Fun-ASR WebUI——一个集高精度识别、图形化操作、批量处理于一体的本地化语音识别解决方案。它不仅支持中文、英文、日文等31种语言,还能通过热词增强和文本规整(ITN)大幅提升专业场景下的准确率。
最关键的是:无需编程基础,一键启动,全员可用。
本文将带你从零开始,完成 Fun-ASR 的快速部署、远程访问配置以及实际使用技巧,让你真正实现“一人部署,全组受益”。
1. 为什么选择 Fun-ASR?
在云服务盛行的今天,为什么还要自己搭语音识别系统?
三个字:稳、快、安。
稳:专为企业协作设计
传统ASR接口依赖网络调用,一旦服务商限流或宕机,你的工作流程就卡住了。而 Fun-ASR 完全运行在本地,只要服务器在线,服务就永远在线。
快:GPU加速,1小时音频6分钟搞定
实测在RTX 3060显卡环境下,1小时中文录音仅需约6分钟即可完成识别,速度接近实时播放的10倍。相比CPU模式提升显著。
安:数据不出内网,合规无忧
客户访谈、内部会议、医疗问诊……这些敏感语音绝不该上传到第三方平台。本地部署意味着所有数据都掌握在自己手中。
再加上 Gradio 打造的直观界面,非技术人员也能轻松上传文件、查看结果、导出记录,真正做到了“开箱即用”。
2. 部署前准备
硬件建议
| 组件 | 推荐配置 |
|---|---|
| CPU | Intel i5 或以上 |
| 内存 | 16GB 起 |
| 显卡 | NVIDIA GPU(显存 ≥8GB),如 RTX 3060/4070 |
| 存储 | 50GB 可用空间(含模型缓存) |
💡 若无GPU,也可使用CPU模式运行,但识别速度会明显下降。
软件环境
- 操作系统:Ubuntu 20.04 / 22.04(推荐)
- Python 3.9+
- FFmpeg(用于音频格式转换)
- Git
确保服务器已联网,并具备基本开发工具链:
sudo apt update && sudo apt install git ffmpeg python3-pip -y3. 一键部署全流程
3.1 克隆项目并安装依赖
首先拉取官方仓库中的 WebUI 模块:
git clone https://github.com/alibaba-damo-academy/FunASR.git cd FunASR/webui创建虚拟环境以隔离依赖(推荐):
python3 -m venv venv source venv/bin/activate安装核心库,注意根据CUDA版本选择对应PyTorch:
pip install --upgrade pip pip install funasr gradio torch torchaudio --extra-index-url https://download.pytorch.org/whl/cu118✅ 支持 CUDA 11.8,适用于大多数现代NVIDIA显卡。若使用其他版本,请参考 PyTorch 官网调整命令。
3.2 启动应用
项目自带启动脚本,直接运行即可:
bash start_app.sh你会看到类似输出:
Model loaded successfully. Running on local URL: http://127.0.0.1:7860 Running on public URL: http://<your-server-ip>:7860此时服务已在后台启动,监听7860端口。
4. 如何让团队成员都能访问?
默认情况下,Fun-ASR 只允许本机访问。要想让同事也能用,必须做两件事:
4.1 修改绑定地址
打开app.py文件,找到launch()方法,确认参数如下:
demo.launch( server_name="0.0.0.0", # 关键!允许外部访问 server_port=7860, share=False )server_name="0.0.0.0"是关键,表示监听所有网络接口。
4.2 开放防火墙端口
Ubuntu 用户使用 ufw 命令放行端口:
sudo ufw allow 7860如果是阿里云、腾讯云、AWS 等公有云服务器,还需登录控制台,在安全组规则中添加入站策略,允许 TCP 7860 端口。
完成后,任何人在浏览器输入http://<服务器IP>:7860即可访问系统。
5. 核心功能实战指南
5.1 单文件语音识别
这是最常用的功能,适合处理单个会议录音或采访片段。
使用步骤:
- 进入【语音识别】标签页
- 点击“上传音频文件”,支持 MP3、WAV、M4A、FLAC 等格式
- (可选)填写热词列表,例如:
通义千问 钉钉文档 项目进度 - 选择目标语言(默认中文)
- 勾选“启用文本规整(ITN)”
- 点击“开始识别”
几秒后,原始识别结果和规整后文本将同时显示。
🎯 小贴士:ITN 功能会自动把“二零二五年”转成“2025年”,“一千二百三十四”变成“1234”,非常适合生成正式文档。
5.2 实时流式识别(实验性)
虽然 Fun-ASR 模型本身不支持流式推理,但 WebUI 提供了模拟方案。
操作流程:
- 点击麦克风图标授权浏览器录音权限
- 输入热词(如有)
- 点击“开始实时识别”
- 对着麦克风说话,系统会自动分段识别并拼接结果
⚠️ 注意:此功能基于 VAD 分段 + 快速识别实现,延迟约为1-2秒,适合轻量级对话转写,不建议用于高并发场景。
5.3 批量处理:效率翻倍的关键
当你有一堆录音需要处理时,手动一个个传显然太慢。这时就要用到【批量处理】功能。
实战建议:
- 一次上传不超过50个文件,避免内存溢出
- 所有文件统一语言设置
- 提前准备好通用热词列表
- 处理过程中不要关闭页面
处理完成后,可一键导出为 CSV 或 JSON 格式,方便后续分析统计。
📊 应用场景:客服录音质检、培训课程转写、科研语料标注。
5.4 VAD检测:智能切分长音频
面对长达数小时的会议录音,如何快速定位有效语音段?
VAD(Voice Activity Detection)功能帮你解决这个问题。
使用方法:
- 上传音频
- 设置“最大单段时长”(建议30秒)
- 点击“开始VAD检测”
- 查看分割时间点,如
[00:01:23 - 00:02:15]
你可以将这些时间段作为剪辑标记,或配合批量识别进行分段转写。
5.5 查看与管理识别历史
所有识别记录都会自动保存在本地数据库中,路径为webui/data/history.db。
支持的操作:
- 搜索关键词查找特定内容
- 输入ID查看完整详情
- 删除单条或多条记录
- 清空全部历史(谨慎操作)
🔐 数据安全提示:定期备份
history.db文件,防止误删重要记录。
6. 性能优化与常见问题
6.1 如何提升识别速度?
| 方法 | 效果说明 |
|---|---|
| 使用GPU | 速度提升5-10倍 |
| 减小音频采样率 | 降低计算负载 |
| 分批处理大文件 | 避免内存占用过高 |
| 关闭ITN | 微幅提速,牺牲部分可读性 |
在【系统设置】中选择CUDA (GPU)设备,确保nvidia-smi显示显存正常加载。
6.2 出现“CUDA out of memory”怎么办?
这是最常见的显存不足错误。
解决方案:
- 在设置中点击“清理GPU缓存”
- 重启服务释放资源
- 切换至CPU模式临时应急
- 减少并发任务数量
长期建议增加 swap 空间或升级显卡。
6.3 麦克风无法使用?
请检查以下几点:
- 浏览器是否允许麦克风权限(Chrome/Edge 最佳)
- 是否连接了物理麦克风
- 是否在私密网络下被拦截
- 尝试刷新页面重新授权
6.4 页面显示异常?
尝试以下操作:
- 强制刷新:Ctrl+F5(Windows)或 Cmd+Shift+R(Mac)
- 清除浏览器缓存
- 更换浏览器(推荐 Chrome)
- 调整窗口大小触发响应式布局
7. 生产环境进阶配置
7.1 使用 tmux 保持后台运行
SSH断开后进程终止?用tmux解决:
# 安装 tmux sudo apt install tmux -y # 创建后台会话 tmux new-session -d -s asr 'bash start_app.sh' # 查看日志 tmux attach-session -t asr即使断网也不会中断服务。
7.2 注册为 systemd 服务(推荐)
更稳定的方式是注册为系统服务,实现开机自启。
创建服务文件:
sudo nano /etc/systemd/system/funasr-webui.service写入以下内容:
[Unit] Description=Fun-ASR WebUI Service After=network.target [Service] ExecStart=/root/FunASR/webui/start_app.sh WorkingDirectory=/root/FunASR/webui User=root Restart=always Environment=PYTHONUNBUFFERED=1 Environment=CUDA_VISIBLE_DEVICES=0 [Install] WantedBy=multi-user.target启用服务:
sudo systemctl daemon-reload sudo systemctl enable funasr-webui sudo systemctl start funasr-webui从此告别手动维护。
7.3 添加反向代理与HTTPS(安全加固)
直接暴露7860端口存在风险。建议使用 Nginx + SSL 做反向代理。
示例配置:
server { listen 443 ssl; server_name asr.yourcompany.com; ssl_certificate /etc/nginx/certs/asr.crt; ssl_certificate_key /etc/nginx/certs/asr.key; location / { proxy_pass http://127.0.0.1:7860; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }再配合域名访问,既美观又安全。
7.4 启用登录认证
防止未授权访问,可在app.py中加入认证:
demo.launch( server_name="0.0.0.0", server_port=7860, auth=("admin", "your_secure_password") )用户名密码保护,双重保险。
8. 总结
Fun-ASR WebUI 不只是一个语音识别工具,更是一套完整的本地化语音处理工作流。
从部署到使用,再到生产级优化,我们走完了全过程:
- 5分钟内完成部署,无需复杂配置
- 支持多种音频格式,满足日常办公需求
- 提供批量处理、VAD检测、历史管理等实用功能
- 可通过反向代理+HTTPS+认证实现企业级安全防护
无论是市场部整理会议纪要,还是客服中心做质量分析,这套系统都能显著提升效率,同时保障数据隐私。
更重要的是——它完全免费、开源可定制,未来还可以接入更多AI能力,比如情感分析、关键词提取、摘要生成等。
这才是真正属于企业的“智能语音中枢”。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。