음악 제작 / 음악 가이드
음악 루프가 끊기는 원인, 길이와 파형·잔향의 차이
이음새에서 한 번 튀는 소리와 회차마다 쌓이는 박의 이동은 조사할 자료가 다르다. 증상을 나눈 뒤 마디·프레임·반복 범위·파형·재개 상태를 순서대로 확인한다.
기사 요약
- 48kHz 8초는 384,000프레임이다.
- 첫 재생 구간과 반복 주기를 구분한다.
- 계산 검사와 실제 반복 청취를 연결한다.

Web Audio API 1.1 · AudioBufferSourceNode 재생 예시
공식 도해의 표본 간격은 1ms, 전체 길이는 12ms, 반복 범위는 4~12ms다. 도입 재생과 8ms 반복을 구분해 읽는다.
이미지 출처: W3C Web Audio Working Group · W3C 문서 라이선스 · 제공 페이지 ↗ · 원본 ↗ · 문서 라이선스 ↗
반복할수록 밀리는지 경계에서만 끊기는지 듣는다
처음에는 맞다가 매번 조금씩 어긋나면 박 원점과 반복 주기를 살핀다. 경계에서 짧게 튀는 소리는 파형의 불연속을, 끝 소리가 갑자기 사라지는 현상은 잔향과 편집 범위를 조사할 단서다. 재개 뒤 소리가 겹치면 살아 있는 소스 수부터 확인한다.
먼저 같은 출력 조건에서 경계를 여러 번 반복하고 사건의 위치를 적는다. 박의 누적 오차, 짧은 클릭, 잘린 잔향과 소스 중첩을 나누면 수정할 자료가 정해진다.
마디 길이를 프레임 수로 바꾼다
고정 120 BPM, 4분음표 한 박, 4/4 네 마디는 8초다. 48,000Hz PCM에서는 시간축의 프레임이 384,000개다. 스테레오 프레임 하나는 좌우 채널 값 두 개를 담으므로 전체 표본 값은 768,000개다. 프레임 수와 채널별 값의 개수를 구분한다.
내보내기는 정수 프레임을 선택한다. 계산값이 소수이면 선택한 반올림과 실제 길이를 적는다. Web Audio의 loopStart·loopEnd는 초 단위 경계이며 사양은 표본 사이의 위치도 다룬다. 파일 편집의 정수 경계와 API 시간 인자를 각각 기록한다.
관련 원자료: W3C · AudioBufferSourceNode Looping ↗ · MDN · loopStart ↗
48kHz PCM 8초의 단위
| 항목 | 값 | 뜻 |
|---|---|---|
| 프레임 | 384,000 | 시간축의 위치 수 |
| 모노 표본 값 | 384,000 | 프레임당 1채널 |
| 스테레오 표본 값 | 768,000 | 프레임당 2채널 |
| 반복 주기 | 8초 | 고정 120 BPM 16박 가정 |

