
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 --privilegedtrue \ -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 21 脚本已经把 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 有三条路自己编译用最新版 Android Studio 打开AndroidClient工程直接运行适合要二次开发的你装现成 APK直接下载官方提供的 APK 安装包安装扫码安装用手机扫客户端文档里的二维码最省事。这个 App 刻意做得极简只有三件事实时录音识别按住底部按钮开始识别松开即结束服务器地址配置首次启动必须填 WebSocket 地址热词设置菜单里随时可改和服务端热词配合使用。识别过程中文字会实时刷在界面上边说边出。跑通联调从填地址到松手看到结果第一次完整体验可以按这条路径走全程不到一分钟填地址首次打开 App把 WebSocket 服务器地址设为wss://你的服务器IP:10096记住前面映射出来的宿主机端口菜单栏之后也能随时改按住说话点住录音按钮正常语速说几句话比如生活就像海洋只有意志坚强的人才能到达彼岸松手看结果松手后识别文字连同标点出现在界面上流式中间结果在按住期间就已经逐字蹦出来了。手机端没反应时优先看服务端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),仅供参考