环境
- Windows 10 (19045),AhaKey Studio 1.0.0(build 20260706171537),完整版本地模型(STREAMING_PARAFORMER,VAD 关闭)
现象
长口述(约 30 秒)中只要中途有明显停顿(换气、说"呃"、分点陈述),最终只有最后一段被加标点并注入,之前所有分段内容全部丢失。
日志时间线(实机抓取)
11:04:00.545 开始录音(无VAD)
11:04:02-11:04:08 [语音识别中] 持续输出增量 partial(第 1 段内容)
11:04:09.113 SpeechService - 端点: "比如我挂一笔,然后每一票……" ← 第 1 次端点(换气停顿触发)
11:04:09-11:04:29 [语音识别中] 继续输出(第 2、3 段内容)
11:04:29.560 SpeechService - 端点: "比如你挂一笔,先一百股……" ← 第 2 次端点
11:04:30.894 添加标点符号后: "每股再挂一笔。" ← 仅最后一段
11:04:30.894 准备注入文本: "每股再挂一笔。"(8 字,30 秒口述只剩这 8 个字)
11:04:32.691 停止录音
对比:一口气说完(中途无停顿、只有末尾一次端点)时完整注入,行为正常。
分析
流式 Paraformer 的端点检测在中途停顿时会结束当前 segment 并 reset recognizer。按 sherpa-onnx 流式识别的常规用法,端点触发时应把已完成 segment 的文本累积起来,停止录音时拼接全部 segment 注入。当前实现看起来在停止时只取了 recognizer 当前(最后一段)的结果,导致前面段落丢失。
建议
- 端点回调中把 segment 文本累积到 StringBuilder(或 List);
- 停止录音时:全部段拼接(中间补空格/标点)→ 过标点模型 → 注入;
- 顺带建议:注入的标点模型对多段拼接文本统一处理即可。
这个 bug 对长指令口述的使用体验影响很大,期待修复。
环境
现象
长口述(约 30 秒)中只要中途有明显停顿(换气、说"呃"、分点陈述),最终只有最后一段被加标点并注入,之前所有分段内容全部丢失。
日志时间线(实机抓取)
对比:一口气说完(中途无停顿、只有末尾一次端点)时完整注入,行为正常。
分析
流式 Paraformer 的端点检测在中途停顿时会结束当前 segment 并 reset recognizer。按 sherpa-onnx 流式识别的常规用法,端点触发时应把已完成 segment 的文本累积起来,停止录音时拼接全部 segment 注入。当前实现看起来在停止时只取了 recognizer 当前(最后一段)的结果,导致前面段落丢失。
建议
这个 bug 对长指令口述的使用体验影响很大,期待修复。