งานวิจัย
AI ตั้งไทมมิ่ง beatmap ได้แม่นแค่ไหน? ManiaGAI ปะทะ Mapperatorinator
เราตั้งไทมมิ่งเพลง osu! mania แบบ ranked 2,501 เพลงอัตโนมัติ แล้วเทียบกับไทมมิ่งของ mapper — ManiaGAI v2, ManiaGAI v1 และ Mapperatorinator ที่สี่ค่าความคลาดเคลื่อน วิธีไหนชนะตรงไหน และเบนช์มาร์กนี้บอกอะไรไม่ได้
ผู้เล่นให้อภัยอะไรใน beatmap ได้หลายอย่าง แต่ไม่ให้อภัยไทมมิ่ง ชาร์ตที่โน้ตคลาดจากจังหวะไปไม่กี่มิลลิวินาทีจะรู้สึกผิดตั้งแต่ห้องแรก ไม่ว่าแพทเทิร์นจะดีแค่ไหน — ดังนั้นก่อนที่ AI ทำแมพจะวางโน้ตได้แม้แต่ตัวเดียว มันต้องตอบสองคำถามที่ mapper ที่เป็นคนตอบได้ด้วยหู: เพลงนี้มี BPM เท่าไร และบีตตกตรงไหนกันแน่?
บทความนี้ว่าด้วยว่า ManiaGAI ตอบคำถามเหล่านี้ได้ดีแค่ไหน เราให้ระบบตรวจจับไทมมิ่งของมันทำงานกับเพลง osu! mania แบบ ranked ทุกเพลงที่เราประเมินได้ แล้วเทียบผลกับไทมมิ่งที่ mapper เขียนไว้ — เทียบคู่กับ ManiaGAI v1 และ Mapperatorinator ซึ่งเป็นโอเพนซอร์ส สรุปสั้น ๆ: ManiaGAI v2 ทำถูกได้มากเพลงที่สุดที่ค่าความคลาดเคลื่อนที่ผู้เล่นได้ยินจริง Mapperatorinator แม่นกว่าที่ค่าที่เข้มงวดที่สุด และเบนช์มาร์กนี้ยังทิ้งคำถามจริง ๆ ไว้อีกหลายข้อ รายละเอียดอยู่ด้านล่าง
เราวัดอะไร
ไทมมิ่งอัตโนมัติต้องให้ผลแบบเดียวกับที่ mapper ทำใน editor: BPM และ offset ที่เขียนเป็นเส้นไทมมิ่ง สำหรับเพลงที่มีจังหวะคงที่ จะมีเส้นเดียว ชุดทดสอบจึงเป็นmapset osu! mania แบบ ranked หรือ approved ทุกชุดที่ mapper ตั้งไทมมิ่งเพลงด้วยเส้นเดียวพอดี — รวม 2,507 mapset หลังตัดแพ็ก rate-edit และ mapset ที่ซ้ำกันออกแล้ว ทั้งสามวิธีให้ผลลัพธ์ได้ใน 2,501 ชุด และตัวเลขทั้งหมดด้านล่างคิดจาก 2,501 เพลงนั้น
สามวิธีที่นำมาเทียบ:
- ManiaGAI v2 — ระบบตรวจจับไทมมิ่งเบื้องหลัง ManiaGAI ตั้งแต่เวอร์ชัน 2 (1 ตุลาคม 2026): ใช้ beat activation จากโมเดลโอเพนซอร์ส Beat This แล้วแปลงเป็นกริดไทมมิ่งด้วยวิธีฟิตของเราเอง เบนช์มาร์กนี้รันด้วยการตั้งค่าที่ใกล้เคียง แต่ไม่เหมือนกับตัวที่ใช้งานจริงทุกประการ
- ManiaGAI v1 — ตัวตรวจจับที่เว็บไซต์ใช้ก่อนเวอร์ชัน 2
- Mapperatorinator — โหมดไทมมิ่งของ AI ทำแมพโอเพนซอร์สของ OliBomby รันตามที่เผยแพร่ไว้ เป็นตัวเทียบไทมมิ่งโอเพนซอร์สเพียงตัวเดียวที่เราทำเบนช์มาร์ก
เพลงจะนับว่าถูกเมื่อ BPM ที่ตรวจได้ตรงกับของ mapper — ยอมให้เป็นครึ่งหรือสองเท่าได้ เพราะเพลงที่ตั้งไว้ 85 หรือ 170 BPM ทำชาร์ตออกมาได้เหมือนกัน — และเฟสของบีตอยู่ในค่าความคลาดเคลื่อนที่กำหนดเมื่อเทียบกับของ mapper เรารายงานสี่ค่าความคลาดเคลื่อน ตั้งแต่ 10 ถึง 40 ms
ผลลัพธ์
| วิธี | ≤10 ms | ≤20 ms | ≤30 ms | ≤40 ms | BPM ถูกต้อง | เส้นไทมมิ่งเส้นเดียว |
|---|---|---|---|---|---|---|
| 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% |
สัดส่วนจาก 2,501 เพลง “BPM ถูกต้อง” ยอมให้เป็นครึ่งหรือสองเท่าได้ “เส้นไทมมิ่งเส้นเดียว” = ตั้งไทมมิ่งเพลงด้วยเส้นเดียว แบบเดียวกับที่ mapper ทำ
วิธีไหนนำขึ้นอยู่กับค่าความคลาดเคลื่อน และนั่นคือข้อมูลที่บอกอะไรได้มากที่สุดในตาราง ที่ 10 ms Mapperatorinator นำ ตั้งแต่ 20 ms ขึ้นไป ManiaGAI v2 นำ ที่ 40 ms ManiaGAI v2 ถูกต้อง 97.1% ของเพลง เทียบกับ 91.7% ของ Mapperatorinator และ 90.7% ของ ManiaGAI v1
ทำไม 40 ms ถึงเป็นตัวเลขหลัก
ค่าความคลาดเคลื่อนที่เข้มงวดวัดความแม่นยำ ส่วนค่าที่หลวมกว่าวัดว่าไทมมิ่งใช้งานได้หรือไม่ เราเลือก 40 ms เป็นตัวเลขหลัก เพราะการทดสอบด้วยการฟัง: จาก 31 เพลงที่เกณฑ์ 10 ms ตัดสินว่าผิด มี 30 เพลงที่ฟังแล้วไทมมิ่งถูกต้องเมื่อเล่นจริง ความคลาดเคลื่อน 10–40 ms มีอยู่จริง และตารางก็รายงานไว้ — แต่ในระดับนั้น BPM และบีตถูกต้อง และนั่นคือสิ่งที่ตัดสินว่าชาร์ตจะเล่นตรงจังหวะหรือไม่
ดูทีละเพลง
เปอร์เซ็นต์ไม่ได้บอกว่าแต่ละวิธีทำถูกในเพลงไหน ลองนับเพลงที่มีเพียงวิธีเดียวในสองวิธีที่ถูก:
- ที่ 40 ms ManiaGAI v2 ถูกในขณะที่ Mapperatorinator ผิด 187 เพลง และกลับกัน 51 เพลง ถูกทั้งคู่ 2,242 เพลง ผิดทั้งคู่ 21 เพลง
- ที่ 20 ms ห่างกันน้อยลงมาก: 187 เพลง ต่อ 153 เพลง
- เมื่อเทียบกับรุ่นก่อนหน้าของตัวเองที่ 40 ms ManiaGAI v2 ชนะ 190 เพลง และแพ้ 30 เพลง
จุดที่ Mapperatorinator ดีกว่า
เมื่อจับจังหวะ (tempo) ได้ถูก Mapperatorinator วางบีตได้แม่นกว่า:
- ภายใน 10 ms ถูกต้อง 78.0% ของเพลง เทียบกับ 71.4% ของ ManiaGAI v2
- ความคลาดเคลื่อนของเฟสบีตเล็กกว่า: มัธยฐาน 5.0 ms เทียบกับ 5.8 ms
จุดที่ ManiaGAI ดีกว่า
ManiaGAI v2 จับจังหวะ (tempo)ได้ถูกบ่อยกว่า (98.0% เทียบกับ 92.6% เมื่อยอมให้ครึ่งหรือสองเท่า) และมีปัญหาเรื่องการเปลี่ยนจังหวะที่ไม่มีอยู่จริงน้อยกว่ามาก ทุกเพลงในชุดนี้มีจังหวะคงที่ เส้นไทมมิ่งที่เกินมาทุกเส้นจึงเป็นการเปลี่ยนจังหวะที่ไม่มีในเพลง — และในชาร์ต มันหมายถึงกริดบีตที่เลื่อนกะทันหันกลางเพลง
- ManiaGAI v2 ตั้งไทมมิ่งทั้ง 2,501 เพลงด้วยเส้นเดียว
- ManiaGAI v1 เพิ่มเส้นเกินมาใน 181 เพลง (7.2%)
- Mapperatorinator เพิ่มเส้นเกินมาใน 2,226 เพลง (89.0%) — มัธยฐาน 6 เส้น และค่าเฉลี่ย 7.9 เส้นต่อเพลง
เรื่องนี้ต้องมีบริบท: Mapperatorinator ไม่ได้สมมติว่าเพลงมีจังหวะเดียว และในเพลงที่เปลี่ยนจังหวะจริง การเขียนหลายเส้นคือพฤติกรรมที่ถูกต้อง เบนช์มาร์กนี้มีแต่เพลงจังหวะคงที่ จึงแสดงได้แค่ต้นทุนของการออกแบบนั้น ไม่ใช่ประโยชน์ของมัน
ใกล้เพดานแค่ไหน?
ที่ 40 ms มี 16 เพลง (0.6%) ที่ทั้งสามวิธีทำผิดหมด แม้แต่ผู้ตัดสินที่สมบูรณ์แบบซึ่งเลือกผลที่ดีที่สุดจากสามวิธีให้ทุกเพลง ก็จะได้ 99.4% — ระยะห่างระหว่าง 97.1% ของ ManiaGAI v2 กับเพดานนั้นจึงน้อยมาก จาก 16 เพลงนั้น มี 12 เพลงที่ ManiaGAI v2 ผิดเรื่องจังหวะ และ 4 เพลงที่ผิดเรื่องเฟส
สิ่งที่เบนช์มาร์กนี้ไม่ได้บอก
- นี่ไม่ใช่การทดสอบแบบ held-out มี 344 เพลงที่ถูกใช้ระหว่างปรับจูนตัวตรวจจับของ ManiaGAI v2 เราตรวจแล้วว่าสิ่งนี้ทำให้ผลดูดีเกินจริงหรือไม่: ที่ 40 ms ManiaGAI v2 ได้ 97.1% ในเพลงกลุ่มนั้น และ 97.1% ใน 2,157 เพลงที่มันไม่เคยเห็น ที่ 10 ms ได้ 70.3% เทียบกับ 71.5%การจูนไม่ได้ซื้อความแม่นยำที่ใช้กับเพลงอื่นไม่ได้ — แต่ชุดทดสอบ held-out ที่สะอาดจะเป็นหลักฐานที่หนักแน่นกว่า
- มีแต่เพลงจังหวะคงที่ เพลงที่เปลี่ยนจังหวะยากกว่าสำหรับทุกวิธี และไม่ได้อยู่ในชุดนี้ ในข้อมูลที่ ManiaGAI v2 ใช้เรียนรู้ มี 15.8% ของชาร์ตที่เปลี่ยนจังหวะกลางเพลง
- มีแต่แมพ ranked โดยใช้ mapper เป็นคำตอบอ้างอิง ไทมมิ่งของแมพ ranked ผ่านการตรวจโดยคน จึงเป็นค่าอ้างอิงที่ดีที่สุดที่มี — แต่ก็ยังเป็นไทมมิ่งของคนคนเดียว และกลุ่มตัวอย่างก็คือเพลงที่ได้ ranked
- มีตัวเทียบภายนอกตัวเดียว Mapperatorinator เป็นวิธีอื่นเพียงวิธีเดียวที่เรารัน เรายังไม่ได้ทำเบนช์มาร์ก beat tracker ที่ไม่ได้สร้างมาเพื่อ osu! และเราไม่ได้อ้างอะไรเกี่ยวกับมัน
- วัดไทมมิ่ง ไม่ใช่ชาร์ต เบนช์มาร์กนี้ให้คะแนนเฉพาะกริดไทมมิ่ง ไม่ได้วัดว่าชาร์ตที่สร้างออกมาดีแค่ไหน
- ใกล้เคียงการตั้งค่าที่ใช้งานจริง แต่ไม่เหมือนกันทุกประการ ตัวตรวจจับที่ใช้งานจริงต่างในรายละเอียดจากตัวที่วัดในที่นี้
ก้าวต่อไปของไทมมิ่ง
มีสามเรื่องที่โดดเด่น ความผิดพลาดที่เหลือในเพลงจังหวะคงที่ส่วนใหญ่เป็นเรื่องจังหวะ ไม่ใช่เฟส ที่ค่าความคลาดเคลื่อนเข้มงวดที่สุด ยังมีความแม่นยำให้เก็บเพิ่มได้ และคำถามใหญ่ที่สุดที่ยังเปิดอยู่คือคำถามที่เบนช์มาร์กนี้ตอบไม่ได้: ทุกวิธี — รวมถึงของเรา — รับมือกับเพลงที่เปลี่ยนจังหวะจริง ๆ ได้อย่างไร นั่นคือช่องว่างที่เบนช์มาร์กในอนาคตต้องปิดให้ได้
ถ้าอยากเห็นว่าไทมมิ่งมีความหมายอย่างไรในทางปฏิบัติ อธิบาย BPM และไทมมิ่งใน osu! ครอบคลุมพื้นฐาน หน้าเทคโนโลยี แสดงว่าไทมมิ่งอยู่ตรงไหนในไปป์ไลน์ทั้งหมด และวิธีทดสอบที่เร็วที่สุดคือเพลงที่คุณรู้จักดี