https://github.com/prcutler/songmatrix
Display Song and Artist information on an RGB Matrix in CircuitPython captured using a microphone on a Raspberry Pi
https://github.com/prcutler/songmatrix
circuitpython raspberry-pi
Last synced: about 2 months ago
JSON representation
Display Song and Artist information on an RGB Matrix in CircuitPython captured using a microphone on a Raspberry Pi
- Host: GitHub
- URL: https://github.com/prcutler/songmatrix
- Owner: prcutler
- License: mit
- Created: 2023-09-05T20:37:52.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-11T18:08:45.000Z (10 months ago)
- Last Synced: 2025-03-23T23:34:19.515Z (2 months ago)
- Topics: circuitpython, raspberry-pi
- Language: Python
- Homepage:
- Size: 16 MB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SongMatrix
## Overview
SongMatrix uses a Raspberry Pi with a microphone to listen to the background music every few minutes. It then uses [`shazamio`](https://github.com/dotX12/ShazamIO) to identify the song and sends a MQTT message to the Adafruit IO MQTT broker. The message is received on an Adafruit MatrixPortal and displays the artist and song title.
## Checklist
In addition to a little Python knowledge, you will need:
- [ ] Raspberry Pi single board computer (Any will do, I'm using an older Raspberry Pi 2 without issue)
- [ ] USB Microphone ([Adafruit](https://www.adafruit.com/product/3367))
- [ ] Adafruit MatrixPortal (Should work on either the newer [S3](https://www.adafruit.com/product/5778) or older [M4](https://www.adafruit.com/product/4745))
- [ ] Adafruit 32x64 RGB Matrix panel (I'm using a [2.5 pitch panel](https://www.adafruit.com/product/5036))
- [ ] [Adafruit IO](https://io.adafruit.com) account## Demo

## Installation
1. With your Raspberry Pi, clone the repo
2. In the `python` directory, create a `config.py` file with two fields:
* aio_username = "yourAdafruitIOusername"
* aio+key = "YourAPIKey"3. Run `python record-identify.py` which starts an unending `while` loop. (`systemd` service coming soon)
4. In the `circuitpython` directory copy `songmatrix.py` to your MatrixPortal as `code.py`
5. Make sure your MatrixPortal's `settings.toml` includes your WiFi information and Adafruit IO credentials