复盘:我们是怎么把一段 5.9 分钟的话弄丢的

8 月 22 日上午,一段 5.9 分钟的激情口述,插入结果只有 11 个字。用户(就是我们自己)的原话:「我讲了那么多,讲得那么激情亢奋,数据全给我丢掉了。」

复盘值得公开写,因为这类故障每个语音产品都会遇到,多数选择沉默。

好消息先说:音频没丢。 前一天上线的录音落盘机制干了它该干的活,11.3MB 的原始音频完整躺在本机。丢的是转写。

根因是零点几秒。 当时刚上线长口述分段:每 60 秒切一段上传。但定时器触发时,实际累积的音频总会比 60 秒多出零点几秒——而服务端对免费档严格拒收超过 60 秒的音频。于是每一段都被拒、悄悄留空,只有最后收尾那截短的活了下来。5.9 分钟 → 11 个字。

救援用的正是「先存后用」。 把本机音频按 58 秒重新切块转写,7 段全部成功,1893 字找回,回填进历史。

三重加固:

  1. 切段间隔从 60 秒改成 55 秒,留出抖动余量;
  2. 录音过程中每分钟落盘一次活文件,App 崩溃也只丢最后一分钟;
  3. 历史里的「重新转写」支持任意长度自动分段——只要音频在本机,永远来得及补救。

教训一句话:边界值不能顶着上限跑,以及,永远先把原始数据存住。修复已随 0.1.89 发布。