AI · ASRPythonWhisperOffline

让离线语音识别在异常时可恢复、可回退、可审计。

项目面向川渝导航语音,当前路线冻结为 Whisper-small 稳健推理:正常样本一次解码,异常结果受约束重试,仍失败时回退旧模型,再经过确定性规范化与质量门禁生成结果。

Overview & context

无参考文本的测试集,更需要约束“看起来合理”的冲动。

导航方言识别不仅要处理口音和地名,还要避免生成循环、整句重复、异常长度和异常字符。测试集缺少真值时,人工把文本改得更通顺并不能证明 CER 更低。

Problem

批量推理可能因 CUDA 进程退出丢失长时间进度;单一解码策略对异常样本不够稳健;同时不能让重试、后处理或地名规则变成不可追踪的黑箱。

Requirements

推理结果必须同时满足格式、质量和可追溯性。

异常可识别

检测单字死循环、短语循环、整句重复、异常长度与异常字符速率。

运行可恢复

固定分片计划,完成一个分片立即保存;恢复时跳过已通过校验的分片。

输出可审计

分别记录重试、模型回退、文本规则、质量失败与最终构建校验。

Architecture

把稳健性放进正式推理链路。

每一步都有明确输入、失败路径和持久化证据。

01 · SHARD固定分片

测试音频按计划拆分,支持断点恢复。

02 · INFER主模型识别

正常样本使用一次贪心解码。

03 · GUARD异常检测

识别重复、长度和字符异常。

04 · RETRY重试 / 回退

受约束重试,必要时加载旧模型。

05 · BUILD规范化与校验

生成 JSONL、审计与 SHA-256。

Technical decisions

控制变量,比盲目增加模型更重要。

01

冻结模型路线

当前不再继续训练,避免测试集输出反向影响模型或规则。

02

按需加载回退模型

只有重试仍异常时才加载旧 Whisper,避免两个模型长期占用显存。

03

确定性后处理

safe 档只处理导航、叫车、车型和常见术语;实验性地名规则保持独立。

04

构建阶段再验证

最终输出重新检查 UTF-8、JSONL、ID 对应、字段集合和明显生成异常。

Challenges & solutions

失败路径也必须是工程流程的一部分。

挑战解决方式留下的证据
生成循环与整句重复动态长度上限、beam search、no-repeat n-gram 与重复惩罚重试robust-audit.jsonl
GPU 任务意外退出分片子进程、自动降为 batch size 1、有限次数重试与 Resumeplan.json + 分片 predictions
后处理误改风险safe / extended 候选隔离,规则逐条记录,不人工挑句correction-audit.jsonl
Results

当前结果证明的是稳健性链路,不是未经验证的准确率。

5 条异常诊断当前 README 记录的严重异常均经过真实 GPU 诊断
4 + 14 条由受约束重试恢复,1 条交给旧模型回退
可恢复分片成功分片即时保存,中断后不重做已校验工作
准确率边界:项目没有在无标注测试集上公布 CER,也不会把“读起来更通顺”当作准确率证据;最终效果仍需正式评测验证。
Screenshots & evidence

为架构、审计与结果准备多图展示位。

占位图仅说明建议素材类型,不代表识别结果或性能。

PROJECT BOUNDARY

代码仓库暂未公开。

当前页面只展示已从本地项目 README 和代码结构核验的工程事实;公开仓库或下载入口需要本人确认后再启用。

交流项目