环境
现象
长语音转写失败或严重跑偏后,历史里只剩那条错误/失败文本。详情页只有 重新润色,没有:
- 重新识别 / 重新转写(对同一段音频再跑 ASR)
- 试听这段录音(判断是音量太小、噪声太大,还是模型把长音频吃掉了)
我不用云端润色。失败时再点「重新润色」只会拿已经错的 8 个字符去跑 LLM,原文找不回来。
实例:2026-09-09 17:42(本地时间)
history.json:
| 字段 |
值 |
| id |
015bcfbb-81f2-46b9-a339-ad86f5f45603 |
| createdAt |
2026-09-09T09:42:36.364640200+00:00(本地 17:42) |
| durationMs |
59830(59.8s) |
| rawTranscript / finalText |
language |
| asrProvider / asrModel |
sherpa-onnx-local / qwen3-asr-0.6b-int8 |
| asrMs |
3339 |
| hasAudioRecording |
false |
| errorCode |
polishFailed |
| appName |
ChatGPT |
日志(同一 session):
09:41:32 recorder started (asr=sherpa-onnx-local)
... 录了约 60s,麦克风 peakIn 全程约 0.036–0.046,中间有多段 inRMS>0.01 的有效语音 ...
09:42:32 sherpa-onnx transcribe: audio=59.83s timeout=80s
09:42:32 [sherpa-asr] prepare finished model=qwen3-asr-0.6b-int8 elapsed_ms=0
09:42:36 [sherpa-asr] transcribe finished ... audio_ms=59830 elapsed_ms=3338 text_chars=8
09:42:36 polish failed, falling back to raw: API Key 为空
09:42:53 [style-pack] command repolish requested ... raw_chars=8
同一时段、同一模型:前一条 15.2s 中文正常(那用户携带凭证的…),后一条 10.7s 也正常。只有这条 59.8 秒 整段被收成一个英文词 language(8 字符,很像 Qwen-ASR 的语言标签而不是正文)。
因为没存音频,现在无法回放确认是音太小、噪声,还是长音频/0.6B 模型把内容丢掉。设置里虽有 recordAudioForDebug,默认关,历史 UI 也没有试听入口。
请求
- 历史详情提供 重新识别:用该条保存的音频再跑当前 ASR(可换模型)。
- 默认或可选项 保存录音,详情页可试听、看音量/波形,便于区分「我没说清楚」和「模型把长句吞了」。
- 长音频(如 >30s)应对 Qwen3-ASR 做分块/滑动窗,避免整段只吐 language tag。
- 「重新润色」不要当转写失败的唯一补救;未配置 LLM 时更不该只有这一按钮。
期望
环境
sherpa-onnx-local/qwen3-asr-0.6b-int8polishFailed/ API Key 为空)recordAudioForDebug=false,该条hasAudioRecording=false现象
长语音转写失败或严重跑偏后,历史里只剩那条错误/失败文本。详情页只有 重新润色,没有:
我不用云端润色。失败时再点「重新润色」只会拿已经错的 8 个字符去跑 LLM,原文找不回来。
实例:2026-09-09 17:42(本地时间)
history.json:015bcfbb-81f2-46b9-a339-ad86f5f456032026-09-09T09:42:36.364640200+00:00(本地 17:42)languagesherpa-onnx-local/qwen3-asr-0.6b-int8polishFailed日志(同一 session):
同一时段、同一模型:前一条 15.2s 中文正常(
那用户携带凭证的…),后一条 10.7s 也正常。只有这条 59.8 秒 整段被收成一个英文词language(8 字符,很像 Qwen-ASR 的语言标签而不是正文)。因为没存音频,现在无法回放确认是音太小、噪声,还是长音频/0.6B 模型把内容丢掉。设置里虽有
recordAudioForDebug,默认关,历史 UI 也没有试听入口。请求
期望
language这类标签词