Pricing Dashboard Sign up
Recent
· 9 min read · MDisBetter

Voice Memo to Obsidian: The Complete PKM Workflow

Your best thinking happens away from the keyboard — in the car, on a walk, at midnight. Voice memos capture that thinking; Obsidian preserves it. The piece in the middle — turning audio into searchable, linkable Markdown that your vault can actually use — has been the missing step until now. Here is the complete workflow, from iPhone tap to vault-integrated note, with the frontmatter and linking conventions that make it scale.

The end-state we're building

By the end of this workflow, you'll have:

Each memo becomes a real PKM artifact — searchable, linkable, AI-feedable — instead of an audio file dying in your phone.

The capture path: iPhone Voice Memos

The iPhone's native Voice Memos app is good enough. The friction is low (lock screen widget, hardware shortcuts) and the audio quality on modern iPhones is fine for transcription. Three setup tweaks worth making:

  1. Enable iCloud sync in Settings → Voice Memos → so memos appear on Mac/iPad automatically.
  2. Add a Lock Screen widget so you can start a memo from the lock screen without unlocking.
  3. Set audio quality to Lossless if you have storage to spare. Compressed quality is also fine for transcription, but lossless is more durable.

For Android users, the equivalent is Google Recorder or any voice memo app that exports M4A/WAV. The workflow downstream is identical.

The transcription step

Two paths depending on volume.

Per-memo path (low volume)

For occasional memos, the simplest workflow is the web tool:

  1. On iPhone: open the memo, tap Share → Save to Files → save in iCloud Drive in a voice-memos-inbox/ folder
  2. On Mac: the file appears in Files / Finder via iCloud sync
  3. Open /convert/audio-to-markdown, drag the M4A onto the upload zone
  4. Download the resulting .md
  5. Move the .md into your Obsidian vault's voice-memos/ folder

Total time per memo: 2-3 minutes including the cleanup pass below.

Batch path (high volume)

For 10+ memos in a backlog, scripting saves significant time. Set up local Whisper once and process the inbox folder in a loop. Full recipe in batch transcribe multiple audio files. The output ends up the same: one .md per audio file, ready for the vault.

The Obsidian-ready Markdown template

The transcribed file from the web tool is good but not yet Obsidian-optimal. The template that integrates cleanly:

---
date: 2026-05-10
time: "08:42"
type: voice-memo
location: car
tags: [product-ideas, q3-planning]
duration_seconds: 187
status: raw
---

# Voice Memo — 2026-05-10 08:42

![[voice-memo-2026-05-10-0842.m4a]]

## Context

Driving to work, thinking about the pricing tier question Sarah raised in yesterday's standup.

## Transcript

[transcribed content goes here]

## Key points

- Bullet 1
- Bullet 2

## Next actions

- [ ] Action 1
- [ ] Action 2

## Related

- [[Daily Note 2026-05-10]]
- [[Project — Q3 Pricing]]

The frontmatter is the most important part for scaling. Every property is a queryable field in Dataview.

Frontmatter fields explained

