Skip to content

lyndonb1/Wake-Word

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎤 Wake Word Detector

Wake Word Detector Settings

License Powered by


A modern Electron application featuring advanced wake word detection, seamless Windows integration, and beautiful React interface - powered by Picovoice voice AI technology

What Makes This Special

🎯 Just Say "Hey Claude" - Instantly launch your development tools
🔒 Privacy-First - All voice processing happens on your device
Lightning Fast - Minimal latency, maximum productivity
🎨 Beautiful Interface - Modern React UI with smooth animations
🖥️ Windows Native - Professional installer and system integration

🚀 Quick Start Guide

Option 1: One-Click Installation (Recommended)

Download Installer

Just download, install, and start talking!

  1. 🔽 Download Wake-Word-Detector-Setup.exe from v1.0.0b release
  2. 🛡️ Run as Administrator and follow the setup wizard
  3. 🔑 Configure your Picovoice API key (free tier available)
  4. 🎤 Say "Hey Claude" and watch the magic happen!
🛠️ Option 2: Build from Source
# Clone and install
git clone https://github.com/Traves-Theberge/Wakeword.git
cd Wakeword
npm install

# Build and package
npm run dist

# Create installer
npm run installer:quick

Powerful Features

🎤 Advanced Voice Control

  • "Hey Claude" Detection - Powered by Picovoice Porcupine
  • Customizable Sensitivity - Adjust to your environment
  • Private Processing - All audio stays on your device
  • Multi-Language Support - Works with various accents

🖥️ Seamless Windows Integration

  • Professional Installer - Complete NSIS-based setup
  • System Tray - Visual status indicators (🟢 Listening / 🔴 Stopped)
  • Auto-Startup - Optional boot with Windows
  • Clean Uninstall - Proper Programs & Features removal

Smart Command Launching

  • 🎯 Cursor IDE - Launch your favorite code editor
  • 🤖 Claude CLI - Open AI assistant in WSL terminal
  • ⚙️ Configurable - Enable/disable commands individually
  • 🚀 Instant Response - Sub-second command execution

🎨 Beautiful Modern Interface

  • React-Powered UI - Smooth, responsive design
  • Gradient Backgrounds - Eye-catching visual effects
  • Framer Motion - Buttery smooth animations
  • Dark Theme - Easy on the eyes during long sessions

🎬 See It In Action

The Complete Workflow

Step Action Result
🎤 Say "Hey Claude" Wake word detected
Instant processing Commands triggered
🖥️ Cursor launches Your IDE opens ready to code
🤖 Claude CLI opens AI assistant ready in terminal
Keep coding Seamless workflow continues

All in under 2 seconds from voice to action!


System Requirements

Component Requirement Recommended
OS Windows 10/11 64-bit Windows 11 22H2+
Memory 4GB RAM available 8GB+ RAM
Storage 200MB free space 500MB+ available
Audio Any microphone USB/Wireless headset
API Picovoice key Free tier works perfectly

🎤 Audio Setup Tips

  • Close-field microphone (headset/USB mic) works best
  • Quiet environment improves accuracy
  • Consistent distance from microphone
  • Clear pronunciation of "Hey Claude"

🏗️ Architecture & Technology

Powered by Industry Leaders

Electron React TypeScript Picovoice

🎯 Core Technologies

🎤 Voice Engine

  • Picovoice Porcupine
  • On-device wake word detection
  • Privacy-first audio processing
  • Industry-leading accuracy

⚡ Application Framework

  • Electron 27.3.11 + TypeScript
  • Cross-platform desktop development
  • Native OS integration
  • Secure IPC communication

🎨 User Interface

  • React 18 + Tailwind CSS 4.1
  • Framer Motion animations
  • Modern responsive design
  • Component-based architecture

📁 Project Structure

Wake-Word-Detector/
├── 🎤 src/main/                 # Electron main process
│   ├── main.ts                  # Core app logic + voice detection
│   └── preload.ts               # Secure IPC bridge
├── 🎨 src/renderer/             # React frontend
│   ├── App.tsx                  # Main application component
│   ├── components/              # UI components
│   │   ├── settings-panel.tsx   # 🛠️ Configuration interface
│   │   ├── custom-header.tsx    # 🖼️ Window controls
│   │   └── animated-background.tsx # ✨ Visual effects
│   └── hooks/                   # React hooks for state
├── 🔊 keywords/                 # Picovoice wake word models
│   ├── hey-claude.ppn          # 🎯 Trained voice model
│   └── LICENSE.txt             # Picovoice licensing
├── 🖼️ assets/                   # Application resources
│   ├── app.ico                 # Main application icon
│   ├── Green.ico               # Listening state indicator
│   └── Red.ico                 # Stopped state indicator
└── 📦 installer.nsi            # Professional Windows installer

📋 Prerequisites

  • Node.js: Version 18 or higher
  • Windows: 10 or 11 (64-bit)
  • Microphone: System microphone access required
  • Picovoice Account: Free API key from Picovoice Console
  • Cursor IDE: Installed and accessible via system PATH
  • WSL: For Claude CLI functionality (optional)