CAT BEAT : 비트를 깨워 · 개발 중 실제 화면
반복 음악을 사용할 수 있는 개발 장면의 사례다. 사진은 파일의 이음새나 청감에 대한 측정 자료와 구분한다.
첫 재생과 이후 반복을 나누어 읽는다
W3C의 버퍼 그림은 1,000Hz, 0.012초 길이와 0.004~0.012초 반복 범위를 사용한다. 밀리초로 바꾸면 첫 재생은 0에서 12ms까지, 이후는 4에서 12ms까지다. 시작 경계는 포함하고 끝 경계에서 시작점으로 돌아온다.
아래 도표는 이를 더 큰 음악 구간인 도입 0~4초·반복 4~12초로 옮긴 자체 모형이다. 첫 12초 뒤 4초로 돌아오므로 반복 주기는 8초다. 도입부를 포함한 총 경과와 반복 중 파일 위치를 나누어 계산한다.
관련 원자료: W3C · AudioBufferSourceNode Looping ↗
도입을 한 번 지나고 같은 구간을 반복한다
편집부 작성 도표 · 0초에서 시작해 4~12초를 반복하는 가상 음악 구간. W3C의 밀리초 그림을 설명용 초 단위로 확장했다.
가로축: 재생 경과(초). 세로축: 파일 위치(초).
작은 화면에서는 도표를 좌우로 밀어 볼 수 있다. 도표 크게 보기 ↗
도표의 값과 읽는 순서
- 경과 0→12:파일 0→12
- 경과 12→20:파일 4→12
- 경과 20→28:파일 4→12
파형의 경계와 잔향의 경계를 고친다
가상 파형의 마지막 값이+0.5, 다음 첫 값이−0.5이면 경계 차이는−1.0이다. 이 값의 도약은 짧은 클릭을 조사하는 단서다. 실제 청감은 주파수·레벨·출력 조건과 함께 확인한다. 그림의 두 점만으로 들리는 정도를 확정하지 않는다.
짧은 페이드는 경계 진폭을 줄이면서 어택도 바꿀 수 있다. 크로스페이드는 두 구간을 겹쳐 합산 레벨과 음악적 위치를 바꿀 수 있다. 잔향을 별도 경로로 이어 주는 방식까지 후보로 두고 기준 박, 어택, 피크와 이음새를 함께 비교한다.
경계의 값 도약과 페이드 후보
편집부 작성 도표 · 끝+0.5와 시작−0.5를 연결한 자체 파형 모형. 오른쪽은 경계 값을 0에 가깝게 조절하는 개념도다.
가로축: 경계 주변 표본 순서. 세로축: 정규화 진폭−1~1. 왼쪽은값 도약, 오른쪽은페이드 후보 개념도.
작은 화면에서는 도표를 좌우로 밀어 볼 수 있다. 도표 크게 보기 ↗
도표의 값과 읽는 순서
- 원본 경계 차이−1.0
- 페이드는 경계와 어택·레벨을 함께 변화시킨다.
중단과 복귀에서 소스의 생애를 확인한다
재개할 때는 저장한 파일 위치와 새 소스의 시작 기준을 정한다. 이전 소스·예약 작업·효과음의 정리 책임도 함께 적는다. 음악 파일의 반복 경계와 애플리케이션의 중단 상태는 서로 다른 점검 항목이다.
설명용 정책은 음악과 노트를 함께 멈추고 파일 위치를 보관한 뒤 준비 표시에서 새 소스를 하나 시작하는 방식이다. 실제 제품은 플레이 규칙과 브라우저 상태에 맞춰 정책을 정한다.
편집 파일과 실행 결과를 한 기록에 묶는다
파일 해시·샘플레이트·채널·프레임 수·박 원점·반복 시작과 끝을 남긴다. 단독 반복, 효과음 동시 재생, 중단 후 복귀를 같은 조건에서 확인한다. 증상에는 경계 번호와 시각을 붙인다.
길이와 경계 계산은 자동 대조하고, 어택·잔향·클릭의 체감은 반복 청취에서 평가한다. 사진은 게임의 활용 맥락, 사양 그림은 범위의 정의, 파형과 기록은 실제 파일의 상태를 설명하는 자료로 사용한다.
증상마다 다른 자료를 확인한다
| 증상 | 기록 | 검사 |
|---|---|---|
| 회차마다 박 이동 | 박 원점·주기·회차 | n회 누적 위치 |
| 경계 클릭 | 경계 전후 표본·출력 | 파형과 반복 청취 |
| 잔향 절단 | 잔향 구간·편집 경계 | 꼬리음의 연결 |
| 재개 시 중첩 | 소스 수·정리 시각 | 한 소스 재개 상태 |
출처·확인 범위
2026.10.17 W3C 반복 절과 버퍼 도해, MDN loopStart를 확인했다. 초·프레임·채널 계산과 경계 파형은 자체 모형이다. 도표는 원리 설명이며 특정 음원의 청취 결과와 분리한다.