apple-voice-memos について
apple-voice-memos は、iCloud 同期された Apple Voice Memos の録音や文字起こしを検索・処理するスキルです。録音メタデータの絞り込みと、音声ファイルからのタイムスタンプ付きテキスト抽出を行うスクリプトを備えています。
主な機能
- 01録音メタデータを CSV で取得
- 02キーワードや日付で録音を絞り込み
- 03.m4a ファイルから文字起こしを抽出
- 04タイムスタンプや段落、フィラーを整形
活用シーン
- 01話題や期間を指定して録音を検索
- 02後続処理に使う文字起こしを抽出
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ jessedc/ apple-voice-memos --skill apple-voice-memosインストール後、Claude Code で/apple-voice-memosを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
PROMPT.mdscripts/extract-apple-voice-memos-metadataextract-apple-voice-memos-transcript詳細
Apple Voice Memos
iCloud 経由で同期された Apple Voice Memos の文字起こしを抽出して処理します。
前提条件
macOS で Voice Memos を iCloud と同期しておく必要があります。
ツール
このスキルには、scripts/ ディレクトリに 2 つのスクリプトが含まれています。このドキュメント内のスクリプトパスは、このスキルのディレクトリからの相対パスです。作業ディレクトリは別の場所である可能性が高いため、絶対パスを指定して実行してください(例:python3 <skill-dir>/scripts/extract-apple-voice-memos-metadata)。
extract-apple-voice-memos-metadata— CloudRecordings.db SQLite データベースを読み取り専用で照会し、title、date、duration、path、has_transcriptの列を含む CSV を出力します。オプションのフラグとして、--limit N(デフォルトは 10)、--offset N、--search TERM、--after YYYY-MM-DD、--before YYYY-MM-DDを使用できます。extract-apple-voice-memos-transcript—.m4aファイルのtsrpアトムに埋め込まれた文字起こしを抽出します。フィラー語を削除し、適切な位置で改行し、自然な間で段落を分けた、タイムスタンプ付きのテキストを出力します。
ステップ 1:ボイスメモを選択する
メタデータスクリプトを実行して、該当する録音を探します。ユーザーの依頼に応じてフラグを選択してください。
- 特定の依頼がない場合 → フラグなしで実行します(新しい順に 10 件を返します)
- ユーザーがトピックやキーワードに言及した場合 →
--search TERMを使用します - ユーザーが期間に言及した場合 →
--after YYYY-MM-DDおよび/または--before YYYY-MM-DDを使用します - ユーザーがさらに結果を見たい場合 →
--offset Nでページを切り替えるか、--limit Nで一度に取得する件数を増やします
フラグは組み合わせて使用できます。例:--search work --after 2026-01-01 --limit 5。
python3 scripts/extract-apple-voice-memos-metadata [flags]
ユーザーの依頼から対象のメモが 1 件に明確に特定できる場合(例:「最新のボイスメモ」や、検索結果が 1 件のみの場合)は、確認せずにそのメモの処理を進めます。それ以外の場合は、タイトル、日付、再生時間を示す番号付きリストで結果を提示し、has_transcript = no のメモには「(文字起こしなし)」と付記して、どのメモを処理するかユーザーに尋ねます。
エラー処理:
- 「データベースが見つかりません」→ この Mac では Voice Memos の iCloud 同期が有効になっていません。
ステップ 2:文字起こしを抽出して処理する
新しいコンテキストでサブエージェントを起動し、文字起こしを抽出して処理します。まず自分で文字起こしスクリプトを実行してはいけません。サブエージェントに抽出させることで、文字起こし全体がメインの会話コンテキストに含まれないようにします。サブエージェントへのプロンプトには、次の内容を含めてください。
- 選択した録音の
titleとpathの値(メタデータ出力から取得) - このスキルの
scripts/extract-apple-voice-memos-transcriptスクリプトとPROMPT.mdの絶対パス - 次の指示:録音のパスを指定して文字起こしスクリプトを実行し、
PROMPT.mdを読み、## Memo Title見出しの後にメモのタイトルを、## Transcript見出しの後に文字起こしを追加してから、プロンプト全体の指示に従い、完成した Markdown ドキュメントを返すこと。
環境にサブエージェントやタスクツールがない場合は、同じ作業を自分で行います。文字起こしスクリプトを実行し、PROMPT.md を読んで、抽出した文字起こしを使ってその指示に従ってください。
ユーザーからタイムスタンプ付きの生の文字起こしを見たいと明示的に依頼された場合に限り、文字起こしスクリプトを直接実行します。
python3 scripts/extract-apple-voice-memos-transcript "<FILENAME>.m4a"
エラー処理(サブエージェントから報告):
- 「tsrp アトムが見つかりません」→ この録音には文字起こしが埋め込まれていません。Apple は文字起こしをデバイス上で生成するため、文字起こしがない録音もあります。
- ファイルが見つからない → 録音ファイルがまだこの Mac に同期されていない可能性があります。
ステップ 3:出力を提示する
サブエージェントは、# <Memo Title> 見出しで始まり、その後に概要、詳細なメモ、補足、アクション項目が続く Markdown ドキュメントを作成します。タイトル見出しの直下にメタデータブロックを挿入してから、出力をユーザーに提示します。
# <Memo Title>
- **Date:** <date from the metadata output>
- **Duration:** <duration from the metadata output>
- **Source:** <FILENAME>.m4a
出力を提示した後、Markdown ファイルとして保存するかどうかをユーザーに尋ねます。メモのタイトルと日付をもとに、YYYY-MM-DD-slugified-title.md 形式のファイル名を提案します(例:2026-02-04-the-soul-of-a-new-machine.md)。デフォルトでは、現在の作業ディレクトリに保存します。ユーザーは、提案を受け入れる、別の名前やパスを指定する、先に内容の調整を依頼する、または保存をスキップできます。