This project is formatted for a QWERTY keyboard, so if you'd like to remix it and set the keybinds to whatever your keyboard needs, go for it. This is best played with low volume! How it works: The "needle" variable scans through the 28 supported notes (although I only have one semi-working octave) as fast as the server lets it, and when a key in the "keybinds" list is pressed, the needle freezes at that key's number. From there, the driver sprite determines the note to be played. The only UI element currently available is the "transpose" dial, which shifts up the synth's key. It goes from 0 to 12, though it's worth noting that 12 is simply 0 but an octave up, and I have no idea why anyone would ever use it. Chords are playable! However, they sound very clunky, since they are actually very fast arpeggios.
For the love of God, if anybody has any idea how to improve this, I will be so happy. I'm testing code for taking sensor input and spitting out frequencies, and I want to get it right before I have to try it on an Arduino, because I hope to build a wholly self-contained laser harp. Give me a suggestion that works, and I'll put you in the changelog below! CHANGELOG v1.0: Launch!