Czym są BPM i offset w osu!?

Timing to niewidzialna siatka, na której zbudowany jest każdy beatmap. Oto jak działa.

BPM — uderzenia na minutę

BPM to tempo pulsu piosenki: ile uderzeń mija w ciągu minuty. Utwór 120 BPM ma uderzenie co 500 ms; utwór 180 BPM — co ~333 ms. W osu! BPM wyznacza siatkę timingu — zbiór momentów, w których mogą pojawiać się nuty. Nuty stawia się na uderzeniach i na ich podziałach (połówkach, ćwierćnutach i tak dalej), dlatego dobrze otimingowana mapa sprawia wrażenie przyklejonej do muzyki.

Offset — gdzie zaczyna się 1. uderzenie

Offset to czas w milisekundach od początku pliku audio, w którym wypada pierwsze uderzenie. Piosenki rzadko zaczynają się dokładnie na uderzeniu — zwykle najpierw jest chwila ciszy albo spokojne intro. BPM mówi, jak daleko od siebie są linie siatki; offset mówi, gdzie siatka się zaczyna.

Dlaczego timing decyduje o mapie

Wszystko w grze rytmicznej zakłada, że siatka jest poprawna. Jeśli BPM jest złe, nuty stopniowo rozjeżdżają się z rytmem — na początku w porządku, po minucie nie da się grać. Jeśli offset jest zły, każda nuta jest za wcześnie lub za późno o tyle samo, a Twoja celność leci w dół, niezależnie od tego, jak dobrze grasz. Mapperzy wkładają sporo wysiłku w poprawny timing, zanim postawią choćby jedną nutę, a piosenki ze zmianami tempa potrzebują wielu punktów timingu.

Jak znaleźć BPM piosenki

  1. Wyszukaj je: wpisz „<nazwa piosenki> BPM” — strony takie jak songbpm.com czy tunebat.com obejmują większość wydanej muzyki. Podwój wartość, jeśli wydaje się o połowę za wolna (70 vs 140).
  2. Wystukaj je: użyj strony typu „tap BPM” (np. taptempo.io) i stukaj do rytmu przez ~15 sekund.
  3. Edytor osu!: wrzuć piosenkę do osu!, otwórz edytor → Timing → wystukaj tempo albo użyj szacunku BPM z edytora. Od razu dostaniesz też offset.

Czy muszę to robić w DanceGAI?

Nie. DanceGAI automatycznie wykrywa BPM i offset, gdy generuje mapę osu! mania z Twojej piosenki — niezależnie od tego, czy ją wgrasz, czy zaimportujesz z linku do beatmap w osu! — AI samo znajduje siatkę timingu, zanim rozmieści nuty, więc nie musisz niczego wpisywać. Powyższe pojęcia i tak warto znać: dzięki nim rozpoznasz (i opiszesz) problem z timingiem w każdym beatmapie, wygenerowanym czy zrobionym ręcznie.