Now Playing
· by Matthias Jordan · 1 min read
A Raspberry Pi Zero 2 W renders the currently playing album art on a 64×64 LED matrix. The Pi runs shairport-sync as a silent AirPlay 2 receiver, so I AirPlay to the speakers and the panel together and it decodes track metadata and cover art straight from the stream. When nothing is playing an ambient video loop takes over, and brightness follows the sun.
flowchart TD
accTitle: Now playing signal path
accDescr: A phone sends music to the speakers and the Pi at once, and the Pi turns the cover art into a picture on the LED panel, with a video loop when idle and brightness set by the sun.
phone["Phone"] -->|AirPlay| speakers["Speakers"]
phone -->|AirPlay| pi["Silent receiver"]
pi -->|album art, dimmed by the sun| panel["LED matrix"]
idle["Ambient loop"] -.->|when idle| panel
The phone plays to the speakers and the Pi together, and the Pi shows whatever cover art arrives with the music.
You can read more about this project here.