卷 I · 诊断 ♩=100 CH 02 02 / 24

你的三个数偏移、抖动、走位 —— 游戏从不告诉你是哪一种

「Just OK」这四个字里,藏着至少三种完全不同的失败。
偏移是一个常数:你每次都早 30 毫秒 —— 改一个设置就没了。抖动是随机误差:你忽早忽晚 —— 只有这一项需要练。走位是一条斜线:你开头好好的,越打越偏 —— 说明你在跟自己走,不是跟音乐走。
这一章的 demo 会敲 32 拍,把你的三个数量出来。接下来二十二章,全部围绕这三个数展开。

偏移抖动走位误差棒残差认错格

「Just OK」的信息量太低了

节奏天国的评价系统很克制:一关打完给你一个粗粒度的结果,最多再补一句「有点早了」之类的提示。作为游戏这没问题 —— 它不想让你去优化毫秒,它想让你去找感觉。

但作为一个想变强的人,这个反馈几乎没法用。它告诉你「不够好」,却不告诉你三件最要紧的事:

  • 你是一直偏,还是时好时坏
  • 你是从头就偏,还是越打越偏
  • 你那几下大失误,是手没跟上,还是数错了位置

这三个问题,对应三个可以分别测量、分别下药的数。

◆ 判词 · 三个数,三种药

偏移(bias)= 误差的平均值。你系统性地早或晚。
药:校准。改一次设置,永久生效,一秒都不用练。

抖动(jitter)= 误差的标准差。你忽早忽晚。
药:练。而且这是全书唯一真正需要练的一项。

走位(drift)= 误差对拍号的斜率。你越打越偏。
药:练内部的钟。你现在跟的是自己,不是音乐。

三个数彼此独立 —— 一个人完全可以「偏移很大但抖动极小」(那是个好消息,一次校准就变强),也可以「偏移为零但抖动巨大」(那说明你根本没稳过,只是早晚各半互相抵消了)。

量一次

下面这台机器会响四下预备拍,然后跟着敲 32 拍。请按你平时的手感来,不要刻意修正 —— 我们要量的正是你平时的样子。

◗ 先听一下 · 关于这 32 拍

32 拍不是随便定的。第 3 章会讲清楚为什么:敲得越少,量出来的偏移越不可信。32 拍是「不至于烦」和「勉强够用」之间的折中。

散点图里那条虚线是回归线。它如果是斜的,你就有走位;它如果是平的、点又挤在中间那条绿带里,恭喜你。

散点图怎么看:四种形状

那张散点图值得你学会读。横轴是「第几下」,纵轴是误差(负在上方 = 早,正在下方 = 晚),中间那条绿带是判定窗。四种病在图上长成四种一眼可辨的形状:

# 把点画出来,病就自己现形了

  ① 云 · 均匀散在 0 附近,只是散得宽
     ●  ●    ●
       ●  ●    ●  ●        →  纯抖动。手不稳,没别的毛病。
     ●    ●  ●

  ② 整团上移 · 形状很紧,但整团离开了中线
       ● ●●● ●
      ●●● ● ●●              →  纯偏移。手很稳,只是停在错的地方。
    ─────────────  0

  ③ 斜线 · 从中间开始,一路滑出去
    ●●
       ●●●                  →  走位。你的钟和音乐不是一个速度。
          ●●●
             ●●●

  ④ 两团 · 大部分在中间,几个点飞得极远
       ●●●●●●
    ─────────────  0
    ●                       →  认错格。那几下不是手慢,是敲到了隔壁。
                    ●

大多数人是几种的混合。读图的顺序建议是:先找有没有飞得特别远的点(④),再看整团有没有偏离中线(②),再看有没有斜(③),最后才看它散得宽不宽(①)。这个顺序和后面「怎么办」的处理顺序是一致的 —— 因为前面几种更好治,也更容易被误当成最后一种。

第一个数:偏移,以及它的误差棒

偏移是最好对付的一个数,因为它是个常数 —— 常数可以被减掉。

但这里有个几乎所有人都会踩的坑:你量到的偏移,本身也带着误差。它的不确定度(标准误)等于「抖动除以敲击次数的平方根」:

偏移的误差棒 = 抖动 / √n      (假设你的抖动是 30ms)

    敲   8 下  →  偏移量到 ±10.6ms
    敲  16 下  →  偏移量到 ±7.5ms
    敲  32 下  →  偏移量到 ±5.3ms
    敲  64 下  →  偏移量到 ±3.8ms
    敲 128 下  →  偏移量到 ±2.7ms

    想把误差棒压到 ±2ms,得敲 225 下。

