onju-v2  by justLV

Voice agent interface for smart speakers

Created 5 months ago
253 stars

Top 99.3% on SourcePulse

GitHubView on GitHub
Project Summary

Onju Voice v2 (OnjuClaw) enables multiple Google Home speakers to connect to a Mac Mini for AI agent interaction. It provides an async server pipeline and hardware designs for custom PCBs or the M5Stack ATOM Echo dev kit, facilitating multi-device AI experiences.

How It Works

The system connects ESP32 devices to a Mac server pipeline using mu-law upstream for low-latency ASR and Opus downstream for high-quality, compressed TTS audio over WiFi. It supports pluggable ASR, LLM (OpenAI-compatible), and TTS backends. The "agentic" backend delegates session management and tool execution to an OpenClaw gateway for centralized, multi-device orchestration. The pipeline features sentence-level TTS streaming and agentic tool-calling loops for responsiveness. Server-side VAD with configurable thresholds enables VAD-aware interruption for immediate playback control.

Quick Start & Requirements

Installation: Clone repo, set up Python environment (uv venv, uv pip install -e .), install macOS system libraries (brew install opus portaudio). Configure pipeline/config.yaml. Prerequisites: Python 3.x, arduino-cli (for ./flash.sh firmware flashing), API keys (LLM/TTS). Supported hardware: custom Onjuino PCBs (ESP32-S3) or M5Stack ATOM Echo (ESP32-PICO-D4). Hardware schematics are in hardware/.

Highlighted Details

  • Agentic Backend: Centralized session management/tool execution via OpenClaw.
  • Opus Compression: 14-16x downstream audio compression for WiFi quality.
  • Streaming Architecture: Sentence-level TTS streaming and agentic tool-calling loops.
  • VAD-Aware Interruption: Immediate playback interruption on voice detection.
  • M5 Echo Support: Lower-cost ($13) alternative dev kit.
  • One-Command Flashing: ./flash.sh automates firmware compilation, WiFi credential generation (macOS Keychain), and upload.

Maintenance & Community

No specific details regarding maintainers, community channels, or project roadmap were found in the provided README text.

Licensing & Compatibility

Released under the MIT license, permissive for commercial use and closed-source linking.

Limitations & Caveats

Flashing script/WiFi credential generation are macOS-specific. Local TTS quality is noted as potentially lower. OpenClaw agentic backend may buffer the first agent turn until tool execution completes, mitigated by a stall classifier.

Health Check
Last Commit

3 months ago

Responsiveness

Inactive

Pull Requests (30d)
1
Issues (30d)
0
Star History
10 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.