오디오 기술 / 오디오 해설
리듬게임 싱크 보정, 평균과 중앙값으로 읽는 입력 오차
같은 박을 반복해 누른 기록이 대부분 조금 늦고 한 번 크게 늦었다면, 두 현상을 나눠 읽어야 한다. 가상 입력 일곱 개를 평균과 중앙값으로 요약하고 45ms를 뺀 뒤에도 남는 흔들림을 같은 축에서 확인한다.
기사 요약
- 타격 오차의 측정 기준과 사람·장치가 섞인 조건을 적는다.
- 가상 표본의 평균 61ms·중앙값 45ms를 검산한다.
- 잔여 e−c와 분포 범위를 함께 읽고 조건별로 재시험한다.

CAT BEAT : 비트를 깨워 · 개발 중 실제 화면
입력 안내와 퍼펙트 효과를 관찰하는 실제 연습 화면이다. 반복 입력을 기록할 상황의 예로 사용하고 수치 계산은 아래 가상 표본에서 수행한다.
계속 조금 늦는 입력과 한 번 크게 늦는 입력
연습 화면에는 반복할 목표와 입력 결과가 보인다. 실제 보정 시험을 설계한다면 같은 패턴·출력·입력 방식에서 반복 기록을 얻고, 어느 시점과 비교한 오차인지 먼저 적는다. 이 글의 일곱 값은 계산을 설명하기 위해 만든 가상 표본이다.
보정은 분포 전체를 앞뒤로 옮기는 조작이다. 같은 양을 빼도 회차 사이의 간격은 남는다. 분포의 중심과 개별 입력의 흩어짐을 같은 축에서 살펴보면 한 값으로 조정할 부분과 추가 조사할 부분이 드러난다.
무엇이 섞인 측정인지 정한다
반복 타격에는 소리·화면 단서, 사람의 예측, 입력 장치와 소프트웨어 전달이 함께 들어간다. 리듬을 예상해 누르는 과제는 신호 이후 반응하는 과제와 측정 정의가 다르다. 오차를 곧 장치 지연이나 반응시간으로 이름 붙이기 전에 과제를 적는다.
목표와 입력을 같은 시간 기준으로 바꾸고 e=입력−목표로 정한다. getOutputTimestamp는 출력 프레임의 오디오/performance 시각 대응에 사용한다. 물리 출력 지연을 얻는 시험에는 별도 센서와 시작·끝 사건의 정의를 둔다.
관련 원자료: MDN · getOutputTimestamp() ↗
가상 일곱 회차와 45ms 이동
| 회차 | 원래 오차(ms) | 잔여(ms) |
|---|---|---|
| 1 | 41 | −4 |
| 2 | 43 | −2 |
| 3 | 44 | −1 |
| 4 | 45 | 0 |
| 5 | 46 | 1 |
| 6 | 48 | 3 |
| 7 | 160 | 115 |

