forum

Osu Rate Changer - Change the speed of beatmaps!

posted
Total Posts
102
Topic Starter
TrippinBeats
Trippin's Osu Rate Changer - Change the speed of beatmaps!

Short summary
I have written a program that takes an existing beatmap difficulty and creates a new difficulty which is either faster or slower. The user can decide exactly how much faster or slower the new map will be! The program even automatically converts the audio file to fit the new difficulty and speed.

Why is this useful?
Do you like changing the tempo of your favorite beatmaps, but DT/HT is too fast/slow?
Do you want to become a faster player?
By changing the speed of a beatmap, you can fix these problems!

Info
Some of you might remember Hydria's Osu!Mania Rate Changer from 2 years ago. When a friend told me the program didn't work for him and his other friends because of some bugs, and that the program has not been updated for a long time, I decided to remake it completely from scratch! It now supports all game modes and even converts audio automatically, although it's pretty slow (~1 min per beatmap). Hopefully, this will make this useful program more accessible for everyone. I even uploaded my code to GitHub, in case anyone wants to peak at or even improve the code.

Github projekt: OsuRateChanger



How to use
1. Extract files, open the release folder and click the "rateChanger.exe" file to open the program.
2. Click the "choose files" button and locate your Osu songs folder.
3. Find the map and diff you want to convert (you may select multiple) and confirm.
4. Write what new tempo you would like to have in the "rates" box. If you want a song to go 10% faster, write "1.1". If you want it to go 10% slower write "0.9".
5. If you want to make multiple rates, separate them with a ";". For example, if I want both a 1.2 rate and a 1.3 rate, you should write "1.2;1.3" in the rates box.

Optional:
6. If you would like the pitch to get higher or lower when changing the tempo of the beatmap, uncheck the "keep the same pitch" box. (Think night-core mod)
7. If you prefer to generate your own audio file with Audacity or another program, uncheck the "convert audio files" box.

8. Press "Start Conversion" button and wait for the program to finish. It usually takes around 45s for each rate, but might take longer if it's a long map.
9. Restart Osu, or press f5 in-game to see the new diffs!


Downloads
[Version 3.3] - Download from Mega.nz

Older versions

Full Change Log

Version 3.3
- Fixed a bug where older beatmaps (file format v9) would break the program. They are now supported!

Version 3.2
- Fixed bug where conversion might break if there was a space between "mode:" and the value.
- Fixed bug where conversion might break if there was a space between "previewtime:" and the value.

Version 3.1
+ You can now create marathonmaps! Put your rates or normal maps [1.0x] into one big difficulty!
- Fixed a bug breaking the program when map had no background image.
- The program now avoids generating new files when they already exist. [1.0x] audio files for example.

Version 2.0
- Automatically finds your song folder.
- Redesign of user-interface
- You can now queue up songs!

Version 1.0.1
- Fixed a bug that could crash the program if no Bookmarks were declared
- Fixed a bug that broke all spinners
+ Added storyboard support! Only works if it's in the diff file though, .osb files still not supported.

Version 1.0.0 (Official release)
- Fixed minor things
- Re-added fully soundmapped beatmaps without mp3 support.
+ Posted to the osu forums!

Version 0.5.3
- Fixed bug were the program would still generate .osu file after pressing cancel on warning message.
- Removed offset checkbox. It would only confuse people.
+ Program now checks for if the new audiofile has not already been created, saving the user some time!
+ Made the program idiot-proof. It should now be ready for the public!

Version 0.5.2
- Fixed conversion of sv timing and other timing points
- Fixed a bug were start start button could not be pressed after getting a warning message.

Version 0.5.1
- Beatmaps were delayed by 80ms if audio was created by the rate changer. I therefor added a 80ms offset.
- Restructure of .osu converter code. It was and in som eplaces still is a mess.
+ Added option to turn off offset.
+ You can now convert multiple diffs of a map at the same time! Just select them together.
+ It now supports all gamemodes! All osu players, rejoice!
+ Nightcore or daycore fan? No problem, added option to shut off pitch correction on your converts!
+ Program now supports bookmarks! For all you editors out there.

Version 0.4.3
+ Added support for computers who don't have english as their base langurage. For real this time.

Version 0.4.2
+ Added support for computers who don't have english as their base langurage.

Version 0.4.1
- Rewrote a lot of code
+ Added audio support! It will now automaticly convert the aduio file as well, if you so choose.

Version 0.3
- Fixed a potential crash if the map contained certain decimal values.
- Changed default map location to the songs folder
- Changed a setting for the mac version. It's now only 283mb, instead of 587mb. WOPS!
+ Added shameless plug in converted maps. MOM, GET THE CAMERA!

Version 0.2
- Fixed convert naming, now ends with ".osu"
- Fixed bpm, wops
+ Added an Icon
+ Added compatability for fully hitsounded beatmaps

Version 0.1
- Base functionallity


Known Issues
- No support for .osb files.

