Repository navigation
CoursePilot v0.3.9
这一版的主题是「不联网也能转写」:本地语音识别换成 SenseVoice / Qwen3-ASR,错字少到原来的四分之一;iPhone、iPad、Android 也能本地转写,锁屏、切走也接着跑;还能从 B 站客户端的缓存直接导入。
新功能
本地识别换代:SenseVoice / Qwen3-ASR
- 设置 → 语音识别 → 识别后端选「本地识别」,在「模型下载」里下好模型就能用,之后不联网、不用配 Key、不花钱。
- 在三段带人工转写的中文讲课录音上实测:SenseVoice 错误率 3.6%、Qwen3-ASR 2.5%,原来默认的 Whisper base 是 13.4%。SenseVoice 转 10 分钟音频十几秒。完整对比见仓库里的
course-ai/docs/asr-benchmark/REPORT.md。 - 默认 SenseVoice(240 MB,自带标点);Qwen3-ASR(940 MB)更准,还能读「热词」——把课里会讲到的术语填进去(和火山引擎共用一份),认得更稳。
- 先用 VAD 把静音切掉再识别,长停顿里不会编出字来;几路并行解码,多核机器跑得更快。
- 英文课、中英混杂多的课仍可以选 Whisper(large-v3-turbo 等)。
手机也能本地转写
- iPhone、iPad、Android 的识别后端多了「本地识别」,可选 SenseVoice / Qwen3-ASR。实测 iPad Pro(2018)上一节 28 分钟的课两分半转完。
- 内存放不下 Qwen3-ASR 的设备,模型清单上会标「这台设备内存不够」;选了也会自动改用 SenseVoice,进度里写明原因,不再闪退。
锁屏、切走也接着跑
- Android:处理视频、下载模型时以前台服务运行,通知栏里一条进度(「正在处理 · 语音识别 41%」),熄屏照样跑。第一次会请求通知权限,不给也照样跑,只是通知栏里看不到进度。
- iPhone / iPad:处理期间不自动锁屏;iOS 26 起切到别的 App 也能接着跑,锁屏上看得到进度(更早的系统切走后约有 30 秒宽限)。
从 B 站客户端缓存导入
- 「导入整个文件夹」认得 B 站电脑客户端的离线缓存(
<cid>/videoInfo.json+ m4s),以及从手机拷出来的download/<av>/<c_cid>/entry.json目录。 - 每一 P 列成一项、按分 P 排好、标上「B站缓存」;导入时把音视频原样合成一个 mp4(不转码),缓存目录只读不改。
改进
- Whisper 不再复读、不在静音里编字:一句话循环十几遍、长停顿里冒出「请不吝点赞 订阅 转发」「字幕由 Amara.org 社区提供」这类幻觉,会被认出来清掉;whisper-cli 不再拿上一段的输出当提示,认错一句不会顺着往下错。
- 阿里云识别不再受时长限制:音频先传到百炼的临时存储(48 小时后自动删除),再把地址交给识别接口。原来整段音频塞在请求里,桌面端约 87 分钟、手机上 20 多分钟就报「音频太大」;现在单个文件最大 1 GB,几个小时的课也能直接识别。
- 模型下载更稳:先走国内镜像(ModelScope),断了从断点接着下,30 秒没数据自动换源,每个文件校验 SHA-256;Whisper large-v3-turbo 换成能下载的镜像。
- 用流量下载先问一句:手机连的是移动数据或按流量计费的网络时,下载几百 MB 的模型前先确认,也可以「等 Wi-Fi」。
- 处理进度里显示模型和语言的名字(「本地识别中(SenseVoice,中文)」)。
- 手机文稿里只有当前这句才露出纠错按钮,不再一排铅笔。
修复
- 火山录音文件识别被限流(
45000292 quota exceeded types:qps)时整个视频判失败,而每一段都已经提交、扣过额度。现在被限流就放慢、等一会儿接着查;已经提交还没拿到结果的任务会记下来,重新处理时先查那个任务,不再重复提交、重复扣费。 - 火山录音文件识别按模型版本自动选资源 ID,不再写死 1.0。
- iPhone / iPad 上 AV1 视频提取课件失败:现在等转码完成,从转码后的视频里截。
已知限制
- Qwen3-ASR 识别时要 2.5–4 GB 内存,4 GB 内存的手机 / iPad 放不下,会自动改用 SenseVoice。
- 手机上没有 Whisper;英文课在手机上建议用云端识别。
- iOS 26 以下的 iPhone / iPad 切到后台约 30 秒后处理会暂停,回到前台接着跑。
安装包
| 平台 | 文件 |
|---|---|
| macOS(Apple Silicon) | course-ai_0.3.9_aarch64.dmg |
| macOS(Intel) | course-ai_0.3.9_x64.dmg |
| Windows(x64) | CoursePilot_0.3.9_windows_x64-setup.exe(或 .msi) |
| Android(arm64) | CoursePilot_0.3.9_android_arm64-v8a-release.apk |
| iOS / iPadOS | CoursePilot_0.3.9_iOS_unsigned.ipa(未签名,需自签) |
安装提示
安装包暂未签名:
- macOS 提示「已损坏,无法打开」时,在终端运行
xattr -cr /Applications/course-ai.app再打开。 - Windows 出现 SmartScreen 提示时,点「更多信息 → 仍要运行」。
- Android 需要在系统设置里允许「安装未知来源应用」。
- iOS / iPadOS 的 IPA 没有签名,需要用 AltStore、Sideloadly 等工具以自己的 Apple ID 签名安装;自签安装时 iCloud 同步不可用。