Rhythm Game
- Nicky Flello
- Mar 22, 2015
- 2 min read
This project was originally a tool to aid in the creation of beatmaps (game levels) for the Osu! community. Osu!mania is a game where you hit keys in the right columns as the notes scroll down the screen. Since all levels are made by the community manually, I thought I would try to see if I can help make the process a bit easier.
This program analyzes frequency spectrums from mp3 files for bumps over time. These bumps are what make up the beat or different notes of the song. Using this information, the user can customize which frequencies to target, and how difficult the beatmap will be.

The user can specify:
The number of key rows
The sample rate (spectrum detail)
The frequency index to look at for each note
The beat threadhold
The amount of time to stop looking after finding a beat (to ignore false positives)
A visualization of the spectrum is displayed, along with an array as integers to help the user decide what values to pick.
The beatmap file that is generated follows the same format as Osu! beatmaps. This means that you could open up Osu! and play the level you just generated. Alternatively, you can try the level in this program as I have implemented the game as well.


After choosing to play a beatmap from the main menu, a file system is displayed. If you navigate to a folder containing beatmaps, the column count is displayed, as well as the difficulty, displayed in stars. Click the check mark beside the level you want to play, then hit the check mark at the bottom to confirm your selection.
Comments