离线语音转换工具-Gzx语音转换助手
1、立项原因
旨在解决网络环境不佳或完全断网场景下,开发者无法依赖云端服务进行高效编码的问题。尤其针对“vibe coding”(氛围式/对话式编程)开发模式中,需频繁口头表述需求、反复整理和调整关键词的痛点,通过引入本地化的语音转换输入能力,降低操作门槛,提升离线状态下的开发效率与体验。
2、行业场景
适用于边缘计算、野外作业、移动车载、工业现场、保密内网等弱网或断网环境下的软件开发场景。在此类业务背景下,传统在线IDE或云编码工具不可用,而开发者仍需快速迭代原型或调试代码,本方案可为其提供轻量、即时、无需联网的语音辅助编程支持。
3、功能模块
入口(`main.py`):负责单实例互斥、日志初始化、全局异常钩子,以及启动画面展示与模型延迟加载的协调。
语音识别引擎(`asr_engine.py`):核心模块,统筹音频采集、VAD切句、ASR识别、实时模拟输入和LLM异步纠错的全流程。
配置管理(`config.py`):单例模式读写`settings.json`,支持配置变更通知和原子写入。
LLM客户端(`llm_corrector.py`):封装HTTP请求,实现与本地或远程大语言模型的通信、可用性探测及超时重试。
系统托盘(`tray_app.py`):基于pystray实现托盘图标、全局快捷键(左Alt+Q)监听及状态显示。
启动画面(`splash.py`):无边框进度窗口,带毛玻璃效果,展示模型加载进度。
设置界面(`settings_ui.py`):独立线程运行的Tkinter配置窗口,支持LLM地址/模型修改及连接测试。
VAD指示器(`vad_indicator.py`):鼠标旁动态彩色光点,实时显示语音概率和音量大小。
4、功能描述
核心工作流程如下:
用户按下全局热键(左Alt+Q)后,系统通过PyAudio采集麦克风音频,经Silero VAD进行语音活动检测与切句,再由SenseVoiceSmall端到端模型实时识别为文字。识别结果立即模拟键盘输入上屏,确保低延迟反馈。
同时,系统将识别文本送入LLM纠错队列,在用户静默3秒后自动触发批量纠错。LLM修正标点和错字后,通过模拟退格删除原文并粘贴修正文本,实现无感替换。纠错过程支持取消重入——若用户在LLM处理中继续说话,当前请求被取消,未处理句子自动归还队列等待下一批次。
生活服务
音视频