@onjmin/dtm
    Preparing search index...

    Function splitTrackVelocity

    • トラックに書かれた v(実効値)の列を、トラック音量 T と相対 velocity に分ける。

      • 列が空なら { volume: fallback, velocities: [] }。
      • T = min(100, 列の最大)。いちばん強い音が相対100になる(最大が100を超えるトラックは T = 100 で、velocity = v のまま。≤127)。
      • T = 0(全部 v0)なら割り算を避けて、velocity はすべて100。

      往復が正確な理由: r = round(100v/T) = 100v/T + e(|e| ≤ 0.5)とおくと、 T·r/100 = v + T·e/100。T < 100 なら |T·e/100| < 0.5、T = 100 なら e = 0。 よって effectiveVelocity(T, r) は必ず v に戻る。

      Parameters

      • velocities: readonly number[]
      • fallback: number

      Returns TrackVelocitySplit