This paper investigates a deep learning model for generating Bach-style four-part chorale harmonization for given melody. The goal is to generate harmonically improved harmony voices by applying a model architecture capable of capturing both horizontal melodic progressions and vertical harmonic structures. The model architecture is based on an LSTM-based encoder-decoder structure, where each voice part is generated autoregressively for each frame. An encoder structure is proposed to model the harmonic structure formed by the voice parts. And sequential generation is performed based on the generated results of each voice part to learn the relationships between voices. Furthermore, the proposed model is extended to predict chords before generating voices, allowing for the generation of harmonic chorale even without explicit chord condition. The proposed model demonstrated improved performance in terms of token prediction error rate and the frequency of parallel fifth/octave occurrences compared to the baseline model. Furthermore, the chord prediction model exhibited more harmonically generated results compared to applying the existing model architecture.
본 논문은 주어진 멜로디에 대해 바흐 스타일의 4성부 합창 화음을 생성하는 딥러닝 모델을 연구한다. 수평적인 선율 진행과 수직적인 화성 구조를 모두 포착할 수 있는 모델 구조를 적용하여 화성적으로 개선된 화음을 생성하는 것을 목표로 한다. 모델 아키텍처는 LSTM기반의 인코더-디코더 구조로, 각 성부를 프레임마다 생성하는 자기 회귀 모델이다. 성부들이 이루는 화성적인 구조를 모델링하기 위한 인코더 구조를 도입하고, 성부 간 관계를 학습하기 위해 각 성부의 생성 결과를 기반으로 다른 성부 화음을 생성하도록 한다. 또한 코드 정보가 입력 조건으로 주어지는 베이스라인 모델을 확장하여, 화음 성부를 생성하기 이전에 코드를 예측함으로써 명시적인 코드 진행이 주어지지 않아도 화성 진행을 생성할 수 있도록 한다. 제안한 모델은 베이스라인 모델 대비 토큰 예측 오류율 및 병행 5도/8도 오류 빈도 등의 측면에서 향상된 성능을 보였다. 또한 코드 예측 모델의 경우 제안된 모델 아키텍처를 적용함으로써 보다 화성적인 생성 결과를 보였다.