Nghiên cứu
AI timing beatmap chính xác đến đâu? ManiaGAI so với Mapperatorinator
Tự động timing 2.501 bài osu! mania ranked, so với timing của mapper: ManiaGAI v2, v1 và Mapperatorinator ở bốn mức sai số. Ai thắng ở đâu, và giới hạn của benchmark.
Người chơi có thể bỏ qua nhiều thứ ở một beatmap. Nhưng timing thì không. Một chart có nốt lệch nhịp vài mili giây sẽ cho cảm giác sai ngay từ ô nhịp đầu tiên, dù pattern của nó hay đến đâu — nên trước khi một AI mapper đặt được nốt nào, nó phải trả lời hai câu hỏi mà mapper người trả lời bằng tai: BPM của bài là bao nhiêu, và nhịp rơi chính xác vào đâu?
Bài viết này nói về việc ManiaGAI trả lời hai câu hỏi đó tốt đến mức nào. Chúng tôi chạy phần nhận diện timing của nó trên mọi bài hát osu! mania ranked mà chúng tôi có thể đánh giá, rồi so kết quả với timing do mapper viết — đặt cạnh ManiaGAI v1 và công cụ mã nguồn mở Mapperatorinator. Tóm tắt: ManiaGAI v2 đúng nhiều bài nhất ở mức sai số mà người chơi thực sự nghe ra, Mapperatorinator chính xác hơn ở mức sai số chặt nhất, và benchmark vẫn còn bỏ ngỏ những câu hỏi thực sự. Chi tiết ở bên dưới.
Đo cái gì
Timing tự động phải tạo ra đúng thứ mà mapper tạo trong editor: một BPM và một offset, được ghi thành các timing line. Với một bài có tempo ổn định, đó là một line. Vì vậy tập kiểm tra gồm mọi mapset osu! mania ranked hoặc approved mà mapper đã timing bài hát bằng đúng một line — 2.507 mapset, sau khi loại các gói rate-edit và mapset trùng lặp. Cả ba phương pháp đều cho ra kết quả trên 2.501 mapset trong số đó, và mọi con số bên dưới đều tính trên 2.501 bài hát này.
Ba phương pháp:
- ManiaGAI v2 — phần nhận diện timing của ManiaGAI kể từ phiên bản 2 (1 tháng 10 năm 2026): activation nhịp từ mô hình mã nguồn mở Beat This, được chuyển thành lưới timing bằng phương pháp khớp riêng của chúng tôi. Benchmark chạy một cấu hình gần giống, nhưng không hoàn toàn trùng, với cấu hình đã phát hành.
- ManiaGAI v1 — bộ nhận diện mà trang web dùng trước phiên bản 2.
- Mapperatorinator — chế độ timing của AI mapper mã nguồn mở do OliBomby phát triển, chạy đúng như bản phát hành. Đây là baseline timing mã nguồn mở duy nhất mà chúng tôi đã benchmark.
Một bài được tính là đúng khi BPM nhận diện được khớp với BPM của mapper — cho phép nửa hoặc gấp đôi tempo, vì một bài được timing ở 85 hay 170 BPM có thể được chart y hệt nhau — và pha nhịp nằm trong một mức sai số so với của mapper. Chúng tôi báo cáo bốn mức sai số, từ 10 đến 40 ms.
Kết quả
| Phương pháp | ≤10 ms | ≤20 ms | ≤30 ms | ≤40 ms | Đúng BPM | Một timing line |
|---|---|---|---|---|---|---|
| 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% |
Tỉ lệ trên 2.501 bài hát. “Đúng BPM” cho phép nửa/gấp đôi tempo. “Một timing line” = bài được timing bằng một line duy nhất, như mapper của nó đã làm.
Phương pháp nào dẫn đầu phụ thuộc vào mức sai số, và đó là điều đáng chú ý nhất trong bảng. Ở 10 ms, Mapperatorinator dẫn trước. Từ 20 ms trở đi, ManiaGAI v2 dẫn trước. Ở 40 ms, ManiaGAI v2 đúng trên 97,1% số bài, so với 91,7% của Mapperatorinator và 90,7% của ManiaGAI v1.
Vì sao 40 ms là con số chính
Mức sai số chặt đo độ chính xác; mức nới hơn đo xem timing có dùng được hay không. Chúng tôi chọn 40 ms làm con số chính nhờ một lần kiểm tra bằng tai: trong 31 bài mà tiêu chí 10 ms đánh dấu là sai, có 30 bài nghe vẫn đúng timing khi phát. Sai số 10–40 ms là có thật, và bảng có báo cáo chúng — nhưng ở mức đó, BPM và nhịp vẫn đúng, và đó mới là điều quyết định một chart có chơi đúng nhịp hay không.
Từng bài một
Tỉ lệ phần trăm che đi việc mỗi phương pháp đúng ở những bài nào. Đếm các bài mà chỉ đúng một trong hai phương pháp đúng:
- Ở 40 ms, ManiaGAI v2 đúng còn Mapperatorinator sai trên 187 bài, và điều ngược lại xảy ra trên 51 bài. Cả hai cùng đúng trên 2.242 bài; cả hai cùng sai trên 21 bài.
- Ở 20 ms, cách biệt sát hơn nhiều: 187 bài so với 153.
- So với chính phiên bản trước của nó ở 40 ms, ManiaGAI v2 thắng 190 bài và thua 30.
Mapperatorinator tốt hơn ở đâu
Mapperatorinator đặt nhịp chính xác hơn khi nó đoán đúng tempo:
- Trong phạm vi 10 ms, nó đúng trên 78,0% số bài, so với 71,4% của ManiaGAI v2.
- Sai số pha nhịp của nó nhỏ hơn: trung vị 5,0 ms so với 5,8 ms.
ManiaGAI tốt hơn ở đâu
ManiaGAI v2 đoán đúng tempo thường xuyên hơn (98,0% so với 92,6% khi cho phép nửa/gấp đôi tempo), và nó ít gặp vấn đề đổi tempo giả hơn hẳn. Mọi bài trong tập này đều có một tempo ổn định, nên bất kỳ timing line thừa nào cũng là một lần đổi tempo không có trong âm nhạc — và trong chart, điều đó nghĩa là lưới nhịp đột ngột bị dịch chuyển giữa bài.
- ManiaGAI v2 timing cả 2.501 bài bằng một line duy nhất.
- ManiaGAI v1 thêm line trên 181 bài (7,2%).
- Mapperatorinator thêm line trên 2.226 bài (89,0%) — trung vị 6 line và trung bình 7,9 line mỗi bài.
Điều đó cần được đặt trong bối cảnh: Mapperatorinator không giả định một bài chỉ có một tempo, và với những bài thực sự đổi tempo, viết nhiều line là cách làm đúng. Benchmark này chỉ gồm các bài có tempo ổn định, nên nó chỉ cho thấy cái giá của thiết kế đó chứ không cho thấy lợi ích của nó.
Còn cách trần bao xa?
Ở 40 ms, 16 bài (0,6%) làm khó được cả ba phương pháp. Ngay cả một giám khảo hoàn hảo chọn kết quả tốt nhất trong ba cho mỗi bài cũng chỉ đạt 99,4% — nên khoảng cách giữa 97,1% của ManiaGAI v2 và mức trần đó là nhỏ. Trong 16 bài đó, 12 là lỗi tempo của ManiaGAI v2 và 4 là lỗi pha.
Những điều benchmark này không cho bạn biết
- Đây không phải bài kiểm tra trên tập giữ riêng (held-out). 344 bài đã được dùng trong lúc tinh chỉnh bộ nhận diện của ManiaGAI v2. Chúng tôi đã kiểm tra xem điều đó có thổi phồng kết quả không: ở 40 ms, ManiaGAI v2 đạt 97,1% trên những bài đó và 97,1% trên 2.157 bài nó chưa từng thấy; ở 10 ms là 70,3% so với 71,5%. Việc tinh chỉnh không mang lại độ chính xác kiểu không khái quát hóa được — nhưng một tập held-out sạch sẽ là bằng chứng mạnh hơn.
- Chỉ các bài có tempo ổn định. Bài đổi tempo khó hơn với mọi phương pháp, và chúng không có ở đây. Trong dữ liệu mà ManiaGAI v2 học, 15,8% số chart đổi tempo giữa bài.
- Chỉ map ranked, lấy mapper làm chuẩn. Timing của map ranked được người kiểm tra, nên đó là tham chiếu tốt nhất hiện có — nhưng nó vẫn là timing của một người, và tập dữ liệu chỉ là thứ âm nhạc được ranked.
- Một baseline bên ngoài. Mapperatorinator là phương pháp khác duy nhất chúng tôi đã chạy. Chúng tôi chưa benchmark các beat tracker không được xây dựng cho osu!, và không đưa ra nhận định nào về chúng.
- Timing, không phải chart. Benchmark chỉ chấm lưới timing, không chấm chất lượng của các chart được tạo.
- Gần với cấu hình đã phát hành, nhưng không trùng khớp. Bộ nhận diện trên production khác ở một số chi tiết so với nhánh được đo ở đây.
Bước tiếp theo cho timing
Có ba điểm nổi bật. Các lỗi còn lại với bài tempo ổn định chủ yếu là về tempo, không phải về pha. Ở mức sai số chặt nhất vẫn còn độ chính xác để cải thiện. Và câu hỏi mở lớn nhất là câu mà benchmark này không trả lời được: mọi phương pháp — kể cả của chúng tôi — xử lý thế nào với những bài thực sự đổi tempo. Đó là khoảng trống mà một benchmark trong tương lai cần lấp đầy.
Nếu bạn muốn xem timing có ý nghĩa gì trong thực tế, giải thích về BPM và timing trong osu! trình bày những điều cơ bản, trang Công nghệ cho thấy timing nằm ở đâu trong toàn bộ pipeline, và cách thử nhanh nhất là dùng một bài hát bạn thuộc lòng.