논문리뷰

[논문리뷰] Detecting Music Performance Errors with Transformes (AAAI 2025)

syveany 2026. 5. 3. 16:53

Polytune 논문이다.

https://arxiv.org/pdf/2501.02030

 

0. Abstract

초보 연주자들은 자기 연주에서 틀린 부분(e.g.음정, 리듬)을 찾는 것을 어려워한다.

기존의 음악 탐지 도구의 2가지 한계를 아래와 같이 극복했다.

 

[한계1] 조금만 달라도 오류가 발생함

  사람 연주는 조금씩 alignment가 흔들릴 수밖에 없으므로 *automatic alignment를 이용해서 대충 score랑 맞춤

  * Automatic alignment 종류: DTW(시간 축을 늘리고 줄이기), forced alignment(특정 sequence 기준으로 강제로 맞추기) 등

  근데 아무리 automaitc한 alignment를 사용한다고 할지라도 쉽지 않음. 근본적으로 불안정함!

  => 극복방법:  Polytune이라는 새로운 transformer 모델을 제안함 (무슨 방법인지는 차차 알아가보겠습니다)

 

[한계2] 데이터가 많이 없기 때문에 heuristic에 많이 의존한다.

  => 극복방법: music error 데이터셋을 대규모로 생성할 수 있는 기법을 제안함

 

이렇게 해서 Error Detection F1 score 평균 64.1%을 달성했다. 14개 악기에서 기존 연구 대비 40%p 향상되었다.

또한 기존의 music error detection에서 사용되는 방법들보다 더 많은 악기들을 다룰 수 있다.

 

3. End-to-end Music Error Detection

Architecture 하고 training regime을 설명한다.

3.1 Intuition and Comparison to Prior Work

Comparison을 아래의 표로 설명한다.

 

그냥 1에서 7로 갈수록 좀 더 어려운 task 느낌이다.

Bentos랑 Wang 방법은 악보랑 오디오 녹음을 정렬하기 위해서 time-warping 알고리즘을 사용하는데, 이게 같은 시간에 연주되어야 하는 음들이 조금씩 엇나가면 오류가 난다.

Combined는 Bentos + Wang이다. 현재의 최선 baseline을 만들어서 Polytune하고 비교한다.

 

Polytune은 모델이 암묵적으로 alignment를 학습하도록 해서 이러한 automatic alignment 문제를 해결한다.

그러면 (a.)와 같이 복잡하게 안 해도 되고 (b.)처럼만 하면 된다.

 

3.2 Music Error Detection Model

기존의 error detection은 alignment를 비교하는 task였는데 polytune은 얘를 *seq2seq 생성 task로 접근을 했다!

* seq2seq: 인풋도 sequential이고 아웃풋도 sequential인 task

전체적인 구조는 MT3에서 가져왔다.

2개의 인풋(score audio, performance audio)을 받아서 아웃풋으로 오류가 표시된 토큰 sequence을 생성한다.

이 과정에서 모델이 alignment를 latent space에서 암묵적으로 학습하도록 한다.

구조는 아래와 같다.

 

Score audio랑 performance audio를 각각 2.145초씩 잘라서 각각 STFT로 spectrogram으로 변형시킨다.

그러고 각각 AST(ViT기반) encoder에 넣는다.

두 개 역할이 다르기 때문에 둘 다 audio임에도 불구하고 멀티모델로 간주해서 encoder를 두 개를 쓴다.

그래서 나온 feature들을 합쳐서 joint encoder에 넣어서 하나의 인코딩 공간에 넣는다.

중간에 인코더 디코더 연결용으로 임베딩 크기를 768에서 512로 바꾸는 선형 projectin layer를 넣는다

이 상태로 T5 decoder에 넣어서 cross-attention 시켜서 *greedy autoregressive 방법으로 token을 추출한다.

* greedy autoregressive 방법: 매 순간 가장 확률 높은 거만 고르면서 한 토큰씩 생성하는 방법

 

3.3 End-to-End Training of the Music Error Detection Model

Input Data

MIDI 대신 audio를 인풋으로 사용한다.

장점 4가지

Generalization: 다양한 악기의 다양한 음색을 포착할 수 있다. (e.g. 바이올린 비브라토, 기타 피치밴딩) MIDI로는 불가능

Extensibility & Expressiveness: 타이밍 오류나 강약 오류같은 새로운 오류 유형도 입력 표현을 바꾸지 않고 탐지할 수 있다

Comparability: 악보가 없는 즉흥재즈나 민속음악도 분석 가능하다. 오디오랑 비교하기 때문이다.

Simplicity in Design: 두 입력 모두 오디오를 사용하면 같은 feature extractor를 다시 사용할 수 있어서 모델 구조가 단순해진다.

 

 

Output Data

 

 

Generating Datasets

 

 

3.4 Baseline