Skip to content

Releases: ilyaizen/copyspeak-tts

CopySpeak v0.1.5

20 May 14:15
ccfab25

Choose a tag to compare

Added

  • LLM post-processing (Groq Cloud) β€” Optional pass between sanitize and TTS synthesis that rewrites copied text into concise, listener-friendly speech tailored for software developers. Off by default. Configure under Settings β†’ Advanced β†’ LLM Post-Processing.
    • New PostProcessConfig (enabled, api_key, model, prompt) in AppConfig; config schema version bumped to 0.1.5.
    • New Rust module post_process (process, try_process) wraps Groq's OpenAI-compatible /chat/completions.
    • New IPC command check_groq_credentials validates the key via GET /models.
    • Hooked into speak_now and speak_queued after the cfg snapshot, before pagination. LLM failures fall back to the original text and never block synthesis.
    • Hardcoded model dropdown: openai/gpt-oss-20b, llama-3.3-70b-versatile, llama-3.1-8b-instant.

Changed

  • LLM post-processing default prompt β€” Switched to a terse caveman-style rewrite prompt with a 3 bullet/point maximum.

Fixed

  • CopySpeak Pi extension β€” Routes final Pi responses through the running app's sanitization, max-length, LLM post-processing, effects, and TTS pipeline instead of filtering/truncating in the extension.
  • Vercel landing page β€” Updated the displayed version, screenshot asset, and removed the double-copy hero tagline.

CopySpeak v0.1.4

20 May 00:15
627da08

Choose a tag to compare

Added

  • CopySpeak Claude Code hook β€” Added scripts/claude-copyspeak-hook.mjs to speak Claude Code Stop/SubagentStop assistant responses through the CopySpeak control server.

Changed

  • CopySpeak Pi extension β€” Disabled speaking Pi thinking blocks by default and expanded status text to show only non-default assistant/thinking/activity modes.

Fixed

  • CopySpeak Pi extension β€” Removed the stale .pi/extensions/copyspeak-voice extension so only /copyspeak is registered.
  • Vercel deployments β€” Added a repository ignoreCommand that runs production builds and skips preview builds.

CopySpeak v0.1.3

19 May 05:39

Choose a tag to compare

Added

  • Update controls in settings β€” Added the footer update status/check/install control below the automatic update-check setting.

Fixed

  • CopySpeak Pi extension β€” Renamed the Pi command/extension path to copyspeak and shortened its Pi status text to on/off.
  • Vercel landing page β€” Re-enabled non-English locale registration and footer language switching, and restored page scrolling despite the desktop app's global hidden body overflow.
  • Windows audio wake-up β€” Add a low-level preroll to desktop playback on Windows so the audio device wakes before speech or radio effects begin.
  • About settings layout β€” Removed the stale import/export separator and aligned About rows with the shared SettingRow spacing.

CopySpeak v0.1.2

18 May 23:06
997a15e

Choose a tag to compare

See CHANGELOG.md for details.

CopySpeak v0.1.1

15 May 04:42
f20cb0c

Choose a tag to compare

See CHANGELOG.md for details.

CopySpeak v0.1.0

27 Mar 05:31

Choose a tag to compare

Added

  • Global hotkey speak-from-clipboard β€” Hotkey now triggers TTS directly from clipboard content

    • Added handler in global-shortcut plugin to call speak_from_clipboard on hotkey press
    • Logs hotkey trigger events for debugging
  • Dedicated History page β€” New /history route for viewing all TTS generations

    • Moved history from play page to its own route
    • Conditionally shown in nav when history is enabled
  • SettingRow component β€” Reusable settings row with label, tooltip, and consistent layout

    • Applied across all settings components for uniform UI
  • Live debug logs viewer β€” Real-time log tail in About section when debug mode enabled

    • Shows last 20 lines, auto-refreshes every 2s

Fixed

  • Windows CLI backend PATH resolution β€” Expanded PATH for finding Python/uv tools on Windows
    • Added get_expanded_path() to include common Python and uv installation paths
    • Fixes "executable not found" errors on clean Windows installations

