|
|
01a39ddc8c
|
feat: 实现基于 VAD 的流式 WAV 录制识别方案
- 新增 StreamingAudioWriter 组件:持续录制 WAV 文件,VAD 检测静音段自动切换
- 静音检测:检测到 ~1s 连续静音后关闭当前文件,触发 chunkCompleted 信号
- STTTestPage 重构:移除缓冲区推理模式,改为 WAV 文件流式识别
- 每个 WAV 文件完成后在后台线程读取并推理,不阻塞继续录制
- 设置页面新增「调试音频目录」配置项
- 音频存储路径:debug 模式使用配置目录,非 debug 模式使用系统临时目录
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-05-13 15:33:03 +08:00 |
|
|
|
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 |
|
|
|
d87b3e1ff8
|
fix: 修复 SenseVoice argmax 偏移 bug + 添加调试音频保存
修复转写结果显示为 token ID 的问题:argmax() 返回的是扁平化数组的
绝对索引,需减去 offset 才能得到正确的 token ID。同时修正置信度
计算使用正确的绝对索引。
添加调试音频保存功能:开启后每次推理将原始 PCM 保存为 WAV 文件
到 /tmp/impress_audio_debug/,并增加 RMS 电平和 NaN 诊断日志。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-05-13 11:12:34 +08:00 |
|
|
|
ecc79aaeb6
|
fix: 修复 PortAudio 无音频设备检测问题 + 初始化生命周期
1. 重新编译 PortAudio 启用 ALSA 支持(原先编译时未启用任何音频后端,
导致设备数为 0,Pa_GetDefaultInputDevice() 返回 -1)
2. 修复 getDeviceList() 中 Pa_Terminate/Pa_Initialize 顺序错误
(先 Terminate 再 Initialize 会导致状态异常)
3. 使用全局 gPaInitialized 标志管理 PortAudio 生命周期,
避免多次 start/stop 后重复初始化或意外终止
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-05-12 20:08:56 +08:00 |
|
|
|
6cb73b43a8
|
fix: 修复应用卡死的两个关键 bug
1. SenseVoiceEngine 死锁:loadModelSync/loadModelAsync 中调用
unloadModel() 获取 mutex 后立即调用 loadInWorker() 再次获取
同一非递归 mutex,导致死锁。改为内联清理逻辑。
2. PortAudio 回调内存分配:实时音频线程中 std::vector 分配
导致 Linux 系统卡顿。改为预分配固定大小缓冲区。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-05-12 19:54:05 +08:00 |
|
|
|
59c12ab931
|
feat: 扩展音频格式支持与推理管线优化
- 新增 MP3/FLAC 格式解码 (dr_mp3/dr_flac)
- 修复 Mel 频谱图使用 magnitude² 替代 magnitude 的问题
- 推理管线增加音频重采样 (非 16kHz 自动转换)
- 更新 README 项目状态
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-05-12 16:35:48 +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 |
|