日々の活動を、音声からMarkdownに変える
日々の作業のやり方を改善していくには、ログを取る、分析する、改善点を見つける、改善する、というループを回す必要があります。その最初に必要なのが、ログを取ることです。
「あの時、何を話したか」「会議でどんなアイデアが出たか」――。気づいた瞬間は鮮明なのに、後からテキストとして再現するのは非常に手間がかかります。大切な思考や会話の断片が、「記憶」という不安定な場所に留まってしまうのは、大きな機会損失です。
ログの取り方はいろいろあります。最近身近になってきたのが録音です。iPhone や Apple Watch のボイスメモなら、歩きながら、思いついたときに、手が塞がっていても残せます。移動中の独り言、何かを見聞きしたときのメモ、誰かとのディスカッション——録音で残すのは、だいぶ楽になりました。
ただ、録音しただけでは有効活用できるログになりません。あとから分析できる形にするには、文字起こしして、要約して、日付やテーマが分かる形で置いておく、という手順が要ります。ここが意外と面倒で、録音までは続いても、その先で止まりがちでした。
もちろん、この手間を肩代わりする商用サービスもあります。Plaud Note のような AI ボイスレコーダー/要約サービスは、録音から文字起こし・要約までをまとめてやってくれます。精度や使い勝手は魅力的ですが、音声データをクラウド側に送ることになる点や、端末代や月額・従量のコストがかかる点、AI 要約をObsidianで利用できるようにするために毎回ダウンロードしなければならない点が、私の用途では気になりました。日々の独り言や機微になりうるメモまで同じ経路に載せたくない、という判断もあります。
そこで、バイブコーディングで、この手順を自分の Mac 上で1回の実行にまとめてみました。iPhone や Apple Watch での録音が iCloud 経由で Mac のボイスメモに届いたあと、文字起こし、要約、Obsidian への Markdown 保存までを一気に回す、というアイディアです。できあがった Summary は自分の行動のレビュー素材にもなりますし、そこからループエンジニアリングへの入口にもなります。
私の環境では、MacBook 上で、Cursor で作った VoiceMemoSummarizer を Raycast から呼び出しています。ボイスメモアプリから音源を抽出し、whisper-cpp で文字起こしし、LM Studio で要約し、Transcript と Summary を Obsidian 用にMarkdownファイルとして保存するという一連の作業を、一つのプログラムで一括処理するようにしています。

バイブコーディングでまとめた一例:VoiceMemoSummarizer
私がバイブコーディングした VoiceMemoSummarizer は、その一連の処理を私の環境用にまとめた Python スクリプトの名前です。Cursor に以下のように伝えながら形にしたものです。
要件はだいたい次の4つです。
録音の入口は iPhone / Apple Watch のボイスメモです。Mac に届いた .m4a をスクリプトが読み、残りを進めます。
なぜAppleボイスメモを入口にするか
まず、なんでも習慣化するために重要なことは、「始めるのが簡単」ということ。そのため、いつでも持っていて、すぐに触れる iPhone や Apple Watch で録音開始する、という点にこだわりました。
さらにいうと、私は基本的に Apple Watch で録音しています。コンプリケーションの1つにボイスメモを登録しているので、いつでもワンタッチで録音開始できます。

ボイスメモを使ったおかげでちょうど良かったのが、iCloud 連携で自動的に Mac のボイスメモに届くことです。おかげで録音した後は Mac で一括処理スクリプトを走らせるだけで、指定した録音の文字起こしと要約が行われます。
別アプリの録音を都度エクスポートするより、話す、同期を待つ、Macで処理、の方が日常の摩擦は小さいです。
ローカルAIにする理由と、精度のトレードオフ
今回、文字起こしと要約はどちらもローカルAIで実行することにしました。
一方で、最新の商用サービスほどの精度は期待しにくいです。固有名詞の誤変換、要約の抜け、長い録音での粗さは、ローカル運用のトレードオフとして割り切っています。
ローカルAI vs 商用クラウドサービスの比較
| 項目 | ローカルAI(本手法) | 商用クラウドサービス |
|---|---|---|
| プライバシー / セキュリティ | ◎(データが外部に出ない) | △(データを外部に送信する必要がある) |
| コスト | ○(電気代と Mac のリソースのみ) | ×(月額・従量課金が発生する) |
| 精度 | △(モデルや環境による制約あり) | ◎(最新の高性能モデルが利用可能) |
私は、完璧な要約より、とりあえず残してあとから拾える粒度、と割り切っています。
Markdownとして残す意味
保存形式も意識しています。VoiceMemoSummarizer の出力例は、Obsidian の Vault 内に、フォルダ単位で次のような構成です。
VoiceMemos/{録音日}_{録音開始時刻}_{録音名}/
├── Audio_{録音名}.m4a
├── Transcript_{録音名}.md
└── Summary_{録音名}.md
{録音名} も、VoiceMemoSummarizer が作った要約をもとにローカルLLMで付けています。録音名に短く内容のテーマを入れておくと、あとから探しやすい。処理後は表示用タイトルを自動生成し、フォルダ名・ファイル名・Summary の title: をそろえます。
音声から起こした全文に近いものを Transcript、短く整理したものを Summary として分けます。

