Skip to content

ilyaizen/CopySpeak

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

15 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

CopySpeak

A lightweight Windows desktop app that reads clipboard text aloud using AI Text-to-Speech engines. Trigger speech by copying the same text twice in quick succession.

Current Version: 0.0.1

Screenshots

CopySpeak v0.0.1

Quick Start

bun install
bun run tauri dev

Features

Core

  • Multiple trigger modes: Double-copy (1.5s window), hotkey, or manual paste/play
  • 5 TTS engines:
    • Kitten TTS (default) β€” Ultra-lightweight CPU-optimized ONNX inference, 8 built-in voices
    • Piper TTS β€” Local CLI engine with 20+ EN US voices
    • Kokoro TTS β€” Local CLI engine with multiple voices
    • OpenAI TTS β€” Cloud API with 9 voices
    • ElevenLabs TTS β€” Cloud API with voice library support
  • HUD overlay β€” Floating heads-up display with real-time waveform visualization
  • History β€” Persistent TTS generation history with playback and batch management

Settings

  • General: auto-start, debug mode, language (EN/ES with full i18n)
  • Playback: speed (0.25x–4x), pitch (0.5x–2x), volume
  • Triggers: double-copy window, hotkey configuration
  • Sanitization: markdown stripping, text normalization
  • Audio: output device selection, format conversion (MP3/OGG/FLAC)

System

  • System tray β€” Quick access controls
  • Auto-updater β€” Check and install updates from GitHub Releases
  • Audio save mode β€” Save TTS output to files
  • Dark/Light mode β€” Brutalist design with theme support

Tech Stack

Component Technology
Backend Rust (Tauri v2)
Frontend Svelte 5, TypeScript, Vite
Package Manager Bun v1.3
Audio rodio
UI shadcn-svelte, Tailwind CSS v4.2

Project Structure

src/                     # Svelte 5 frontend
β”œβ”€β”€ lib/
β”‚   β”œβ”€β”€ components/      # UI components
β”‚   └── utils.ts         # Utilities
└── routes/              # SvelteKit routes

src-tauri/src/           # Rust backend
β”œβ”€β”€ main.rs              # Entry point
β”œβ”€β”€ config/              # Persistence modules
β”œβ”€β”€ commands/            # IPC handlers
β”œβ”€β”€ clipboard.rs         # Double-copy detection
β”œβ”€β”€ audio.rs             # Playback
β”œβ”€β”€ tts/                 # TTS backends
└── sanitize/            # Text normalization

Commands

bun run tauri dev        # Development server
bun run tauri build      # Production build
bun run check            # TypeScript/Svelte type check
bun run test             # Frontend tests (vitest)
cd src-tauri && cargo test  # Rust tests

Changelog (v0.0.1)

Initial release with core TTS functionality:

  • Double-copy, hotkey, and manual triggers
  • 5 TTS engines (Kitten TTS, Piper, Kokoro, OpenAI, ElevenLabs)
  • HUD overlay with waveform visualization
  • History management with batch operations
  • Full i18n support (EN/ES)
  • Auto-updater integration

See CHANGELOG.md for details.

Contributing

We welcome contributions! Please see our Contributing Guide for details on how to get started, code style guidelines, and how to submit pull requests.

License

MIT

About

πŸ”Š CopySpeak – A lightweight tool for quick AI text-to-speech

Resources

License

Contributing

Stars

Watchers

Forks

Packages