edit | blame | history | raw

Round 5 QA 报告:Qwen3-ASR 中文高级模型

状态:核心 QA 通过,物理断网项待补
日期:2026-06-03
分支:codex/round5-qwen3-asr-chinese
当前 commit:本报告所在提交
测试 App:privatevoice.src/build/local/arm64/PrivateVoice Input.app
测试 DMG:privatevoice.src/build/local/arm64/PrivateVoice Input-2.1.22-build20260603.1608-arm64-local.dmg

1. 环境

  • macOS:本机 Apple Silicon 环境。
  • 用户数据目录:/Users/ar/Library/Application Support/PrivateVoice Input
  • 备份目录:/Users/ar/Library/Application Support/PrivateVoice Input/qa-backups/round5-20260603-173941
  • 测试后已恢复原始 config.json
  • Qwen3-ASR 模型目录保留:/Users/ar/Library/Application Support/PrivateVoice Input/models/qwen3-asr-0.6b

2. 模型下载和安装

官方包:

sherpa-onnx-qwen3-asr-0.6B-int8-2026-03-25.tar.bz2

验证结果:

  • 官方包大小:878702423 bytes。
  • SHA256:393f8a14e2f5fb96746aaab342997a40641001fbd5bf9592a080a8329178ee96
  • 解压后模型目录大小:971M
  • required files 校验通过:
  • conv_frontend.onnx
  • encoder.int8.onnx
  • decoder.int8.onnx
  • tokenizer/merges.txt
  • tokenizer/vocab.json

发现的问题:

  • 旧 downloader 直接远程下载官方包时,两次失败:
  • 第一次约 20% 处 connection reset by peer
  • 第二次 TLS handshake timeout
  • 已修复:downloadFile 增加重试和 Range 断点续传,避免大模型下载因瞬时网络问题直接失败。
  • 已补测试:TestDownloadFileResumesExistingPartialFile

后续安装验证:

  • 用本地 HTTP 提供已校验官方包,走产品 DownloadProfile 安装逻辑。
  • 下载、解压、staging、最终安装、state 写入均通过。
  • ResolveModel(qwen3-asr-0.6b) 返回 installed_valid

3. Qwen3-ASR 识别

Qwen3-ASR 中文测试:

hardware=Qwen3-ASR · CPU
input=qwen3-asr-0.6b/test_wavs/qiqiu1.wav
result=输出中文长文本

Qwen3-ASR 中英/英文测试:

hardware=Qwen3-ASR · CPU
input=qwen3-asr-0.6b/test_wavs/codeswitch.wav,经 afconvert 转 16k mono
result=I'm alone, all by myself. I see too seldom. So no tuto. I'm so alone.

4. 旧模型回归

SenseVoice:

hardware=SenseVoice · CoreML (Apple Neural Engine)
result=可输出中文文本

Moonshine:

hardware=Moonshine English · CPU
result=After early nightfall...

Parakeet:

hardware=Parakeet English · CPU
result=Well, I don't wish to see it any more...

5. App 级 smoke

手动 Qwen3-ASR 配置重启:

Loading model qwen3-asr-0.6b backend=qwen3_asr
Engine initialized: Qwen3-ASR · CPU
ASR engine ready: Qwen3-ASR · CPU

切回中文 auto / SenseVoice:

Loading model sensevoice-zh backend=sensevoice
Engine initialized: SenseVoice · CoreML (Apple Neural Engine)
ASR engine ready: SenseVoice · CoreML (Apple Neural Engine)

English auto / Moonshine:

Loading model moonshine-en backend=moonshine
Engine initialized: Moonshine English · CPU
ASR engine ready: Moonshine English · CPU

6. 自动化验证

  • npm run build:通过,有既有 Svelte a11y warning。
  • go test ./... -count=1:通过。
  • git diff --check:通过。
  • 四个 macOS build 脚本 bash -n:通过。
  • arm64 本地 build:通过。
  • DMG hdiutil verify:通过。

7. 未完成项

  • 物理断网后的 App 级 Qwen3-ASR 识别尚未执行。当前已验证引擎级本地识别不依赖远程服务,但未关闭真实网络做 App 全流程测试。
  • UI 可视 smoke 发现过一次模型卡片和底部 Engine 状态不同步:模型列表已切到 English/Moonshine,但底部仍显示 SenseVoice。原因是后端 EngineService.SetStatus 更新内部状态后没有主动发 engine:status 事件,前端可能显示旧硬件信息。本轮已修复:状态变化时主动向前端 emit。

8. 结论

Round 5 核心 QA 通过。Qwen3-ASR 可以安装、校验、加载和识别;SenseVoice、Moonshine、Parakeet 回归通过。下载稳定性问题已在本轮修复。剩余阻断项只剩物理断网 App 级验证。