把大模型能力产品化:自研 Windows 全局语音输入法(豆包语音识别 2.0)

AI 项目展示 作者头像野生码农 阅读 5 min
返回板块 GEO 源码全文 ✓
把大模型能力产品化:自研 Windows 全局语音输入法(豆包语音识别 2.0)

豆包 App 的语音输入识别质量是我用过最好的,但它有个硬伤:语音只能发给豆包自己,没法在别的窗口里用。网上流传的"提取版"也早就失效了。我想要的很简单:按住空格说话,字直接进当前光标所在的任意窗口。市面上没有,那就自己造一个。

怎么实现的

核心是Python 写的托盘常驻程序,956 行,7 个模块各司其职:

  • recorder.py:16kHz 单声道录音,输出原始 PCM;asr_client.py:ASR 的 WebSocket 二进制协议客户端;
  • hotkey.py:全局"按住说话"热键,轻点穿透;injector.py:识别结果注入当前窗口;
  • corrector.py:热词与本地替换纠正;sound.py:录音开始/结束提示音;
  • main.py:托盘主程序,蓝=待命、红=录音、黄=识别,状态机一眼看清。

识别走火山引擎「豆包流式语音识别大模型 2.0」官方 API(seedasr,WebSocket 协议),和豆包 App 是同一个模型源,效果一致,按音频时长计费——只有按住说话的那几秒才花钱。

硬核在哪

1. 手搓二进制协议客户端。 官方文档是 JS 动态渲染的页面抓不下来,我通过开源参考实现提取出完整协议细节:4 字节头部(版本/消息类型/序列化/压缩)+ 4 字节序列号 + 4 字节长度 + GZIP 压缩的 JSON/PCM 载荷,末包用负序列号标记结束。协议单元验证(请求包字节结构、负包、错误码响应解析)全部过断言测试后,才接真音频。

2. 250ms 防误触热键。 空格是打字最高频的键,直接占用等于废掉键盘。方案是:按住 ≥250ms 才判定为"说话"开始录音,轻点照常穿透为空格,同时忽略系统自动重复事件。打字和语音输入在同一个键上共存,实测互不干扰。

3. 双平台注入策略。 Windows 用空格做热键,识别结果经剪贴板 + Ctrl+V 注入(中文没法逐键模拟),粘贴 0.5 秒后自动恢复原剪贴板内容;Linux 下 keyboard 库不支持按键拦截,换成 F4 功能键 + 剪贴板粘贴,需要 root 读 /dev/input,仅支持 X11。

4. 热词热加载。 专属词汇是通用 ASR 的死角。官方 corpus.context 字段支持热词直传,上限 5000 个词,我实装了 119 个本土地名热词(村名、街道名这类最容易识别错的词),改完词表在托盘菜单点「重新加载热词」立即生效,不用重启。热词拉不动的生僻词还有一层本地替换纠正表兜底。

5. PyInstaller 双平台打包。 凭证内嵌、单文件 28MB 绿色 exe,双击即用;外部配置文件可覆盖内嵌默认。Windows 和 Linux 各一份配置,构建脚本打包前临时交换、trap EXIT 保证恢复——这是踩过"内嵌配置把 Linux 热键打进 Windows 版"的坑之后长出的机制。

实测数据 / 现场

  • 识别链路验证:用系统合成语音送测"你好,这是豆包语音输入测试,一二三四五。",1.0 与 2.0 模型返回完全一致的文本;
  • 打包产物:单文件 exe 约 28MB,凭证内嵌,放任意位置可跑;
  • 热词规模:119 个本地地名热词,托盘热加载,日志确认"已加载 119 个热词";
  • 计费口径:按音频时长计,只有按住说话的秒数计费,个人用量极小。

开发中还顺手排了一个硬件级故障:麦克风全哑,一路查到英特尔智音技术 OED 报 Code 43(设备被 Windows 停用),驱动禁用重启 + 系统重启后恢复。

这套东西能复用到哪

  • 任意软件的语音输入:微信聊天、IDE 注释、文档写作,只要是能聚焦光标的窗口都能用,我现在写长文基本靠它;
  • ASR 客户端复用:这套 seedasr 协议客户端后来直接复用到微信语音转文字场景,协议层零改动;
  • 热词方案迁移:任何接豆包/同类 ASR 的项目,corpus.context 直传 + 本地纠正表这套双层方案可以直接搬;
  • 语音交互入口:"按住说话 + 状态托盘 + 注入"这套交互骨架,换成别的后端(TTS、翻译、指令识别)就是一个新工具。

现状与下一步

目前 Windows 版日常在用,Linux 版可用但只在 X11 下。遗留项很明确:开机自启动、设置 GUI(现在改配置得手编 JSON)、识别后处理,按需再补。

野生码农头像

关于作者 · 野生码农

把 AI 真放进生产环境的独立开发者。自研本地知识库、数字员工团队、软考备考系统、量化交易四套系统,全程公开复盘。

看他的平台账号 →
相关

继续阅读