スマホに喋るだけ!AIが自動でObsidianにノートを作成する仕組みを作ってみた

この記事の内容

  • iPhoneのショートカットアプリを使い、音声を録音してObsidianのノートを自動生成する仕組みを紹介します
  • Azure OpenAI(Whisper)による文字起こしとGPT-4によるMarkdown整形を組み合わせています
  • 作成されたノートはGitHubリポジトリ経由でPC・スマホのObsidianに自動同期されます
  • iOSショートカットだけで実現できるため、Power Automateの有償プランなどは不要です
  • 思いついたことをその場で喋るだけで、構造化されたナレッジが蓄積されていきます

はじめに

筆者はOneNoteからObsidianへ移行したタイミングで、「iPhoneに喋るだけでObsidianのノートが自動生成される仕組み」を作りました。この記事では、その仕組みの概要と、iOSショートカットによる実装の流れを紹介します。


実際の動作デモ

iPhoneのホーム画面を横にスワイプすると、音声テキスト入力を呼び出すショートカットが現れます。これをタップすると録音が開始されます。

「録音を終了するにはタップします」という案内が表示されたあとは、思いついたことを自由に話すだけです。内容はどんなことでも構いません。

録音を終了すると、バックグラウンドで以下の処理が自動的に実行されます。

  1. 録音した音声データをクラウドへアップロード
  2. Whisperで文字起こし
  3. 文字起こしテキストをGPT-4へ送信
  4. GPT-4がタイトル・見出し・構造を整えたMarkdownファイルを生成
  5. ファイルをObsidianのノートとして保存

処理が完了すると、タイトルや概要・手順などが整理されたMarkdownノートが画面に表示されます。だらだらと喋った内容でも、きちんとまとまった文章として出力されるのが特徴です。


Obsidianへの同期方法

生成されたノートは、GitHubのプライベートリポジトリを介してObsidianに同期されます。

  • Obsidianのノートファイルはすべてプライベートリポジトリで管理されています
  • iPhoneでノートが作成されると、そのままリポジトリにプッシュされます
  • PC側のObsidianも同じリポジトリを参照しているため、自動的に最新のノートが反映されます

Obsidianを開いたときに自動でプル、閉じたときに自動でコミット&プッシュするオートメーションも組んでいるため、どのデバイスからでもシームレスにノートを参照・編集できます。


ショートカットの構成(技術解説)

ここからは、iOSショートカットアプリの具体的な構成を解説します。

1. 変数・テンプレートの定義

最初のステップでは、後で使いまわすテキストを変数として定義しています。

  • システムプロンプト:GPT-4への指示内容。書き換えることでAIの出力スタイルを変更できます
  • APIキー:Azure OpenAIのAPIキーをテキストとして保持(ショートカット内にベタ貼り)
  • Whisperエンドポイント:文字起こし用のエンドポイントURL
  • GPT-4エンドポイント:Markdown生成用のエンドポイントURL

iOSショートカットではJSON形式のデータを「辞書」と呼んで扱います。APIリクエストのボディもこの辞書形式で構築します。

2. 音声録音

録音した音声ファイルはiPhone内に一時保存されます。

3. Whisperで文字起こし

録音ファイルをWhisperのエンドポイントへPOSTします。

ACflPuoiaOtnlnShtegToe::rnit{jz-aaTtyipoen::}mBuelatrieprar{tA/PfIorm}-data

注意点:AzureポータルからWhisperのエンドポイントURLをコピーすると、translations(翻訳)エンドポイントになっている場合があります。文字起こしには必ずtranscriptionsエンドポイントを使用してください。translationsを誤って使うと、日本語で喋った内容がすべて英語に翻訳されて返ってきてしまいます。

レスポンスはJSON形式で返ってくるため、辞書アクションでtextの値を取り出します。

4. GPT-4でMarkdown整形

文字起こし結果をユーザープロンプトとしてGPT-4へ送信します。

{
  "model": "gpt-4",
  "messages": [
    {"role": "system", "content": "{システムプロンプト}"},
    {"role": "user", "content": "{文字起こしテキスト}"}
  ]
}

レスポンスからchoices[0].message.contentの値を取り出すと、整形済みのMarkdownテキストが得られます。

5. ファイルの保存とリネーム

GPT-4の応答からタイトル部分(先頭行)を取り出し、ファイル名として使用します。アスタリスクなどMarkdownの記号はファイル名に使えないため、空白に置換します。

ファイルは00_inboxフォルダに保存しますが、現状ではショートカットの仕様上、拡張子が自動的に.txtになってしまうため、保存後に「ファイルの名前を変更」アクションで.mdに変更するという回避策をとっています。

00_i{nbox/}{.md}

6. GitHubへプッシュ

ファイル保存後、Working Copyアプリ(iOS向けGitクライアント)のアクションを使ってGitHubへ同期します。

123...

Working CopyはiOSでGitを扱う際の定番アプリです(有料)。なお、現状ではまれにコンフリクトが発生することがあり、原因の特定と改善が課題となっています。


iOSショートカットの活用メリット

今回の仕組みを構築してみて、iOSショートカットの強力さを改めて実感しました。

  • 外部APIへのPOSTリクエストが可能:JSONの構築・送受信が標準機能で行えます
  • 無料で利用できる:Power Automateの有償プランが必要な処理も、ショートカットなら追加費用なしで実現できます
  • 端末ローカルで動作する:クラウドサービスを介さないため、タイムラグが少なく快適です
  • AIと組み合わせやすい:WhisperやGPT-4などのAPIと自然に連携できます

まとめ

iPhoneのショートカットアプリ・Azure OpenAI(Whisper)・GPT-4・Working Copy・GitHubを組み合わせることで、「スマホに喋るだけでObsidianのノートが自動生成される仕組み」を無料(APIコストは別)で実現できました。

思いついたことをその場でアウトプットし、AIが整理してくれた構造化ノートがPCとスマホの両方に自動同期されていく体験は、日々のナレッジ蓄積をかなり効率化してくれます。GitHubによる同期でコンフリクトが発生するなど改善の余地はありますが、現時点でも十分に実用的な仕組みです。

iOSショートカットとAIを組み合わせたワークフローは、応用次第でさまざまな自動化に活用できますので、ぜひ自分なりにカスタマイズして試してみてください。