automating-voice-memos

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Automating Voice Memos (no dictionary, data+UI hybrid)

自动化Voice Memos(无脚本字典,数据+UI混合方案)

Relationship to the macOS automation skill

与macOS自动化技能的关系

  • This is a standalone skill for Voice Memos automation.
  • For setup help, see the
    automating-mac-apps
    skill for permissions (Full Disk Access, Accessibility) and the ObjC bridge basics.
  • Prerequisites: Basic JXA (JavaScript for Automation) knowledge; install via macOS System Preferences > Security & Privacy.
  • 这是一款用于Voice Memos自动化的独立技能。
  • 如需设置帮助,请参考
    automating-mac-apps
    技能中的权限配置(全磁盘访问、辅助功能)以及ObjC桥接基础知识。
  • 前提条件:具备基础的JXA(JavaScript for Automation)知识;需通过macOS系统偏好设置 > 安全性与隐私进行权限配置。

Core Framing

核心框架

  • Catalyst App: Voice Memos is an iOS app adapted for macOS without full macOS APIs, hence no AppleScript dictionary for automation.
  • UI-first: Prefer UI scripting/keyboard shortcuts for exports to avoid touching the database/container.
  • Data (optional): Use data-layer control only if needed (ObjC + sqlite3). This requires broader permissions.
  • Permissions: Accessibility for UI automation; Full Disk Access only if you read/write the container/DB.
  • Catalyst应用:Voice Memos是适配macOS的iOS应用,未提供完整的macOS API,因此没有可用于自动化的AppleScript字典。
  • 优先UI方案:优先使用UI脚本/键盘快捷键进行导出操作,避免直接操作数据库/容器。
  • 数据方案(可选):仅在必要时使用数据层控制(ObjC + sqlite3),这需要更广泛的权限。
  • 权限要求:UI自动化需要辅助功能权限;仅当需要读写容器/数据库时,才需要全磁盘访问权限。

Workflow (default)

默认工作流程

  1. UI-first (no FDA): export via menu/shortcut to a folder you control.
  2. Optional data path: resolve storage paths; query CloudRecordings.db (Apple epoch +978307200) only if required.
  3. For UI actions (recording/export), drive the app with System Events (shortcuts preferred over clicks).
  4. For editing, prefer external tools (ffmpeg) after export; avoid writing directly into the container unless you accept FDA.
  1. 优先UI方案(无需全磁盘访问):通过菜单/快捷键将录音导出到你可控的文件夹。
  2. 可选数据路径:解析存储路径;仅在必要时查询CloudRecordings.db(Apple时间戳需加上978307200)。
  3. 对于录制/导出等UI操作,使用System Events驱动应用(优先使用快捷键而非点击操作)。
  4. 编辑操作建议在导出后使用外部工具(如ffmpeg);除非你已获取全磁盘访问权限,否则避免直接写入容器。

Quickstart (UI-only export; no Full Disk Access)

快速入门(仅UI导出;无需全磁盘访问)

  • Open Voice Memos and select a recording.
  • Export/share UI: the Share sheet can send audio to Notes/other apps (no direct File > Export).
  • Transcript copy (UI-only, no FDA):
    • Run:
      osascript skills/automating-voice-memos/scripts/copy_transcript_to_file.applescript "/path/to/output.txt"
    • Defaults: Desktop/voice-memo-transcript.txt if no arg.
    • Shows transcript (if available), selects all, copies, and writes to the target file via clipboard.
  • 打开Voice Memos并选择一条录音。
  • 导出/分享UI:通过分享面板可将音频发送至备忘录或其他应用(无直接的「文件 > 导出」选项)。
  • 转录文本复制(仅UI方案,无需全磁盘访问):
    • 运行命令:
      osascript skills/automating-voice-memos/scripts/copy_transcript_to_file.applescript "/path/to/output.txt"
    • 默认设置:若未指定路径,将保存至桌面/voice-memo-transcript.txt。
    • 该脚本会显示转录文本(如果可用),全选并复制,然后通过剪贴板写入目标文件。

