Voxtral Transcribe — dictate and type at the same time into your notes with voice commands (feedback welcome!)

Hi!

I built Voxtral Transcribe, a speech-to-text plugin for Obsidian that lets you dictate directly into your markdown notes — including using your voice to create structure. Inserting headings, lists, to-dos, and more, all by voice. Transcription happens real-time and you can talk and type at the same time to keep creating content in one flow.

I’ve been using it daily for a while now and it’s been working well for me, so I wanted to share it with the community. The plugin is now available in Community Plugins — install it directly from Voxtral Transcribe - Obsidian Plugin.

Update (July 2026): the same engine now also works on audio you already have. Right-click any audio file in your vault → Transcribe audio file (long recordings are split automatically; optional speaker labels mark who said what), with a pre-flight quality check before spending an API call. Dictation got smarter too: an opt-in vault-aware correction pass that knows your note’s own terms, visible feedback on which voice command just ran, and “undo last command”. Full details in the changelog.

What it does

Instead of typing, you just talk AND type if you want to — your words will all appear in your note. On desktop, text streams in real-time as you speak. On mobile, you tap a send button to transcribe chunks while the recording keeps going.

But what makes it more than “just” transcription is that you can control your document structure by voice:

  • Say “heading two” → inserts “## “

  • Say “bullet point” → inserts “- “

  • Say “new todo” → inserts “- [ ]”

  • Say “new paragraph” → double line break

  • Say “numbered item” → auto-incrementing numbered list

  • Say “delete last paragraph” or “undo” to fix mistakes

  • Say “stop recording” to end the session

  • And many more standard commands as well as the ability to add custom commands

After you stop, the plugin can automatically correct your text — fixing spelling, capitalization, and punctuation — without changing your writing style or markdown formatting. This uses the Mistral models for text.

Key features

  • Real-time streaming on desktop — text appears as you speak
  • Batch mode with tap-to-send on desktop + mobile — send audio chunks mid-dictation without stopping
  • Voice commands for headings (H1-H3), bullet points, to-dos, numbered lists, paragraphs, line breaks, delete, and undo
  • 13 languages — Dutch, English, French, German, Spanish, Portuguese, Italian, Russian, Chinese, Hindi, Arabic, Japanese, Korean. Voice commands automatically adapt to the selected language; English always works as fallback
  • Auto-correction — spelling, capitalization, and punctuation are fixed automatically after recording
  • Inline correction instructions — say “for the correction: change X to Y” and the corrector will follow your spoken instructions
  • Self-correction — say “no, not X but Y” and it handles it automatically
  • Microphone selection — choose which mic to use
  • Auto-pause on focus loss — configurable behavior when switching apps on mobile (pause immediately, pause after delay, or keep recording)
  • Voice command help panel — side panel showing all available commands for your active language, including the custom commands you added

How it works

The plugin uses Mistral’s Voxtral models for speech recognition. You’ll need a Mistral API key from console.mistral.ai

  • Desktop: real-time mode uses a WebSocket connection for live streaming; batch mode is also available
  • Mobile: batch mode with tap-to-send (real-time streaming requires Node.js which isn’t available on mobile)

Installation

Settings → Community plugins → Browse → search for “Voxtral Transcribe” → Install & Enable, then enter your Mistral API key under Settings → Voxtral Transcribe. (Manual install from the GitHub releases still works too.)

Manual installation

  1. Download `main.js`, `manifest.json`, and `styles.css` from here: latest release Voxtral Transcribe
  2. Create a folder `.obsidian/plugins/voxtral-transcribe/` in your vault
  3. Copy the three files into that folder
  4. Restart Obsidian, enable the plugin, and enter your API key

Feedback welcome!

I’d love to hear how it works for you — especially:

  • How well does it work in your language?
  • Are the voice commands intuitive?
  • How’s the experience on mobile?
  • Any bugs or rough edges you run into?
  • There is a dual delay option that looks cool - you see the text appear really quickly on desktop and the second stream corrects mistakes quite well. I however have doubts about it’s actual usefulness. It’s quite complex to get the voice commands to work well. I might abandon this specific feature.

Feel free to open issues on GitHub or reply here!


GitHub: maxonamission/obsidian-voxtral

License: GPL-3.0, free and open source

1 Like

The link to the github repo for this plugin: maxonamission/obsidian-voxtral

Installed via BRAT. Works perfectly! Prior to this I was using Handy, an open source speech to text, which uses Whisper. However, yours is vastly superior with the ability to insert headings, line and paragraph breaks. Experimented with a 200 word text in both English and French, with two paragraph breaks. Voice commands work seamlessly. Perfect layout, no spelling errors except for two very minor ‘errors’ which occurred when the CPU spiked. Really well done!

1 Like

Cool! Thanks for taking the time to test and secretly proud you had such a good experience :slight_smile: let me know about any quirks or wishes. It’s relatively stable now and I will continue to fine tune. Using it a lot myself at the moment and exploring a way to test and improve performance in each of the languages using a set if audio files with voice commands with different voices and background noises. Voxtral speaks a lot more languages than I do :slight_smile:

What is harder for me is to know what commands a native speaker would expect to use.

Yes! The plugin is live and available directly from Obsidian! And happy that a little over 40 people found it and installed the app in no time :slight_smile:

The plugin listing: Voxtral Transcribe - Obsidian Plugin

Let me know if you have any questions or suggestions!

Update: transcribe the recordings you already have (+ smarter dictation) — 1.7.1

Quite a lot has happened since I posted that the plugin went live in Community Plugins — 1.0.0 → 1.7.1. The headline: Voxtral Transcribe is no longer only about what you say next; it now also handles the audio you already have. (Full changelog)

Transcribe existing audio files

Right-click any audio file in your vault → Transcribe audio file (desktop and mobile):

  • Long recordings just work — files over the single-request limit are split automatically and transcribed part by part, with text appearing as each part finishes (and a Cancel button).
  • Optional speaker labels (diarization, off by default): **Speaker 1:** … marks who said what — handy for interviews and meetings.
  • Choose where the text lands: at your cursor, or in a new note linked to the audio file; optionally run it through the correction pass.
  • Pre-flight quality check: an optional warning for very short, silent or low-bitrate audio before you spend an API call.
  • There’s also a command to transcribe the ![[recording]] embed on your current line, inserting the text right below it.

Lectures, meetings, old voice memos, interview recordings — point the same engine at them and they become searchable, linkable notes.

Dictation got smarter too

  • Vault-aware correction (opt-in): the correction pass can now use terms connected to the note you’re dictating in — its headings, links, backlinks and tags — so your project’s jargon gets corrected right. In 1.7.1 this became strictly context-anchored (no more vault enumeration at all; only term names are ever sent, and only when you switch it on).
  • You can see what just happened: voice commands now give visible feedback about which command ran, and “undo last command” takes the last one back.
  • Listen back (experimental, opt-in): select text → have it read aloud with Voxtral TTS. Surprisingly good for proofreading — you hear mistakes you’d skim past.
  • Quality of life: the voice-help panel stopped stealing focus and can be told (from the panel itself) not to auto-open; it’s now fully localized in all 13 languages; live punctuation in realtime dictation improved.

Under the hood, the correction layer now has a proper evaluation harness (golden prompt tests in CI, including prompt-injection and sensitive-content cases) — invisible, but it’s the reason I dare keep improving it.

Feedback I’d especially value

  • File transcription on real material: how do the automatic splitting and speaker labels hold up on your long recordings, in your language?
  • Vault-aware correction: does it catch your project jargon, and does the opt-in framing feel right?
  • Listen back: keeper or gimmick?

As always: free, GPL-3.0, works on desktop + mobile, needs only a Mistral API key. Reply here or open an issue on GitHub — and thanks to everyone who installed it and sent feedback so far! :slightly_smiling_face:

1 Like

Voxtral Transcribe 1.10.0 — realtime dictation now works on mobile :microphone::mobile_phone:

Since day one, my most-desired feature for this plugin has been realtime dictation on your phone…

And as of 1.10.0, it’s here: open a note, tap the mic, talk — and watch your words appear live, with the same voice commands (headings, lists, to-dos), self-correction handling and auto-correction you know from desktop.

Why did this take so long? It genuinely couldn’t be done before. Mobile Obsidian runs in a webview, and webviews can’t set the authentication header the realtime API required on its WebSocket handshake.

A hard platform wall, not a plugin limitation. So we asked Mistral for a browser-safe auth mechanism (mistralai/client-ts#252), a fellow user stress-tested the first rollout with razor-sharp diagnostics, and the Mistral team shipped working ephemeral client tokens within four weeks of the request.

This release builds on that: the plugin mints a short-lived token with your own API key and connects directly. Your key never touches the WebSocket handshake, and nothing extra is stored anywhere.

Also in recent releases:

  • Local server mode (experimental, desktop) — connect realtime dictation to your own vLLM server running Voxtral’s open-weight model, no API key needed for dictating and audio that never leaves your machine. Requires a ~16 GB GPU; see the local server guide.
  • Quality-of-life: a reset button and clearer validation for the API base URL, honest error messages, and your API key now lives in Obsidian’s secret storage (OS keychain) instead of data.json.

Tap-to-send batch mode stays available on every platform as a choice, and as automatic fallback if realtime can’t start.

Update via Community Plugins and give it a try.

Feedback, good, bad, or weird is very welcome on GitHub; this feature literally exists because users spoke up.

:hot_beverage: And if the plugin saves you time, there’s always the coffee button :slight_smile: