DanceGAIOsuGAI 的运作方式

OsuGAI 的运作方式

OsuGAI 把歌曲转成 osu! standard 谱面包 (mapset),在游戏区域中安排打击圈、滑条与转盘。系统先规划整首歌,再生成节奏、配置对象并检查结果。本页介绍 2026 年 10 月 30 日发布的 v3.0。

本页内容
  1. 01理解音乐
  2. 02规划整首歌
  3. 03节奏与对象
  4. 04位置与几何
  5. 05下载前的检查

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 提供逐拍对齐的音乐特征。训练谱面也使用同类网格。系统会侦测安静的前奏、尾奏与淡出,让没有声音的段落保持空白。

Beat This · 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 个节奏问题。

校准测试・v3.0・每个目标一个种子
★Flower DanceRiver Flows in YouFREEDOM DiVE
21.921.892.38
43.633.904.61
65.495.536.02
88.278.108.38

在 24 张谱面的测试中,休息段规划找回了 50% 的人类休息段,涵盖 35% 的人类休息时间。约 60% 的生成休息段与人类谱相符。给定正确规划时,网络在 24 张中的 23 张放出了正确数量。这组测量使用正式发布的规划器与较早的主网络,并非完整发布系统的评估。

从制作到可游玩的谱面

浏览器先解码并范式音频,再上传。服务只为每首歌提取一次 timing 与音乐特征,规划所选难度后,在同一次 GPU 批量中生成。经过清理、星数测量与封装,输出附歌曲和背景的 .osz。以下是 Flower Dance 在正式服务 NVIDIA T4 上的测量例子,不是等待时间保证。

正式服务 T4 测量・Flower Dance
请求时间
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 仍是未来产品。

延伸技术阅读

使用 OsuGAI 制作谱面