AI 피아노 채보는 어떻게 작동할까 — 원리와 한계, 좋은 결과를 얻는 법
2026-08-04 · sheet maker
mp3 파일을 올리면 몇 분 뒤 악보가 나온다 — 처음 보면 마법 같지만, 안을 들여다보면 꽤 단계적인 과정입니다. 원리를 알면 "왜 이 곡은 깨끗하게 나오고 저 곡은 엉망일까"가 설명되고, 채보 품질을 올리는 요령도 자연스럽게 이해됩니다. 이 글은 sheet maker를 만들면서 실제로 부딪힌 경험을 바탕으로, 자동 채보(Automatic Music Transcription)의 과정을 비전공자 눈높이로 정리한 것입니다.
1. 소리를 그림으로 — 스펙트로그램
컴퓨터에게 오디오는 1초에 수만 번 기록된 공기 압력의 숫자 나열일 뿐입니다. 여기서 "어떤 음이 울리는지"를 읽어내려면 먼저 소리를 주파수의 그림으로 바꿉니다. 짧은 시간 조각마다 어떤 주파수 성분이 얼마나 강한지 계산해 세로축=주파수, 가로축=시간인 이미지를 만드는데, 이것이 스펙트로그램입니다. 피아노로 가온다(C4, 약 262Hz)를 누르면 262Hz 자리에 밝은 띠가 생기고, 그 위로 524Hz, 786Hz… 하는 배음들이 함께 나타납니다.
채보가 어려운 근본 이유가 바로 이 배음입니다. 도와 솔을 같이 누르면 두 음의 배음이 겹치고, 화음이 커질수록 스펙트로그램은 띠가 뒤엉킨 그물이 됩니다. 사람 귀는 이것을 자연스럽게 분리해 듣지만, 규칙 기반 프로그램으로 풀기는 대단히 어렵습니다.
2. 신경망이 하는 일 — 프레임마다 "지금 어떤 건반이 눌려 있나"
현대 채보 모델은 이 그물 이미지를 신경망에 넣고, 아주 짧은 시간 조각(프레임)마다 88개 건반 각각에 대해 "지금 이 건반이 눌려 있을 확률"을 출력하게 학습시킵니다. 학습 데이터는 주로 자동 연주 피아노(디스클라비어 등)로 녹음한 것입니다. 실제 사람이 연주하면 건반 움직임이 MIDI로 정확히 기록되고 소리도 함께 녹음되므로, "이 소리 = 이 건반"이라는 정답 쌍이 대량으로 만들어집니다.
좋은 모델은 확률만 출력하지 않고 세 가지를 따로 예측합니다:
- 온셋(onset) — 건반이 눌리는 순간. 음표의 시작점이 됩니다.
- 지속(frame) — 눌린 상태가 유지되는 구간. 음표의 길이가 됩니다.
- 세기(velocity) — 얼마나 세게 눌렀는지. 셈여림 정보로 남습니다.
이 셋을 조합하면 "몇 초에 어떤 음이 얼마나 세게 시작해 몇 초까지 울렸다"는 음표 목록이 나옵니다. 여기까지가 흔히 말하는 AI 채보의 본체입니다.
3. 음표 목록에서 악보까지 — 의외로 여기가 절반
그런데 음표 목록이 곧 악보는 아닙니다. 좋은 악보가 되려면 그 위에 음악적 해석이 한 겹 더 필요하고, 실제로 채보 서비스 품질 차이의 상당 부분이 이 후처리에서 갈립니다. sheet maker가 하는 후처리는 대략 이렇습니다:
- 박자 추적과 그리드 정렬 — 사람 연주는 미묘하게 밀고 당기기 때문에(루바토), 비트를 추적해 음표를 마디 격자에 맞춰야 마디선이 어긋나지 않습니다. BPM을 하나로 고정하면 곡 후반에서 위상이 틀어져 악보 전체가 붕괴됩니다.
- 박자표 추정 — 온셋이 몰리는 위상을 분석해 4/4인지 3/4인지 판정합니다.
- 양손 분리 — 음높이와 손 위치의 흐름을 보고 각 음을 위/아래 보표에 배정합니다. 단순히 "가온다 기준으로 자르기"만 하면 교차 구간에서 바로 틀립니다.
- 조표 추정과 철자 — 곡의 조성을 추정해 ♯ 4개짜리 곡이 임시표 숲이 되지 않게 합니다.
- 페달 잔향 정리 — 서스테인 페달 때문에 4~5초씩 울린 음을 그대로 그리면 겹온음표와 붙임줄 수프가 됩니다. 표기용 길이는 정리하되 재생용 원본 타이밍은 따로 보존합니다.
4. 지금 기술의 한계 — 무엇을 기대하면 안 될까
솔로 피아노 녹음에서 최신 모델의 음표 검출 정확도는 상당히 높지만, 다음은 여전히 어렵습니다:
- 보컬·드럼이 섞인 음원 — 피아노가 아닌 소리가 피아노 음으로 오인되거나, 여린 반주가 묻힙니다. 음원 분리를 먼저 거치면 크게 개선되지만 완벽하지는 않습니다.
- 빽빽한 화음 속 여린 음 — 강한 음의 배음에 가려진 여린 음은 누락되기 쉽습니다.
- 성부 구조의 이해 — 사람 편곡자는 멜로디·대선율·반주를 구분해 악보를 정리하지만, 모델은 음표를 검출할 뿐 성부를 이해하지 못합니다.
- 연주 실수와 잡음 — 원본 연주의 실수, 녹음 잡음도 충실하게(!) 채보됩니다.
그래서 현실적인 목표는 "완벽한 악보 자동 생성"이 아니라 "95%를 자동으로 만들고, 나머지 5%를 쉽게 고치는 것"입니다. sheet maker의 편집기(드래그로 음 옮기기, M키 손 이동, 우클릭 삭제, Ctrl+Z)가 그 5%를 위한 도구입니다.
5. 채보 품질을 올리는 실전 팁
- 솔로 피아노 음원을 구하세요. 같은 곡이라도 피아노 커버 음원이 원곡(보컬+밴드)보다 훨씬 깨끗하게 나옵니다.
- 보컬이 섞였다면 분리 옵션을 켜세요. 느려지지만 피아노 성분만 뽑아 채보하므로 오검출이 크게 줍니다.
- 음질 좋은 파일을 쓰세요. 저음질 인코딩·라이브 녹음의 잔향과 관객 소음은 그대로 오검출로 이어집니다.
- 박자가 이상하면 박자표부터 확인하세요. 3/4 곡이 4/4로 추정되면 마디선이 전부 어긋나 보입니다. 편집 패널에서 박자표를 바꾸면 즉시 다시 정렬됩니다.
- 채보 후 5분 정리 습관. 재생을 켜고 어색한 음을 몇 개만 지워도 악보 체감 품질이 크게 오릅니다.
6. 왜 무료인가요?
채보 연산이 사용자 브라우저에서 돌아가는 구조라 서버 비용이 거의 들지 않고, 사이트 운영비는 광고로 충당하는 모델이기 때문입니다. 분량 제한이나 회원가입 없이 쓸 수 있는 이유이기도 합니다. 만들어진 악보는 갤러리에 공유할 수도 있고, PDF·MIDI·MusicXML로 내려받아 다른 프로그램에서 이어 작업할 수도 있습니다.