|
|
dc4ebab47c
|
feat: 添加音频输入设备选择器与音频电平诊断
- audio_capture 启动时输出详细设备信息(名称、Host API、采样率)
- 录音停止时输出 RMS 电平和峰值,帮助诊断音频质量问题
- 设置页面新增音频输入设备下拉选择,支持从 PortAudio 设备列表中手动选择
- 语音输入服务使用配置的音频设备和采样率参数
- 检测 monitor/output 类型设备时发出警告,避免选错回环设备
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-05-13 15:16:56 +08:00 |
|
|
|
a2b216092f
|
fix: 修复配置保存死锁,添加快捷键录制组件
- 修复 ConfigManager::set() 在持有锁时发射信号导致的死锁
- 添加 setBatch() 方法批量更新配置,只发射一次 configChanged
- 新增 HotkeyRecorder 组件:点击按钮后按键录制任意快捷键
- SettingsPage 保存配置改为批量写入,避免多次触发服务重启
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-05-13 14:49:55 +08:00 |
|
|
|
85a0890478
|
feat: 完善跨平台支持(Windows + macOS + Linux)
CMakeLists.txt:
- Qt6::DBus 和 pthread 改为平台条件链接
- 新增 PLATFORM_WINDOWS/PLATFORM_MACOS/PLATFORM_LINUX 编译宏
- 平台特定的源文件通过条件块选择
Windows 实现(新增):
- win_hotkey.cpp/h: 使用 RegisterHotKey API + QAbstractNativeEventFilter
捕获 WM_HOTKEY 消息,通过 GetAsyncKeyState 轮询检测按键松开
- win_text_injector.cpp/h: 使用 SendInput API 的 KEYEVENTF_UNICODE
实现全 Unicode 字符注入
macOS 实现(占位):
- mac_hotkey.cpp/h: 预留 CGEventTap 接口,暂不实现
- mac_text_injector.cpp/h: 使用 CGEventCreateKeyboardEvent 实现
通用修复:
- 硬编码 /tmp 路径替换为 QDir::tempPath()(跨平台临时目录)
- voice_input_service.cpp 使用条件 include 选择平台实现
- 设置页面移除 /tmp 硬编码提示文本
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-05-13 11:28:57 +08:00 |
|
|
|
baec3482a7
|
feat: 集成语音输入服务到主窗口和设置页面
主窗口新增 VoiceInputService 生命周期管理,支持通过配置页面
的开关动态启停 CapsLock 语音输入功能,窗口关闭时自动清理。
设置页面新增两个复选框:
- 调试录音:保存每次识别的原始音频到临时文件夹
- 快捷语音:启用 CapsLock 长按语音输入
转写页面和 STT 测试页面同步配置中的调试音频开关到引擎。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-05-13 11:13:15 +08:00 |
|
|
|
9a6dfa3b88
|
feat: 集成 SenseVoice 完整推理管线
- 新增 SenseVoiceEngine: 专用 SenseVoice ONNX 模型推理引擎
- 新增 SenseVoiceFeatures: Fbank 特征提取 + LFR 拼接 + CMVN 归一化
- 80-dim Mel 滤波器组 + 对数压缩
- LFR (Low Frame Rate): window_size=7, window_shift=6 → 560-dim
- CMVN: neg_mean / inv_stddev 从模型元数据自动提取
- 新增 SenseVoiceTokenizer: 加载 tokens.txt 词表,BPE 解码
- 新增 CTC 贪婪解码: 去除重复 token 和空白符
- 配置页面新增词表路径选择
- STT 测试页面和文件转写页面切换至 SenseVoiceEngine
- 更新 CMakeLists.txt 包含所有新增源文件
- 模型: /home/alvin/Documents/SenseVoice-Small/sherpa-onnx-sense-voice-zh-en-ja-ko-yue-2024-07-17/model.onnx
- 语言支持: 中文/英语/日语/韩语/粤语 自动检测
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-05-12 19:26:11 +08:00 |
|
|
|
02e100b318
|
feat: 初始化 Impress Voice Input 项目
基于 ONNX 的实时语音转文本输入法,C++ 跨平台实现。
核心组件:
- Qt 6 跨平台 GUI(实时识别 / 文件转写 / 配置页面)
- ONNX Runtime 推理引擎(异步模型加载)
- PortAudio 音频采集
- dr_libs 音频文件解码
- JSON 配置管理(线程安全,自动持久化)
- 日志系统(控制台 + 文件输出)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-05-12 15:53:05 +08:00 |
|