这张表有一个非常实际的后果:如果你只敲了十几下就去改设置,你多半是在追噪声。你以为「今天偏了 5ms」,其实那 5ms 完全在误差棒之内 —— 明天再量一次,它可能变成 −4ms,而你什么都没做。

⚠ 坑 · 每天微调判定偏移,是一种自欺

音游圈里有一种常见的仪式:每次开机先花几分钟「调一下偏移」。

如果每次只量十几下,这个仪式在统计上等价于掷骰子。你不是在校准,你是在给随机波动赋予意义,然后跟着它上下折腾。

正确的做法是:一次量够(几十下起步),记下来,然后很久都不要再动它。真正需要重新校准的场合只有三种:换设备、换显示模式、换了差很多的速度(第 17 章会说明为什么)。

第二个数:抖动,而且必须先扣掉走位

抖动是误差的标准差。它衡量的是「你有多不稳」,也是唯一一个真正需要练出来的量。

但计算它有一个不显然、却很要命的细节。如果一个人只是稳定地越打越快,他的误差序列会是一条漂亮的斜线 —— 每一下都很「准」地比上一下早一点点,没有任何随机成分。可是你如果直接对这条斜线求标准差,会得到一个很大的数。

于是一个走位问题,被误诊成了抖动问题。而这两者的药完全相反:走位要练内部的钟,抖动要练动作本身。诊断错了,接下来几周的练习就全浪费了。

所以这本书的引擎里,抖动一律取回归残差的标准差 —— 先把那条斜线减掉,剩下的才叫抖动。验证脚本里用一个已知参数的合成受试者检查过这件事:

合成受试者:起手偏 −30ms,抖 20ms,每拍多走 1.5ms

    诊断器给出:起手偏移 −38.4ms
                抖动     19.1ms      ← 对上了
                走位     1.57ms/拍   ← 对上了

    如果不扣走位直接求标准差:35.0ms
    → 把一次稳定的加速,虚报成了将近两倍的手抖。
◆ 判词 · 一个数算错了,练法就全错了

这是整本书里第一个「工程细节改变结论」的例子,后面还会遇到好几个(第 16 章的变速积分、第 5 章的时钟对齐)。

诊断的精度决定练习的方向。如果你手上只有一个笼统的「不准」,你只能笼统地多打几遍;如果你手上有三个正交的数,你每次练习都能知道自己在动哪一个。

第三个数:走位,一条能算出速度的斜线

走位的单位是「毫秒每拍」。它听起来小得可笑 —— 每拍才偏 1.5ms,谁在乎?

在乎的原因有两个。

第一,它会累积。1.5ms 每拍,32 小节(64 拍)之后累计 96ms —— 已经接近一个十六分格的宽度了。你在一首歌的开头好好的,到中段整个人对不上,就是这么来的。

第二,它可以被翻译成一个你能听懂的量:你心里的速度是多少。

走位 → 你以为的速度

    音乐是 120 BPM,一拍 500ms
    你每拍多走 1.5ms  →  你心里的一拍是 501.5ms
                       →  你心里的速度是 119.64 BPM

    你不是「不准」,你是在用一个错误的速度稳定地走。

这个视角很重要:有走位的人往往手非常稳,他们的抖动可能比别人还小。他们的问题不在手上,在那个网格上 —— 他们把网格架好了,但架的位置一直在慢慢滑走,而他们没有用音乐去校正它。

🎮 回到节奏天国 · 走位在哪里发作

那些「伴奏很稀疏」的关卡,就是走位的重灾区。伴奏密集的时候,音乐每隔几百毫秒就帮你校正一次,你的走位来不及累积;伴奏一稀疏,校正的机会没了,斜线就开始长。

更狠的是那些中途安静下来的段落 —— 那几秒里,音乐完全不校正你,走位以原速累积,等音乐回来的时候你已经偏出去半格了。第 7 章有一整章在处理这件事,而且有一个专门的自测。

第四种病:认错格

前三个数都是「几十毫秒」量级的。还有一类失误,量级完全不同。

如果你的误差超过了半个格子,那么严格来说,你已经不是「打偏了」—— 你是打在了旁边那一格上。这两件事在数据上长得像,在原因上毫无关系。

# 120 BPM,十六分网格

  一格          125ms
  半格          62.5ms      ← 超过它,就是敲到隔壁格了
  「勉强」窗     100ms

  注意:半格(62.5ms)比「勉强」窗(100ms)还窄。
  也就是说,在十六分密度下,
  「勉强算中」的范围已经盖过了隔壁那一格 ——
  游戏可能给你判中,但你打的其实是另一个音符。

demo 里那一行「敲到隔壁格 N 次」就是在数这件事。如果这个数不为零,先别练手,去第 9 章和第 13 章 —— 你需要的是重新数一遍这段的位置。

