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.
- Host: GitHub
- URL: https://github.com/a3ro-dev/fam
- Owner: a3ro-dev
- License: other
- Created: 2024-06-09T11:56:39.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-12-29T10:12:11.000Z (4 months ago)
- Last Synced: 2025-02-15T19:48:48.641Z (2 months ago)
- Topics: ai, ai-assistant, games, gaming-console, home-assistant, js, music, music-player, psp, python, python3, voice-assistant
- Language: JavaScript
- Homepage: https://fam-ai-web.streamlit.app/
- Size: 322 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
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)