尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
FunASR手机语音识别实战:Android端连上实时听写服务,从零到可用
FunASR手机语音识别实战Android端连上实时听写服务从零到可用【免费下载链接】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想让自己的 App 具备按住说话、实时上屏的语音识别能力FunASR 是一个端到端语音识别工具包开源了 SOTA 预训练模型实时听写服务支持高并发、句尾高精度修正。本文把服务端跑在一台 Linux 机器上Android 端用官方示例 App 连上它全程大约 20 分钟跟着敲命令即可。先想清楚再动手先说结论模型不装在手机上。FunASR 的移动端方案是——服务端在服务器上用 ONNX Runtime 跑 VAD、流式识别、非流式识别、标点四类模型手机只做两件事录音、传流。手机和服务端之间走 WebSocket 长连接音频二进制帧上行识别结果 JSON 下行。这个设计是刻意为之。语音模型动辄上 GB塞进手机既吃内存又吃电还受芯片算力限制放到服务器上则不受此约束同一台机器还能同时服务几十路请求。对 App 端来说实现成本也只是一个 WebSocket 客户端。runtime/android/AndroidClient/ # Android 示例 AppGradle 工程 runtime/run_server_2pass.sh # 服务端 2pass 启动脚本 runtime/deploy_tools/ # Docker 安装脚本与一键部署脚本2pass 是这里的核心模式说话时流式模型实时吐中间结果句尾由非流式大模型修正最终文本再补上标点。鱼和熊掌都想要就是这个模式。搭环境以下命令在 Linux 服务器上执行。5分钟装好Docker如果机器上已有 Docker直接跳下一节。否则先下载安装脚本再执行脚本会识别发行版自动装好并启动 docker 服务curl -O https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/shell/install_docker.sh sudo bash install_docker.sh跑完执行docker info能正常输出节点信息就说明装好了。拉镜像并启动容器镜像里已经编译好服务端程序funasr-wss-server-2pass拉下来直接起容器。注意-v挂载的目录会被映射到容器内/workspace/models首次启动时模型会下载到这里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容器起来后你会进入一个 shell。记住两个端口容器内服务监听 10095映射到宿主机 10096手机连的是后者。想换端口改-p参数即可例如-p 10097:10095。启动识别服务在容器内进入 runtime 目录用仓库自带的run_server_2pass.sh拉起服务参数已经配好 VAD、流式/非流式识别、标点、语言模型和 ITN逆文本归一化把二零二六年读成2026年这类规则cd FunASR/runtime nohup bash run_server_2pass.sh \ --download-model-dir /workspace/models \ --vad-dir damo/speech_fsmn_vad_zh-cn-16k-common-onnx \ --model-dir damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx \ --online-model-dir damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx \ --punc-dir damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx \ --lm-dir damo/speech_ngram_lm_zh-cn-ai-wesp-fst \ --itn-dir thuduj12/fst_itn_zh \ --hotword /workspace/models/hotwords.txt log.txt 21 首次启动会逐个下载模型耐心等几分钟。看到 log.txt 里出现监听端口的日志服务就算就绪了。常用改法都在这一步完成换模型改--model-dir即可例如换成iic/SenseVoiceSmall-onnx支持时间戳和 nn 热词模型的版本见 SDK 开发指南关 SSL加参数--certfile 0内网测试建议先关掉改并发--decoder-thread-num控制最大并发路数脚本默认按 CPU 核数自动设置配热词在挂载目录放hotwords.txt每行一个热词格式阿里巴巴 20权重 1~100端侧集成你拿到的是一个完整 Gradle 工程位于 runtime/android/AndroidClient/用 Android Studio 打开即可编译不想自己构建也可以装现成的 APK 直接用官方仓库提供下载扫码或浏览器安装。跑通只需三步手机与服务器连同一个局域网打开 App在设置里填 WebSocket 地址格式wss://服务器IP:10096按住按钮说话松开按钮结果实时显示在界面上功能点到为止一共四个按住录音、松开出结果一次完整的实时识别菜单栏随时修改 WebSocket 服务器地址菜单栏配置客户端热词和服务端热词自动合并识别文本实时上屏句尾收到修正后的最终文本官方在 runtime/android/readme.md 中提供了应用效果图分别是主界面、识别中、识别结果三种状态。连起来把链路串一遍你就懂了手机麦克风录出 16k PCM 音频切成小帧经 WebSocket 二进制消息持续上行服务端 VAD 判断你在不在说话流式模型边收边吐中间结果句尾非流式模型出修正文本并补标点最终 JSON 消息下行到手机。你只需要关心三件事连对地址协议 IP 10096 端口、音频是 16k PCM、结束时发送结束标志。协议字段细节看 websocket_protocol_zh.md 即可不展开。App 只是客户端形态之一。同一套协议官方提供了五种语言的实现示例和用法都在 SDK_tutorial_online_zh.mdPythonruntime/python/websocket/Cruntime/websocket/HTML 网页版runtime/html5/Javaruntime/java/C#runtime/csharp/也就是说把 Android 示例里的 WebSocket 收发逻辑抠出来换成你的语言和框架服务端一行不用改。收尾现在你手上有一套能用的链路手机按住说话实时上屏句尾修正带标点。两个自然的下一步想让专有名词更准把业务词按热词 权重写进挂载目录的hotwords.txt重启服务想换更轻或带时间戳的模型改run_server_2pass.sh的--model-dir参数全部参数含义见 服务端用法详解。【免费下载链接】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),仅供参考
RELATED

