Badania
Jak dokładny jest timing beatmap z AI? ManiaGAI kontra Mapperatorinator
Automatycznie zatimingowaliśmy 2501 rankingowych piosenek osu! mania i porównaliśmy wynik z timingiem mapperów — ManiaGAI v2, ManiaGAI v1 i Mapperatorinator przy czterech tolerancjach. Gdzie wygrywa każda metoda i czego benchmark nie mówi.
Gracze wybaczą beatmapowi wiele. Nie wybaczą timingu. Mapa, w której nuty leżą kilka milisekund obok beatu, od pierwszego taktu wydaje się zła, choćby miała świetne patterny — dlatego zanim AI mapper postawi pierwszą nutę, musi odpowiedzieć na dwa pytania, na które ludzki mapper odpowiada ze słuchu: jakie BPM ma piosenka i gdzie dokładnie wypada beat?
Ten wpis pokazuje, jak dobrze odpowiada na nie ManiaGAI. Uruchomiliśmy jego wykrywanie timingu na każdej rankingowej piosence osu! mania, którą dało się ocenić, i porównaliśmy wynik z timingiem ustawionym przez mappera — obok ManiaGAI v1 i open-source’owego Mapperatorinator. W skrócie: ManiaGAI v2 trafia w największą liczbę piosenek przy tolerancji, którą gracze faktycznie słyszą, Mapperatorinator jest dokładniejszy przy najciaśniejszej, a benchmark zostawia realne otwarte pytania. Szczegóły poniżej.
Co mierzyliśmy
Automatyczny timing musi dać to, co mapper tworzy w edytorze: BPM i offset zapisane jako linie timingu. Piosenka z jednym stałym tempem to jedna linia. Dlatego zbiór testowy to każdy rankingowy lub zatwierdzony (approved) mapset osu! mania, którego mapper zatimingował piosenkę dokładnie jedną linią — 2507 mapsetów, po usunięciu paczek rate-editów i zduplikowanych mapsetów. Wszystkie trzy metody dały wynik dla 2501 z nich i każda liczba poniżej dotyczy tych 2501 piosenek.
Trzy metody:
- ManiaGAI v2 — wykrywanie timingu stojące za ManiaGAI od wersji 2 (1 października 2026): aktywacje beatów z open-source’owego modelu Beat This, zamieniane na siatkę timingu naszą własną metodą dopasowania. Benchmark działał na konfiguracji bliskiej tej, która trafiła na produkcję, ale nie identycznej.
- ManiaGAI v1 — detektor, którego strona używała przed wersją 2.
- Mapperatorinator — tryb timingu open-source’owego AI mappera autorstwa OliBomby, uruchomiony w wydanej postaci. To jedyny open-source’owy punkt odniesienia dla timingu, jaki przetestowaliśmy.
Piosenka liczy się jako poprawna, gdy wykryte BPM zgadza się z BPM mappera — połowa lub podwójne tempo są dozwolone, bo piosenkę zatimingowaną na 85 albo 170 BPM można zmapować identycznie — oraz faza beatu mieści się w tolerancji względem fazy mappera. Podajemy cztery tolerancje, od 10 do 40 ms.
Wyniki
| Metoda | ≤10 ms | ≤20 ms | ≤30 ms | ≤40 ms | Poprawne BPM | Jedna linia timingu |
|---|---|---|---|---|---|---|
| ManiaGAI v2 | 71,4% | 92,3% | 96,5% | 97,1% | 98,0% | 100% |
| Mapperatorinator | 78,0% | 90,9% | 91,7% | 91,7% | 92,6% | 11,0% |
| ManiaGAI v1 | 74,8% | 88,0% | 90,3% | 90,7% | 94,0% | 92,8% |
Odsetek z 2501 piosenek. „Poprawne BPM” dopuszcza połowę/podwójne tempo. „Jedna linia timingu” = piosenka została zatimingowana jedną linią, tak jak zrobił to jej mapper.
To, która metoda prowadzi, zależy od tolerancji — i to jest najbardziej pouczająca rzecz w tej tabeli. Przy 10 ms prowadzi Mapperatorinator. Od 20 ms w górę — ManiaGAI v2. Przy 40 ms ManiaGAI v2 ma rację w 97,1% piosenek, wobec 91,7% dla Mapperatorinator i 90,7% dla ManiaGAI v1.
Dlaczego główną liczbą jest 40 ms
Ciasna tolerancja mierzy precyzję; luźniejsza mierzy, czy timing jest użyteczny. Wybraliśmy 40 ms jako główną liczbę z powodu testu odsłuchowego: z 31 piosenek, które kryterium 10 ms oznaczyło jako błędne, 30 po odtworzeniu brzmiało na poprawnie zatimingowane. Błędy rzędu 10–40 ms są prawdziwe i tabela je pokazuje — ale przy takiej wielkości BPM i beat są właściwe, a to decyduje o tym, czy mapa gra się w rytm.
Piosenka po piosence
Procenty ukrywają, które piosenki każda metoda trafia. Licząc piosenki, w których poprawna była dokładnie jedna z dwóch metod:
- Przy 40 ms ManiaGAI v2 miał rację tam, gdzie Mapperatorinator się mylił, w 187 piosenkach, a odwrotnie było w 51. Obie metody miały rację w 2242; obie się myliły w 21.
- Przy 20 ms przewaga jest znacznie mniejsza: 187 piosenek do 153.
- W starciu z własnym poprzednikiem przy 40 ms ManiaGAI v2 wygrał 190 piosenek i przegrał 30.
W czym lepszy jest Mapperatorinator
Mapperatorinator umieszcza beat precyzyjniej, kiedy trafi z tempem:
- W granicach 10 ms ma rację w 78,0% piosenek, wobec 71,4% dla ManiaGAI v2.
- Jego błąd fazy beatu jest mniejszy: mediana 5,0 ms wobec 5,8 ms.
W czym lepszy jest ManiaGAI
ManiaGAI v2 częściej trafia z tempem (98,0% wobec 92,6% przy dozwolonej połowie/podwójnym tempie) i ma znacznie mniejszy problem z fałszywymi zmianami tempa. Każda piosenka w tym zbiorze ma jedno stałe tempo, więc każda dodatkowa linia timingu to zmiana tempa, której nie ma w muzyce — a w mapie oznacza nagłe przesunięcie siatki beatów w środku piosenki.
- ManiaGAI v2 zatimingował wszystkie 2501 piosenek jedną linią.
- ManiaGAI v1 dodał linie w 181 piosenkach (7,2%).
- Mapperatorinator dodał linie w 2226 piosenkach (89,0%) — mediana 6 linii i średnio 7,9 na piosenkę.
To wymaga kontekstu: Mapperatorinator nie zakłada, że piosenka ma jedno tempo, a w piosenkach, które naprawdę zmieniają tempo, zapisanie kilku linii jest właściwym zachowaniem. Ten benchmark zawiera wyłącznie piosenki o stałym tempie, więc pokazuje koszt takiego podejścia, a nie jego zalety.
Jak blisko sufitu?
Przy 40 ms 16 piosenek (0,6%) pokonało wszystkie trzy metody. Nawet idealny sędzia, który dla każdej piosenki wybierałby najlepszą z trzech, osiągnąłby 99,4% — więc dystans między 97,1% ManiaGAI v2 a tym sufitem jest niewielki. Z tych 16 piosenek 12 to były dla ManiaGAI v2 błędy tempa, a 4 — błędy fazy.
Czego ten benchmark nie mówi
- To nie jest test na odłożonym zbiorze. Część piosenek (344) była używana podczas strojenia detektora ManiaGAI v2. Sprawdziliśmy, czy to zawyżyło wynik: przy 40 ms ManiaGAI v2 uzyskuje 97,1% na tych piosenkach i 97,1% na 2157, których nigdy nie widział; przy 10 ms 70,3% wobec 71,5%. Strojenie nie dało dokładności, która nie uogólnia się na nowe dane — ale czysty, odłożony zbiór byłby mocniejszym dowodem.
- Tylko piosenki o stałym tempie. Piosenki ze zmianami tempa są trudniejsze dla każdej metody i ich tu nie ma. W danych, na których uczył się ManiaGAI v2, 15,8% map zmienia tempo w trakcie piosenki.
- Tylko mapy rankingowe, z mapperem jako punktem odniesienia. Timing map rankingowych jest sprawdzany przez ludzi, co czyni go najlepszym dostępnym punktem odniesienia — ale to wciąż timing jednej osoby, a populacja to muzyka, która trafia do rankingu.
- Jeden zewnętrzny punkt odniesienia. Mapperatorinator to jedyna inna metoda, którą uruchomiliśmy. Nie testowaliśmy beat trackerów, które nie powstały z myślą o osu!, i nie twierdzimy niczego na ich temat.
- Timing, nie mapy. Benchmark ocenia wyłącznie siatkę timingu, a nie jakość wygenerowanych map.
- Blisko konfiguracji produkcyjnej, ale nie identycznie. Detektor na produkcji różni się w szczegółach od wariantu zmierzonego tutaj.
Co dalej z timingiem
Wyróżniają się trzy rzeczy. Pozostałe błędy przy stałym tempie dotyczą głównie tempa, a nie fazy. Przy najciaśniejszej tolerancji wciąż jest precyzja do zyskania. A największe otwarte pytanie to takie, na które ten benchmark nie może odpowiedzieć: jak każda metoda — łącznie z naszą — radzi sobie z piosenkami, których tempo naprawdę się zmienia. Tę lukę musi zamknąć przyszły benchmark.
Jeśli chcesz zobaczyć, co timing oznacza w praktyce, BPM i timing w osu! — wyjaśnienie omawia podstawy, strona Technologia pokazuje, gdzie timing mieści się w całym pipeline, a najszybszym testem jest piosenka, którą dobrze znasz.