forum

Osu! Mania Beatmap Generator

posted
Total Posts
15
Topic Starter
b4k4 blue
Hello! I have created a program that generates osu! mania beatmaps for you. :D

I've been learning C++ for about 6 months now, and as a final project to one of my classes, I decided to create something for the osu! community. I've been working on this for about 7 weeks now. It's fully functional on some computers, but it could still use work.

MediaFire download link:http://www.mediafire.com/download/7vh8n4lbs0ts4rx/Beatmap+Generator.zip

Requirements:
-Windows PC (Tested on Windows 7 and 8.1)
-A screen resolution of 1920x1080 or larger (fullscreen mode breaks when the user tabs out and I can't figure out why, so I have it as a 1920x1080 window)
-Direct X must be installed

Good for:
Songs with a clear beat
Songs that change BPM a lot
When there is no beatmap for a song, but you want to play it

Not so good for:
Slow songs that don't have a clear beat
Does not use long notes or patterns

Recommended that you put the Generator Folder in your osu! folder (usually at C:\Program Files (x86)\osu!\)
This way the Songs folders line up and the program will read from your osu! songs folder.


If you plan on making this ranked, you are still going to have to put a lot of work into it. This just gives you a nice headstart.

If you have any questions, feel free to ask or refer to the readme file I have included.

Click for screenshots :)
Generation


Song Select


Playing a Song
Arzenvald
"A screen resolution of 1920x1080 or larger"

;w; rip 1024x600, btw this is interesting... 'map generator'.. nice nice..
it's gonna be more neat if its able to run in smaller screen tho..
Topic Starter
b4k4 blue
Detecting the user's screen resolution is next up on my list. Don't know how hard this is going to be to pull off though. (I'd have to format everything based off the resolution
AncuL
from what i see, you need a song with a good quality in order to get it work
does it have difficulty option?
Topic Starter
b4k4 blue
The song does not necessarily need to have a good quality, it just needs somewhat of a clear beat where the volume is higher than other points of the song.

As for difficulty options, if you are referring to playing the song in osu! after it is generated, you could either edit the difficulty options in the .osu file itself or you could use the osu! editor.

If you are referring to the osu! beatmap player in my program, no, however I have been planning to add those in a later version to put in the options menu.
xch00F
does it generate a beatmap based on the waveform
if so, you may want to think about applying hi-pass and low-pass filters to the waveform in addition to using a non-filtered waveform
hi-pass is pretty good for isolating synths and plucks, low-pass is basically only good for bass
Topic Starter
b4k4 blue
I run a Fast Fourier Transform (or FFT for short) on the sound every frame, which separates the sound into an array of frequencies that is analyzed as the song plays. If the user selected frequency is greater than a certain threshold, you have a note.
JamesYeoman
Seems like an interesting project. What progress have you made over the 2 years since the creation of the post?
Topic Starter
b4k4 blue
I have not made any further progress on this particular project, but I have definitely gotten better at programming in general. Looking back, this game/tool was made with a bunch really bad code spaghetti that needs to be cleaned up. 2000+ lines of code in a single file that runs everything is not ideal, and definitely not fun to scroll though.

On the note of smaller screen resolutions, I am able to solve that problem quite easily if I were to re-make it with an upgraded engine. (The re-making is the tedious part)


I have been working on another music-based project somewhat recently; a program that lets you play midi files on an keyboard (If you've ever seen a program called Synthesia, It's pretty much that). I've created my own library that can read and write midi files, and wanted to put it to use. I was also considering making a program to convert midi files into playable osu files. Unlike mp3 files, midi files contain all the timing information for each note, so it would be much more accurate.

Currently, I'm still a student and don't really have the time to make such a program, but in the future, who knows.
andy840119
Only six month of C++ skill can make this project is unbelieveable.
cool
Whenevery23
6 Years later...
I'm having problems trying to get the generator working. Am I dumb and I don't know how to work the generator or is it broken?
Topic Starter
b4k4 blue
6 years later... and the generator does indeed still work! (mostly)
Trying it out again, and the program itself seems to be functioning fine.

However, once the beatmap and song are in the osu songs directory, a refresh of songs is required (press F5).

Additionally, it seems that osu doesn't like the timing point that the generator added to the map I generated.
To fix that, I just had to open the map in the osu editor and manually add a timing point.
Otherwise osu would just get stuck loading the beatmap.

What issue in particular are you having?
Is the program not launching, Is the beatmap not being generated?
SPOA_old_1
how to operate this program?
DJMakerMusician
in my case, I get randomly generated notes, that don't even correspond to the beat :/
Daniblob
for me the generator just plays the song and i cant change any settings :(
Please sign in to reply.

New reply