forum

Calculating unstable rate possible?

posted
Total Posts
3
Topic Starter
GrilledCheeese
Is it possible to calculate unstable rate and -ms +ms from replay data that is retrieved from osu api?
If it is, I'm stuck at having the lzma stream that shows 4 numbers, here's a short example:
0|256|-500|0,-1|256|-500|0,-1015|0|16.4557|0,21|0|16.4557|0,14|0|16.4557|0,21|0|16.4557|0,14|0|16.4557|0,14|0|16.4557|0,20|0|17.08861|0,14|0|17.08861|0,21|0|17.08861|0
Explanation from the wiki:

Not sure what to do with these numbers as most of them are the same, the wiki says 2 of them are x and y position of your cursor, but it's supposed to be a MANIA replay and it looks nothing like what is posted in this forum post: https://osu.ppy.sh/community/forums/topics/610306,

Maybe someone can explain it to me like I'm 5? Or is it just not possible and I'm barking up the wrong tree?
abraker
abraker
For anyone curious here's how to calculate unstable rate. You can't calculate unstable rate without knowing the hit error of each note the player did. So you need to load a beatmap (*.osu) file and a replay (*.osr) file. Then you need to apply a ruleset to the beatmap and replay (which means calculate the hits based on rules of the game). There are are links in previous post to a code that does it, but do note the rules I've implemented do not match the rules osu! has.

Now you got yourself a list of hit errors [ a, b, c, ... ]. You calculate the standard deviation given by this formula:



Where

N is number of hit errors
x_i is the ith hit error
x bar is average hit error

Then you multiply that by 10 and you get unstable rate:

unstable rate = s*10



.
Please sign in to reply.

New reply