Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Voice Scribe

mrrepacmrrepac199 downloads

Record voice notes and transcribe them on your device with Whisper. No cloud, no API keys.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates6

Record a voice note in Obsidian and get its text — transcribed on your device by Whisper. No cloud, no API keys, no subscriptions: after the one-time downloads everything works offline.

Русское описание: README.ru.md.

Usage

  1. Enable the plugin and click the microphone ribbon icon (or the mic in the status bar). Speak, then click it again to stop.
  2. No window opens. The text lands in the last focused input — a note, or another plugin's text box — or in a new note, depending on Insert transcript into in settings. While recording, the status bar shows a blinking mic, a running timer and a level meter — so you can see you are being heard.
  3. Right-click any audio file in your vault → Transcribe audio to get a transcript note for an existing recording (mp3, m4a, wav, ogg, flac, webm…).

The plugin sets no default hotkeys. The recommended setup is the “Ctrl+Space controls recording” toggle in settings: tap Ctrl+Space to start, tap again to stop — or hold it for push-to-talk, where recording stops and inserts the moment you release. Alternatively, bind your own hotkeys to the commands:

  • Record voice note (start/stop) — toggle recording from anywhere.
  • Record while hotkey is held (push-to-talk) — recording lasts while your chosen hotkey is held down.
  • Cancel recording (discard) — stop without transcribing or saving anything. Works during transcription too.
  • Stop recording and press Enter — stop, insert, then send Enter to the field you dictated into (handy for AI chat panels). Plain Enter does the same while a recording or transcription is running: no line break lands in the field — the plugin waits for the text and presses Enter after it.
  • Insert last transcript — insert the previous transcript again (into the active field, or to the clipboard if no field is focused).
  • Insert transcript from history… — pick any of the last ten transcripts of this session, searchable by text. For when the text went somewhere you did not mean: no need to dictate it again.

Right-click the mic in the status bar for the same things close at hand: start/stop, cancel the recording, insert the last transcript, browse history.

On mobile

The plugin works on phones too — with the base model on the CPU by default: slower than on desktop, but fully offline.

There is no status bar on mobile, so the microphone lives in the left sidebar. For one-gesture recording, bind it to the pull-down: Settings → Mobile → Pull action → “Voice Scribe: Record voice note”, then just swipe down on a note to start.

Model

Auto (default) picks the best model this device can actually run:

  • desktop with a GPU (WebGPU) → large-v3-turbo (~720 MB, the best one);
  • desktop on CPU → small (~240 MB) — the ceiling of the 32-bit WASM runtime;
  • phone → base (~80 MB) — larger models exhaust WebView memory.

You can also pick a model manually. The choice is stored per device and never synced, so your desktop and phone can't overwrite each other's model — each remembers its own. The settings page shows which model and compute device are actually in use on the current device, and why.

On first use the plugin downloads the selected model from Hugging Face and caches it locally; subsequent runs are offline. You can pre-download it via Settings → Prepare model.

Transcribing while you speak

Whisper is not a streaming model — it works on a 30-second window and needs a finished chunk of audio. So the Transcribe while recording option (desktop, off by default) splits your speech into phrases at the pauses and transcribes each one while you keep talking. Phrases land where you are dictating as you go, and by the time you stop, only the last one is left to process.

Worth knowing before you turn it on:

  • Recognition runs in a background thread, so Obsidian stays responsive — but the text arrives in phrase-sized pieces rather than all at once.
  • Phrase boundaries sit in pauses — where the model would break context anyway — but a single continuous pass still joins sentences slightly better. Leave the option off if you care about that more than about speed.
  • The audio file (if you keep one) is always the full recording, unaffected by how the text was produced.

