BEAT GALACTIC
A downloadable game
Github: BEAT GALACTIC, v1
ARTISTIC STATEMENT
This project is a demo of what will be a useful tool for a procedural background music generation that can be used in interactive media (games, interactive fiction, etc). Currently, it can mindfully play loops with matching BPMs and keys; in its demo state, it uses FFTs to give it a cool funky visualization to go along with the generated music. In the future, it will be extended for mood-matching (dark, grungy scene = dark, grungy music; light, airy scene = light/airy music; and so on) while still maintaining the randomness of the generated songs.
POSTMORTEM
- What worked out well?
The visualizer turned out nicely despite the trouble I had in getting it to work. I'm pretty proud of the pitch forcing, too. Solar Systems have set BPMs/keys, and when the generator fails to find a loop that matches, it looks for loops that can be pitch-shifted to match. This turned out to be more difficult that I originally thought it would be since pitch-shifting changes the BPM and the key at the same time. Works pretty well, now!
Another hurdle was beat alignment. In the earliest incarnation of this project, I chose a bunch of padding loops and one drum loop in order to avoid chaotic-sounding songs. This time around, I added a queue to hold activated loops until the core loop hit its beat. This is all estimated mathematically (and trusting the loop authors' BPM data); I could use FFTs to get a more accurate read.
- What didn't work out?
Well. I set out to make a DJ set-generator. My BPM/key matching difficulties threw that out the window, though. I was worried about time, so I scaled back to a song generator. I think I could revisit the DJ set idea now that my pitch forcing and beat alignment are now both implemented (though now I'm more interested in continuing down this moody background music generation route).
- What would you do differently?
(1) I would not over-scope. I vastly underestimated how long it would take me, someone who knows very little about music theory, to do stuff like pitch shifting and beat alignment. (2) I would consider making a sound synthesizer instead of spending hours and hours looking for loops. There I go over-scoping again (though only in retrospect) -- but a lot of the yucky sound stuff this project suffers from is due to loops that aren't labelled correctly or loops that have not so seamless cutoffs at the end/beginning. How cool would it have been to just generate something on the fly that fits the pitch and everything? Adding it to future plans :)
CREDITS
- All loops used are credited in-game. Right-click a planet, then press C to copy link to clipboard.
- Builds packages with love-build (Tested on Windows ✅)
- Scene management with Scenery
- FFT visualizer built with LoveFFT
| Status | In development |
| Author | corvuscorae |
Download
Install instructions
Choose your build and extract all. Leave executable in the folder!


Leave a comment
Log in with itch.io to leave a comment.