An open API service indexing awesome lists of open source software.

https://github.com/a3ro-dev/fam

Fam Assistant is a voice-activated assistant designed to run on devices like the Raspberry Pi. It integrates various functionalities such as music playback, task management, and game launching, providing a comprehensive assistant experience.
https://github.com/a3ro-dev/fam

ai ai-assistant games gaming-console home-assistant js music music-player psp python python3 voice-assistant

Last synced: 12 days ago
JSON representation

Fam Assistant is a voice-activated assistant designed to run on devices like the Raspberry Pi. It integrates various functionalities such as music playback, task management, and game launching, providing a comprehensive assistant experience.

Awesome Lists containing this project

README

        

# FAM Assistant 🚀

## Table of Contents
- [Features](#features)
- [Technical Details](#technical-details)
- [Setup](#setup)
- [Usage](#usage)
- [Gesture Control](#gesture-control)
- [Project Structure](#project-structure)
- [Development](#development)
- [License](#license)
- [Support](#support)

## Features

### Core Functions
- Voice control with GPT integration
- Gesture control using ultrasonic sensor
- Music playback and playlist management
- Task/reminder system
- Game server hosting
- Raspotify (Spotify Connect) control

### Technical Details
- Multi-threaded architecture for responsive operation
- GPIO-based gesture detection (HC-SR04 sensor)
- Audio playback via pygame
- Local music library with Spotify sync
- HTTP game server with email invites

## Setup

1. Clone and install:
```bash
git clone https://github.com/a3ro-dev/FAM
cd FAM
pip install -r requirements.txt
```

2. Configure `conf/config.yaml`:
```yaml
main:
access_key: ""
keyword_path: ""
music_path: ""
groq_api_key: ""
openai_api_key: ""
model_name: ""
utilities:
author: ""
audio_files:
success: ""
error: ""
load: ""
model_path: ""
weather_api_key: ""
news_api_key: ""
email:
sender_email: ""
sender_password: ""
smtp_server: ""
smtp_port: ""
image_path: ""
music_search:
output_path: ""
```
3. Run:
```bash
python main.py
```

## Usage

### Voice Commands

#### System
- "Shutdown" - Power off system
- "Start my day" - Morning routine
- "Enable/disable raspotify" - Control Spotify Connect

#### Media
- "Play/pause/resume/stop music"
- "Play [song name]"
- "Next/skip" - Next track
- "Download [song]" - Add to library

#### Games
- "Play/start game" - Launch game server
- "Stop/end game" - Stop server

#### Tasks
- "Add task" - Create new task
- "Search task" - Find existing task

### Gesture Control
Hold hand 2-5cm from ultrasonic sensor to activate voice input.

## Project Structure
```
FamAssistant/
├──

main.py
_fam_assistant.py

# Main assistant implementation
├── libs/
│ ├── bluetooth_manager.py # Bluetooth functionality
│ ├── clock.py # Time and task management
│ ├── games.py # Games management
│ ├── gpt.py # GPT integration
│ ├── music.py # Music player implementation
│ ├── raspotify_wrapper.py # Spotify Connect control
│ ├── music_search.py # Music search and download
│ └── utilities.py # Utility functions
├── assets/
│ └── tts_audio_files/ # Text-to-speech audio files
├── conf/
│ ├── config.example.yaml # Example configuration file
│ └── config.yaml # User configuration file
├──

README.md

# Project documentation
└──

requirements.txt

# Python dependencies
```

---

## Development

- Built with Python 3.11.x
- Uses ThreadPoolExecutor for I/O operations
- Implements hardware debouncing for gesture detection
- Comprehensive error handling and logging

## License

This work is licensed under a [Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License](http://creativecommons.org/licenses/by-nc-nd/4.0/).

---

## Support

For any questions or issues, reach out at [[email protected]](mailto:[email protected]).

Developer: [a3ro-dev](https://github.com/a3ro-dev)