JoyVoice v2.1.0 — Spoken override, cancel, ending cleanup, usage logs
🎉 JoyVoice v2.1.0
Floating cloud dictation for Windows — speak any of 10 languages, get a clean translation pasted into whatever app has focus.
Production model: gemini-3.1-flash-lite via BDX.market
Platform: Windows 10/11 · Python 3.11 cloud path (no local Whisper/GPU required for the EXE)
⬇️ Download
| Asset | Description |
|---|---|
| JoyVoice-v2.1.0.zip | Windows portable EXE (~129 MB) |
| JoyVoice-v2.1.0.zip.sha256 | SHA-256 checksum |
SHA-256: 3782fd18a9796bac25287e8e5da8be5ef0144e571f5035e906dd64d4fa0a638e
Install
- Download + unzip
- Set env var
JV_API_KEYto your BDX.market API key (setx JV_API_KEY "…") - Run
JoyVoice.exe - Press F8 and speak
✨ What's new in 2.1.0
Spoken one-shot target override
End an utterance with a language command to force this paste only into that language (settings stay unchanged):
paste this in Russian/Give me the Russianin Bengali please/বাংলায় দাও- trailing cue:
Russian·Japanese·Hindi - phonetic BN:
রাশিয়ান-এ ট্রান্সলেট…
Implementation:
- Gemini JSON
target_override+ local detector - Dual detect on source and English translation
- Always force a dedicated retranslate when override is set (fixes EN-paste-with-override-detected)
- Command phrase stripped from paste body
- Toast:
Override → RU
Cancel (no more forced transcription)
- Esc or widget right-click Cancel
- Recording → discard audio, no API call
- Transcribing → invalidate job, never paste / never history
- Accidental F8 tap < 0.35s treated as cancel
- F8 remains start / stop-and-process only
Ending cleanup
- Prefer cutting dangling open lines over inventing missing words
- Strip trailing
.../……and soft polite filler tails - Drop incomplete final clauses; keep the last complete sentence
- Higher token budgets (audio 1600 / rewrite 1200) to avoid mid-sentence CJK cuts
Usage telemetry
- Append-only
%APPDATA%\JoyVoice\usage.jsonl - Per-request: model, latency, prompt/completion/total tokens (when gateway returns
usage) - End-to-end pipeline rows (
asr_s,llm_s, total) - Never raises into the dictation path
🔒 Security
- API key only from env
JV_API_KEY— never hardcoded - No secrets, tokens, or credentials in source or release assets
📦 Included in this release
JoyVoice.exe(onefile, windowed, cloud pipeline)- Source already on
master(43f012d+ README badge bump)
🔗 Links
- Repo: https://github.com/MHJoy99/joyvoice
- Changelog: CHANGELOG.md
- Setup: docs/SETUP.md