pi-card  by nkasmanoff

Voice assistant for Raspberry Pi

created 1 year ago
796 stars

Top 45.1% on sourcepulse

GitHubView on GitHub
Project Summary

Pi-C.A.R.D. is an AI-powered voice assistant designed to run entirely on a Raspberry Pi, offering conversational AI capabilities and optional camera-based image description. It targets hobbyists and users interested in offline, local AI processing on affordable hardware, providing a fun and functional alternative to cloud-based assistants.

How It Works

The system leverages C++ implementations for efficiency, specifically whisper.cpp for audio transcription and llama.cpp for language model inference. It operates via a wake word or an optional physical button press to initiate conversations. Configurable conversation memory allows for follow-up questions and context retention. Tool access is integrated via tool-bert for external information retrieval.

Quick Start & Requirements

  • Install/Run: sudo docker-compose build && sudo docker-compose up (Docker recommended, wake-word version only). Alternatively, python main.py or python main_button.py after setup.
  • Prerequisites: Raspberry Pi 5 Model B, USB microphone, speaker. Optional: Camera, camera connector, button, breadboard, wires. Requires cloning whisper.cpp and llama.cpp repositories and downloading appropriate models (e.g., Qwen2-VL-2B-Instruct for vision).
  • Setup: Docker setup is recent and may have issues with GPIO access. Manual setup involves cloning dependencies and configuring paths in config.py.
  • Links: Roadmap Notion Board

Highlighted Details

  • Runs entirely offline on Raspberry Pi hardware.
  • Supports optional camera-based image description and questioning.
  • Integrates whisper.cpp and llama.cpp for performance.
  • Features configurable conversation memory.
  • Includes optional tool access via tool-bert.

Maintenance & Community

The project is under active development with an invitation for issues and pull requests. A Notion board tracks progress and future plans.

Licensing & Compatibility

The README does not explicitly state a license. Compatibility for commercial use or closed-source linking is not specified.

Limitations & Caveats

Camera functionality is temporarily removed due to llama.cpp no longer supporting vision models. Docker support is new and may have limitations, particularly with GPIO access. Performance is expected to be less capable and slower than cloud-based systems.

Health Check
Last commit

7 months ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
9 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.