SATOSprod61 downloadsPush-to-talk voice transcription using Deepgram or Groq. Hold a hotkey to record, release to transcribe and insert at cursor.
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
.log files inside the vault (one file per day)# 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.
npm run dev
Open Settings → Voice to Text.
| Setting | Default | Description |
|---|---|---|
| Provider | Deepgram | Switch between Deepgram and Groq |
| API key | — | Secret key for the chosen provider |
| Model | nova-2 / whisper-large-v3 | Select from a fixed list per provider |
| Language | Auto | Dropdown: auto-detect or a specific language code |
| Hotkey | Meta+Alt | Click the field to capture interactively |
| Enable logging | Off | Write activity logs to the vault |
| Log folder | voice-to-text-logs |
Vault-relative path; created automatically |
| Save recordings | Off | Keep a WAV file of each recording |
| Recordings folder | voice-recordings |
Vault-relative path; created automatically |
Deepgram
Groq
Meta+Alt = Win+Alt / Cmd+Alt)If no editor is active, the transcription is copied to the clipboard instead.
| Code | Language | Code | Language |
|---|---|---|---|
auto |
Auto-detect | ko |
Korean |
ru |
Russian | nl |
Dutch |
en |
English | pl |
Polish |
de |
German | tr |
Turkish |
fr |
French | ar |
Arabic |
es |
Spanish | uk |
Ukrainian |
it |
Italian | zh |
Chinese |
pt |
Portuguese | ja |
Japanese |
Deepgram
| Model | Description |
|---|---|
nova-2 |
Best accuracy, recommended |
nova-2-general |
General purpose |
nova-2-meeting |
Optimised for meetings |
nova-2-phonecall |
Optimised for phone audio |
nova |
Previous generation |
enhanced |
Legacy enhanced |
base |
Legacy base |
Groq (Whisper)
| Model | Description |
|---|---|
whisper-large-v3 |
Best accuracy |
whisper-large-v3-turbo |
Faster, slightly lower accuracy |
distil-whisper-large-v3-en |
English-only, fastest |
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
This project is released under a proprietary license.
Copying source code into other projects is not permitted.
See LICENSE for full terms.
© 2026 SATOSprod