POST

ASR의 근간 (3): MIR — 음악을 인식하는 문제들의 지도

음성 옆의 평행 우주

MIR(Music Information Retrieval)은 음악 오디오에서 정보를 뽑는 분야 전체를 가리킨다 — ISMIR라는 자체 학회와 MIREX라는 자체 벤치마크 챌린지를 가진, 음성 인식의 평행 우주다. 생성(음악 생성, 소스 분리)까지 포함하지만, 이 글은 인식 계열만 지도로 그린다. 문제들은 세 층으로 나뉜다.

1층 — 이 곡이 “무엇”인가 (identity)

  • 오디오 핑거프린팅: “지금 나오는 이 곡 제목이 뭐지?” — Shazam 문제. 고전이 된 해법(Wang, 2003)이 우아하다: 스펙트로그램의 국소 피크들을 뽑아 피크 쌍(주파수 2개 + 시간차)을 해시로 만들고, 쿼리와 DB의 해시 매칭이 시간축에서 일정한 오프셋으로 정렬되는지 본다. 노이즈·압축에 강인하고 수백만 곡에서 밀리초 검색이 된다. 화자 검증과 구조가 비슷해 보이지만 정반대다 — 핑거프린팅은 정확히 같은 녹음을 찾는 문제(불변성 최소화), 아래의 커버곡 검출은 같은 곡의 다른 연주를 찾는 문제(불변성 최대화).
  • 커버곡 검출(cover song identification): 키가 바뀌고 템포가 바뀌고 편곡이 바뀐 같은 곡 — 절대 스펙트럼은 무용지물이고, 화성 진행의 시퀀스(크로마 계열 특징)를 정렬하는 문제가 된다. 최근에는 메트릭 러닝 임베딩으로 수렴 — 화자 검증과 같은 문제 형식이다.

2층 — 이 곡이 “어떤” 곡인가 (semantics)

  • 장르 분류: MIR의 ImageNet 격 입문 태스크. GTZAN(10장르 1000곡)이 오랜 표준이었으나 데이터 결함(중복, 라벨 오류)이 잘 알려져 있어 결과 해석에 주의가 필요하다.
  • 오토태깅(auto-tagging): 장르·무드·악기·시대 등 다중 라벨 예측 — MagnaTagATune, Million Song Dataset이 표준 벤치마크. 멜 스펙트로그램 + CNN이 기본형이고, “이미지 분류 backbone을 거의 그대로 가져와 통한다”는 것이 2010년대 중반의 발견이었다 — 비전 계보(CNN 해부학)가 오디오로 수입된 경로다. 최근은 자기지도·언어 정렬로 이동 중이다 — 대조 학습(CLMR 등), 그리고 CLIP의 음악 버전인 텍스트-오디오 공동 임베딩(MuLan, CLAP)이 제로샷 태깅을 연다.

3층 — 곡 “안에서” 무엇이 일어나는가 (structure & content)

  • 크로마와 CQT — 음악 전용 표현: 음악 분석의 핵심 제약은 배음(harmonics)과 옥타브다. STFT의 선형 주파수 축은 낮은 옥타브에서 반음을 구분 못 하므로, 주파수 bin을 **로그 간격(옥타브당 일정 개수)**으로 배치해 모든 음역에서 반음 해상도를 맞춘 CQT(Constant-Q Transform)를 쓴다. 여기서 옥타브를 접어 12차원(C, C#, …, B)으로 요약한 것이 크로마(chroma) — 화성 정보의 표준 표현이다. 멜 필터뱅크가 “인간 청각”의 prior라면 CQT/크로마는 “서양 음률”의 prior인 셈.
  • 코드 인식·키 추정: 크로마 시퀀스에 HMM을 얹던 고전 구도에서, 지금은 CQT 입력의 CRNN/Transformer가 프레임별 코드 라벨을 출력하는 구도로 — ASR의 음향 모델과 구조가 같다.
  • 비트 트래킹·온셋 검출·템포 추정: 스펙트럼 플럭스(novelty function)의 피크를 찾던 신호처리 접근에서, 프레임별 비트 확률을 출력하는 RNN/TCN + 동적 프로그래밍(madmom 계열)으로. 다운비트(마디 첫 박)까지 포함하면 구조 분석과 이어진다.
  • 음악 전사(AMT): 오디오 → 악보/피아노롤. 피아노 전사(Onsets and Frames 계열)가 가장 성숙했고, 다성(polyphonic) 일반 전사가 남은 난제다. F0 추정(멜로디 추출)이 그 하위 문제.

음성과의 차이, 그리고 수렴

음성과 갈라지는 지점은 표현이다 — 음성은 포락선(멜)이 정보의 대부분이지만, 음악은 정확한 피치와 배음 구조가 정보라서 CQT·크로마·고해상도 스펙트럼이 필요하다. 시간 구조도 다르다: 음성의 시간축은 대략 균일하게 흐르지만 음악은 박(beat)이라는 자체 시계를 갖고, 좋은 모델은 그 시계에 맞춰 정보를 정렬한다.

그럼에도 모델 계보는 정확히 수렴했다: 수공 특징(MFCC, 크로마) + SVM/HMM → 스펙트로그램 + CNN/CRNN → 자기지도 사전학습과 파운데이션 모델(MERT 등), 텍스트 정렬 임베딩. 이 시리즈의 음성 리뷰들(TDNN부터 Conformer까지)을 읽고 나면 MIR 논문의 구조가 그대로 읽히는 이유다. 생성 쪽(소스 분리, 음악 생성)은 이 글의 범위 밖이지만, 인식에서 배운 표현이 생성의 조건화 입력으로 재활용된다는 것만 짚어둔다.