用途与结果
最快了解这个项目
为什么需要它
录音里有用的信息很难快速查找,手动听写又慢;名字、金额和一句否定词错了,还可能改变整段意思。日常说话打字不需要等两套模型,而要核对的重要录音需要保留原声音、分歧和位置。这个项目把这些需求分开,避免所有声音都走同一条又慢又难解释的流程。
举个实际例子
“把这段会议录音整理成文字,标出金额、日期和两套识别不一致的地方,让我能点回去听。”交回的是可读转写、疑点位置和原音频关联,不是一份不说明依据的润色稿。只是想说话打字时,按 Win+H 打开单个听写面板即可。
最后我会得到什么
说话打字时,文字进入当前可编辑应用,不自动发送。处理文件时,得到转写正文、已有时间位置、两路结果和需要回听的疑点;长任务保留已完成片段。已有文案对齐时,只得到每个词的起止时间与覆盖结果,不重复配音,也不把对齐成功说成文字本身正确。
正常时
说话打字会在焦点仍正确时把文字放进当前应用;处理录音则交回可读文字和实际得到的时间位置。重要录音另列两路识别差异和要回听的地方。
发现问题时
只有部分片段完成、两路不一致或一条识别路线失败时,保留可用结果并标明暂定与复核点,不冒充整段正确。
入口不可用或证据不足时
麦克风、音频、模型或运行环境不可用时说明停在哪一步,沿原任务或固定安装入口接续;不反复重传同一录音,也不自动上传云端。
从哪里开始
说话打字从 Win+H 小窗开始;已有录音交给 ChineseASR 文件任务入口;已有文案的逐词时间另走对齐入口。
需要准备什么
- 听写时当前要输入的位置
- 文件任务的录音与快看或重要复核的目的
- 逐词对齐时已确认的文案和对应音频
从开始到拿到结果
- 1先选用途
直接听写处理当前一句;已有文件成为可查任务;文案对齐只找词语时间,不重新配音。
- 2核对输入和运行条件
确认文件或麦克风、实际模型及本地环境;重要录音用两路结果对照,长录音保存已完成片段。
- 3正文与疑点一起交付
给转写、时间位置及关键数字、否定句等回听处;匿名说话人不自动变成真实身份。
- 4从原任务继续
模型或环境不可用时保留成果和错误;专业云入口只在本次明确选择并获准上传后使用。
从这些需求了解功能
从一个实际问题看它怎样处理、交回什么;当前能做到哪一步和仍有哪些限制,也写在对应说明中。
项目指标与相关入口查看规模、覆盖范围和关联能力
当前项目指标
- 登记 / 可执行
- 6 / 5
- 9 月 17 日来源回归
- 482 项 · 1 跳过
- 历史长音频分段
- 4/4
它负责
- 让本人用一个小面板说话打字,能暂停、取消,并在输入框变动时停止自动输入。
- 把指定的短语音、长录音或文件夹变成可查询进度的转写任务。
- 按用途提供快速初稿、重要录音双路核对、可选额外本地模型与现成文案逐词对齐。
- 保留长录音已完成片段,中断后沿同一录音和设置续作,不因等待结束重复开任务。
- 把正文、原始识别、时间位置、疑点和恢复状态一同交付,重要内容能回到原音复核。
- 多人录音先用匿名声音组表示发言,真实身份另取证且允许撤回。
- 分开维护依赖和模型工件的安装恢复;模型更新先比较同一材料,不因下载完成而换默认路线。
- 普通录音留在本地;明确选择云端时逐次核对上传授权,运行时协调显卡占用。
它不负责
- 转写帮助阅读和回听,不证明录音真实、说话人身份或争议事实。
- 关键姓名、数字、否定和承诺仍要听原音;两路文字相同也可能一起错。
- 匿名“说话人1”不会自动变成某个真实人的名字。
- 源码、离线依赖或模型登记存在,不代表模型文件已经备份、在当前机器装好或真实录音已经验收。
- 普通录音、文件夹批量或录音较长,都不会自动上传云端。
- 公开页不放私人录音、转写正文、声音特征、模型权重或密钥。
- 当前主目标是中文听写、录音复核和文案对齐,不把它描述成通用语音助手或音频剪辑工具。
产品思想与设计核心
本人控制文字落点
听写只向当时选中的输入位置送文字,不自动润色或发送;焦点改变就停,已经输入的字由本人检查修改。
换默认模型先比真实错误
同一份参考声音要比较错字、关键内容、静音乱出字、复核负担和耗时;候选在小样本更好,不等于对所有录音更准。
原音频比顺畅文字更可靠
转写主要帮助找回和回听;流畅、相似或模型一致都不替代关键句的原音核听。
分歧留给人复核
数字、否定和关键意思有疑点时标出相应声音,不用第三份模型意见或自动润色盖掉原结果。
正文和证据一起交
结果同时说明用了哪份音频、哪里有时间位置、哪些部分暂定,以及失败后从哪里继续。
长录音能从中断处接上
只复用与这份原音和当前设置一致的已完成片段,仍要检查整段时间有无漏掉。
安装变化不偷偷改默认路线
额外模型要明确选择;真正切换默认前保存原设置和回退点,不覆盖后来独立发生的配置变化。
离线恢复要提前备齐
依赖安装材料和模型文件分别保全;断网后缺哪一层就说哪一层,目录或回执存在不代表真实可用。
云端只在这次明确获准时使用
普通任务本地优先。重要录音或存疑质量复核要明确选择用途并获得这次上传许可,长度与批量不产生许可。
不同声音不等于真实身份
匿名发言组、声音线索和现实归属分别说明;相互冲突时保留理由和可撤销的不确定性。
部分成功也要诚实交付
已完成片段、暂定文字、失败位置与无法运行是不同状态,空白不自动证明原音没说话。
位置、完整与字词正确分开
文案对齐只给词语时间,文件完整只说明材料未丢;两者都不验证文案逐字正确。
项目怎样演化到现在
先让已有录音变成可追溯的文字
先形成本地单文件、双模型核对、批量和长录音续作,再补齐离线环境准备与有界任务观察;重要录音的云端增强须明确选择和上传许可,识别为空也不能当成没有说话。
阶段依据
- 2026-07-06 · 本地转写、双模型、异步任务、长音频续作和离线依赖形成;模型权重单独保全。
a280a54–ad37f35 - 2026-07-08—07-25 · 资源协调与有界任务观察。
89d0cd2–282989a - 2026-07-29—08-02 · FireRed本地路线及独立授权的云端候选。
c788100–eeb41d0 - 2026-08-09—08-17 · 空文本按执行、覆盖与质量分开解释。
a2c0b2b–b596098 - 2026-08-21 · 批量复用已加载模型,同时保留逐文件失败边界。
07516fa
把日常说话打字与文件复核分开
日常输入采用单Qwen减少等待,文件保持可复核路线;匿名声音分组与可撤销归属单独处理,不把声音特征当身份证明。
阶段依据
- 2026-08-24 · 匿名声音、可撤销本人线索和来源上下文分开,单声道歧义不强认身份。
fe11e0c–cfcc7a7 - 2026-08-27—08-28 · 任务、缓存与说话人证据回读形成更明确的失败边界。
7bd1dd4–8792432 - 2026-08-30—08-31 · 读取证据时再次核对目标音频,变化则停止,避免证据错配。
70e3255
能回听问题,也能安全换模型
长录音按片段保留进度,疑点对应原声音;候选先比较再激活,旧版本可回退。听写统一为一个小面板,并给准备、识别和恢复设置实际期限。
阶段依据
- 2026-09-17 · 当前候选已保留模型生命周期与质量维护的来源描述;未提供独立阶段提交编号,真实模型与听写验收仍按技术层各自证据。
已有旁白不必再识别或重新配音
给视频等调用方提供独立对齐:输入确认文案和已有音频,返回词级时间,复用ASR(自动语音识别)模型管理;对齐仍不证明文案逐字正确。
阶段依据
- 2026-09-18 · 已有旁白不必再识别或重新配音
ed060fa · 已知文案对齐入口
完整项目状态与证据边界
已确认事实
- Win+H / Ctrl+Win+H 显示并录音、再次隐藏并暂停;现在只有一个 200×75 实际像素面板,优先 MTT1337 VDD,未接入时用 PHLC34B 物理主屏,不再同时开两个小窗。约 600 ms 停顿、20 秒上限或手动暂停提交整段,仍非逐字流式;Esc 取消未输入部分,不自动发送。
- 2026-09-18 13:30 UTC 的 Status 确认 ChineseASR Dictation 已安装且 Running,中文听写.lnk 存在、归属和绿色图标匹配。任务运行不证明模型已准备或麦克风已连上;普通启动任务只加载宿主,用户入口 Start/Restart 才是开始录音动作。本轮未触发任何录音、停启或焦点输入。
- 文件 baseline / strict:Qwen3-ASR-1.7B + SenseVoiceSmall;quick:SenseVoiceSmall;桌面听写单独使用 Qwen3-ASR-1.7B,不加入双模型等待或 LLM 润色。
- high_quality 文件候选:FireRedASR2-LLM + Qwen3-ASR-1.7B,须显式选择;公开样例通过与安装成功都不自动提升为默认。
- Paraformer + CAM++;cluster 不是人物身份
- Qwen Audio 3.0 ASR(自动语音识别) Flash;Important(重要录音)与 QualityReview(存疑转写质量复核)二选一,均须本次上传授权。普通质量复核保持 purpose=quality_review,不被伪装成重要录音。
- Fun-ASR-Nano-2512 可显式执行;Whisper Large V3 只登记为 fallback(后备路线)/comparison,当前禁止直接转写
- 正式来源为 ed060fa;9 月 17 日来源全套执行 482 项,0 失败、0 错误,1 项因可选公开中文 VAD(语音活动检测) fixture 缺失而跳过。来源另有公开音频与异常退出验收;本轮只读 Status 和 alignment-info,没有把旧 45 项、376 项或新 482 项计作网页重跑。
- transcript-readback 以原音 SHA-256 读取已完成的本地任务及 outputs/cloud-jobs 中保留的云结果;不读原音、不启动模型、不重新上传。云结果只证明块级范围,timestamp_granularity=chunk、quality.status=unknown(未验证),不冒充逐句时间或逐字正确。
- 文件保留 baseline 与显式 high_quality 两套命名配置,显式引擎优先;新增对齐与质量复核不改变桌面听写和 quick。候选只有在同语料、同指标、独立带真值样本比较满足要求后才可明确切换 strict 默认,并保留可回退配置。
- PUBLIC(公开) main=origin/main=ed060fa00d1281b44f691ea4038453fce4f975e8,正式回读工作树干净。现役源码包含有界听写模型进程、单面板、文件质量复核、VAD(语音活动检测) 边界切分、固定模型生命周期和独立已知文案对齐;不是尚未实现的计划。
- 9 月 17 日来源 482 项回归无失败/错误、1 个可选 fixture 跳过;PCConfig 的 64 项 GPU Broker(代理服务) 与 63 项配置/恢复合同、chinese-asr Skill 供应健康分别通过。9 月 5 日 376 项与 33 项定向、9 月 9 日 45 项听写回归保留原日期,互不相加,也不替代真实推理。
- 2026-08-31 Doctor(环境体检)现场识别到 NVIDIA GeForce RTX 5090 D、驱动 616.56、32607 MiB 显存;WinHTTP 为直连,代理环境干净。
- Windows 核心依赖更新为 FunASR 1.4.14、NumPy 1.26.4,满足 FunASR 的 NumPy <2 兼容约束。Qwen ASR(自动语音识别) 0.0.6、Torch/TorchAudio 2.11.0+cu128、Transformers 4.57.6 维持;Python 3.11.9 与 ModelScope 1.38.1 继承 2026-08-31 环境观察。听写额外依赖 sounddevice 0.5.6、pystray 0.19.5、Pillow >=10。
- 2026-08-31 的 tests.test_scripts 共 18 项安装与入口回归通过,覆盖 setup、固定模型下载、依赖锁/wheelhouse、offline install、Smart API 与 smoke 静态合同;这是历史证据,不是本轮重新制备离线工件。
- 2026-08-31 Qwen MODEL_RECEIPT 观察为 1763 字节、SHA-256=0c43de9dd883adefb65cfa1477ad7156f749868105a554e647b47de73c841ef9,绑定 revision a04930dbe5419bfee073f7cade734f572689a3a8 的 13 个必要文件、合计 4703115105 字节;该次确认文件都存在且大小一致;本轮未重读模型工件。
- 2026-08-31 FireRed MODEL_RECEIPT 观察为 2124 字节、SHA-256=c4effd6931c0e09d8b2caaf7f8b9f58bed370fa4a174edfc64b668dd0b48dd01,绑定 revision 2c5e0f415b9afb8f67cb8b00ea4c54959f70e824 的 14 个必要文件、合计 18870501538 字节;固定源码 HEAD=4e7d9aaf4482a47cec1724807026b9b151926eb5 且工作树干净。
- 2026-08-31 FireRed WSL(Windows 的 Linux 子系统) 观察为 Python 3.12.3、PyTorch 2.10.0+cu128、Transformers 5.1.0、NumPy 2.4.2,CUDA/BF16 可用,约 32 GiB RAM + 8 GiB swap。9 月 17 日来源真实 FireRed 路线验收另成立;本轮没有重新读取可用内存或加载模型。
- 当前模型 Registry(登记表)包含 6 个 Profile:FireRedASR2-LLM、Fun-ASR-Nano-2512、Paraformer、Qwen3-ASR-1.7B、SenseVoiceSmall 和 Whisper Large V3;其中前 5 个进入 direct transcription(直接转写)闭集,Whisper 只作 fallback(后备路线)/comparison 登记,pipeline 明确拒绝直接执行。
- 主分支已包含有界说话人证据回读、可撤销 person:self 档案和时间戳通话归属;具体且一致的上下文可在解释反对声学线索后支持 inferred(暂时推断),无法消解的歧义保持未知,profile 撤销后旧声学证据失效。
- 最新说话人证据回读会在处理前后再次核对目标媒体快照;文件被替换或改变时失败关闭,不让旧媒体证据落到新文件上。
- 历史公开验收曾用超过 40 秒的中文电话录音完成四切片 FireRed + Qwen 路线,4/4 段均 verified;相同请求续跑为 0 processed / 4 skipped,默认 strict smoke 也有独立历史通过记录。
- 2026-09-18 13:30 UTC alignment-info 只读返回 Qwen3-ForcedAligner-0.6B@c7cbfc2048c462b0d63a45797104fc9db3ad62b7、weights_present=true、单场最多300秒;给已确认文案定位,lexical_truth_verified=false,不重新配音或启动双模型。
当前缺口
- 9月9日只读音频设备枚举已发现DJI输入端点,取代9月5日未连接的旧观察;没有打开麦克风或采集声音,因此仍未验个人语音与真实按键。指定设备缺失时仍提示连接、不换其他麦克风;入口和图标属性正确也不等于个人使用已通过。
- Qwen/FireRed 大权重和 WSL(Windows 的 Linux 子系统) 精确容量保留原观察;本轮只读确认对齐器固定目录存在、听写任务运行以及离线工件仍缺失,没有重算全部模型哈希或启动推理。
- 9 月 17 日公开音频验收覆盖单模型听写、high_quality 短音频、42 秒两切片 FireRed+Qwen、Qwen 对齐、Smart/API 及异常 worker 回收;它证明集成,不是代表性中文准确率评测,也不证明个人麦克风、口音或按键到上屏体验。
- 2026-09-18 只读确认 offline/manifests 的 requirements-lock.txt、python-version.txt、wheelhouse.sha256、wheelhouse.json 与 offline/wheelhouse 均不存在;因此仍没有可携带的当前离线依赖包,更没有完成断网新机安装。
- 2026-08-31 只核对两份模型回执自身 SHA-256、必要文件存在性与声明大小,没有重新计算约 4.7 GB Qwen 和约 18.9 GB FireRed 全部权重文件的 SHA-256,也没有触发模型 loader 的完整身份校验。
- 现有 wheelhouse 只恢复 Windows Python 依赖,不打包模型权重,也不完整重建 FireRed 的 WSL(Windows 的 Linux 子系统) 源码、Python 环境和模型目录;完全断网的新机还必须事先从可信备份保留这些工件,项目当前没有一键生成并验收完整离线恢复包的脚本。
- 重要录音的 FireRed + Qwen 证据链 smoke 需要指定真实音频并实际核听,本次没有运行;云入口需明确重要录音或质量复核用途及本次上传授权,本轮没有调用。
- Git Owner(Git 事实责任方) 仍登记一个已合并、干净、无唯一提交的旧 speaker-attribution 工作树。它不影响 main 的产品状态,但在确认没有外部任务依赖前不自动删除。
- 模型转写、声纹分数、匿名聚类和回执都不能单独证明真实说话人、外部事实或关键语句正确;需要原音频、上下文和人工复核。
- VAD(语音活动检测) 边界切分和质量复核已实现;仍缺代表性独立留出语料的模型提升证据。来源公开短样例不满足默认模型切换的质量门,当前 baseline 不变。
来源与公开边界
源代码位于 PUBLIC(公开)GitHub(代码托管平台)仓库;模型权重、私人录音、转写结果、声纹向量、云端请求和本机缓存不进入仓库,也不进入本页。
当前关键技术事实
- 桌面听写
- Win+H / Ctrl+Win+H 显示并录音、再次隐藏并暂停;现在只有一个 200×75 实际像素面板,优先 MTT1337 VDD,未接入时用 PHLC34B 物理主屏,不再同时开两个小窗。约 600 ms 停顿、20 秒上限或手动暂停提交整段,仍非逐字流式;Esc 取消未输入部分,不自动发送。
- 日常默认
- 文件 baseline / strict:Qwen3-ASR-1.7B + SenseVoiceSmall;quick:SenseVoiceSmall;桌面听写单独使用 Qwen3-ASR-1.7B,不加入双模型等待或 LLM 润色。
- 重要录音本地证据
- high_quality 文件候选:FireRedASR2-LLM + Qwen3-ASR-1.7B,须显式选择;公开样例通过与安装成功都不自动提升为默认。
- 时间线与匿名说话人
- Paraformer + CAM++;cluster 不是人物身份
- 云候选的两种用途
- Qwen Audio 3.0 ASR(自动语音识别) Flash;Important(重要录音)与 QualityReview(存疑转写质量复核)二选一,均须本次上传授权。普通质量复核保持 purpose=quality_review,不被伪装成重要录音。
- 显式 Profile 与恢复
- Fun-ASR-Nano-2512 可显式执行;Whisper Large V3 只登记为 fallback(后备路线)/comparison,当前禁止直接转写
完整执行流程
- 1先分清直接听写还是处理录音
直接说话打字走独立桌面听写:点好输入框、唤起小窗、录音与停顿输入,焦点冲突时主动复制;不生成文件任务。以下持久任务与证据步骤用于已有录音文件。
- 2先确认运行环境
正常任务先核对 Python/CUDA、模型配置和固定回执;新机、断网或环境损坏时先进入安装与恢复路线,不用半残环境直接跑录音。
- 3再确认输入和目标
固定音频文件、输入指纹、语言、普通或重要录音、快速或严格模式,以及是否需要时间线和说话人线索。
- 4做音频预处理和任务去重
检查格式与可读性,必要时规范为 16 kHz 单声道;根据输入和请求生成 job(任务记录) key,已有相同任务时复用而不重复跑模型。
- 5选择处理路线
普通快速任务走 SenseVoice;高可靠任务走 Qwen 主引擎加 SenseVoice 对照;显式需求才选择 FireRed、Paraformer 或专业云入口。
- 6执行或恢复任务
短音频进入异步 job(任务记录);长音频生成连续分段清单,已完成片段在相同身份下可断点续跑。
- 7生成正文和证据层
分别保存整理正文、原始结果、审计、指标、objective sidecar(客观结果侧车文件)和 manifest(清单),不让某一层覆盖另一层。
- 8处理分歧与身份线索
把模型分歧、疑似幻觉、匿名说话人和 person:self 线索放进可复核结构;证据不足时保持 unknown(未知)。
- 9交付并说明边界
返回可打开文件、任务状态、复核清单和恢复入口;环境重建另交付依赖与模型身份检查结果,关键事实仍要求回到原音频核听。
本页用到的名词
需要核对专业含义时,可以在这里查看它在 ChineseASR 项目中的具体用法。
- ASR(自动语音识别)
- 把语音信号转换为文字的流程;识别成功不等于文字已被人工核实。
- quick(快速模式)
- 使用单一快速引擎完成普通转写,速度优先,审计和交叉验证较少。
- strict(严格模式)
- 由主引擎和对照引擎分别转写,再保留分歧、风险和复核线索的默认高可靠模式。
- Profile(模型配置档案)
- 把模型身份、版本、运行方式、能力和边界集中登记,避免散落在脚本里。
- Smart API(智能任务接口)
- 先做检查和路由,再把重任务放入本地任务服务;调用方可以查询而不是一直阻塞。
- job(任务记录)
- 一次转写的稳定身份,包含状态、输入、模式、输出和错误;调用超时不等于任务失败。
- job key(任务幂等键)
- 由输入和请求语义生成的稳定指纹,用于复用已验证结果并阻止同一任务重复运行。
- manifest(清单)
- 列出输入、分段、模型、输出、指纹和状态的结构化索引,用于恢复与核对。
- raw JSON(原始模型结果)
- 尽量不改写的模型返回值;它与整理后的正文分开保存,便于追查。
- audit(审计结果)
- 记录模型分歧、静音出字、异常重复、繁体残留、超长无标点等风险信号。
- objective outcome(客观音频结果)
- 把执行是否完成、覆盖是否完整、质量是否足够和是否检测到语音分开表达。
- provisional(暂定结果)
- 仍有可读文本,但主证据引擎失败或证据不完整;不能当成已验证结果。
- arbitration(仲裁)
- 当多路模型结果不同或某一路失败时,按固定规则保留正文、疑似标记和复核队列。
- chunk(音频分段)
- 长音频处理时的一段连续时间区间;所有分段必须覆盖原时间线且不能静默漏段。
- resume(断点续跑)
- 在相同输入、配置和任务清单下复用已完成分段,只补做缺失或失效部分。
- diarization(说话人分离)
- 把不同声音聚为匿名说话人,不直接判断真实姓名。
- person:self(本人声纹档案)
- 仅在本机保存、可替换和可撤销的本人声音向量;它始终是推断线索,不是身份证明。
- held-out(留出样本)
- 未参与建立声纹档案的另一段录音,用来减少拿同一原件自证的风险。
- wheelhouse(离线轮包仓库)
- 按依赖锁提前下载的 Python 安装包集合;用于断网重建环境,不包含 Qwen、FireRed 等模型权重。
- dependency lock(依赖锁)
- 从一套已通过检查的环境冻结出的精确 Python 包版本,并记录 Python 版本;它是构建离线轮包的输入。
- MODEL_RECEIPT(模型回执)
- 绑定固定模型仓库、revision、必要文件路径、字节数和 SHA-256 的清单;漂移会阻止装载,但回执本身不是模型备份。
- evidence receipt(证据回执)
- 把内容文件、大小、指纹、模型身份和状态绑定起来的一致性清单;不是数字签名或可信时间戳。
- GPU broker(图形处理器协调器)
- 按工作类型管理显卡租约:OCR 与 ASR 可并行,Ollama 与两者互斥,同类任务仍串行。共享协调器不等于所有 GPU 工作只能排成一队。
- SecretRef(秘密引用)
- 只引用受管密钥,不把密钥值放进命令、日志、Git 或模型上下文。
- E2E(端到端验证)
- 使用真实音频从入口跑到最终文件并检查用户可见结果;单元测试和 Doctor 不能替代它。
系统里实际有什么
下面是当前产品组件,不是概念分类。每一项都对应真实文件、入口或验证链。
从指定麦克风采音,用一个可重定位面板控制,并把整句文字送入经过核对的应用焦点。
dictation.py、audio/vad/windows 与 dictation_worker.py 使用独立 configs/dictation.yaml;UI、麦克风与原生模型调用隔离,匿名管道内传音频,模型操作有期限和有限恢复,不写录音/正文历史。
集中声明引擎、版本、能力、运行方式和默认角色。
configs/models.yaml 是唯一配置面;quick/strict 默认和显式 profile 不由脚本临时改写。
重建 Windows Python/CUDA 环境、固定模型身份和可选 FireRed WSL(Windows 的 Linux 子系统) 运行时。
setup/download、wheelhouse 与模型回执继续分层;model_lifecycle.py 增加固定对齐器恢复、显式上游查询、同口径候选比较及 CAS 配置切换/回退,不自动下载升级。
读取、校验和规范音频,为不同引擎提供一致输入。
src/zh_asr/audio_frontend.py 负责格式、语音区间和输入身份。
组织主引擎、对照引擎、降级、文本和状态。
src/zh_asr/pipeline.py 与 adapters 组合模型,不把某个模型写死为全部场景。
异步提交、状态查询、期限、取消和复用。
src/zh_asr/service.py 加 scripts/asr-smart.ps1;调用方短等待,重任务继续由本地服务监管。
连续切片、manifest(清单)、分段状态和断点续跑。
long_audio.py 按 VAD(语音活动检测) 附近边界切片但保留原完整时间线,实际上下文重叠计入各模型长度上限;身份包含代码、模型锁、配置、输入和调用绑定,旧分段不能静默混用。
按文件组织任务并复用已加载模型。
src/zh_asr/batch.py 与 transcribe-folder.ps1 避免每个文件重复冷启动。
检测分歧、静音出字、模板废话、重复和格式异常。
audit、risk_rules、strict_writer 保留原文;quality.review.json/html 增加带上下文音频的分歧复核,SenseVoice 仅在不是现有两路且确有待核片段时补听,不改写 raw 或成为第三票。
把执行、覆盖、质量与语音结果分开。
audio_outcome.py 生成结构化 sidecar(侧车文件),避免空文本直接被解释为无语音。
提供匿名聚类、时间线和有边界的本人声音线索。
speaker_evidence.py 与 speaker_attribution.py 组合声学、声道和调用方上下文;方向一致可推断,声学冲突可由具体一致的上下文解释,无法消解才 unknown(未验证)。结果不升为身份确认。
绑定内容文件、指纹、大小、引擎身份和状态。
result_writer.py 与 metadata.py 生成自包含一致性清单,但不冒充外部签名。
防止重模型互抢资源,并回收超时或失联进程。
短租约绑定模型 worker 的 PID 与创建时间,默认 120 秒、20 秒续期;监督进程消失时仅回收该任务模型/WSL(Windows 的 Linux 子系统) 子进程,正常退出不误报租约丢失,不用重启调度器抢占合法任务。
为明确的重要录音或已选定的存疑本地转写提供一次受控云候选。
asr-professional-cloud.ps1 要求 Important / QualityReview 用途二选一及 CloudUploadAuthorized,密钥由 SecretRef 注入固定 worker。
给现成音频和已确认文字定位逐词时间,供视频等消费者复用。
alignment-info 为只读元数据;align 沿用音频前处理、Qwen固定对齐器和受监督worker,完整覆盖与输入双重哈希通过后才原子交付,不做词汇真实性认证。
11 层证据分别证明什么
能证明:本轮 13:30 UTC 只读确认任务 Running、开始菜单和图标归属正确;9 月 17 日来源公开音频验收另含单模型听写与有界异常恢复。
不能证明:DJI Mic Mini 已连接、个人口音准确率、真实按键输入已验收、零延迟或整体端到端耗时。
能证明:当前 main 中实际存在的模型路由、任务、审计、边界和测试实现。
不能证明:本机已经安装、服务正在运行或真实录音效果正确。
能证明:9 月 17 日来源全套执行 482 项,0 失败/错误,1 个可选中文 VAD(语音活动检测) fixture 跳过;本轮未重跑。旧 376、33、45 项保留各自日期,不累加作覆盖规模。
不能证明:真实 GPU 模型加载、音频质量、端到端耗时和人工听感。
能证明:本轮只读 alignment-info 识别到固定 Qwen3-ForcedAligner 目录、工件存在与 300 秒上限;其余 GPU/环境沿原观察,不把文件存在说成此次模型加载成功。
不能证明:每个 profile 都完成真实推理,也不证明服务没有运行期故障。
能证明:requirements lock、wheelhouse checksum 和离线安装可把一套 Windows Python 依赖重建并通过 pip check/Doctor。
不能证明:模型权重、FireRed WSL(Windows 的 Linux 子系统) 或真实录音推理可用;当前本机也尚未生成这套离线包。
能证明:固定仓库/revision 下必要模型文件的路径、大小与 SHA-256 可逐项核对。
不能证明:权重已被备份、GPU 能装载、输出准确或完整 ASR(自动语音识别) 场景通过。
能证明:9 月 17 日来源真实公开音频覆盖 high_quality 短样例、42 秒两片、FireRed+Qwen、强制对齐、正常 Smart/API 以及监督进程异常后的 worker/租约回收。
不能证明:对任意录音准确,或所有重要语句已经人工核听。
能证明:超过 40 秒中文电话录音的四切片 FireRed + Qwen 路线曾全部 verified,续跑复用了四段结果。
不能证明:本轮模型、任意私人录音或每个字仍然正确。
能证明:输入、模型、输出文件、指纹和状态在一个结果包内一致。
不能证明:外部真实性、可信时间戳、说话人身份或文字事实正确。
能证明:固定语料和 truth(人工真值)下的字错率、风险和模型对比。
不能证明:用户下一段录音具有相同声学条件和准确率。
能证明:关键片段已回到原音频核听并被人确认。
不能证明:未听部分或不同原件也正确。
维护入口
scripts\dictation.ps1 -Mode Install / Status / Stop / Start / Uninstall桌面听写安装与生命周期:Install 安装听写依赖、登记登录自启并立即启动;Status 读状态;Stop/Start 停启;Uninstall 移除登录自启但保留项目和模型。运行中接管 Win+H,退出或托盘暂停快捷键后交还系统行为。
E:\Projects\Tools\ChineseASR\scripts\doctor.ps1环境体检:检查代理、GPU、模型配置、依赖和缓存入口,不运行完整转写。
scripts\install-torch-cu128-direct.ps1 → setup-core.ps1 / setup-qwen.ps1 / setup-firered.ps1 → download-models.ps1 -Engine <engine>在线安装与固定模型下载:建立 Windows 核心环境与可选 FireRed WSL(Windows 的 Linux 子系统),并按固定 revision 下载模型;下载成功仍须后续 smoke。
scripts\export-lock.ps1 → build-wheelhouse.ps1 → verify-wheelhouse.ps1构建离线依赖工件:在联网且已验证的环境中冻结依赖、下载 wheel 并生成校验清单;不包含模型权重。
scripts\install-offline.ps1 -Venv .venv-offline-smoke离线重建 Windows 环境:校验 wheelhouse 后无索引安装、pip check 并运行 Doctor;仍需单独恢复模型/FireRed 工件并跑真实 smoke。
scripts\asr-smart.ps1 -Audio <file> -Mode strict -WaitSec 15 -Json日常智能转写:提交本地严格任务并返回 job(任务记录) 状态,适合作为 AI 和脚本的默认入口。
scripts\asr-smart.ps1 -Audio <file> -Mode long-strict -WaitSec 15 -Json长音频严格模式:按连续时间线分段并支持相同身份下断点续跑。
scripts\transcribe-folder.ps1 -InputDir <folder>文件夹批量:复用模型处理多个文件,每个文件保留独立结果和失败状态。
scripts\smoke-asr-smart.ps1 -Json默认端到端冒烟:使用固定真实样本验证 strict 入口到最终文件;会实际运行本地模型。
python -B -m zh_asr transcript-readback --audio-sha256 <原音SHA-256>只读已有转写:复用完成态本地任务和保留云结果;不读原音、不启模型,云块时间与质量 Unknown(未验证) 分开表达。
scripts\asr-professional-cloud.ps1 -Audio <已选录音> -QualityReview -CloudUploadAuthorized -Json存疑转写云质量复核:仅当前选定的存疑本地转写及本次上传授权成立时调用,与 -Important 互斥,不自动启动本地双引擎。
scripts\smoke-evidence-asr.ps1 -Audio <file> -Json证据级冒烟:验证 FireRed + Qwen 每个分段及证据回执,需要指定重要录音并人工核听。
.venv\Scripts\python.exe -m unittest discover -s tests -q全量单元测试:验证不依赖真实重模型的逻辑、结构、失败路径和回归。
快照怎样更新
本页代表最后一次明确核对并发布的项目状态,不承诺后台实时同步。再次更新时会重新读取该项目当前事实、边界和验证结果;无法确认的内容继续明确标成网页快照边界,不用旧记录猜成当前状态。
