I'm really glad on how this turned out. It works identically with any framerate, and displays both pitch and volume. (Pitch is black, volume is white) Here's how it works: 1. I made a Godot program that reads an mp3 file and registers the pitch and volume in 60fps (I explain why below) 2. It records everything into a list in this program: time-volume-pitch 3. The project reads those values from a list and then displays them with pen I might put the program into a website and share this in my main soon so people can display their music. For now the program listens to the entire song though so that's why I haven't shared it yet (I don't want to make people wait 5 minutes) Oh and the Creo logo pulses to the pitch, in case you're wondering. It just seemed to be a lot more accurate for the song Why I used godot: It's a stupid reason but it's essentially just because I didn't know what else to use, and was lazy to figure it out. I assume you can do this with basically any other programming language that has the capability of reading audio files. Also this was originally a program to detect pitch from the microphone but I repurposed it.
The song is "Rock thing" by Creo I recommend you run this in Turbowarp: https://turbowarp.org/1256246416 The sync will improve