相关推荐

多机位现场演出视频制作全流程解析:从拍摄到发布的专业指南

多机位现场演出视频制作全流程解析:从拍摄到发布的专业指南

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

📅 2026/10/8 8:35:03
FPGA编译加速实战:从13小时到5小时的优化全记录

FPGA编译加速实战:从13小时到5小时的优化全记录

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

📅 2026/10/9 10:43:15
Coding Agent实战:从IDE插件到云端IDE的结对编程落地

Coding Agent实战:从IDE插件到云端IDE的结对编程落地

Vibe时代的生存法则(四):Coding Agent(下)—— IDE 插件、云端 IDE 与结对编程续着上一篇聊完 Coding Agent 的底层模型、推理开销和几个主流 CLI 工具之后,这一篇把视角拉回到“我们每天真正写代码的那个地…

📅 2026/10/28 22:16:20
MORE NEWS

更多资讯

📰

淄博考电工证到哪里考千万别踩坑,新手必看的报名避坑指南

淄博考电工证到哪里考千万别踩坑,新手必看的报名避坑指南 你是不是也像我一样,第一次听说要考电工证,心里一万个问号?不知道去哪报名怕被中介坑,怕花了钱考了证又没用,怕被坑了还不能上岗?别急,今天就来给你说清楚, 淄博考电工证到哪里考…

📰

宁河登高架设资格证有效期多久 良心建议给学历不高怕报不上名的人

宁河登高架设资格证有效期多久 良心建议给学历不高怕报不上名的人 学历不高怕报不上名?宁河登高架设资格证其实没你想象那么难!很多人觉得考资格证必须得是高学历,其实不然, 只要符合年龄、健康等基本条件,任何人都可以报考…

📰

青海考电工证培训机构怎么选?郑州报考避坑指南帮你少走弯路

青海考电工证培训机构怎么选?郑州报考避坑指南帮你少走弯路 怕考不过白交培训费?青海考电工证培训机构选错了,钱花了,证没拿到,白忙一场。不少人在报考电工证时,都被培训机构“套路”了,花了大价钱,结果培训质量差、考试通过率低。今天就从…

📰

巴中电工证培训时长怎么安排才能拿到电子证书

巴中电工证培训时长怎么安排才能拿到电子证书 证书过期了不知道怎么复审延期,是不是你正在经历的烦恼?别急,这期内容就帮你搞清楚【巴中电工证培训时长】、考试真题、备考技巧,以及电子证书的相关流程。如果你的证书快要到期了,现在开始准备也不晚。…

📰

市区怎么考取电工证官方回应实操考试心里没底怕挂科

市区怎么考取电工证官方回应实操考试心里没底怕挂科 实操考试心里没底怕挂科?你不是一个人在战斗。最近在郑州房建工程一线,不少电工都反映考试紧张、怕挂科,甚至有人因为没通过实操考试耽误了工期和项目。其实,很多人对【市区怎么考取电工证】的流程、要…

📰

杭州低压电工证试题怎么准备?郑州报考避坑指南帮你少走弯路

杭州低压电工证试题怎么准备?郑州报考避坑指南帮你少走弯路 实操考试心里没底怕挂科,这几乎是每个准备考低压电工证的人心里的共同恐惧。尤其是像杭州、郑州这类一线或新一线城市,电工证不仅是上岗的硬门槛,还直接关系到未来的职业发展和收入水平。如果你…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