Summary の YAML には linked_md で Transcript への wikilink を付けます。Obsidian で読むだけでなく、週次レビューを作るスクリプトや Cursor の agent が参照しやすくなります。粒度の粗い Summary だけでも足りますが、いつ・何について・原文に戻れるかが残っていれば、必要なときに Transcript へ戻れます。
具体例:講演後のボイスメモを、自作スクリプトで処理する
日常的な使い方の1つは、自分の講演の振り返りです。
講演内容を Apple Watch のボイスメモに録っておきます。あとで Mac のボイスメモアプリを開き、同期を確認したら、次の流れです。
- Raycast から VoiceMemoSummarizer を実行する
- 要約スタイルで 講演 を選ぶ
- VoiceMemoSummarizer がバックグラウンドで走り出し、以下を実行する
1時間前後の長い録音だと、文字起こしと要約に十数分かかることもあります。バックグラウンドで動かし、完了は macOS 通知で知らせる運用にしています。
録音するときの注意:承諾と、入れない内容
ボイスメモは便利ですが、何でも録っていいわけではありません。
会話相手がいるときは事前承諾が必須
他者との会話を録音する場合は、必ず事前に承諾を得てください。所属組織の規程や、相手の立場によっては、録音自体が問題になることがあります。
機密情報は入れない
ローカルLLMで処理しても、あとから AI agent で扱うのであれば、次は入れない方がよいです。
- 顧客名・個人を特定できる情報
- 契約内容、未公開の業務情報
- メール本文や社内文書の読み上げ
ローカルだから安全、ではありません。 保存先、検索範囲、agent の参照範囲まで含めて考える必要があります。
私の日常的な使い方
そのため、私は次のような録音が中心です。
- 独り言(移動中の思考の整理)
- 自分の講演の音声(あとから構成や言い回しを振り返る)
- 聴講後のメモ(人の講演そのものは録音しない!)
自分の声だけ、または録音許可が明確な場面に限定しています。
クラウドに送らないからといって何でも録っていいわけではありません。録音前に内容を確認し、Summary にも機微情報を残しすぎない。AI の要約は下書きとして、重要な内容は人が確認する——この線引きは、上の注意とセットで決めておくとよいです。
Summaryは、週次レビューの素材になる
音声を Summary まで落とすのは、週次で振り返るための前段です。音声ファイルのままでは、週次レビューに載せにくい。短い Markdown の Summary が並んでいれば、今週どんなことを考えていたかを追いやすい。
私の環境では、RSSの新着要約やデイリーノート、プロジェクトファイルの更新とあわせて、VoiceMemos/ 配下の Summary も週次レビューの元情報にしています。金曜に自動で週次レビュー作成プログラムが走り、直近1週間の Summary を読みにいく、という流れです。
RSS週次要約をバイブコーディングで作ったのと同型で、日々の活動履歴を1つずつ Markdown に寄せ、週次でまとめる、という設計です。4つの入口の全体像は、週次レビューの元情報をどう作るか:RSS・ボイスメモ・デイリーノートを入口にするに譲ります。
ループエンジニアリングの入口にもなる
ループエンジニアリングは、AIに毎回プロンプトを打つより、反復する仕組みそのものを設計する考え方です。全部を一度に作る必要はなく、日次の素材づくりから入れるのが現実的です。
私の環境では、だいたい次の順で積み上がっています。
音声→Summary のパイプラインは、ここでの 1 番目の歯車です。ここが回り始めると、週次側を足す動機も、週次を読んで直す動機もはっきりしてきます。ループエンジニアリングと言い換えると、素材が溜まる入口を先に作り、あとから集約と改善のループを足していく、という進め方です。
最初から完璧な自動化を目指さなくてよいです。録音して Summary が増え始めたら、週次レビューに載せる、週次を読んで次の一手を決める、で十分にループは回り始めます。
参考リンク(本記事で触れたツール)
- Cursor
- Raycast / Script Commands
- whisper.cpp
- LM Studio
- Obsidian
- Apple ボイスメモ(iPhone)
- Plaud Note(商用の AI ボイスレコーダー/要約の例)
次に読む(関連記事)
- 週次レビューの元情報をどう作るか:RSS・ボイスメモ・デイリーノートを入口にする
- RSSで更新を自動収集する:情報収集の「入口」を固定して探す時間を減らす
- AIとの対話で「RSS週次要約」ツールを作った
- Cursorでバイブコーディング:テーラーメイド自動化「Mail2Notion」で依頼メールを案件DBに集約する
免責
本記事は、筆者の作業環境に基づく記録です。VoiceMemoSummarizer は筆者の自作スクリプトであり、配布・サポートの対象ではありません。録音には法令・所属組織の規程・相手の同意が必要な場合があります。個人情報保護や取引先の規程に従って運用してください。ローカルLLMやローカル文字起こしを使う場合でも、入力内容・保存先・AI agent への参照範囲には注意が必要です。AIの出力は下書きであり、最終判断・最終責任は利用者にあります。


コメント