🔧 Installation

Development Setup

  1. Clone and Install

    git clone [repository-url]
    cd Wakeword
    npm install
  2. Environment Configuration Create a .env file in the root directory:

    PICOVOICE_ACCESS_KEY=your_picovoice_api_key_here
  3. Get Picovoice API Key

    • Visit Picovoice Console
    • Create a free account
    • Generate an access key
    • Add to your .env file
  4. Development Mode

    npm run dev

Production Build

  1. Build Application

    npm run build
  2. Package for Windows

    npm run package
  3. Create Installer

    npm run make

Build Output:

release/
└── Wake Word Detector-win32-x64/
    ├── Wake-Word-Detector.exe    # Main executable
    ├── resources/                       # App resources
    └── [electron runtime files]

⚙️ Configuration

Initial Setup

  1. Launch Application

    • Run the executable or use npm run dev
    • Application appears in system tray
  2. Configure Settings

    • Right-click tray icon → "Show Settings"
    • Enter your Picovoice API key
    • Enable desired commands (Cursor/Claude)
    • Click "Save Configuration"
  3. Test Connection

    • Use "Test API Key" button to verify setup
    • Ensure microphone permissions are granted

Available Settings

  • Picovoice API Key: Required for wake word detection
  • Enable Cursor: Toggle Cursor IDE launching
  • Enable Claude: Toggle Claude CLI launching
  • Wake Word Sensitivity: Adjustable detection threshold

🎮 Usage

Basic Operation

  1. Start Listening

    • Right-click tray icon → "Start Listening"
    • Tray icon turns green when active
  2. Voice Activation

    • Say "Hey Claude" clearly
    • Application automatically launches configured tools
  3. System Tray Controls

    • Green Icon: Listening for wake word
    • Red Icon: Detection stopped
    • Right-click Menu: Access settings and controls

Commands Executed

When "Hey Claude" is detected:

  • Cursor IDE: Opens silently in background
  • Claude CLI: Launches in WSL terminal
  • Status Update: Tray icon briefly indicates activation

Troubleshooting

Common Issues:

  • No detection: Check microphone permissions and API key
  • Cursor won't open: Verify Cursor.exe is in system PATH
  • Claude CLI fails: Ensure WSL is installed and configured

Debug Mode:

npm run dev  # See console output for detailed logging

🚀 Scripts

Command Description
npm run dev Start development mode with hot reload
npm run build Build application for production
npm run package Package as executable
npm run make Create installer
npm run preview Preview built renderer

🔧 Development

Adding New Commands

  1. Extend Config Interface (main.ts)

    interface Config {
      picovoiceAccessKey?: string
      enableCursor?: boolean
      enableClaude?: boolean
      enableNewCommand?: boolean  // Add new option
    }
  2. Update Command Execution

    if (config.enableNewCommand) {
      // Add your command logic
    }
  3. Add UI Control (settings-panel.tsx)

    // Add toggle switch for new command

Customizing Wake Word

  1. Create Custom Keyword

    • Use Picovoice Console to train new wake words
    • Download .ppn file to keywords/ directory
  2. Update Detection

    const keywordPath = join(__dirname, '../../keywords/your-keyword.ppn')

🤝 Contributing

  1. Fork the Repository
  2. Create Feature Branch
    git checkout -b feature/amazing-feature
  3. Commit Changes
    git commit -m 'Add amazing feature'
  4. Push to Branch
    git push origin feature/amazing-feature
  5. Open Pull Request

🙏 Additional Acknowledgments

Core Technologies

  • Electron - Enabling cross-platform desktop development
  • React - Modern, component-based UI framework
  • Tailwind CSS - Utility-first styling that just works
  • Framer Motion - Beautiful, smooth animations
  • NSIS - Professional Windows installer creation
  • TypeScript - Type safety and developer experience

Development Tools


🤝 Contributing & Support

🐛 Found a Bug?

  1. Check existing issues
  2. Create a detailed bug report with:
    • Steps to reproduce
    • Expected vs actual behaviour
    • System information
    • Console logs (if applicable)

💡 Feature Requests

Have an idea? We'd love to hear it! Open a feature request and let's discuss.

🔧 Contributing Code

  1. Fork the repository
  2. Create a feature branch (git checkout -b amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to branch (git push origin amazing-feature)
  5. Open a Pull Request

📄 License & Legal

MIT License

This project is licensed under the MIT License
See LICENSE.txt for full details

Third-Party Licenses

Picovoice: See keywords/LICENSE.txt


🚀 Ready to Transform Your Workflow?

Download Wake Word Detector Today

Download Latest Release

Join developers worldwide who are using voice commands to boost their productivity


Made with ❤️ by Traves Theberge

Powered by Picovoice • Built with Electron • Styled with React

About

Voice-activated wake-word detection that executes customizable commands.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 58.6%
  • PowerShell 16.1%
  • CSS 10.1%
  • NSIS 9.0%
  • JavaScript 2.5%
  • Batchfile 2.2%
  • HTML 1.5%