YazSes
按住说话、松开转文字——全离线、跨平台、键盘截断式语音听写
项目简介
YazSes 是一款完全离线的语音听写工具,支持 Linux(X11 与 Wayland)、macOS 和 Windows三大桌面平台。工作方式极简:按住一个自定义热键说话,松开后文字就出现在当前焦点应用中。语音识别在本地运行,使用 faster-whisper 模型,不需要网络、不需要账号、不需要订阅。
除了核心的按住说话听写功能,YazSes 还支持语音命令(识别后执行对应操作)、录音文件转写、以及会议录音并标注发言人——这些额外功能默认关闭,用户按需启用。
核心功能
键盘截断式听写
按住热键说话,松开瞬间文字即出现在当前焦点应用中。支持自定义热键配置,可在任意应用中实时听写,无需切换窗口或使用专门的听写输入框。
全离线语音识别
使用 faster-whisper 在本地 CPU 上完成语音转文字,不依赖任何云端服务。无需互联网连接,无需注册账号,所有数据保留在本地。
语音命令模式
除了纯听写,还支持语音命令模式:识别出文本后执行对应操作,如"打开浏览器""新建文件夹"等,适合需要免手动操作的场景。
录音文件转写
支持对已有的音频文件进行批量转写,不需要实时录音,适合整理采访、会议录音或有声笔记。
会议录音与发言人标注
录制会议全程并实时转写,同时标注不同发言人,适合团队会议记录和复盘。
跨平台支持
覆盖 Linux(X11 + Wayland)、macOS 和 Windows 三大平台,安装方式统一:一行命令完成安装,自动检测系统环境并安装所需依赖。
技术实现
YazSes 的核心技术栈建立在 Python + faster-whisper 之上,整体架构分为本地服务端守护进程和热键监听客户端两部分。
安装脚本通过一行命令完成全流程:自动检测操作系统、下载 faster-whisper 模型、安装音频录制依赖(PortAudio/PulseAudio/PipeWire)、配置热键注入(X11 下用 xdotool,Wayland 下用 ydotoold)、加入 input 用户组,最后启动 doctor 检查确保所有组件正常。整个过程无需手动干预。
热键监听通过 Python 的 evdev 库读取键盘事件,区分短按(触发听写)和长按(持续录音),在松开热键时触发语音识别流程。识别结果通过剪贴板或直接按键模拟注入到当前焦点窗口,实现了"说话时不影响正常键盘操作、停止说话瞬间文字上屏"的体验。
Wayland 环境下由于安全限制,无法直接模拟按键,需要 ydotoold 作为辅助守护进程来处理按键注入,这是整个安装过程中最复杂的部分,install.sh 脚本已将其自动化。
快速上手
安装(一行命令)
Linux(推荐脚本安装):
bash <(curl -fsSL https://raw.githubusercontent.com/MSKazemi/yazses/main/install.sh)
macOS:
pipx install yazses
Windows:
pip install yazses
配置热键
安装完成后运行 yazses doctor 检查环境,然后配置自己习惯的热键(默认建议为右 Alt 或某个不常用键)。
开始听写
- 打开任意需要输入文字的应用(终端、编辑器、浏览器搜索框均可)
- 按住配置好的热键,对着麦克风说话
- 松开热键,文字即出现在光标位置
- 如需语音命令,先在配置中开启命令模式
会议录音
- 运行 yazses meeting start 开始录音
- 会议结束后按 Ctrl+C 停止
- YazSes 自动转写并生成带发言人标注的文稿
适用人群
- 需要在写作、编程时快速录入文字的创作者和开发者
- 在隐私敏感环境下工作、不能使用云端语音服务的专业人士
- 需要整理大量会议录音、播客内容的知识工作者
- 习惯键盘操作、希望双手不离开键盘就能完成文字输入的高级用户
- 研究 AI 语音技术在本地部署的开发者和技术爱好者
评论与建议
登录 后参与评论或提建议