Voice Scribe
approvedby mrrepac
Record voice notes and transcribe them on your device with Whisper. No cloud, no API keys. - This plugin has not been manually reviewed by Obsidian staff.
Voice Scribe
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
- Enable the plugin and click the microphone ribbon icon (or the mic in
the status bar). Speak, then:
- Ctrl+Space — stop and insert the text, or
- Enter — stop, insert, and press Enter in the target field (handy for dictating straight into an AI chat panel).
- The text goes into the last focused input — a note, or another plugin's text box — or into a new note, depending on the switch at the top of the recording window.
- 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.
- Insert last transcript — insert the previous transcript again (into the active field, or to the clipboard if no field is focused).
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.
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.
- 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.
- Voice notes folder — where recordings and transcripts are saved, named
voice-2026-07-09-1530. - 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.coon 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.netas a fallback) and cached on disk. On mobile it is loaded fromcdn.jsdelivr.netand 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.
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
smallmodel. large-v3-turboneeds 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
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.