Skip to content

mappingtools/Mapperator

Repository files navigation

Mapperator

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.

Console App

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"

Demo App

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.

About

Mapperator is a library meant for efficient beatmap pattern search and beatmap construction based on features like rhythm and distance

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages