Voice to Text

approved

by SATOSprod

Push-to-talk voice transcription using Deepgram or Groq. Hold a hotkey to record, release to transcribe and insert at cursor. - This plugin has not been manually reviewed by Obsidian staff.

1 stars74 downloadsUpdated 1mo agoMIT

Voice to Text

Push-to-talk voice transcription plugin for Obsidian.
Hold a hotkey → speak → release → text is inserted at the cursor.

Providers: Deepgram (Nova 2) · Groq (Whisper)
Author: SATOSprod
License: Proprietary — see LICENSE


Features

  • Push-to-talk — hold a key combination to record, release to transcribe
  • Two providers — Deepgram Nova 2 or Groq Whisper, switchable in settings
  • Static model & language lists — dropdown selectors, no free-text input
  • Interactive hotkey capture — click the field, press your combo, done; keys are displayed as icons
  • File logging — activity logs written to .log files inside the vault (one file per day)
  • Audio saving — optionally save each recording as a WAV file in the vault
  • No emoji — SVG icons only in the status bar and settings UI
  • Minimal flat design — no shadows, no hover animations

Requirements

  • Obsidian 0.15.0 or later (desktop only)
  • A Deepgram or Groq API key (free tiers available)
  • Node.js 16+ and npm (for building from source)

Installation

From source (recommended)

# 1. Clone the repository
git clone https://github.com/SATOSprod/voice-to-text.git
cd voice-to-text

# 2. Install dependencies
npm install

# 3. Build
npm run build
# Produces: main.js

Then copy the plugin folder into your vault:

<your-vault>/.obsidian/plugins/voice-to-text/
├── main.js          ← compiled output
├── manifest.json
├── styles.css

Open Obsidian → Settings → Community plugins → Installed plugins and enable Voice to Text.

Development mode (auto-rebuild on save)

npm run dev

Configuration

Open Settings → Voice to Text.

SettingDefaultDescription
ProviderDeepgramSwitch between Deepgram and Groq
API keySecret key for the chosen provider
Modelnova-2 / whisper-large-v3Select from a fixed list per provider
LanguageAutoDropdown: auto-detect or a specific language code
HotkeyMeta+AltClick the field to capture interactively
Enable loggingOffWrite activity logs to the vault
Log foldervoice-to-text-logsVault-relative path; created automatically
Save recordingsOffKeep a WAV file of each recording
Recordings foldervoice-recordingsVault-relative path; created automatically

Getting an API key

Deepgram

  1. Go to console.deepgram.com
  2. Create a free account (includes $200 credit)
  3. API Keys → Create a key → copy and paste into plugin settings

Groq

  1. Go to console.groq.com
  2. Create a free account
  3. API Keys → Create API key → copy and paste into plugin settings

Usage

  1. Open any note in Obsidian
  2. Place the cursor where you want the text inserted
  3. Hold your configured hotkey (default: Meta+Alt = Win+Alt / Cmd+Alt)
  4. Speak — a notice appears confirming recording is active
  5. Release the keys — transcription starts automatically
  6. The transcribed text is inserted at the cursor position

If no editor is active, the transcription is copied to the clipboard instead.


Supported Languages

CodeLanguageCodeLanguage
autoAuto-detectkoKorean
ruRussiannlDutch
enEnglishplPolish
deGermantrTurkish
frFrencharArabic
esSpanishukUkrainian
itItalianzhChinese
ptPortuguesejaJapanese

Supported Models

Deepgram

ModelDescription
nova-2Best accuracy, recommended
nova-2-generalGeneral purpose
nova-2-meetingOptimised for meetings
nova-2-phonecallOptimised for phone audio
novaPrevious generation
enhancedLegacy enhanced
baseLegacy base

Groq (Whisper)

ModelDescription
whisper-large-v3Best accuracy
whisper-large-v3-turboFaster, slightly lower accuracy
distil-whisper-large-v3-enEnglish-only, fastest

File Structure

voice-to-text/
├── main.ts           ← TypeScript source (single file)
├── main.js           ← compiled output (gitignored, built locally)
├── styles.css        ← plugin styles
├── manifest.json     ← Obsidian plugin manifest
├── package.json
├── tsconfig.json
├── esbuild.config.mjs
├── versions.json
├── .gitignore
├── LICENSE
└── README.md

License

This project is released under a proprietary license.
Copying source code into other projects is not permitted.
See LICENSE for full terms.

© 2026 SATOSprod

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.