用途与实际影响
这项功能怎样使用
为什么需要它
不同用途需要不同速度和复核强度;装了新模型不等于它该接管日常任务。固定当前默认和实际执行身份,才能知道这次结果是怎样来的。
举个实际例子
“先快速知道这段语音讲什么;需要正式引用的部分再严谨核对。”第一轮用 SenseVoiceSmall 出初稿;复核时用 Qwen3-ASR-1.7B 主识别、SenseVoice 对照,把分歧连到原音。若我只要给确认过的旁白标词语秒数,则改用对齐入口,不重新识别文案。
最后我会得到什么
每次交回实际使用的模型、初稿或双路文字、需要回听的差异与时间位置;对齐任务另给逐词秒数。Whisper Large V3 目前只有登记,不能直接执行,也不是失败后的自动备选;云端专业识别须另行明确选择并满足本次上传条件。
正常时
所选本地模型、文件和运行条件都可用时,按这次用途执行,并在结果中写明实际用了哪一套;双路复核会保留两份结果和差异。
发现问题时
Qwen 主识别失败而 SenseVoice 有结果时,只交暂定文字和失败原因,不能称为两路已经核对;重要词句仍要回听。
入口不可用或证据不足时
所选权重或运行环境缺失时只暂停对应路线。Whisper 当前不能直接转写,不会用相近模型顶替,也不会自行下载、换默认或上传。
从哪里开始
说明是快速初稿、重要录音复核、说话打字还是已有文案对齐。
需要准备什么
- 音频或实时场景
- 所需复核强度和时间线
- 云端时的单次上传选择
从开始到拿到结果
- 1
先说要做什么
听写、快速初稿、严谨核对、多人分段和已知文案对齐的输入与输出不同;先按真实请求选择路线。
- 2
公开实际模型选择
听写用 Qwen;快速初稿用 SenseVoice;默认严格文件转写用 Qwen 与 SenseVoice。FireRed 加 Qwen、Fun-ASR 与 Paraformer 仅在相应用途明确选择且依赖可用时运行。
- 3
交回文字、时间与疑点
结果记录实际模型和完成层级。双路有分歧就给回听位置;对齐只给确认文案在声音中的词语时间,不证明文案本身正确。
技术实现与依据
这里保留实现、关键条件、精确入口、历史记录和验证结果。
Registry(登记清单) 登记 6 个 Profile,直接转写闭集 5 个;quick/strict 固定,Whisper Large V3 仅 fallback(后备路线)/comparison、当前不可直接执行关键规则与设计选择
桌面听写只用原有 Qwen3-ASR-1.7B,不做双模型复核或自动润色,也没有更换或下载另一 ASR(自动语音识别) 模型;文件 quick/strict 默认角色维持。
兼容依赖可由 AI 自主更新;新增或替换模型需要可靠、明确的中文效果、速度与兼容改进证据,不因新版本或宣传换模,没有定时模型下载服务。
普通默认不因新模型安装而漂移。
quick 与 strict 的质量和成本边界明确。
证据级、时间线和备用模型必须显式选择。
Registry(登记清单) 当前登记 6 个 Profile,但 list_transcription_engine_names 只返回 5 个可直接执行引擎;数量不能互相冒充。
Whisper Large V3 是 fallback(后备路线)/comparison 设计记录,当前 pipeline 看到 is_whisper=true 会在模型加载前明确拒绝。
每次结果记录实际引擎,而不是只记录模式名。
模型失败影响状态和证据等级,不只影响一段错误文本。
本模块用到的名词
- Registry
- 模型配置的唯一登记表,决定 id、角色、适配器和边界。
- primary engine(主引擎)
- 严格模式主要正文候选的来源。
- secondary engine(对照引擎)
- 独立转写同一输入,用于发现分歧和疑似幻觉。
- profile
- 一个精确模型及其运行合同,不是模糊产品别名。
- registered-only profile(仅登记配置)
- 为了记录备用/对照身份而保留在 Registry(登记清单),但当前没有直接转写执行路径;Whisper Large V3 属于这一类。
专业定义
把每个模型的身份、版本、能力与分工集中登记;日常快慢路线保持稳定,新装更强模型也不会暗中改掉默认结果。
解决什么
解决模型配置漂移、默认路线暗改、同名模型版本不清、主/对照角色混乱,以及模型失败后仍被显示为完整双模型成功的问题。
当前怎样实现
- configs/models.yaml 声明模型 id、适配器、版本、能力和设备要求。
- config.py 读取并验证模型配置;未知引擎直接失败。
- config.py 分开 list_engine_names(全部登记)与 list_transcription_engine_names(排除 is_whisper 的直接转写闭集)。
- pipeline.py 按 quick、strict 和显式参数组织主/对照引擎;build_model 在加载前拒绝 is_whisper Profile。
- adapters 分离 Qwen、FunASR 与 FireRed 的运行差异。
- fun-asr-nano 使用 ModelScope hub、funasr-automodel、GPU 与 trust_remote_code=true,固定 revision 05201c46…;Paraformer 固定 v2.0.4,并显式携带 VAD(语音活动检测)/PUNC/CAM++ aliases。
- qwen_identity.py 对 Qwen runtime(运行环境) 与模型身份做精确约束。
执行流程
- 1
解析模式和显式引擎参数。
- 2
从 Registry(登记清单) 取得精确 profile。
- 3
检查 Profile 是否进入 direct transcription 闭集;Whisper registered-only 请求在加载前停止。
- 4
检查依赖、权重、设备和输入能力。
- 5
为主引擎和对照引擎创建独立原始输出。
- 6
把实际身份和执行状态写入结果。
- 7
交给仲裁与审计层生成正文和复核结论。
边界
- Fun-ASR-Nano、FireRed 和 Paraformer 可按各自显式路线执行但不会接管 quick/strict;Whisper 仅登记为备用/对照,当前不能直接转写。
- Fun-ASR-Nano 精确身份为 FunAudioLLM/Fun-ASR-Nano-2512@05201c46f1c38592b1567f857c0d56eab3d0d8ef;Paraformer 精确身份为 iic/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch@v2.0.4。
- 模型安装成功不等于真实音频 E2E(端到端验证) 通过。
- 对照模型不是投票多数,也不自动证明主模型错误。
- 云模型与本地模型分属不同授权和证据边界。
失败与恢复
- 未知模型或配置字段错误
- 启动前失败并指出精确 profile,不选择相近模型。
- 用户直接请求 Whisper Large V3
- 返回 fallback(后备路线)/comparison only 的明确不可用结果;不加载模型、不生成假转写,也不静默改走另一个引擎。
- 主引擎失败、对照成功
- 保留对照文本但标为 provisional,并记录主引擎错误。
- 两路都失败
- 输出听不清或失败状态,不生成貌似完整正文。
- 结果声明的模型与实际 runtime(运行环境) 不同
- 证据回执验证失败,结果不能升级为 verified。
真实入口
E:\Projects\Tools\ChineseASR\configs\models.yaml模型 Registry(登记清单) 与默认角色
E:\Projects\Tools\ChineseASR\src\zh_asr\config.py配置加载与验证
E:\Projects\Tools\ChineseASR\src\zh_asr\pipeline.pyquick / strict 流水线
E:\Projects\Tools\ChineseASR\tests\test_config.pyWhisper fallback-only标记与直接转写闭集回归
E:\Projects\Tools\ChineseASR\src\zh_asr\adapters\qwen_asr.pyQwen ASR(自动语音识别) 适配器
E:\Projects\Tools\ChineseASR\src\zh_asr\adapters\funasr.pySenseVoice、Paraformer 与 FunASR 适配
E:\Projects\Tools\ChineseASR\src\zh_asr\adapters\firered_worker.pyFireRed 隔离 worker 适配
如何验证
- 2026-08-31 Doctor 枚举六个登记 Profile,并确认 FunASR、Qwen ASR(自动语音识别)、PyTorch 已安装;登记数量不等于可直接执行数量。
- config.py 当前直接转写闭集为5个;test_config验证whisper-large-v3带is_whisper且不进入该闭集,pipeline在加载前拒绝它。
- config、pipeline、Qwen identity、FireRed worker 等单元回归包含在 2026-08-31 的 345 项通过结果中。
- Registry(登记清单) 静态回读确认 Fun-ASR-Nano revision=05201c46…、Paraformer revision=v2.0.4;本次未分别加载或运行它们,精确配置不冒充推理E2E(端到端验证)。
- 本次没有对六个 profile 分别运行真实录音,实际速度与准确率仍以具名 benchmark 为准。
与其他模块的关系
模型与模式模块声明要运行的精确 profile;安装与恢复模块负责让对应依赖、模型工件和隔离运行时可重建,入口、长音频、审计和说话人模块只能在这两层共同成立的能力范围内工作。
