桃子桃子快讯
返回首页
工具

开源本地听写工具 Dictata:基于 Whisper 的隐私优先方案

Rust 编写的 Windows 本地语音听写工具,默认采用 whisper.cpp,支持多种 ONNX 后端与可选 L…

2026.08.23 · 周日4 分钟阅读

项目概述

Dictata 是一款面向 Windows 系统的本地语音听写工具,使用 Rust 编写,主打「100% 本地化」——所有转录过程在用户设备上完成,原始音频与文本不会离开本机。用户通过全局快捷键启动录音,再次按下后文本会被自动转写并粘贴到当前活动窗口中。

核心转录引擎 Dictata Engine 默认采用 whisper.cpp,并可选集成多种 ONNX 后端:

  • NVIDIA Parakeet
  • SenseVoice(CTC)
  • Moonshine
  • Zipformer(transducer)

这些后端通过 Cargo feature 在构建时启用;默认构建仅包含 whisper.cpp。当前发布版本为 v0.1.0。

主要功能

  • 快捷键听写:支持切换式与按住说话两种模式,文本自动粘贴至活动窗口;附带可定制大小、透明度与位置的浮动波形窗口。
  • 连续流式模式:检测到停顿即插入文本,实现「边说边出字」。
  • 静音跳过(VAD):可选启用 whisper.cpp 的语音活动检测,首次使用会下载约 2 MB 的小模型,可降低静音段的算力消耗与误识别。
  • 多音频源:支持麦克风、系统音频(WASAPI loopback)或两者混合的「会议模式」。
  • 可选 LLM 后处理:可接入本地 OpenAI 兼容接口的 LLM,对原始转录文本做润色、邮件格式化、清单整理等处理,提示词可自定义。
  • 文件转录:支持任意 ffmpeg 可处理的音视频格式,转录结果进入历史页。
  • 自定义词表与替换:以 initial prompt 形式注入识别流程。
  • 模型管理:内置 ggml 模型库,提供硬件感知推荐(Vulkan 下识别 GPU/VRAM,否则识别 CPU/RAM);支持从 HuggingFace 直接以 URL、仓库名或关键词搜索安装任意 ggml 或 ONNX 模型。
  • 多语言界面:支持英、法、西,深色主题,系统托盘图标,转录历史。

硬件与构建

  • 平台:当前版本仅支持 Windows 10/11;Linux 版本仍在规划中,详见 LINUX.md。
  • 依赖:ffmpeg(仅「Transcribe a file」需要);启用 GPU 加速需安装 Vulkan SDK 与 Visual Studio Build Tools(含 CMake 与 Ninja)。
  • 基础构建:cargo build --release
  • 纯 CPU 构建需注意:--no-default-features 会移除 vulkan,但 whisper 后端不会自动重新启用,必须显式加上 --features whisper,否则二进制将无法转录。
  • 启用各 ONNX 后端示例:--features parakeet-directml--features sensevoice--features moonshine--features zipformer;ONNXRuntime 通过 ort 静态链接,无需额外随包分发 DLL。

仓库还附带 Windows 打包脚本 scripts\release-windows.ps1,会运行测试、构建并生成 dist\dictata-<version>-windows-x86_64[-cpu].zip 及其 SHA-256;zip 内仅含 dictata.exeREADME.mdLICENSECHANGELOG.md,程序首次运行会自行写入默认配置。

使用流程

启动后程序驻留在系统托盘;首次运行通过托盘菜单打开 Settings(也可设置 DICTATA_OPEN_SETTINGS=1 环境变量自动弹出)。在 Models 页面选择模型、设置快捷键、语言与音频源后,将光标置于目标输入框,按下默认快捷键 Ctrl+Alt+Space 开始说话,再次按下结束录入。

长按 Esc 约半秒可取消本次录制;由于 Esc 被全局监听以避免误触,短按 Esc 仍会传递给前台应用程序处理。

信源