Permissions

权限配置

  • Accessibility: System Settings > Privacy & Security > Accessibility > Enable for System Events and your automation app (Terminal/Python/Script Editor).
  • Full Disk Access: Only if you read/write the Voice Memos container/DB directly. UI-only exports do not require FDA.
  • Verify: For UI-only, confirm you can open the Export menu and interact with the save dialog. For data access, verify
    ${home}/Library/Group Containers/group.com.apple.VoiceMemos.shared/
    .
  • 辅助功能:系统设置 > 隐私与安全性 > 辅助功能 > 为System Events和你的自动化应用(终端/Python/脚本编辑器)启用权限。
  • 全磁盘访问:仅当你需要直接读写Voice Memos容器/数据库时才需要。仅UI导出操作无需此权限。
  • 验证方式:对于仅UI方案,确认你可以打开导出菜单并与保存对话框交互。对于数据访问方案,验证路径
    ${home}/Library/Group Containers/group.com.apple.VoiceMemos.shared/
    是否存在。

Validation Checklist

验证清单

After implementing Voice Memos automation:
  • Verify Accessibility permissions granted for Terminal/Script Editor
  • Confirm Voice Memos app opens and responds to UI scripting
  • Test transcript copy script executes without errors
  • Validate output file contains expected transcript text
  • For data access: verify Full Disk Access and database path exists
在实现Voice Memos自动化后:
  • 确认已为终端/脚本编辑器授予辅助功能权限
  • 确认Voice Memos应用可正常打开并响应UI脚本
  • 测试转录文本复制脚本可无错误执行
  • 验证输出文件包含预期的转录文本
  • 对于数据访问方案:确认已获取全磁盘访问权限且数据库路径存在

Troubleshooting

故障排除

  • Permission denied: Verify Full Disk Access and Accessibility permissions.
  • Database locked: Close Voice Memos app before querying.
  • File not found: Check macOS version for correct storage path.
  • UI automation failures: Ensure Voice Memos is focused and Accessibility is enabled.
  • 权限被拒绝:验证全磁盘访问和辅助功能权限是否已正确配置。
  • 数据库锁定:查询前关闭Voice Memos应用。
  • 文件未找到:检查macOS版本对应的存储路径是否正确。
  • UI自动化失败:确保Voice Memos处于前台焦点且辅助功能权限已启用。

When Not to Use

不适用场景

  • For cross-platform audio recording (use ffmpeg or platform-agnostic tools)
  • When you need programmatic audio capture (use AVFoundation directly)
  • For iOS Voice Memos automation (no API available)
  • When Full Disk Access cannot be granted
  • 跨平台音频录制(建议使用ffmpeg或跨平台工具)
  • 需要程序化音频捕获的场景(建议直接使用AVFoundation)
  • iOS Voice Memos自动化(无可用API)
  • 无法获取全磁盘访问权限的场景

What to load

需加载的资源

  • Start with basics & prerequisites:
    automating-voice-memos/references/voice-memos-basics.md
    (setup and core concepts).
  • UI automation:
    automating-voice-memos/references/voice-memos-ui.md
    (shortcuts, AX scripting).
  • Data access (if needed):
    automating-voice-memos/references/voice-memos-data.md
    (storage paths, epochs, database schema).
  • Recipes:
    automating-voice-memos/references/voice-memos-recipes.md
    (exports, transcripts, recording control).
  • 从基础与前提条件开始:
    automating-voice-memos/references/voice-memos-basics.md
    (设置和核心概念)。
  • UI自动化:
    automating-voice-memos/references/voice-memos-ui.md
    (快捷键、AX脚本)。
  • 数据访问(如有需要):
    automating-voice-memos/references/voice-memos-data.md
    (存储路径、时间戳、数据库 schema)。
  • 实践方案:
    automating-voice-memos/references/voice-memos-recipes.md
    (导出、转录、录制控制)。