Status field matters most. The whole pipeline is: capture → raw → processed (you've read it and added context) → actioned (next steps moved to task system) → archived (no further action needed). Without status, the inbox just grows.

Embedded audio playback

The line ![[voice-memo-2026-05-10-0842.m4a]] embeds the audio file inline in the Markdown note. Obsidian renders an inline audio player so you can hear the original from within the note. This solves the "transcript is mostly right but I want to verify the tone" problem in two clicks.

For this to work, the audio file has to be in the vault. Two options:

  1. Audio in vault: store both the .m4a and the .md in the vault. Simplest. Cost: vault size grows.
  2. Audio outside vault: configure Obsidian's external audio embed setting, or use absolute paths. More setup, smaller vault.

For most users, in-vault is the right answer. Modern voice memos are 1-3MB each; even hundreds of memos add up to under 1GB.

Daily-note linking

The connective tissue. In your daily note (which Obsidian's Daily Notes plugin creates), add a section:

## Voice memos

- [[voice-memo-2026-05-10-0842|Pricing tier thoughts]]
- [[voice-memo-2026-05-10-1430|Recurring revenue model question]]

The aliased link [[voice-memo-2026-05-10-0842|Pricing tier thoughts]] shows the pretty title in the daily note while linking to the actual file. Backlinks now flow both ways: the memo notes show "linked from Daily Note 2026-05-10", and the daily note shows the memos captured that day.

For daily notes, this turns the memo library into part of the natural review flow. End-of-day, you skim the daily note; you see the day's memos in context; you decide which need processing.

The Dataview queries that earn their keep

Install the Dataview plugin. Two queries that pay back immediately.

Unprocessed memos

TABLE date, location, tags, duration_seconds
FROM "voice-memos"
WHERE type = "voice-memo" AND status = "raw"
SORT date DESC

Place this on your home page or weekly review note. Every Sunday morning, you see exactly what's waiting to be processed. The list shrinks as you work through it; if it grows, you know you're falling behind.

Memos by tag

TABLE date, location, file.link
FROM "voice-memos"
WHERE contains(tags, "product-ideas")
SORT date DESC

The thematic view. "Show me everything I've captured about product ideas this quarter." Surfaces patterns the brain wouldn't notice — recurring concerns, repeated half-formed ideas that maybe deserve a real treatment.

The weekly review pattern

Sunday morning, 10-15 minutes:

  1. Open the unprocessed memos query.
  2. For each memo: read the transcript (10 seconds), decide one of three outcomes:
    • Junk — delete the file, mark status: archived, move on.
    • Idea seed — link from a relevant project note, add to the project's idea section, mark status: processed.
    • Action item — extract the action to your task system (Things, Todoist, OmniFocus, Linear, whatever you use), mark status: actioned.
  3. Update tags if the right tag wasn't applied at capture.
  4. For memos with substantive thinking (not just todos), spend 1-2 minutes adding the "Context", "Key points", and "Related" sections of the template.

The whole review takes 10-15 minutes for 10-15 memos. The compounding effect of consistent weekly review across a year is enormous: hundreds of captured ideas integrated into your knowledge graph rather than sitting in audio limbo.

The AI synthesis layer

Once memos are in the vault as Markdown with consistent tags, AI synthesis becomes trivial. Periodic pattern queries:

Drop a folder of relevant memos into Claude or ChatGPT, ask the question, get cross-memo synthesis you couldn't have produced manually. The structured Markdown is what makes the AI step reliable — tags become filters, dates become anchors, statuses become signals about what you've already actioned vs what's still raw.

For the broader pattern of feeding AI from a Markdown vault, see ChatGPT can't listen to your audio.

Cross-feature: PDFs and URLs in the same vault

The memo workflow is one input stream into a unified Markdown vault. Other inputs follow the same pattern:

The unified vault becomes a single AI-queryable knowledge base across every input format. Backlinks connect related artifacts across folders. The graph view shows the cross-format connections. This is the actual leverage of a Markdown-native PKM.

Privacy considerations

Voice memos contain personal content. Two paths depending on sensitivity:

Most users mix the two: casual memos through the web, sensitive content (legal, medical, deeply personal) through local Whisper. Both end up as Markdown in the vault.

The mobile capture problem

The friction point is moving the audio from iPhone to vault. Two approaches:

iCloud Drive bridge

iPhone Voice Memos → Files app → save to iCloud Drive folder → file syncs to Mac → process there. Manual but reliable.

Shortcut-based automation

iOS Shortcuts can automate the chain: "Save voice memo to a specific iCloud folder, send a notification." Building this once saves 30 seconds per memo forever. Worth the 20 minutes of one-time setup if you do this daily.

What about Notion users?

The same conceptual workflow works for Notion. Database of voice memos with the same properties; each memo as a page; Notion AI for cross-memo synthesis. The PKM features differ (Obsidian's graph view and Dataview vs Notion's databases and AI integration), but the underlying pattern — voice memo to structured Markdown to integrated knowledge artifact — is identical. See audio to Notion workflow.

The honest tradeoffs

This workflow has setup cost and ongoing discipline. The setup is a few hours: the folder structure, the template, the Dataview queries, the iOS Shortcut, the weekly review habit. The ongoing discipline is the 2-3 minutes per memo capture-and-process and the 10-15 minutes weekly review.

The payoff is exponential. Six months in, you have 100-200 memos integrated into your knowledge graph. The thinking captured at the lock screen is now linkable, queryable, AI-synthesizable. The friction that previously made voice memos a write-only graveyard is gone. The compounding value past that point keeps growing.

Frequently asked questions

What if I don't want to keep the audio files in my vault?
You can keep them outside. Configure Obsidian to allow embedded audio from absolute paths or use a symbolic link to an external folder. The transcripts (the actual searchable knowledge) stay in vault; the source audio lives wherever storage is cheap. Tradeoff: less portable when moving devices, slightly more setup. For most users keeping audio in vault is simpler and storage isn't a real constraint.
Can I run this workflow with Logseq or Roam instead of Obsidian?
Yes — both are Markdown-native and accept files dropped into the graph folder. The Dataview equivalent in Logseq is built-in queries; Roam has its own query syntax. The conceptual workflow (frontmatter, status field, weekly review) is identical; the query syntax differs. Roam users may want to use page properties instead of YAML frontmatter for similar effect.
How do I avoid voice memos cluttering my vault when I have hundreds?
The status field plus folder organization solves this. Active memos (status: raw or processed) live in voice-memos/. Archived memos move to voice-memos/archive/YYYY-MM/ once they've been actioned. Dataview queries by default exclude the archive folder. The active set stays small; the archive is searchable when needed but invisible during normal use.