Deprecated: Function get_magic_quotes_gpc() is deprecated in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 99

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 619

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1169

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176
8000 GitHub - cydanix/whisperclip: Privacy-First Voice-to-Text with AI Enhancement for macOS
Nothing Special   »   [go: up one dir, main page]

Skip to content

cydanix/whisperclip

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

WhisperClip

WhisperClip Logo

Privacy-First Voice-to-Text with AI Enhancement for macOS

License: MIT macOS Swift

Website β€’ Download β€’ Support

✨ Features

🎀 Voice-to-Text Transcription

  • High-quality speech recognition using WhisperKit
  • Multiple model sizes (216MB to 955MB) for different accuracy/speed trade-offs
  • Support for multiple languages with auto-detection
  • Real-time waveform visualization during recording

πŸ€– AI-Powered Text Enhancement

  • Local LLM processing for grammar correction and text improvement
  • Multiple AI models including Gemma, Llama, Qwen, and Mistral
  • Custom prompts for different use cases:
    • Grammar fixing and email formatting
    • Language translation
    • Custom text processing workflows

πŸ”’ Privacy-First Design

  • 100% local processing - your voice never leaves your device
  • No cloud services, no data collection
  • Open source - audit the code yourself
  • Secure sandboxed environment

⚑ Productivity Features

  • Global hotkey support (Option+Space by default)
  • Auto-copy to clipboard
  • Auto-paste functionality
  • Auto-enter for instant message sending
  • Menu bar integration
  • Auto-stop recording after 10 minutes

🎨 User Experience

  • Beautiful dark-themed interface
  • Real-time recording visualization
  • Comprehensive onboarding guide
  • Easy model management and downloads
  • Customizable shortcuts and prompts

πŸ“‹ Requirements

  • macOS 14.0 or later
  • 20GB free disk space (for AI models)
  • Microphone access permission
  • Accessibility permissions (for global hotkeys)
  • Apple Events permissions (for clipboard operations)

πŸš€ Installation

Download Pre-built App

  1. Visit whisperclip.com
  2. Download the latest release
  3. Drag WhisperClip.app to your Applications folder
  4. Follow the setup guide for permissions

Build from Source

# Clone the repository
git clone https://github.com/cydanix/whisperclip.git
cd whisperclip

# Build the app
./build.sh

# For development
./local_build.sh Debug
./local_run.sh Debug

πŸ”§ Usage

Quick Start

  1. Launch WhisperClip from Applications or menu bar
  2. Grant permissions when prompted (microphone, accessibility)
  3. Download AI models through the setup guide
  4. Press Option+Space (or click Record) to start recording
  5. Press again to stop - text will be automatically copied to clipboard

Customization

  • Change hotkey: Settings β†’ Hotkey preferences
  • Add custom prompts: Settings β†’ Prompts β†’ Add new prompt
  • Switch AI models: Setup Guide β†’ Download different models
  • Configure auto-actions: Settings β†’ Enable auto-paste/auto-enter

πŸ€– Supported AI Models

Speech-to-Text (WhisperKit)

  • OpenAI Whisper Small (216MB) - Fast, good quality
  • OpenAI Whisper Large v3 Turbo (632MB) - Best balance
  • Distil Whisper Large v3 Turbo (600MB) - Optimized speed
  • OpenAI Whisper Large v2 Turbo (955MB) - Maximum accuracy

Text Enhancement (Local LLMs)

  • Gemma 2 (2B/9B) - Google's efficient models
  • Llama 3/3.2 (3B/8B) - Meta's powerful models
  • Qwen 2.5/3 (1.5B-8B) - Alibaba's multilingual models
  • Mistral 7B - High-quality French company model
  • Phi 3.5 Mini - Microsoft's compact model
  • DeepSeek R1 - Advanced reasoning model

All models run locally using MLX for Apple Silicon optimization.

πŸ”’ Privacy & Security

WhisperClip is designed with privacy as the cornerstone:

  • Local Processing Only: All voice recognition and AI processing happens on your device
  • No Network Requests: Except for downloading models from Hugging Face
  • No Analytics: No usage tracking, no telemetry, no data collection
  • Open Source: Full transparency - inspect the code yourself
  • Sandboxed: Runs in Apple's secure app sandbox
  • Encrypted Storage: AI models stored securely on device

πŸ›  Development

Project Structure

Sources/
β”œβ”€β”€ WhisperClip.swift      # Main app entry point
β”œβ”€β”€ ContentView.swift      # Main UI interface
β”œβ”€β”€ AudioRecorder.swift    # Voice recording logic
β”œβ”€β”€ VoiceToText*.swift     # Transcription engine
β”œβ”€β”€ LLM*.swift            # AI text enhancement
β”œβ”€β”€ ModelStorage.swift     # Model management
β”œβ”€β”€ SettingsStore.swift    # User preferences
└── HotkeyManager.swift    # Global shortcuts

Dependencies

  • WhisperKit: Apple's optimized Whisper implementation
  • MLX: Apple Silicon ML framework
  • MLX-Swift-Examples: LLM implementations
  • Hub: Hugging Face model downloads

Building

# Debug build
./local_build.sh Debug

# Release build with code signing
./build.sh

# Notarization (requires Apple Developer account)
./notarize.sh

🀝 Contributing

We welcome contributions! Please see our contributing guidelines:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes and add tests
  4. Commit your changes: git commit -m 'Add amazing feature'
  5. Push to branch: git push origin feature/amazing-feature
  6. Open a Pull Request

Areas for Contribution

  • New AI model integrations
  • UI/UX improvements
  • Performance optimizations
  • Language support
  • Accessibility features
  • Documentation improvements

πŸ“„ License

WhisperClip is licensed under the MIT License - see the LICENSE file for details.

This means you can:

  • βœ… Use commercially
  • βœ… Modify and distribute
  • βœ… Use privately
  • βœ… Fork and create derivatives

Attribution required: Please include the original license notice.

🏒 About

WhisperClip is developed by Cydanix LLC.

πŸ™ Acknowledgments

  • Apple - WhisperKit and MLX frameworks
  • OpenAI - Original Whisper models
  • Hugging Face - Model hosting and Hub library
  • ML Community - Open source AI models (Gemma, Llama, Qwen, etc.)

Made with ❀️ for privacy-conscious users

⭐ Star this repo if you find it useful!

Releases

No releases published

Packages

No packages published
0