BPM และ offset ใน osu! คืออะไร?

ไทมมิ่งคือกริดที่มองไม่เห็นซึ่ง beatmap ทุกอันสร้างอยู่บนนั้น มาดูกันว่ามันทำงานอย่างไร

BPM — จำนวนบีตต่อนาที

BPM คือความเร็วของจังหวะเพลง: ในหนึ่งนาทีมีกี่บีต เพลง 120 BPM จะมีบีตทุก ๆ 500 ms ส่วนเพลง 180 BPM จะมีทุก ๆ ~333 ms ใน osu! ค่า BPM กำหนดกริดไทมมิ่ง — ชุดของจังหวะเวลาที่โน้ตลงได้ โน้ตจะถูกวางบนบีตและบนการแบ่งย่อยของบีต (ครึ่งบีต เศษหนึ่งส่วนสี่ และอื่น ๆ) นี่คือเหตุผลที่ชาร์ตที่ตั้งไทมมิ่งถูกต้องจะรู้สึกล็อกติดกับเพลง

Offset — บีตที่ 1 เริ่มตรงไหน

offset คือเวลาเป็นมิลลิวินาทีนับจากต้นไฟล์เสียง ที่บีตแรกลง เพลงแทบไม่เคยเริ่มตรงบีตพอดี — มักมีช่วงเงียบสั้น ๆ หรืออินโทรเบา ๆ ก่อน BPM บอกว่าเส้นกริดห่างกันเท่าไร ส่วน offset บอกว่ากริดเริ่มตรงไหน

ทำไมไทมมิ่งชี้เป็นชี้ตายชาร์ต

ทุกอย่างในเกมจังหวะตั้งอยู่บนสมมติฐานว่ากริดถูกต้อง ถ้า BPM ผิด โน้ตจะค่อย ๆ หลุดจากบีต — ตอนต้นยังโอเค แต่ผ่านไปหนึ่งนาทีก็เล่นไม่ได้ ถ้า offset ผิด โน้ตทุกตัวจะเร็วหรือช้าไปเท่า ๆ กัน และ accuracy ของคุณจะร่วงไม่ว่าจะเล่นเก่งแค่ไหน mapper ใช้ความพยายามอย่างมากในการตั้งไทมมิ่งให้ถูกก่อนวางโน้ตแม้แต่ตัวเดียว และเพลงที่เปลี่ยนจังหวะต้องใช้ timing point หลายจุด

วิธีหา BPM ของเพลง

  1. ค้นหา: ค้นคำว่า "<ชื่อเพลง> BPM" — เว็บอย่าง songbpm.com หรือ tunebat.com มีข้อมูลเพลงที่วางจำหน่ายแล้วเกือบทั้งหมด ถ้ารู้สึกว่าช้าไปครึ่งหนึ่งให้คูณสอง (70 กับ 140)
  2. เคาะเอง: ใช้เว็บ "tap BPM" (เช่น taptempo.io) แล้วเคาะตามบีตประมาณ ~15 วินาที
  3. osu! editor: ใส่เพลงลงใน osu! เปิด editor → Timing → เคาะ หรือใช้ค่า BPM ที่มันประมาณให้ วิธีนี้ยังได้ค่า offset มาโดยตรงด้วย

ใช้ DanceGAI ต้องทำเองไหม?

ไม่ต้อง DanceGAI ตรวจจับ BPM และ offset อัตโนมัติตอนสร้างชาร์ต osu! mania จากเพลงของคุณ — ไม่ว่าจะอัปโหลดเองหรือนำเข้าจากลิงก์ beatmap ของ osu! — AI จะหากริดไทมมิ่งเองก่อนวางโน้ต จึงไม่ต้องกรอกอะไรเลย แต่แนวคิดข้างบนก็ยังควรรู้ไว้: มันช่วยให้คุณสังเกต (และอธิบาย) ปัญหาไทมมิ่งใน beatmap ใดก็ได้ ไม่ว่าจะสร้างด้วย AI หรือทำด้วยมือ