Harmony Arrangements using B-Spline Tension Curves

B-스플라인 텐션 곡선을 이용한 음악 편곡

  • 유민준 (연세대학교 컴퓨터과학과) ;
  • 이인권 (연세대학교 컴퓨터과학과) ;
  • 권대현 ((주)SOVICO 기술마케팅, 연세대학교 컴퓨터과학과)
  • Published : 2006.05.31

Abstract

We suggest a graphical representation of the tension flow in tonal music using a piecewise parametric curve, which is a function of time illustrating the changing degree of tension in a corresponding chord progression. The tension curve can be edited by using conventional curve editing techniques to reharmonize the original music with reflecting the user's demand to control the tension of music. We introduce three different methods to measure the tension of a chord in terms of a specific key, which can be used to represent the tension of the chord numerically. Then, by interpolating the series of numerical tension values, a tension curve is constructed. In this paper, we show the tension curve editing method can be effectively used in several interesting applications: enhancing or weakening the overall feeling of tension in a whole song, the local control of tension in a specific region of music, the progressive transition of tension flow from source to target chord progressions, and natural connection of two songs with maintaining the smoothness of the tension flow. Our work shows the possibility of controlling the perceptual factor (tension) in music by using numerical methods. Most of the computations used in this paper are not expensive so they can be calculated in real time. We think that an interesting application of our method is an interactive modification of tension in background music according to the user's emotion or current scenario in the interactive environments such as games.

음악을 들을 때 사람이 인지할 수 있는 긴장감을 뜻하는 텐션(tension)은 조성음악의 기본을 이루는 중요한 요소이다. 본 논문에서는 임의의 곡의 텐션의 움직임을 B-스플라인 곡선을 이용하여 표현하고 이 곡선을 수정하여 음악의 긴장도를 조정할 수 있는 방법을 제안한다. 먼저, 우리는 음악에서 사용되는 다양한 코드들의 긴장도를 측정하는 방법 세 가지를 제안한다. 첫 번째는 러달이 제시한 5도권 기반의 코드 거리 측정방식을 개량한 것이며, 두 번째는 츄가 제시한 나선형 모델의 거리 측정 방식을 응용한 것이며, 세 번째는 크럼한슬이 제시한 특정한 조성에서 각 구성 음들의 안정도와 구성 음들 사이의 음정의 조화성을 이용한 방법이다. 이 방법들을 이용하여 우리는 음악이 지니고 있는 긴장도를 수치적으로 나타낼 수 있다. 다음으로 B-스플라인 곡선을 이용하여 전체 곡의 텐션의 움직임을 표현한다. B-스플라인 곡선으로 표현된 텐션 곡선은 수정이 가해져 원곡의 긴장도를 변화시키는데 사용될 수 있다. 본 논문에서는 곡 전체의 긴장도를 높이거나 낮추는 방법과 최적화를 이용하여 특정 부분의 긴장도를 변화시키는 방법을 제안한다. 그리고 원본 코드 진행에서 목표 코드 진행으로 점차적으로 변화하는 텐션의 움직임을 만드는 방법과, 임의의 두 곡이 부드러운 텐션의 움직임을 유지하면서 자연스럽게 연결될 수 있는 방법을 소개한다. 또한 B-스플라인 곡선을 통하여 새로운 코드 진행을 얻을 수 있는 방법을 소개한다. 본 논문에서는 B-스플라인 곡선이라는 수치적인 형태를 이용하여 음악의 긴장도라는 인지적인 요소를 조절할 수 있는 가능성을 보여주고 있다. 본 논문에 제안하는 여러 방법들은 모두 실시간에 계산이 가능하므로 게임 같은 인터렉티브한 환경에서 사용자의 감정과 시나리오에 따라 배경음악의 긴장도를 동적으로 변환시키는 것 같은 다양한 형태의 애플리케이션에 응용될 수 있다.

Keywords