DJMAX RESPECT V · 공식 PC판 화면
판정선과 입력 결과 표시를 보여 주는 화면이다. 보정 UI·타임스탬프 로그·기기 지연 계측은 각 자료에서 별도로 확인한다.
평균 61ms와 중앙값 45ms를 검산한다
41·43·44·45·46·48·160ms의 합계는 427ms, 평균은 61ms다. 정렬한 일곱 값의 가운데인 네 번째 값은 45ms다.160ms를 포함한 분포에서는 평균과 중앙값이 다른 위치를 나타낸다.
NIST는 위치 대표값을 분포 형태와 극단값의 영향에 따라 설명한다. 여기서는 두 대표값을 후보로 비교하고,160ms가 기록된 순간의 부하·입력·조건 변경을 확인할 항목으로 둔다. 값을 제외할 기준과 이유는 계산 전에 정의해 남긴다.
관련 원자료: NIST · Measures of Location ↗
같은 축에서 보는 45ms 보정 전후
편집부 작성 도표 · 일곱 가상 오차를 모두 45ms 이동했다. 원래 평균 61ms·중앙값 45ms, 보정 뒤 평균 16ms·중앙값 0ms다.
가로축: 목표 대비 오차(ms), 위아래 축 공통. 두 묶음은 보정 전·후이며 원 하나는 한 가상 입력이다. 가까운 점은 세로로 나눴다.
작은 화면에서는 도표를 좌우로 밀어 볼 수 있다. 도표 크게 보기 ↗
도표의 값과 읽는 순서
- 원래 41·43·44·45·46·48·160ms
- 잔여−4·−2·−1·0·1·3·115ms
- 범위 119ms는 유지
보정 부호를 정하고 같은 축에 옮긴다
이 예제의 규약은 잔여 오차 r=e−c다. c=45ms를 적용하면 −4·−2·−1·0·1·3·115ms가 된다.45ms였던 입력은 0이 되고 160ms였던 입력은 115ms로 남는다.
원래 범위 160−41=119ms와 잔여 범위 115−(−4)=119ms는 같다. 고정 이동은 위치를 바꿨다. 게임 설정에서 목표 시각을 옮기는 방식은 부호 정의가 다를 수 있어, 알려진 이른/늦은 입력으로 실제 변화 방향을 대조한다.
큰 잔여 오차의 원인을 기록으로 조사한다
115ms가 남았다는 값만으로 특정 원인을 정하지 않는다. 사건 시각, 프레임 지연, 단서 노출과 출력 조건의 변화 기록을 함께 읽는다. 같은 축의 보정 전후 그림은 무엇이 이동했고 무엇이 남았는지 보여 준다.
유선·기기 스피커·무선 출력, 브라우저와 부하 조건을 나누어 새 기록을 모은다. 개인별 요약과 개별 점, 표본 수를 같이 제시하고 한 조건에서 고른 값이 다른 조건에서도 맞는지 다시 확인한다.
중심이 비슷해도 흔들림이 다른 두 조건
편집부 작성 도표 · 조건 A/B의 합성 점 자료로 위치와 산포를 나눈다. 특정 출력 장치의 우열을 측정한 자료와 구분한다.
가로축: 입력 오차(ms), 축 범위 동일. 점 하나=가상 회차.
작은 화면에서는 도표를 좌우로 밀어 볼 수 있다. 도표 크게 보기 ↗
도표의 값과 읽는 순서
- A:36·38·40·42·44ms, 중앙값 40ms·범위 8ms
- B:0·20·40·60·80ms, 중앙값 40ms·범위 80ms
기본값과 재시험 경로를 함께 제공한다
운영 UI에는 현재 값과 단위, 변화 방향, 기본값 복귀를 제공할 수 있다. 시험에는 단서 종류·장치·회차·빌드·날짜·보정값을 남긴다. 숫자 변경과 실제 입력 과제를 같은 조건에서 비교한다.
일곱 가상 표본은 대표값과 부호를 익히는 예다. 제품의 안정적인 보정값과 필요한 반복 수는 대상 환경에서 확인한다. 계산 대조, 주관 입력 시험과 물리 계측 결과를 각각의 기록으로 관리한다.
보정 기록의 측정 정의
| 항목 | 적을 내용 |
|---|---|
| 목표 사건 | 음악 파일/출력 기준 중 선택한 시점 |
| 입력 사건 | 정규화한 이벤트와 시계 |
| 단서 | 청각·시각·둘 다·예측 과제 |
| 환경 | 기기·브라우저·입력/출력·부하 |
| 계산 | e=입력−목표, r=e−c, 단위ms |
| 검토 | 표본 수·전체 점·대표값·산포·제외 이유 |
출처·확인 범위
2026.10.17 NIST의 평균·중앙값과 극단값 설명, getOutputTimestamp의 반환 대상과 단위를 확인했다. 일곱 값·45ms 이동은 자체 학습 예제다. 실제 사람·장치 자료, 기기별 권장 보정과 표본 수는 별도 측정 과제다.