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
Topic Starter
TrippinBeats

seb2110 wrote:

any news on fixing this problem? occurs on quite a few maps for me


Yes! Please try this version: https://mega.nz/#!DUhj1S6B!XupjsCwI4HLH0D0ers0xOtaEo7RNnju9wSKle_FOqtY

This should fix both of your problems DarkStoorm and seb!
Kairos
Thank you for this!
My AngeI Amogus

TrippinBeats wrote:

seb2110 wrote:

any news on fixing this problem? occurs on quite a few maps for me
Yes! Please try this version: https://mega.nz/#!DUhj1S6B!XupjsCwI4HLH ... SKle_FOqtY

This should fix both of your problems DarkStoorm and seb!
I'm still having the "index out of bounds" problem on the same map, such as FDFD and big black.
Dunno if it got anything to do with it but the program name is still the 3.1 version in the 3.2 release, dunno if the name just hasn't been changed or it's the wrong version( https://i.imgur.com/OCkXC0j.png ). Really loving the program though :)
Topic Starter
TrippinBeats

seb2110 wrote:

TrippinBeats wrote:

seb2110 wrote:

any news on fixing this problem? occurs on quite a few maps for me


Yes! Please try this version: https://mega.nz/#!DUhj1S6B!XupjsCwI4HLH ... SKle_FOqtY

This should fix both of your problems DarkStoorm and seb!


I'm still having the "index out of bounds" problem on the same map, such as FDFD and big black.
Dunno if it got anything to do with it but the program name is still the 3.1 version in the 3.2 release, dunno if the name just hasn't been changed or it's the wrong version( https://i.imgur.com/OCkXC0j.png ). Really loving the program though :)


Might have forgotten to update the version number... Would you mind linking a map that’s broken? So i can try and find the problem ;)
My AngeI Amogus
freedom dive [four dimensions] https://i.imgur.com/HXncsbx.png https://osu.ppy.sh/b/129891?m=0

but it also happens on some other maps like the big black https://i.imgur.com/2FtYX3N.png https://osu.ppy.sh/s/41823

some maps are fine tho this one works fine https://osu.ppy.sh/b/1169559&m=0 if you want to compare
DarkStoorM
My first guess is the format of HitObjects in the file

Example of HitObjects in a working file:
256,192,287889,1,0,0:0:0:0:

HitObjects of the failed conversions:
256,192,6965,1,4

This was the only difference I found in good maps and the Big Black you linked (also in the Freedom Dive).
Tried with older maps with the same format, getting the same error.
Topic Starter
TrippinBeats

DarkStoorM wrote:

My first guess is the format of HitObjects in the file

Example of HitObjects in a working file:
256,192,287889,1,0,0:0:0:0:


HitObjects of the failed conversions:
256,192,6965,1,4


This was the only difference I found in good maps and the Big Black you linked (also in the Freedom Dive).
Tried with older maps with the same format, getting the same error.


I think you are on to something there! I might check for those zeros in the end, resulting in an error. Good catch! I did not know that some maps did not have those. I’m on it ;)

UPDATE:
It's now fixed! (Check original post) It won't allow me to post yet but I will do that soon.
Topic Starter
TrippinBeats
For those who missed it, version [3.3] is now released!

It fixes a bug appered on older maps. It's kind of funny that the first comment to this thread was about a map that has been broken ever since the program was released. xD Download at the original post as usual.
show more
Please sign in to reply.

New reply