A VS Code extension that records your voice and transcribes it using OpenAI Whisper or a local Whisper-compatible API. Can optionally clean up the text with an LLM.
- Record audio directly in VS Code with real-time visualization
- Upload audio or video files — audio track is extracted automatically (MP4, MKV, MOV, AVI, WebM)
- Transcribe long recordings (1hr+) — split into 10-min chunks behind the scenes
- Transcribe via OpenAI Whisper or your own local server
- Clean up filler words and fix punctuation with LLM (optional)
- Keep your last 10 transcriptions
- Auto-copy results to clipboard
- Recover recordings if VS Code crashes
The extension uses ffmpeg for native recording, splitting long files, and extracting audio from video uploads. Without ffmpeg, recording falls back to the browser (works, but lower quality and no long-file support).
macOS:
brew install ffmpegLinux:
sudo apt install ffmpegWindows:
winget install ffmpeg
# or
choco install ffmpeg- Click the microphone icon in the top-right of your editor
- Set up your provider (OpenAI or local)
- Hit "Start Recording" and speak
- Hit "Stop" — text is automatically copied to clipboard
Get an API key from platform.openai.com/api-keys, select "OpenAI" as provider, paste your key, and save.
Any Whisper-compatible API works:
- faster-whisper-server
- whisper.cpp server
- Anything with a
/v1/audio/transcriptionsendpoint
Just enter the URL, e.g. http://localhost:8000/v1/audio/transcriptions.
When using OpenAI, you can enable "Clean up text with LLM" to remove filler words, fix punctuation, and add paragraph breaks.
Models available: gpt-4o-mini (default, cheapest), gpt-4o, gpt-4-turbo, gpt-3.5-turbo.
Auto-detect or pick manually: English, Russian, Ukrainian, Spanish, French, German, Italian, Portuguese, Polish, Japanese, Korean, Chinese, and more.
macOS: System Settings → Privacy & Security → Microphone → enable VS Code → restart VS Code
Windows: Settings → Privacy → Microphone → allow app access
Linux: Check PulseAudio/PipeWire settings with pavucontrol, make sure no other app is blocking the mic
Command Palette (Ctrl+Shift+P / Cmd+Shift+P) → "Developer: Open Webview Developer Tools" → pick Voice Transcriber → Console tab
- Check your API key
- For local API — make sure the server is running and URL is correct
- Check your internet connection
Recordings over 24 MB are transcoded to 128 kbps MP3 and split into 10-minute chunks, each transcribed separately and concatenated. Video uploads (MP4, MKV, MOV, AVI, WebM) have their audio track extracted automatically. Both features require ffmpeg.
- API keys are stored in VS Code's secure storage (system keychain)
- Audio goes directly to OpenAI or your local API
- Nothing is saved to disk
npm install
npm run compilePress F5 to launch the Extension Development Host.
npm run compile # build once
npm run watch # rebuild on changes- Microsoft account — account.microsoft.com
- Azure DevOps org — dev.azure.com
- Publisher ID — marketplace.visualstudio.com/manage
- Go to dev.azure.com → profile → Personal access tokens → New Token
- Organization: All accessible organizations
- Scopes: Custom defined → Marketplace → Manage
- Copy the token (shown only once)
{
"publisher": "your-publisher-id",
"icon": "resources/icon.png"
}Icon must be a 128×128 PNG.
npm install -g @vscode/vsce
vsce login your-publisher-id
vsce publishvsce publish patch # 0.1.0 → 0.1.1
vsce publish minor # 0.1.0 → 0.2.0
vsce publish major # 0.1.0 → 1.0.0vsce package # create .vsix without publishing
vsce show publisher.extension # show extension info
vsce unpublish publisher.ext # remove from marketplaceMIT