강화 학습을 통한 자동 반주 생성

Automatic Generation of Music Accompaniment Using Reinforcement Learning

  • 김나리 (연세대학교 컴퓨터과학과) ;
  • 권지용 (연세대학교 컴퓨터과학과) ;
  • 유민준 (연세대학교 컴퓨터과학과) ;
  • 이인권 (연세대학교 컴퓨터과학과)
  • 발행 : 2008.02.13

초록

본 연구에서는 사용자가 입력한 멜로디에 따른 반주 음악을 자동으로 생성하는 방법을 제시한다. 시작되는 코드는 사용자의 멜로디에 의해서 생성이 되며, 그 다음 코드들은 코드들간의 전이확률이 정의되어있는 마르코프 체인(markov chain)의 확률 테이블을 이용하여 연속적으로 생성된다. 확률 테이블은 기존 음악의 샘플 데이터를 강화학습(reinforcement learning)을 이용하여 학습된다. 또한 실시간으로 재생되는 반주 코드는 매 상태 마다 주어지는 보상 값을 통해 더 나은 행동을 취할 수 있도록 학습해 나간다. 멜로디와 각 코드들간의 유사성은 피치 클래스 히스토그램을 이용하여 계산된다. 본 기술을 사용하여 주어진 사용자 입력에 조화로운 반주 코드의 자동 생성이 가능하다.

In this paper, we introduce a method for automatically generating accompaniment music, according to user's input melody. The initial accompaniment chord is generated by analyzing user's input melody. Then next chords are generated continuously based on markov chain probability table in which transition probabilities of each chord are defined. The probability table is learned according to reinforcement learning mechanism using sample data of existing music. Also during playing accompaniment, the probability table is learned and refined using reward values obtained in each status to improve the behavior of playing the chord in real-time. The similarity between user's input melody and each chord is calculated using pitch class histogram. Using our method, accompaniment chords harmonized with user's melody can be generated automatically in real-time.

키워드