{"repo":"maurocastermans/now-playing","free":true,"listed":false,"github":"https://github.com/maurocastermans/now-playing","clone":"git clone https://github.com/maurocastermans/now-playing.git","description":"Raspberry Pi application that detects music with ML, identifies it using Shazam, and shows the song information on an e-ink display","language":"Python","stars":24,"topics":["audio-recognition","einkdisplay","machine-learning","raspberry-pi","shazam","spotipy","yamnet"],"license":"MIT","category":"machine-learning","readme_excerpt":"🎶 Now-playing Now-playing is a Python application for the Raspberry Pi that listens for background music, identifies the song, and displays the song information on an e-ink display. This project was born out of a personal need: I love listening to vinyl, but since it's analog, I wasn't able to easily tell what song was playing. Sure, you can count the spaces in the grooves, but that's not exactly convenient. The same goes for music in films—I'd often reach for my phone to Shazam a song. Now, I just glance at my display. 🚀 Features - Detects music using a local YAMNet ML model - When music is detected, identifies the song with ShazamIO - Displays song title, artist, and album cover on an e-ink display - Pressing Button A on the e-ink display adds the current song to a Spotify playlist with Spotipy - When no music is detected for a while, the display switches to a screensaver mode that shows the weather ✨ What's New? This project builds on and refactors several previous works (see LICENSE): - spotipi-eink (original) - spotipi-eink (fork) - shazampi-eink (fork) All credits for the original idea go to them. While they laid the groundwork, this version focuses on clean code, modularity, and extensibility. ♻️ Improvements - Simplified, readable logic with meaningful function names - Clear separation of concerns with dedicated services (e.g., DisplayService has all logic concerning the e-ink display) - Application state is handled via a centralized StateManager - Type hints added ","default_branch":null,"files":null,"tree":[],"storefront":"/r/maurocastermans","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/maurocastermans/now-playing/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}