osu!'da BPM ve offset nedir?

Zamanlama, her beatmap'in üzerine kurulduğu görünmez ızgaradır. İşte nasıl çalıştığı.

BPM — dakikadaki vuruş sayısı

BPM, bir şarkının nabzının hızıdır: bir dakikada kaç vuruş geçtiği. 120 BPM'lik bir parçada her 500 ms'de bir vuruş vardır; 180 BPM'lik bir parçada ~333 ms'de bir. osu!'da BPM, zamanlama ızgarasını belirler — notaların düşebileceği anların kümesi. Notalar vuruşlara ve vuruşların alt bölümlerine (yarımlar, çeyrekler vb.) yerleştirilir; doğru zamanlanmış bir map'in müziğe kilitlenmiş gibi hissettirmesinin nedeni budur.

Offset — 1. vuruşun başladığı yer

Offset, ilk vuruşun düştüğü an; ses dosyasının başından itibaren milisaniye cinsinden. Şarkılar nadiren tam vuruşta başlar — genelde önce kısa bir sessizlik ya da sakin bir giriş olur. BPM ızgara çizgilerinin aralarındaki mesafeyi söyler; offset ise ızgaranın nerede başladığını.

Zamanlama bir map'i neden yapar ya da bozar?

Bir ritim oyunundaki her şey ızgaranın doğru olduğunu varsayar. BPM yanlışsa notalar yavaş yavaş vuruştan kayar — başta sorun yok, bir dakika sonra oynanamaz. Offset yanlışsa notaların hepsi aynı miktarda erken ya da geç gelir ve ne kadar iyi oynarsan oyna accuracy'n çöker. Mapper'lar tek bir nota yerleştirmeden önce zamanlamayı doğru yapmak için ciddi emek harcar; tempo değişen şarkılar ise birden fazla timing point gerektirir.

Bir şarkının BPM'i nasıl bulunur?

  1. Ara: "<şarkı adı> BPM" diye arat — songbpm.com veya tunebat.com gibi siteler yayımlanmış müziğin çoğunu kapsar. Yarım hızda gibi geliyorsa değeri iki katına çıkar (70'e karşı 140).
  2. Tıklayarak bul: bir "tap BPM" sitesi kullan (ör. taptempo.io) ve ~15 saniye boyunca vuruşla birlikte tıkla.
  3. osu! editörü: şarkıyı osu!'ya at, editörü aç → Timing → tıkla ya da editörün BPM tahminini kullan. Bu sana offset'i de doğrudan verir.

DanceGAI'da bunu yapmam gerekiyor mu?

Hayır. DanceGAI, şarkından bir osu! mania map'i üretirken BPM'i ve offset'i otomatik olarak algılar — şarkıyı ister yükle ister bir osu! beatmap bağlantısından içe aktar — yapay zekâ notaları yerleştirmeden önce zamanlama ızgarasını kendisi bulur, yani yazman gereken hiçbir şey yok. Yine de yukarıdaki kavramları bilmeye değer: ister üretilmiş ister elle yapılmış olsun, herhangi bir beatmap'teki zamanlama sorununu böyle fark eder (ve tarif edersin).