Beat Smash is an open-source rhythm game, for which beatmaps are automatically generated through an algorithm utility. Output files of the algorithm utility may be loaded and played in Beat Smash!
The beatmap algorithm is a utility implemented in Python using the madmom library for music signal processing. The algorithm generates beatmaps using a combination of onset detection, BPM detection, and chord analysis.
The beatmap algorithm may be run as an executable script from the command line.
./bma [INPUT FILE] [OUTPUT FILE] [DIFFICULTY LEVEL]
INPUT FILE corresponds to the relative path to the music file which should be processed.
OUTPUT FILE corresponds to the name you wish for the output beatmap.
DIFFICULTY LEVEL can vary between easy, medium, hard, and impossible.
The rhythm game is implemented in C# with the Unity game engine. Users can load beatmaps generated by the algorithm by starting the game and advancing to the menu screen, wherein they will be given the option to add a song. There, the user may upload a audio file and its corresponding beatmap to add the song to the game.
View demo here
Beat Smash was created by Miranda Ku, Michelle Tran, Ivy Wang, Sabrina Chiang, and Shannon Tom.