vincentbavitz7k downloadsIntelligently transcribe and categorize your voice notes.
VOX automatically transcribes the audio notes in your Obsidian vault - extracting metadata, categories and tag information. The transcribed text is then placed into its final direcory with its accompanying metadata (frontmatter) and tags.
The unprocessed directory is watched for new files; upon discovering a new file it will trigger the transcription and save the file to your vault.
Vox is fully self-hosted — transcription runs on your own machine via a local Docker backend. No data leaves your machine, no accounts required, no cost beyond your hardware.
Please note that at this moment, the transcription model is fine-tuned for English and may struggle with other languages.
Open the status panel to see the current status of your transcription queue.
Voice memos are a very convenient and efficient medium to formulate and explicate your ideas. However they suffer from the major drawback that they are not plaintext and cannot be indexed, searched, sorted or categorized.
As your collection of raw voice notes grows, your ability to search through them for important information shrinks. An enormous directory of thousands of audio files is no way to organise our notes. VOX solves this problem by pulling out the important information from your voice notes and intelligently categorizing them (see #Categorization below).
Vox requires a local backend to perform transcription. Head to obsidian-vox-backend and follow the setup instructions there — it runs entirely on your own machine via Docker, so nothing leaves your device.
The short version:
# CPU (recommended for most users)
docker compose up --build
# GPU — AMD, Intel, or NVIDIA via Vulkan (faster inference)
docker compose -f docker-compose-gpu.yaml up --build
The backend starts on http://localhost:8000 and downloads the Whisper model (~470 MB) on first run.
http://localhost:8000 (the default)Voice/unprocessed) and Output Directory (default: Voice)
- Record a voice memo on your desktop and save it directly into
<Vault>/Voice/unprocessed- The desktop Obsidian plugin picks it up and sends it to the local backend for transcription
- Record on your phone using any voice recorder app
- Sync audio files to your desktop vault's watch folder using Syncthing, iCloud, or similar
- The desktop Obsidian plugin transcribes them automatically
- Install Tailscale on both your phone and the machine running the backend
- In the Vox plugin settings on your phone's Obsidian app, set the backend URL to your desktop's Tailscale IP:
http://100.x.x.x:8000- Record voice memos on your phone — they are sent directly to your desktop's backend over the encrypted Tailscale tunnel and transcribed there
- No sync tool required; your vault files still live wherever you keep them
When saving your voice notes, you may prefix the filename with a special categorization token. This allows VOX to organise your voice notes into distinct categories and importance ratings.
For example, you might find that a voice note of your wedding is an importance of 5/5 while a ramble about your work might be a 1/5 in importance. We could categorize these by setting their filenames like so:
R5LN Wedding Night With Charlotte.mp3 -> Importance rating of 5/5 in the category of Life NoteR1RM Ramble about work issues.mp3 -> Importance rating of 1/5 in the category of RambleSee below for a more detailed explanation.
The convention is to prefix your voice memo filename with R{digit} from R1 -> R5 where the digit is an importance rating between 1 and 5.
Thusly a standard filename is of the following format: R{importance}{category} {title}.{extension}
Voice memo filenames should be prefixed with their category in order to organise them appropriately. Here is a list of example categories along with their prefixes...
You may set your own categorization map in the settings - the sky's the limit!
VOX now includes built-in AI summarization powered by a local LLM (Ollama). Summaries help you quickly understand the essence of your voice notes without reading the full transcript.
After each voice note is transcribed, VOX can automatically generate a concise summary using your local LLM:
VOX automatically generates intelligent periodic summaries that synthesize all your voice notes:
Smart prerequisites: The scheduler waits for all lower-level summaries before generating higher-level ones, and respects individual note summarization status.
Token-aware context hierarchy: To stay within your LLM's token limit, the system uses:
Periodic Summaries: Use Obsidian commands to manually generate summaries for any period:
VOX: Generate Weekly Summary — choose any completed weekVOX: Generate Monthly Summary — choose any completed monthVOX: Generate Yearly Summary — choose any completed yearEach command opens a modal showing available periods with note counts and readiness status. Existing summaries prompt for confirmation before overwriting.
Individual Note Summaries: Manually summarize individual transcriptions:
VOX: Summarize a Note — opens a modal listing all unsummarized transcriptions; select one to summarize immediatelyVOX: Summarize All Notes — queues all unsummarized transcriptions for summarization in sequenceThese commands are useful if you prefer to manually control which notes get summarized, or if you want to catch up on a backlog of unsummarized transcriptions.
Voice/Summaries)VOX includes a built-in audio recorder directly in Obsidian — no need for external recording apps:
Allowing users to build their own templates using shortcodes such as {{ tags }}, {{ transcript }}, {{ category }}.
See obsidian-vox-backend for full backend setup, configuration options (model size, GPU inference, environment variables), and troubleshooting.