Repository navigation
Releases: mohammad-rj/speakpaste
Releases · mohammad-rj/speakpaste
Release list
v1.13.0
What's new
- Remote Desktop hotkey handover. Run SpeakPaste on your PC and inside the remote session with the same hotkey. While a Remote Desktop window (
mstsc,msrdc,vmconnect,rdcman) is in front, the local copy leaves the hotkey to the remote one. Setting: General → Leave hotkeys to the remote PC while a Remote Desktop window is in front (on by default). Setup notes in the README. - Self-healing microphone. When the input device disappears (a Remote Desktop reconnect, a USB mic unplugged, a new default device), SpeakPaste reopens it within a few seconds. No more restarting after a reconnect.
- Live History. New voices show up while the History window is open; before, the window stopped updating once history was full.
Fixes
- The version string was stuck at 1.2.0, so every start reported an update to 1.12.0.
- The log names the focused app on every hotkey press, for diagnosing where a press went.
v1.12.0
What's new in v1.12.0
The hotkey no longer gets stuck
- A hotkey could silently degrade: after a busy moment, pressing Alt alone started recording, as if Win were still held. Pressing the real hotkey once cleared it, until it happened again.
- Key state now comes straight from Windows instead of from tracked keyboard events, so a missed key release can no longer wedge it. The same fix removes a case where typing could hang forever.
Use your own Gemini endpoint
- New Base URL and Base URL token fields on the Speech → Text tab. Point them at any Gemini-compatible proxy and every Gemini call - transcription, prompt rewriting and text-to-speech - goes there instead of to Google, with your real key staying on the proxy.
- Environment variables
SPEAKPASTE_GEMINI_BASE_URLandSPEAKPASTE_GEMINI_TOKENoverride the fields. - Leave them empty and nothing changes.
v1.11.0
What's new in v1.11.0
Hotkeys
- A Record button next to each hotkey field captures the combination you press instead of making you type it.
- Combinations are validated. Windows-reserved ones are rejected with the reason - including that a Win+letter combo stays reserved even with extra modifiers held, so a broken hotkey is caught before it ever gets saved.
Text insertion
- New Automatic / Always type / Always paste setting. Automatic types short text and pastes anything over 220 characters, where typing key by key would take seconds. Pasting restores your previous clipboard content afterwards.
- Gives apps that ignore synthetic keystrokes (SendInput) a working path.
Error reporting
- A failed transcription now shows a small notification with the actual reason instead of only writing a line to a log nobody sees.
Player widget
- The floating reading player is now about 40% shorter: the speed control moved onto the same row as play/pause/next/prev/stop, leaving only the timeline on its own row below.
Tests
- 34 automated tests now run on every push, covering hotkey validation, text chunking, playback speed accuracy, and more.
v1.10.0
What's new in v1.10.0
Read any text aloud
- Select text in any Windows app and press Win+Shift to hear it read.
- Your clipboard is untouched — the selection is copied and your previous clipboard content is put back.
- A floating player gives you play/pause, stop, a seek bar, and a 0.5x–2x speed slider that keeps the voice natural instead of turning it into a chipmunk.
- Long text starts playing within a few seconds instead of making you wait: it is split at sentence boundaries and later parts are prepared while earlier ones play, with no gaps between them.
- Jump between parts with the ◀◀ / ▶▶ buttons. A
part 2/5counter and tick marks on the seek bar show where you are. Pressing back mid-part replays that part from its start. - Two voice engines: free Microsoft Edge neural voices (default, no key), or Gemini-TTS on Vertex AI where you can describe in plain words how it should read.
- The tray menu also has Read clipboard aloud and Stop reading.
New gemini speech-to-text engine
- Detects the spoken language by itself, so the keyboard layout and the Language setting no longer matter.
- Persian sentences keep their English technical terms in Latin script — say "برو روی branch جدید و commit رو merge کن" and
branch,commitandmergecome out in English instead of being mangled.
Settings and history
- Settings are now split into three tabs: Speech → Text, Text → Speech, and General.
- A Test voice button plays a sample without closing the window.
- Click any history entry to copy it back to your clipboard.
Housekeeping
- SpeakPaste is now licensed under Apache 2.0. A
THIRD-PARTY-NOTICES.mddocuments every dependency licence and the LGPL/GPL components bundled into the executable. - A rotating log file is written next to the app, which makes problems diagnosable now that the app runs without a console.
v1.9.0
Fixes and improvements:
- Settings and History windows no longer hang or fail to open
- Fix Google engine [WinError 2] in the packaged exe (bundled FLAC encoder)
- History right-aligns Persian text, keeps English left-aligned
- History now persists across restarts
- Fix Google Cloud API key not applying on Save
v1.8.0
- Gemini thinking level + media resolution controls (Minimal/Low/Medium/High), default Low — reduces latency\n- Settings window is now scrollable\n- Log lines now show timestamp and elapsed time per step
v1.7.0
What's new in v1.7.0
Decoupled Transcription Engine from Prompt Mode
- Transcription Engine and Prompt are now two independent settings
- Choose any STT engine (Google, Groq, Google Cloud, Chrome Extension) independently
- Choose a prompt mode (Off, Gemini Flash Lite, Gemini Flash) independently
- Selecting Gemini Flash (voice to prompt directly) grays out the Transcription Engine section - it is bypassed entirely
- Settings auto-migrate from the old combined engine format
v1.6.0
What's new in v1.6.0
History window
- New History item in the tray right-click menu
- Shows all transcriptions from the current session with timestamp and engine
- Updates in real-time — new entries appear instantly while the window is open
- For
gemini-lite(two-step processing): shows both the raw voice transcription and the converted English prompt as separate labeled rows - Show voice text checkbox to toggle the raw STT row for gemini-lite entries
- Clear button to wipe the session history
- History is in-memory only and resets on restart
v1.5.0
What's new in v1.5.0
Auto-detect language from Windows keyboard layout
- New "Follow Windows keyboard layout" option in Settings → General
- When enabled, SpeakPaste reads your active keyboard layout at the moment you press the hotkey - no manual language switching needed
- Toggle Persian layout (Alt+Shift) → speak Persian; switch to English layout → speak English
- Language is locked for the full press → release → transcribe cycle
- Falls back to the configured language if the layout is not recognised
- Supported layouts: Persian/Farsi, English, Arabic, Turkish, German, French, Russian, Portuguese, Spanish, Japanese, Korean, Chinese
- Works with all engines: google, google-cloud, groq, google-ext, gemini-lite
v1.4.0
What's new in v1.4.0
Gemini Engines
gemini-lite— speak in any language → Google STT (free) → Gemini Flash Lite → clean English programming prompt for your AI coding assistantgemini-flash— speak in any language → WAV sent directly to Gemini Flash (multimodal) → English prompt, no intermediate STT step- System prompt is fully customizable in Settings
- Free Gemini API key from aistudio.google.com
CI/CD Pipeline
- GitHub Actions workflow: push a tag → exe built automatically on Windows runner → published as GitHub Release
release.pyhelper script for local version bump + tag + push