✋ 落到手上 · 拿到三个数之后怎么办

按这个顺序处理,因为收益是递减的:

1. 先看「敲到隔壁格」。不为零 → 这是位置问题,练手无效,去卷 II 和卷 III。

2. 再看走位。绝对值超过 0.5ms/拍 → 去第 7 章,练静默续拍。

3. 再看偏移。超过两倍误差棒 → 去第 5 章校准,十分钟白拿几个百分点。

4. 最后才是抖动。这一项没有捷径,但它也是唯一一项练了就一定会涨的。

把这四步倒过来做(先埋头练手)是最常见的时间浪费方式。

两个人,同样的「Just OK」

为了让这四个量的差别落到地上,看两个虚构但很典型的玩家。他们在游戏里拿到的评价一模一样,三个数却完全相反:

偏移抖动走位隔壁格该练什么
小 A −48ms18ms0.10 什么都不用练。去校准,十分钟解决。
小 B +2ms52ms0.20 校准毫无用处。老老实实练稳,卷 II。
小 C −5ms16ms2.40 手比谁都稳。问题在钟,去第 7 章。
小 D −3ms21ms0.16 三个数都漂亮。他只是数错了地方,去第 9、13 章。

四个人,四条完全不同的路。如果只看游戏给的评价,他们会做同一件事:再打一遍。其中三个人会白白浪费掉这段时间 —— 小 A 打一百遍也修不掉那个 −48ms,小 C 打一百遍只会把他那台走得偏慢的钟练得更牢,小 D 打一百遍是在把一个错误的位置刻进肌肉里。

顺带说一句最容易被误读的一格:小 B 的偏移是 +2ms,看起来「很准」。这个数其实什么也没说 —— 一个人如果一半时候早 50ms、一半时候晚 50ms,平均值同样接近零。偏移接近零只意味着「你没有系统性倾向」,不意味着你稳。稳不稳只看抖动。

抖动里面还能再拆一层

三个数是这本书的诊断骨架,但抖动这一项其实还可以再拆。

想象一下你跟着节拍器敲。你脑子里有一台钟负责决定「什么时候该动」,而从「决定要动」到「手指真的落下去」,还要经过一段传导与肌肉收缩 —— 这段路本身也有波动。于是你观测到的抖动,是两种噪声叠在一起的结果:一个是钟不准,一个是手不准。

这两种噪声,练法完全不一样:钟不准要练「在心里维持网格」,手不准要练动作本身。而它们居然是可以分开量的 —— 运动噪声会在相邻的两个间隔里留下一个特征签名(一个负的自相关),顺着这个签名可以把两者反解出来。

这件事需要「你连续敲很多下、而且中间没有外部参照」的数据才做得了,所以它放在第 7 章的静默续拍里。那一章的 demo 会告诉你:你不稳的那部分,有多少是钟的锅,有多少是手的锅。

三个数怎么变成分数

最后交代一下这三个数的用途 —— 它们不是自我感觉,它们能直接算出你的成绩。

一个人反复去够同一个时间点,误差近似服从正态分布。给定你的偏移和抖动,再给定判定窗口有多宽,命中率就是一个可以积分出来的确定值。下一章会把这件事算给你看,而且会算出一个很多人不相信的结论:

把偏移修掉(什么都不用练),命中率能从 72.5% 涨到 81.8%;而「一整段全中」的概率,会涨四百倍以上。

这个反差之所以成立,是因为「全中」是一连串独立事件的连乘。单次命中率涨一点点,连乘几十次之后就会被放大成一个巨大的倍数。而恰恰是「全中」这件事,决定你能不能拿到那关的最高评价。

多久体检一次

不要每天量。三个数是能力指标,不是每日心情 —— 它们变化得很慢,而单次测量的噪声却不小(前面那张误差棒的表已经说明了这一点)。

建议的节奏是:

  • 每周一次,用同一个速度、同样敲 32 拍,记下三个数。只看趋势,不看单次波动。
  • 换设备、换显示模式之后立刻重量一次。这时候变的是偏移,而且可能变很多。
  • 练某一项之前和之后各量一次。这是唯一能证明「这个练法对我有用」的办法 —— 否则你只能凭感觉,而感觉在这件事上出了名地不可靠。

把数字记在一个地方(备忘录、便签都行)。三周之后回头看那一列抖动,你会得到这本书能给你的最好的东西:一个不靠感觉、也不靠游戏评价的、你自己在变强的证据。

对症CH 02
偏移 抖动 走位 认错格

本章治的是:四种病的分诊台。它本身不治任何一种,但没有它,后面二十二章你都不知道该翻哪一页。

带走一句话:「我打不好」不是一个可以处理的问题。「我的抖动是 42ms、走位 1.8ms/拍」是。