简体中文 · English
离线,即刻,不丢一个字。
VoiceFlow 是 Windows 上的本地语音输入工具。按 F2 开始说话,再按一次,文字就会回到当前光标处。识别、词库与历史默认留在本机;即使目标应用没有接住粘贴,结果仍可从剪贴板和本地历史中找回。
- 在任何输入框里说话:通过
F2、右Ctrl或鼠标侧键,在当前应用直接输入。 - 离线识别:默认不调用云端 ASR,也不把录音交给在线大模型处理。
- 结果可恢复:先写入剪贴板,再尝试粘贴,并同步保存到本地历史。
- 长语音持续流畅:预览、音频缓存与 UI 更新都有固定上限,不随录音时长持续堆积。
- 反馈真实而克制:录音波形来自麦克风实际音量;预览只表达进度,最终转写才会输出。
- 安静驻留:托盘运行、单实例启动、小尺寸悬浮胶囊,不打断当前工作。
VoiceFlow 目前以源码预览形式提供,尚未发布签名的 Windows 安装包。
git clone https://github.com/qinxujunai/VoiceFlow.git
cd VoiceFlow
start.bat首次启动会检查 Python 环境、安装依赖并引导准备本地模型。模型文件不进入 Git 仓库;任何下载都需要用户明确触发,并在启用前校验版本与文件完整性。
环境准备完成后,可通过桌面快捷方式安静启动。重复启动只会唤起现有窗口,不会产生多个主进程。
- Windows 10 或 Windows 11
- 可用麦克风
- 首次准备环境与模型时需要网络;日常识别可离线运行
| 按键 | 行为 |
|---|---|
F2 |
开始 / 停止语音输入 |
Right Ctrl |
开始 / 停止语音输入 |
xbutton1 / xbutton2 |
用鼠标侧键开始 / 停止 |
Esc |
取消当前录音,不输出文字 |
正常链路始终是:
说话 → 本地识别 → 确定性文本清理 → 剪贴板 → 当前光标 → 本地历史
录音时的胶囊文字是即时预览。停止后,VoiceFlow 会完成剩余音频的最终转写,再输出完整结果。短语音执行一次完整识别;长语音会持续收束稳定片段,并在停止时补齐尾部。
- 静音保护:本地 VAD 会拦截底噪、按键声和纯标点幻听,同时保留真实的单字输入。
- 完整尾部:最终结果必须覆盖停止时的全部音频,流式预览不能替代最终转写。
- 有界实时链路:预览只读取最近的固定音频窗口;稳定片段完成后释放旧 PCM。
- 最新帧优先:悬浮层只渲染最新状态,过期识别结果和 UI 帧不会排队追赶。
- 故障兜底:即使自动粘贴失败,已识别文字仍保留在剪贴板与
logs/history.jsonl。
当前默认引擎是离线 SenseVoice。VoiceFlow 也提供统一的模型适配与本机评测工具,用同一套准确率、延迟、尾部完整性和资源门槛比较 SenseVoice、Qwen3-ASR 与 Fun-ASR Nano;只有通过全部质量门的候选才会成为默认模型。
识别语言在 config.yaml 中配置。当前支持的 zh、en、auto 等选项取决于所选模型的实际能力。
venv\Scripts\python.exe scripts\verify.py
venv\Scripts\python.exe scripts\verify.py --release质量门覆盖环境诊断、编译检查、自动化测试、500 次确定性生命周期循环、快速 ASR benchmark 与集成测试。发布检查还要求真实性能记录、DPI 截图、键盘与 Narrator 任务、长录音、设备切换和驻留测试。
录音、转写、词库和历史默认只保存在本机。运行时不会自动下载模型、检查更新或调用云端识别服务;只有用户明确运行模型准备命令时才会联网。私有评测音频位于 Git 忽略目录,评测工具不会上传音频。
VoiceFlow 正处于公开 Beta 前的源码预览阶段。核心语音输入、长语音处理、剪贴板兜底和本地质量门已经可用;面向普通用户的签名安装包仍需完成最终模型授权审查、干净环境安装验证与代码签名。
项目代码基于 MIT License 开源。模型及第三方组件遵循各自许可证,公开分发前会单独完成授权审查。