这个项目能做什么
Handy 是一款跨平台桌面应用,提供简单且注重隐私的语音转录功能。它免费、开源且可扩展,设计为完全离线运行,不会将任何音频数据发送到云端。核心工作流程简单直接:按下可配置的键盘快捷键,说话,然后松开,即可将您的语音转录并直接粘贴到当前使用的任何文本输入框中。
该应用支持 Windows、macOS(包括 Intel 和 Apple Silicon)以及 Linux。它使用本地语音识别模型,主要是 Whisper 系列模型(Small、Medium、Turbo、Large),在可用时支持 GPU 加速,以及 Parakeet V3,一个针对 CPU 优化且具备自动语言检测的模型。转录前会使用 Silero 进行语音活动检测(VAD)来过滤静音。
Handy 是一个 Tauri 应用,结合了 React + TypeScript 前端(使用 Tailwind CSS 构建设置界面)和 Rust 后端(用于系统集成、音频处理和机器学习推理)。核心库包括用于 Whisper 模型的 transcribe-cpp、用于 Parakeet 模型的 transcribe-rs、用于跨平台音频输入输出的 cpal、用于语音活动检测的 vad-rs、用于全局键盘快捷键的 rdev,以及用于音频重采样的 rubato。
该应用提供多种录音模式:按住录音、点击切换、仅按住和仅切换。它包含一个可通过键盘快捷键访问的调试模式、用于远程控制和启动定制的命令行参数,以及一个 Raycast 集成,用于控制录音、浏览转录历史、管理词典以及切换模型和语言。
对于 Linux 用户,Handy 需要额外的工具来实现文本输入,具体取决于显示服务器:X11 使用 xdotool,Wayland 使用 wtype 或 dotool。在 Linux 上,录音覆盖层默认禁用,以避免焦点抢占问题。Wayland 上的全局键盘快捷键必须通过桌面环境或窗口管理器配置,并提供命令行标志用于集成。
Handy 支持手动安装模型,适用于位于代理后面或受限网络环境中的用户,并且可以自动发现放置在模型目录中的自定义 Whisper GGML 模型。发布工件使用 Tauri 的更新器签名格式签名,并可使用 minisign 进行验证。
该项目正在积极开发中,持续进行调试日志、macOS 键盘改进、可选分析、设置重构和 Tauri 命令清理等工作。已知限制包括 macOS 上蓝牙耳机麦克风问题、fn/Globe 键快捷键仅适用于 Apple 键盘、某些系统配置下 Whisper 模型崩溃,以及 Wayland 支持有限。
评论
0 评分人数达到10人后显示
登录后参与讨论。