--- title: Spotify Manager emoji: 🎡 colorFrom: green colorTo: gray sdk: static pinned: false tags: - reachy_mini - reachy_mini_python_app --- # Spotify Manager 🎡 Your robot DJ β€” control Spotify with hand gestures, voice commands, and full robot personality feedback. ## Features - **πŸ–οΈ Gesture Control** β€” Wave to skip, thumbs up to like, open palm to play/pause, point to navigate, fist for volume down - **🎀 Voice Commands** β€” "Pon Arctic Monkeys", "siguiente", "pause", "sube volumen" (Spanish + English) - **πŸ€– Robot Feedback** β€” Head flicks, antenna spreads, nods, and tilts react to every action - **πŸ”„ Now Playing Detection** β€” Robot notices track changes with a curious tilt ## Gestures | Gesture | Action | |---------|--------| | πŸ–οΈ Open Palm | Play / Pause toggle | | πŸ‘† Point Right | Next track | | πŸ‘ˆ Point Left | Previous track | | πŸ‘ Thumbs Up | Like current track | | ✊ Fist | Volume down | | πŸ‘‹ Wave | Skip track | ## Requirements - [spogo](https://github.com/nicholasgasior/spogo) CLI installed and authenticated - Camera for gesture detection - Microphone for voice commands (optional) ## Install ```bash cd spotify_manager pip install -e . ``` ## Test locally ```bash # Check spogo works spogo status --json # Run the app in simulator python -m spotify_manager.demo ``` ## Voice Commands (ES/EN) - "siguiente" / "next" / "skip" - "anterior" / "prev" - "pausa" / "pause" - "play" / "reproduce" / "dale" - "sube volumen" / "baja volumen" - "me gusta" / "like" - "pon [artista/canciΓ³n]" / "play [query]" - "quΓ© suena" / "what's playing" ## Architecture ``` spotify_manager/ β”œβ”€β”€ main.py # ReachyMiniApp entry point β”œβ”€β”€ spotify_control.py # spogo CLI wrapper β”œβ”€β”€ gesture_controller.py # MediaPipe hand gesture β†’ command β”œβ”€β”€ voice_controller.py # Whisper STT β†’ intent parser β”œβ”€β”€ robot_feedback.py # Physical robot reactions └── demo.py # MuJoCo simulator demo + video recording ``` ## HuggingFace Space Will be deployed to `jrubiosainz/spotify_manager` once spogo integration is validated.