Settings

  • Whisper model — Auto (recommended) / tiny / base / small / large-v3-turbo (desktop, needs a GPU). Bigger is more accurate but slower.

  • Language — the language you speak, or auto-detect.

  • Voice punctuation — say “comma”, “period”, “question mark”, “new line”, “new paragraph” (or the Russian «запятая», «точка», «абзац»…) to insert punctuation. Off by default; only standalone command words are replaced.

  • Replacements — one rule per line, what you hear = what to write. Whisper mangles names, titles and jargon the same way every time, so it is fixed once:

    # a comment
    рэп театр = Рэп-театр
    обсидиан = Obsidian
    э-э =
    

    Whole words only, case-insensitive: рэп will not touch рэпера. A capital letter on the recognised word carries over to the replacement, so the start of a sentence stays intact. An empty right side deletes the word — handy for filler sounds. Where rules overlap the longer one wins, and every fragment is replaced exactly once (rules never rewrite each other).

  • Stop after silence — go quiet for 2–8 seconds and the recording stops by itself, inserting the text right away: one keypress instead of two. The count only starts once you have actually said something. If not a single word is heard within 15 seconds of starting, the recording is discarded rather than stopped: no text, no audio file — so a mic left on by accident does not stay on.

  • Compute device — Auto uses your GPU via WebGPU when available and falls back to CPU (WASM) otherwise.

  • Microphone — pick an input device (press refresh to reveal device names).

  • Insert transcript into — the active field, or a new note.

  • Copy transcript to clipboard — additionally put every transcript into the system clipboard.

  • Sound feedback — short chimes when recording starts and when the transcript is ready.

  • Ctrl+Space controls recording — tap to start/stop, hold for push-to-talk.

  • Transcribe while recording (desktop) — see below.

  • Voice notes folder — where recordings and transcripts are saved, named voice-2026-07-09-1530.

  • Audio file — keep the recording next to the transcript, delete it once the text has been delivered, or never write it at all.

  • Link the audio in the note — add an ![[…]] embed when a note is created.

  • Warm up on startup — load the model in the background so the first recording transcribes instantly.

  • Delete voice notes / Delete downloaded models — housekeeping.

Network access

Nothing you record or transcribe ever leaves your device. The plugin downloads only its working parts, each once, from pinned versions:

  • Whisper models — from huggingface.co on first use of each model (~40–720 MB), then cached: on desktop on disk outside the vault (so sync never copies gigabytes), on mobile in the app cache.
  • Speech engine (ONNX Runtime WASM, ~21 MB) — the Obsidian catalog installs only the plugin code, so on desktop the engine is downloaded once from this plugin's GitHub Releases (with cdn.jsdelivr.net as a fallback) and cached on disk. On mobile it is loaded from cdn.jsdelivr.net and kept in the WebView HTTP cache — after a cache eviction it may be downloaded again.

No other requests are made, and no telemetry exists.

Files outside the vault

On desktop the plugin reads and writes exactly two places outside your vault, both under the OS cache directory (%LOCALAPPDATA%\voice-scribe on Windows, ~/Library/Caches/voice-scribe on macOS, $XDG_CACHE_HOME/voice-scribe on Linux):

  • models/ — downloaded Whisper models;
  • runtime/ — the ONNX Runtime WASM binary.

They live outside the vault on purpose: Obsidian Sync would otherwise copy gigabytes between your devices. Settings show the exact path and offer Delete downloaded models; the runtime can be removed by deleting the folder. Nothing else on your filesystem is touched. On mobile no Node.js API is used at all — caching goes through the browser Cache API.

Inside the vault the plugin only writes to its own plugin folder: the patched engine loader (ort/), plus asr-worker.js and live-worklet.js when your security policy refuses to run them from memory.

Notes

  • Transcription runs via transformers.js and ONNX Runtime.
  • Speed depends on hardware: with WebGPU expect faster than real time; on CPU a one-minute note takes roughly a minute with the small model.
  • large-v3-turbo needs a GPU. It cannot run on the CPU: the WASM runtime is 32-bit and cannot allocate its weights, no matter how much RAM you have.

License

MIT

HealthExcellent
ReviewCaution
About
Record voice notes and transcribe them locally with Whisper, fully offline and without cloud services or API keys. Insert transcripts into the last-focused input or a new note, transcribe existing audio files, and use toggle or push-to-talk hotkeys; works on desktop and mobile.
AudioAI
Details
Current version
0.3.1
Last updated
15 hours ago
Created
4 weeks ago
Updates
6 releases
Downloads
199
Compatible with
Obsidian 1.8.7+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
mrrepacmrrepacmrrepac
GitHubmrrepac
  1. Community
  2. Plugins
  3. Audio
  4. Voice Scribe

Related plugins

Claudian

Embeds Claude Code/Codex and other local Agents as AI collaborators in your vault.

Copilot

Your AI Copilot: Chat with Your Second Brain, Learn Faster, Work Smarter.

Fast Note Sync

Real-time sync of your vaults across server, mobile, and web; shareable with anyone; supports REST and MCP integrations to build your personal AI knowledge base.

Agent Client

Chat with Claude Code, Codex, Gemini CLI, and more via the Agent Client Protocol — right from your vault.

Text Generator

Generate text content using GPT-3 (OpenAI).

Smart Composer

AI chat with note context, smart writing assistance, and one-click edits for your vault.

Smart Connections

Find related notes and excerpts while writing. Your AI link building copilot displays relevant content in graph + list view. A local embedding model powers semantic search. Zero setup. No API key.

Karpathy LLM Wiki

Karpathy's LLM Wiki implementation - multi-page knowledge generation with entity/concept pages and conversational query.

HiNote

Add comments to highlighted notes, use AI for thinking, and flashcards for memory.

Khoj

An AI personal assistant for your digital brain.