Know of an issue that is not mentioned above? Tell me about it and I will fix it!

Special thanks!
People mentioned below are awesome, helped test the program and found bugs!
- Nakano Yuko
- Chilly-
- iloveyou4ever
- Naxess
- DarkStoorM
- seb2110
Kondou-Shinichi
seems very fucking insteresting. Freedomdive 300bpm mhm
johnmedina999
inb4 planet shaper 1.1x
Topic Starter
TrippinBeats

Kondou-Shinichi wrote:

seems very fucking interesting. Freedomdive 300bpm mhm
I could theoretically add the ability to write a new bpm instead of the percentage... hmmm... :thinkingEmoteHere:

johnmedina999 wrote:

inb4 planet shaper 1.1x
inb4 broken fingers lol

Thanks for the responses! :D
iloveyou4ever

spinner has bug lul
btw nice program,keep going!
Topic Starter
TrippinBeats

iloveyou4ever wrote:


spinner has bug lul
btw nice program,keep going!
Oh no! What map did you try, and what's the issue? Not timed correctly?
iloveyou4ever

TrippinBeats wrote:

iloveyou4ever wrote:


spinner has bug lul
btw nice program,keep going!
Oh no! What map did you try, and what's the issue? Not timed correctly?
It's my map XD https://osu.ppy.sh/b/1182826
I faster it by 25% and it turns out like this
idk if it's bug or not...but the last spinner alsov has the same problem
Topic Starter
TrippinBeats
Updated the program to 1.0.1!

Version 1.0.1
- Fixed a bug that could crash the program if no Bookmarks were declared
- Fixed a bug that broke all spinners
+ Added storyboard support! Only works if it's in the diff file though, .osb files still not supported.

Hopefully, this fixed your bug iloveyou4ever!
TheMeq
Wow! Nice release! Can't wait to check this out when I get home :D
Vent
Oh shit this is really nice. Good job Trippin!
2xThunder
Amazing program, thanks a lot !
Topic Starter
TrippinBeats
Posted a quick update on the program!

Version 2.0 is released! The download is in the first post like always.

You can now queue up maps to convert so you can do other stuff! I hope this makes your lives a little easier ;)
abraker
Feature request time:

1) Autodetect what map is being played via discord api or some other method
2) Keyboard shortcut that queues the last played map and saves it to the appropriate directory. Make sure it is not queued multiple times.
3) Customization of the rate(s) the shortcut speeds map up by

This way I can play the map to see if I want to speed it up
Press the shortcut on results screen or wherever after playing it
Then press F5 to refresh song select
Topic Starter
TrippinBeats

abraker wrote:

Feature request time:

1) Autodetect what map is being played via discord api or some other method
2) Keyboard shortcut that queues the last played map and saves it to the appropriate directory. Make sure it is not queued multiple times.
3) Customization of the rate(s) the shortcut speeds map up by

This way I can play the map to see if I want to speed it up
Press the shortcut on results screen or wherever after playing it
Then press F5 to refresh song select
Sounds like a challenge, I’ll see what I can do :D
nyancat0131
You should check whether user select a beatmap that has its BG missing. It will throw an exception.
Topic Starter
TrippinBeats

Gahara-san wrote:

You should check whether user select a beatmap that has its BG missing. It will throw an exception.


Thank you! I fixed it in the new update ;)
Topic Starter
TrippinBeats
Version 3 is released! Download it here!

Version 3.0
+ You can now create marathon maps! Put your rates or normal maps [1.0x] into one big difficulty!
- Fixed a bug breaking the program when the map had no background image.
- The program now avoids generating new files when they already exist. 1x audio files for example.

When it comes to easily adding recently played maps, I found no good solution. Also, my attempts at implementing it made the interface cluttered and more advanced than I liked. abraker, I tried ;)

Thanks for all the feedback!
DarkStoorM
I noticed you get an 'Index out of bounds' when there is no space between the Mode and its value, didn't even know it was a thing.
Apparently, not every tool formats the data properly, so if anyone is getting Index Out Of Bounds on a beatmap that was generated by some other tool, make sure there is a space, then try again.
Topic Starter
TrippinBeats

DarkStoorM wrote:

I noticed you get an 'Index out of bounds' when there is no space between the Mode and its value, didn't even know it was a thing.
Apparently, not every tool formats the data properly, so if anyone is getting Index Out Of Bounds on a beatmap that was generated by some other tool, make sure there is a space, then try again.


Sorry about that! Will update soon, should be easy to fix.
My AngeI Amogus

TrippinBeats wrote:

DarkStoorM wrote:

I noticed you get an 'Index out of bounds' when there is no space between the Mode and its value, didn't even know it was a thing.

Apparently, not every tool formats the data properly, so if anyone is getting Index Out Of Bounds on a beatmap that was generated by some other tool, make sure there is a space, then try again.



Sorry about that! Will update soon, should be easy to fix.
any news on fixing this problem? occurs on quite a few maps for me
show more
Please sign in to reply.

New reply