你当前需求的“关键变量”
- 必须 100% 口袋一键开录 vs 允许 best-effort(这是最大分叉点)
- 实时转写 vs 录完即转写
- 必须 Apple Watch vs 可换 Wear OS
- 完全不碰 Xcode vs 可以借一台 Mac 偶尔装一次
Apple 平台相关文档(官方)
- Speech framework(语音识别总入口)
- SFSpeechRecognizer
- SFSpeechAudioBufferRecognitionRequest(实时音频流识别)
- AVAudioEngine(采集音频流)
- AVAudioSession(音频会话/后台录音关键)
- WatchConnectivity(表 ↔ 手机通讯)
- Background Tasks(BGTaskScheduler:清理/同步“尽力而为”)
- App Intents(Siri/Shortcuts 集成)
- Apple Developer Program(年费/分发体系)
- TestFlight(官方分发测试)
注:本清单未联网校验;若链接重定向,以 Apple Developer 站点内搜索为准。
iPhone / watch 安装与“免费使用”的现实
- 不付费不等于完全不能装:你可以用免费 Apple ID 在 Xcode 上给自己的设备“开发者直装”(但需要 Xcode,且可能会周期性失效/需重装)。
- 完全不碰 Xcode:iPhone 还能尝试侧载,但 watch 端基本无解。
- AltStore(iOS 侧载路线之一,主要针对 iPhone/iPad)
- Sideloadly(iOS 侧载工具之一)
侧载工具与系统版本、账号类型有关,稳定性与合规性需要你自行评估。
开源 ASR 方案(离线增强备选)
- openai/whisper(离线/批量转写能力强,移动端需自己做推理与优化)
- ggerganov/whisper.cpp(更便于在本地/移动端部署,需评估中文速度/电量)
- alphacep/vosk-api(离线语音识别)
- k2-fsa/sherpa-onnx(ONNX 推理的离线 ASR 组件)
离线 ASR 的 trade-off:更强可控,但会增加包体、发热、耗电与工程复杂度。
Android / Wear OS(如果你考虑小米手表)
关键点:小米手表是否为 Wear OS 决定了你能不能安装自定义应用/Tile。
- Android SpeechRecognizer
- Foreground services(锁屏后台录音常用手段)
- Wear OS Data Layer(表 ↔ 手机通讯)
- Wear OS Tiles(表盘/快捷入口)
如果手表不是 Wear OS(厂商封闭系统),通常无法装自定义 App,只能用厂商内置功能与有限 API。
云端/备份(未来可选)
- GitHub Docs(导出文字/JSON 到私有仓库)
- Cloudflare R2(音频/附件对象存储)
- Vercel Docs(前端展示/检索 UI)
现成解决方案(不写代码也能用)
- Apple 语音备忘录(Voice Memos):手表上可快速开始录音,录完在 iPhone 上查看/导出;缺点是“实时转写/你要的结构化存档”需要另做。
- 手表端语音输入/听写:直接得到文字,速度快;缺点是没有“原始音频备份”与更精细的时间轴。
- 第三方录音/转写 App:可直接在 App Store 搜索 “watch recorder / transcription / dictation”;注意很多转写类依赖云端或订阅。
如果你的第一优先级是“口袋里 100% 一键开录”,现成方案通常比自研更快满足;自研的优势在“可控留存 + 私有本地 + 自定义检索”。
本仓库已落地的 MVP 骨架
apps/voiceTranscribeMVP/VoiceTranscribeCore:本地 meta/transcript 存储 + 10 天音频清理 + 单测apps/voiceTranscribeMVP/samples/ios/TranscriptionManager.swift:AVAudioEngine + Speech 实时转写(on-device 优先,失败切网络兜底)apps/voiceTranscribeMVP/samples/ios/VoiceTranscribeSampleView.swift:最小 UI + deep link(voicetranscribe://toggle)