news 2026/9/7 6:18:35

FunASR Android 移动端部署实操指南:3 步在手机上跑通实时语音识别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
FunASR Android 移动端部署实操指南:3 步在手机上跑通实时语音识别

FunASR Android 移动端部署实操指南: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 的 Android 移动端部署方案给出了更务实的答案:识别交给服务器,手机只当轻量客户端。FunASR 本身是一套端到端语音识别工具包,配套开源 SOTA 预训练模型,而移动端玩法就是用它官方现成的 Android 示例 App + Docker 服务端,几步就能看到自己说的话变成文字。

先看懂架构:把识别搬到服务器,手机只做轻客户端

这条方案的关键取舍,一开始就值得想清楚:

  • 模型不进手机。音频通过 WebSocket 长连接实时上传,识别在服务器侧完成,结果再实时推回。
  • 算力花在刀刃上。VAD、ASR、标点、ITN 这些重模块全部跑在服务器 CPU 上,手机对硬件几乎无要求,老机型也能流畅用。
  • 交互体验不打折。服务端采用两路协同的流式链路,你能在说话过程中就看到逐字输出的中间结果。

服务端内部是「在线实时 + 离线精修」的 2pass 流水线:FSMN-VAD 先做端点检测,Paraformer 流式模型负责低延迟出字;一旦 VAD 判定一句话结束,非流式 Paraformer 离线精算一遍,CT-Transformer 补标点、ITN 做逆正则化,最后把修正后的文字回推给你。这就是为什么结果既能"边说边出",又能"说完更准"。

拉起识别服务:用 Docker 把实时听写服务跑起来

部署全程三小步,每步都只干一件事。

先装 Docker:没有就直接用官方脚本

服务器上没装 Docker 的话,跟着 安装文档 走,仓库里也附了 一键安装脚本。装好能正常docker run一个 hello-world,这步就算过关。

再拉镜像起容器:模型目录用 -v 挂进来

sudo docker pull \ registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.13 mkdir -p ./funasr-runtime-resources/models sudo docker run -p 10096:10095 -it --privileged=true \ -v $PWD/funasr-runtime-resources/models:/workspace/models \ registry.cn-hangzhou.aliyuncs.com/funasr_repo/funasr:funasr-runtime-sdk-online-cpu-0.1.13
  • -p 10096:10095:把容器内的服务端口映射到宿主机 10096,客户端后面就填这个端口
  • -v:挂载模型目录,镜像首次启动会自动往/workspace/models下载所需模型,挂出来可以避免下次重建容器重新下。

最后启动 2pass 服务:一条命令带齐全部模型

进入容器执行:

cd FunASR/runtime nohup bash run_server_2pass.sh --download-model-dir /workspace/models > log.txt 2>&1 &

脚本已经把 VAD、流式 ASR、离线 ASR、标点、语言模型、ITN 的默认参数都配好了,新手直接跑即可。想换模型、调端口、设热词时,通过参数覆盖即可:

参数作用
--model-dir/--online-model-dir离线 / 流式 ASR 模型,可整体换识别模型
--vad-dir/--punc-dir/--itn-dir/--lm-dir端点检测、标点、逆正则、语言模型
port服务端口,默认 10095(容器内)
hotword热词文件路径,配合热词权重文件使用

全部参数的含义在 SDK 进阶指南 的「服务端用法详解」里有完整说明。

打开示例 App:三种方式任选一种拿到 Android 客户端

客户端的完整示例代码在 runtime/android/ 目录,可运行的工程在 Android 客户端。拿到 App 有三条路:

  1. 自己编译:用最新版 Android Studio 打开AndroidClient工程,直接运行,适合要二次开发的你;
  2. 装现成 APK:直接下载官方提供的 APK 安装包安装;
  3. 扫码安装:用手机扫客户端文档里的二维码,最省事。

这个 App 刻意做得极简,只有三件事:

  • 实时录音识别:按住底部按钮开始识别,松开即结束;
  • 服务器地址配置:首次启动必须填 WebSocket 地址;
  • 热词设置:菜单里随时可改,和服务端热词配合使用。

识别过程中,文字会实时刷在界面上,边说边出。

跑通联调:从填地址到松手看到结果

第一次完整体验可以按这条路径走,全程不到一分钟:

  1. 填地址:首次打开 App,把 WebSocket 服务器地址设为wss://<你的服务器IP>:10096(记住前面映射出来的宿主机端口),菜单栏之后也能随时改;
  2. 按住说话:点住录音按钮,正常语速说几句话,比如"生活就像海洋,只有意志坚强的人,才能到达彼岸";
  3. 松手看结果:松手后识别文字连同标点出现在界面上,流式中间结果在按住期间就已经逐字蹦出来了。

手机端没反应时,优先看服务端:log.txt里若出现模型加载成功、listen on port之类的日志,说明服务正常;客户端连上时还会打出New open, active connections: 1的记录。

调参数选 SDK:把部署打磨成贴合场景

跑通只是起点,后面这些手段能让识别更贴合你的业务:

  • 热词提准:在宿主机./funasr-runtime-resources/models/hotwords.txt配热词,每行一个、格式为「热词 权重」。官方建议单个热词不超过 10 个字、总量不超过 1k 个、权重取 1~100,兼顾效果和性能。
  • 换模型:通过上文启动参数里的--model-dir系列切换到别的 ASR / 标点模型,例如英文或 SenseVoice 模型,具体可选组合看 SDK 进阶指南。
  • 换语言写客户端:不局限于 Android,官方提供 Python、C++、Java、C# 乃至 HTML 网页版客户端示例,文档在 实时听写 SDK 教程 的「客户端用法详解」章节;要更底层对接,可看 WebSocket/gRPC 协议文档。

遇到服务起不来、连不上、不出字之类的问题,先查 故障排查文档,社区 Issue 区也能找到同类案例。

收尾一句话:卡住了就去求助,本地方案可以盯一下

这套"云端识别 + 轻量客户端"的组合,是目前手机上用 FunASR 落地实时语音识别最稳的路径;官方路线图里也在推进更高效的本地部署形态,未来对手机硬件的依赖大概率还会再降,值得持续关注。哪一步卡住了,先翻 runtime/docs/ 下的对应指南,再去社区提问,带上你的log.txt和服务端参数,解决会快很多。

【免费下载链接】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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/7 6:17:42

DeepSeek Harness 安装实战:从环境准备到IDE集成的完整指南

如果你曾经历“收藏了十几个AI工具教程&#xff0c;打开一看全是概念截图&#xff0c;真到自己装却卡在第一步”的处境&#xff0c;那这篇教程就是为你准备的。最近AI大模型辅助开发工具的热度明显起来了&#xff0c;类似Claude Code、Codex这类工具不断刷屏&#xff0c;很多开…

作者头像 李华
网站建设 2026/9/7 6:15:12

用MATLAB手写空间桁架刚度法求解器:从原理到代码实现

简介&#xff1a;一套面向土木、机械与航空航天领域工程师及学生的MATLAB空间桁架计算源码包&#xff0c;基于结构力学方法实现空间桁架的静力分析&#xff0c;帮助用户理解节点坐标定义、杆件连接、材料属性赋值、荷载与约束处理&#xff0c;以及稀疏线性方程组的组装与求解。…

作者头像 李华
网站建设 2026/9/7 6:14:53

地平线征程智驾芯片量产破1500万颗,智驾规模化落地加速

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华