BLSTM 기반 멜로디에서 코드 자동 생성

본 논문은 단일 멜로디 라인을 입력으로 받아 12음계 기반 특징 벡터를 추출하고, 이를 정규화한 뒤 양방향 LSTM(BLSTM) 네트워크로 학습시켜 코드 진행을 자동 생성한다. 제안 모델은 기존의 단순 HMM과 DNN‑HMM 대비 정확도에서 각각 23.8%와 11.4% 향상을 보였으며, 청취자 설문에서도 선호도가 높았다.

저자: Hyungui Lim, Seungyeon Rhyu, Kyogu Lee

논문은 단일 음선(모노포닉) 멜로디로부터 화성(코드) 진행을 자동으로 생성하는 문제에 접근한다. 기존 연구에서는 주로 확률 모델인 HMM을 활용했으며, 이는 관측값이 독립적이라는 가정과 현재 상태만을 고려한다는 제한으로 장기 의존성을 포착하기 어려웠다. 최근 딥러닝, 특히 순환 신경망(RNN)과 장기 기억(LSTM) 구조가 시계열 데이터에서 뛰어난 성능을 보이면서 음악 생성 분야에도 적용되고 있다. 저자는 이러한 흐름을 이어 받아 양방향 LSTM(BLSTM)을 기반으로 한 코드 생성 시스템을 제안한다. 데이터는 Wikifonia에서 제공된 5,533개의 서양 음악 리드시트 중 2,252곡을 추출했으며, 모두 메이저 키에 해당한다. 각 곡은 바 단위로 나누어 12개의 반음 클래스로 누적된 지속시간 벡터(12‑dim)와 해당 바의 코드(24‑dim, 메이저·마이너 트라이어드)로 변환된다. 키와 박자 차이를 없애기 위해 모든 곡을 C장조로 전조하고, 박자에 따라 음표 길이를 역수로 정규화한다. 이렇게 전처리된 데이터는 1802곡(72,418바)으로 학습, 450곡(17,768바)으로 테스트한다. 모델 구조는 입력 레이어(12유닛) → 2개의 BLSTM 레이어(각 128유닛) → 출력 레이어(24유닛)이며, 시간‑분산 레이어를 사용해 바별 시퀀스를 그대로 전달한다. 활성화 함수는 tanh, 출력은 softmax, 드롭아웃 0.2를 적용해 과적합을 방지한다. 학습은 Adam 옵티마이저와 categorical cross‑entropy 손실을 사용하고, 배치 크기 512, 조기 종료(patience=10)로 진행한다. 비교 대상으로는 (1) 단순 HMM: 초기 확률, 1차 전이 확률, 멜로디‑코드 다항 분포 기반 방출 확률을 추정하고 Viterbi 디코딩을 수행한다. (2) DNN‑HMM: 입력‑출력 구조는 12‑128‑128‑128‑24이며, DNN이 직접 후방 확률을 출력하고 HMM의 초기·전이 확률을 그대로 적용한다. 정량적 평가는 바 길이(4, 8, 12, 16)별 정확도를 측정했으며, BLSTM이 모든 경우에서 최고 성능을 보였다. 4‑bar 입력 시 BLSTM은 71.2%의 정확도를 기록했고, 이는 HMM(57.4%)과 DNN‑HMM(63.8%)에 비해 각각 23.8%·11.4% 향상된 수치이다. 혼동 행렬 분석에서는 HMM이 C, F, G 등 기본 트라이어드에 과다 편향되는 반면, BLSTM은 전반적으로 균형 잡힌 예측을 보여준다. 주관적 평가에서는 K‑pop 및 서양 팝 곡의 4‑bar 멜로디 18개를 선택해, 원본 코드와 세 모델이 생성한 코드를 청취자 25명에게 5점 척도로 평가받았다. BLSTM이 평균 4.1점으로 가장 높은 선호도를 얻었으며, DNN‑HMM과 HMM은 각각 3.4점·2.9점을 기록했다. 설문 결과는 BLSTM이 음악적 맥락을 더 자연스럽게 반영한다는 것을 뒷받침한다. 논문의 한계로는 데이터가 메이저 키에만 국한되고, 코드 라벨을 24개의 메이저·마이너 트라이어드로 단순화한 점을 들 수 있다. 이는 실제 음악에서 흔히 사용되는 7화음, 확장 코드 등을 반영하지 못한다는 의미다. 또한, 바당 하나의 코드만을 사용했기 때문에 복합적인 화성 진행을 다루는 데 제약이 있다. 향후 연구에서는 다키 전조, 마이너·모드 다양성, 복합 코드 라벨링, 그리고 더 큰 규모의 다문화 데이터셋을 활용해 모델을 확장하고, 생성된 코드의 음악적 품질을 자동 평가할 수 있는 메트릭을 개발하는 것이 제안된다.

원본 논문

고화질 논문을 불러오는 중입니다...

댓글 및 학술 토론

Loading comments...

의견 남기기