OsuGAI 的運作方式
OsuGAI 把歌曲轉成 osu! standard 圖包 (mapset),在遊戲區域中安排打擊圈、滑條與轉盤。系統先規劃整首歌,再生成節奏、配置物件並檢查結果。本頁介紹 2026 年 10 月 30 日發布的 v3.0。
本頁內容
v3.0 測量摘要
- 訓練譜面
- 157,209
- 模型參數
- ~77M
- 訓練運算量
- ~78 GPU·h
- 校準測試的平均星數誤差
- 0.28★
- 有效性測試通過譜面
- 36 / 36
- Flower Dance・6 個難度・T4
- 79 s
星數測試使用 3 首歌、4 個目標,每個目標使用一個種子;其中 2 首歌曾用於訓練。獨立的有效性測試使用 3 個種子。這些是小樣本測試,不代表所有歌曲的品質。
理解音樂
Beat This 偵測拍點與小節首拍,再由我們的 timing 網格擬合方法換算成 BPM 與 offset,也支援變速歌曲。MERT-v1-95M 提供逐拍對齊的音樂特徵。訓練譜面也使用同類網格。系統會偵測安靜的前奏、尾奏與淡出,讓沒有聲音的段落保持空白。
規劃整首歌
約 5.9M參數的高斯擴散規劃器,在放置物件前先逐段描述整首歌。它依照音樂與要求的設定,同時規劃難度、風格與休息段,因此副歌可以更密集,安靜的間奏則能留白。
節奏與物件
主模型生成按下與放開、物件類型、滑條折返、新 combo、休息段與滑條速度。它是 MaskGIT 類型的非自回歸 Transformer:透過數輪修整生成整張譜,而非只由左至右書寫。節奏先生成並清理,再加入物件細節與速度。
位置與幾何
節奏與位置共用一個約 71M參數的網路,重用對音樂的理解。約束求解器讓物件留在遊戲區域內、依所需長度擬合滑條曲線,並寫入速度變化。無法正確組成的難度會回報失敗,而非輸出壞檔;24,000 次壓力測試中沒有觸發這條失敗路徑。
可以控制什麼
可選 ★1 至 ★10 目標,各難度分開設定。9 個風格控制涵蓋滑條、角度、間距、節奏、aim 與 speed 等特性;譜面設定包含 CS、AR、OD、HP 與滑條速度。模型會讀取 CS、AR、OD 與速度;HP 寫入檔案。所選難度會一起生成為同一個 mapset。
你選的是目標星數;下載的譜面會標示實際測得的難度。
下載前的檢查
系統會清理近到無法遊玩的連續按鍵與過短的長按,移除靜音中的物件,並檢查幾何。最後使用 osu! 的演算法測量星數,以實測值命名難度。測試也會用 osu!lazer 解析譜面。同一歌曲、設定與種子的 10 次重複生成,產生逐位元組相同的 .osu 檔。
訓練資料
資料共 157,209 張譜面:132,032 張 ranked、approved 或 loved 譜面,加上 ranked 區域以外的 25,177 張高星補充譜。基礎資料約有 56M個物件。高星選集排除 gimmick 譜、AI 生成譜,以及與驗證或測試歌曲相同的資料。同一歌曲的所有難度與音訊版本放在同一資料分割。另保留 200 首於 2026 年 ranked 的歌曲作盲測,不參與訓練。
訓練方式
規劃器與主網路都從零訓練。主網路約訓練 103 萬步,先使用 ranked 資料,再混入高星譜,最後以星數平衡抽樣。規劃器訓練 60,000 步。全部使用一張 RTX 4070 Ti SUPER:主網路約 68 GPU 小時,規劃器約 10 GPU 小時。檢查點依實際生成的譜面挑選,不只看驗證損失。
我們測量了什麼
下表校準測試的平均絕對誤差為 0.28 星。這只是小樣本校準檢查,無法證明對未見歌曲的表現,也未測試 ★9–★10。另一組使用 3 首歌、4 個目標、3 個種子的測試,36 張譜面全部有效。最終評估中,清理程序移除了原始模型每 1,000 個物件約 3.9 個節奏問題。
| ★ | Flower Dance | River Flows in You | FREEDOM DiVE |
|---|---|---|---|
| 2 | 1.92 | 1.89 | 2.38 |
| 4 | 3.63 | 3.90 | 4.61 |
| 6 | 5.49 | 5.53 | 6.02 |
| 8 | 8.27 | 8.10 | 8.38 |
在 24 張譜面的測試中,休息段規劃找回了 50% 的人類休息段,涵蓋 35% 的人類休息時間。約 60% 的生成休息段與人類譜相符。給定正確規劃時,網路在 24 張中的 23 張放出了正確數量。這組測量使用正式發布的規劃器與較早的主網路,並非完整發布系統的評估。
從製作到可遊玩的譜面
瀏覽器先解碼並正規化音訊,再上傳。服務只為每首歌提取一次 timing 與音樂特徵,規劃所選難度後,在同一次 GPU 批次中生成。經過清理、星數測量與封裝,輸出附歌曲和背景的 .osz。以下是 Flower Dance 在正式服務 NVIDIA T4 上的測量例子,不是等待時間保證。
| 請求 | 時間 |
|---|---|
| 1 個難度 | 21–32 s |
| 3 個難度 | 42 s |
| 4 個難度 | 54 s |
| 6 個難度・自動分布 | 79 s |
| 9 個難度 | 116 s |
v3.0 改了什麼
v2.0 使用分開的節奏與位置模型。v3.0 改為共用網路,訓練資料從 10,428 張增至 157,209 張,加入休息段規劃、可變滑條速度,以及每個難度的風格與譜面設定。Flower Dance 的 T4 紀錄為 v2.0 的 4 個難度 72 秒、v3.0 的 6 個難度 79 秒;工作量不同,不能當成速度倍率。
已知限制
- 小樣本校準中,★4–★6 偏低,★8 略高;該測試未評估 ★9–★10。
- 約一半的人類休息段仍被漏掉,有些生成的休息段位置也不適合。
- 部分歌曲轉盤偏多,尤其低星譜;滑條形狀仍刻意保持簡單。
- 長而快的歌曲可能因細微 timing 誤差累積而在後段漂移。
- 新 combo 使用固定規則;沒有自訂 hitsound、kiai 段落或 storyboard。
- 結構有效不代表好玩或設計良好。生成譜供遊玩與練習使用,不適用於 ranked 區域。
接下來的工作
改善休息段位置、全星數範圍的校準、滑條形狀與生成速度。v3.0 的盲測與滑條自相交測量尚未公開。TaikoGAI 與 CatchGAI 仍是未來產品。