hey-clever

Record spoken commands, transcribe with Whisper, and reply via TTS.

3|Updated Jul 17, 2024
One-click install
npx skills add https://github.com/Castrozan/.dotfiles --skill hey-clever
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: hey-clever
Source: https://github.com/Castrozan/.dotfiles/tree/main/agents/skills/hey-clever
Command: npx skills add https://github.com/Castrozan/.dotfiles --skill hey-clever

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires numpy, onnxruntime, requests, sounddevice, openwakeword, faster_whisper, edge-tts, and includes scripts (resource) components.

What problem does it solve?

This Skill provides an always-on wake-word based voice assistant that records spoken commands, transcribes them with Whisper, and replies via TTS.

Core Features & Use Cases

  • Activation by wake word, automatic recording, and transcription using Whisper.
  • Local processing with Silero VAD for robust voice activity detection.
  • Transcription with Whisper tiny for keyword detection and Whisper small for full command understanding.
  • Gateway communication to a Clawdbot-like backend and TTS playback of responses.
  • Optional systemd user service for auto-start and seamless background operation.

Quick Start

  • Install dependencies via the included setup script to prepare a Python venv and user service.
  • Verify input devices with: python3 hey-clever.py --list-devices
  • Start the service with: systemctl --user start hey-clever

Frequently Asked Questions about hey-clever

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build an always-on wake-word voice assistant using Whisper and TTS?

You can build an always-on wake-word voice assistant by using openwakeword for activation, recording commands with sounddevice, transcribing with faster_whisper, and replying via edge-tts. This skill handles the entire pipeline locally.

What do I need to run a local voice assistant with systemd auto-start?

To run a local voice assistant with systemd auto-start, you need Python 3, a virtual environment, and dependencies like numpy, onnxruntime, and sounddevice. The setup script configures the systemd user service for background operation.

How does wake-word detection work with faster_whisper for voice commands?

Wake-word detection works by using openwakeword to trigger recording, then transcribing audio with faster_whisper. The Whisper tiny model handles keyword detection, while Whisper small processes full command understanding for accurate responses.

Can I use openwakeword and edge-tts for local speech recognition and spoken replies?

Yes, you can use openwakeword for local wake-word detection and edge-tts for spoken replies. The skill integrates both libraries to capture spoken commands locally and output synthesized speech responses.

How do I list audio input devices for a Python voice assistant script?

To list audio input devices for a Python voice assistant, run the command python3 hey-clever.py --list-devices. This verifies available microphones before starting the sounddevice audio capture pipeline.

Does this voice assistant process audio completely offline?

The voice assistant processes wake-word detection and transcription locally using openwakeword and faster_whisper, but it communicates with a gateway backend and uses edge-tts, which may require network connectivity for responses.