Changed

  • Settings page consolidation β€” Major restructure from 8 sections to 3 tabs (General, Advanced, About)

    • Continuous scroll with scroll-spy navigation
    • Removed staggered loading (WebView2 crash workaround no longer needed)
    • HUD settings moved to General section as dropdown
    • Pagination/Sanitization moved to Advanced tab
  • Window size increased β€” 675x540 β†’ 775x640 for better content visibility

  • Hotkey capture redesign β€” Cleaner UI with Kbd components and arrow key symbols (↑↓←→)

  • Quick-settings redesign β€” Larger controls with clearer labels (Volume, Speed, Pitch)

  • App shell refactor β€” Grid-based layout for better content distribution

  • Removed show_notifications config field β€” Unused setting cleaned up

  • Default hotkey shortcut β€” Changed from Super+Shift+A to Win+Shift+A for Windows clarity

  • Hotkey error messages β€” Updated to use "Win" instead of "Win/Super" for consistency

  • Hotkey logging β€” Added structured logging with [Hotkey] prefix for registration attempts and config changes

  • Border radius system β€” Simplified radius variables for sharper brutalist aesthetic

    • --radius-sm: 2px, --radius-md: var(--radius), --radius-lg: 4px, --radius-xl: 6px
    • Theme toggle and UI components updated to use rounded-sm instead of rounded-none
  • Logging noise reduction β€” Suppressed verbose debug logs from tauri_plugin_updater and reqwest

  • Engine page layout refactor β€” Moved badges to header section for cleaner UI

  • Progress bar animation β€” Converted from JavaScript interval to CSS animation for smoother performance

  • Default Kokoro voice β€” Changed from af_heart to adam

  • Internationalization β€” Temporarily disabled language switcher, hardcoded to English during development

CopySpeak v0.0.5

24 Mar 21:35

Choose a tag to compare

Added

  • Global hotkey configuration β€” Configurable keyboard shortcut to trigger TTS

    • hotkey config field with modifier + key format (e.g., "Ctrl+Space")
    • Hotkey capture component in settings UI
    • Backend IPC: register_hotkey with global-shortcut plugin
    • Hotkey re-registration on config change
  • Listening toggle β€” Enable/disable clipboard monitoring via listen_enabled config

    • Toggle in quick-settings dropdown and app-footer
    • Backend IPC: set_listening, get_listening commands
    • Persisted to config, synced via config-changed event

Fixed

  • HUD progress bar and marquee timing β€” Accurate playback duration via cross-window event

    • HUD window and main window have separate JS contexts with separate hudStore instances
    • playbackStore in main window decodes audio via Web Audio API to get accurate duration
    • Emits hud:audio-duration event which HUD window receives and updates its hudStore
    • Progress now shows accurate percentage based on AudioBuffer.duration
    • Marquee animation timing now matches actual playback duration
    • ElevenLabs MP3 duration now accurately determined via Web Audio decode (not server estimate)
  • Audio playback on clean Windows 11 β€” AudioContext now resumes if suspended

    • Web Audio API requires user gesture to activate AudioContext on fresh profiles
    • Added audioCtx.resume() call when state is "suspended" in playback-store

CopySpeak v0.0.4

22 Mar 11:19
242e54f

Choose a tag to compare

See CHANGELOG.md for details.

CopySpeak v0.0.3

22 Mar 05:24

Choose a tag to compare

Fixed

  • KittenTTS installer now works on clean Windows 11 without Python pre-installed
    • Embeds installer scripts in binary and extracts to temp directory at runtime
    • Auto-detects any Python 3.x version, offers winget installation if not found
    • PowerShell window now visible with success/failure feedback before pause
    • Default config changed from py -3.12 to python (no version pinning)

CopySpeak v0.0.2

20 Mar 22:26

Choose a tag to compare

Added

  • HUD playback enhancements
    • Progress bar animation synced to audio duration
    • Marquee scrolling text for long speech content
    • duration_ms field in HudSynthesizingPayload for synthesis duration tracking

Fixed

  • Removed duplicate $effect in hud-playback-content component
  • Removed debug console.log statement from production code