Mapperator is a library meant for efficient beatmap pattern search based on features like rhythm and distance. This enables the conversion of features to real patterns to playable beatmaps.
Mapperator requires .NET 6 to run and only works for osu! standard gamemode beatmaps.
Extract beatmap data from a collection in your osu! songs folder.
.\Mapperator.ConsoleApp.exe extract -c collection_name -o data
Extract beatmap data from a specific mapper in your osu! songs folder.
.\Mapperator.ConsoleApp.exe extract -s Ranked -m Standard -a Sotarks -o SotarksData
Reconstruct a beatmap using the extracted data.
.\Mapperator.ConsoleApp.exe convert -d SotarksData -i path_to_beatmap.osu -o converted_beatmap
You can specify an osu! folder. There should be a config.json
next to the executable with some paths. This is the contents:
{
"OsuPath": "C:\\Users\\name\\AppData\\Local\\osu!",
"SongsPath": "C:\\Users\\name\\AppData\\Local\\osu!\\Songs"
}
Create a generic dataset for Machine Learning from your songs folder.
.\Mapperator.ConsoleApp.exe dataset -s Ranked -m Standard -i 200000 -o "path to output folder"
The left view shows the original beatmap, the right view shows the reconstruction in red.
Clicking the prev or next buttons or clicking the timeline allows for seeking to different parts of the beatmap. Clicking the variant button generates the next best reconstruction of the pattern.
The Demo App uses the SotarksData dataset which contains all of Sotarks' ranked beatmaps and GD's.