KR20160121879A - 멜로디 자동 생성 방법 및 멜로디 자동 생성 시스템 - Google Patents

멜로디 자동 생성 방법 및 멜로디 자동 생성 시스템 Download PDF

Info

Publication number
KR20160121879A
KR20160121879A KR1020150051659A KR20150051659A KR20160121879A KR 20160121879 A KR20160121879 A KR 20160121879A KR 1020150051659 A KR1020150051659 A KR 1020150051659A KR 20150051659 A KR20150051659 A KR 20150051659A KR 20160121879 A KR20160121879 A KR 20160121879A
Authority
KR
South Korea
Prior art keywords
melody
pattern
objective
fitness function
pitch
Prior art date
Application number
KR1020150051659A
Other languages
English (en)
Inventor
안창욱
정재훈
Original Assignee
성균관대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 성균관대학교산학협력단 filed Critical 성균관대학교산학협력단
Priority to KR1020150051659A priority Critical patent/KR20160121879A/ko
Publication of KR20160121879A publication Critical patent/KR20160121879A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0033Recording/reproducing or transmission of music for electrophonic musical instruments

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Auxiliary Devices For Music (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

멜로디를 생성하는 멜로디 자동 생성 방법은 컴퓨터 장치가 화성 진행 패턴 및 리듬 패턴을 입력받는 단계 및 상기 컴퓨터 장치가 상기 화성 진행 패턴 및 상기 리듬 패턴을 기반으로 연속된 음을 갖는 멜로디를 생성하는 단계를 포함한다. 상기 컴퓨터 장치는 음악의 안정감과 음악의 긴장감을 각각 목적 함수로 갖는 다목적 적합도 함수를 이용하여 상기 멜로디를 생성한다.

Description

멜로디 자동 생성 방법 및 멜로디 자동 생성 시스템{AUTOMATIC MELODY COMPOSITION METHOD AND AUTOMATIC MELODY COMPOSITION SYSTEM}
이하 설명하는 기술은 자동으로 멜로디 라인을 생성하는 방법 내지 시스템에 관한 것이다.
종래 음악을 컴퓨터 장치를 이용하여 자동으로 생성하려는 연구가 있었다. 대부분의 종래 연구는 멜로디를 입력으로 사용하여 화음을 생성하거나, 몇 가지 변수를 고려하여 확률적 방법에 기반하여 음을 생성하였다.
한국공개특허 제10-2006-0109813호 한국공개특허 제10-2012-0060085호 한국등록특허 제10-0762079호
종래 음악을 자동으로 생성하는 기법은 기존의 음악 정보를 템플릿으로 사용하기 때문에 표절의 가능성이 높았다. 즉, 자연인이 음악을 창조하는 과정에 비해 단순한 기준을 사용하였기 때문에 새로운 저작물로서 가치 있는 음악을 만드는데 한계가 있었다.
이하 설명하는 기술은 다목적 유전자 알고리즘을 사용하여 안정감과 긴장감이라는 상반된 기준을 적절하게 만족하는 멜로디를 생성하고자 한다.
이하 설명하는 기술의 해결과제는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 해결과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
멜로디를 생성하는 멜로디 자동 생성 방법은 컴퓨터 장치가 화성 진행 패턴 및 리듬 패턴을 입력받는 단계 및 컴퓨터 장치가 화성 진행 패턴 및 리듬 패턴을 기반으로 연속된 음을 갖는 멜로디를 생성하는 단계를 포함한다.
컴퓨터 장치는 음악의 안정감과 음악의 긴장감을 각각 목적 함수로 갖는 다목적 적합도 함수이용하여 멜로디를 생성한다.
다목적 적합도 함수는 화성을 형성하는 정도, 음의 높이 변화 및 음의 높이 간격 중 적어도 하나를 기준으로 안정감 및 긴장감을 평가한다.
멜로디 자동 생성 시스템은 화성 진행 패턴을 저장하는 화성 저장 장치, 리듬 패턴을 진행하는 리듬 저장 장치 및 화성 진행 패턴 및 리듬 패턴을 기준으로 음악의 안정감과 음악의 긴장감을 각각 목적 함수로 갖는 다목적 적합도 함수를 이용하여 연속된 음을 갖는 멜로디를 생성하는 컴퓨터 장치를 포함한다.
이하 설명하는 기술은 음의 선택에 따라 안정감과 긴장감을 평가하는 다목적 유전자 알고리즘을 사용하여 다양하면서도 동시에 듣기 좋은 음악을 생성한다.
이하 설명하는 기술의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 유전자 알고리즘에 사용하는 자료 구조 및 염색체 변이에 대한 예이다.
도 2는 멜로디 자동 생성 방법에 대한 순서도의 예이다.
도 3은 멜로디를 생성하기 위한 다목적 유전자 알고리즘의 흐름에 대한 순서도의 예이다.
도 4는 안정감과 긴장감을 평가하는 기준에 따른 다목적 적합도 함수의 해를 도출하는 예이다.
도 5는 염색체 변이에 따른 음의 변화를 평가하는 예이다.
도 6은 멜로디 자동 생성 시스템에 대한 구조를 나타내는 블록도의 예이다.
이하 설명하는 기술은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 이하 설명하는 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 이하 설명하는 기술의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 이하 설명하는 기술의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함한다" 등의 용어는 설시된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.
도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다. 따라서, 본 명세서를 통해 설명되는 각 구성부들의 존재 여부는 기능적으로 해석되어야 할 것이며, 이러한 이유로 이하 설명하는 멜로디 자동 생성 방법 및 멜로디 자동 생성 시스템에 따른 구성은 이하 설명하는 기술의 목적을 달성할 수 있는 한도 내에서 대응하는 도면과는 상이해질 수 있음을 명확히 밝혀둔다.
또, 방법 또는 동작 방법을 수행함에 있어서, 상기 방법을 이루는 각 과정들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 과정들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
먼저 음악과 관련된 용어를 간락하게 설명한다. 음 높이(pitch)는 발생하는 음의 주파수에 따라 달라진다. 음의 높이는 A, B, C, D, E, F 및 G와 같이 7도음을 주로 사용한다. 음의 높이는 음계에서 표현이 되는데 음표(note)의 위치에 따라 같은 음이라도 높이가 달라진다. 예컨대, A4 음표는 약 440Hz의 크기이고, A5는 880Hz의 크기이다.
멜로디(melody)는 시간의 흐름에 따른 음의 높이의 배열에 해당한다. 또한 각 음의 높이는 일정한 발생 시간(duration)을 갖는다. 일정한 발생 시간을 갖는 음의 높이의 배열은 멜로디 리듬에 해당한다. 리듬(rhythm)은 어떤 음이 발생할 때 음이 얼마나 지속되는가에 따라 결정된다.
조성(tonality)는 음의 높이 또는 화음(chord)이 안정감(stability)과 끌림(attraction)이 느껴지도록 배열되는 체계를 의미한다. 일반적으로 음의 높이 또는 음표가 안정감이 있다면 조성이 조화(consonant)로운 것이고, 음의 높이 또는 음표가 안정적이지 않다면 조성이 조화롭지 않은(dissonant) 것이다. 불협화음은 안정감에 반하는 긴장감(tension)을 포함한다. 조화 과정(resolution)은 화음 또는 음표가 부조화에서 조화로 변경되는 과정을 의미한다.
화음은 음이 동시에 발생하여도 조화로운 3개 이상의 음표의 집합을 의미한다. 화성음(chord tone)은 화음에 해당하는 음표 요소이고, 비화성음(non chord tone)은 화음에 해당하지 않음 음표 요소를 의미한다. 화성음은 동시에 발생하는 경우 매우 안정적이자만, 비화성음은 반대로 안정적이지 못한다.
Figure pat00001
예컨대, 상기 표 1에서 CM7(C Major 7) 화음은 C, E, G 및 B가 화성음에 해당한다. CM7에 대해 D 및 A는 텐션 음표(tension note)이고, CM7에 대해 F는 회피 음표(avoid note)이다. 텐션 음표는 해당 화음에 일정한 긴장감을 유발하는 음에 해당한다. 회피 음표는 해당 화음에서 불협화음을 초래하는 음에 해당한다. 회피 음표는 텐션 음표보다 높은 긴장감을 초래한다.
표 1에는 기재하지 않았지만, 비화성음은 음계를 구성하지 않는 음표(비음계 음표)를 포함할 수도 있다. 비음계 음표는 매우 높은 긴장감을 형성한다.
다목적 유전자 알고리즘(Multi-objective Genetic Algorithm)
멜로디 자동 생성을 위해서 다목적 유전자 알고리즘을 사용한다. 전술한 안정감(stability)와 긴장감(tension)이라는 목적 함수를 사용하여 적절한 멜로디를 생성하고자 하는 것이다.
다목적 유전자 알고리즘은 하나 이상의 목적 함수를 최적화한다. 이때 복수의 목적 함수는 서로 트레이드 오프(trade off) 관계에 있는 함수이다. 다목적 유전자 알고리즘은 모든 목적 함수를 최소화하는 해(solution)를 내기는 어렵다. 다양한 다목적 유전자 알고리즘이 사용될 수 있다. 예컨대, NSGA-II(non-dominated sorting genetic algorithm II)와 같은 알고리즘을 사용할 수 있다. 알고리즘이 해(解)를 결정하는 과정을 간단하게 설명한다.
Figure pat00002
Figure pat00003
상기 수학식 1과 수학식 2를 만족하면 해 x1가 해 x2 보다 우세하다. 다수의 해가 포함된 모집단에서 가장 우세한 해를 파레토 프론트(pareto front)라고 부른다. 최초의 파레토 프론트는 서열 1이되고, 파레토 프론트는 모집단에서 제외한다. 다시 모집단에서 가장 우세한 해가 서열 2인 파레토 프론트가 되고, 모집단에서 제외된다. 이와 같은 과정을 모집단이 공집합이 될 때까지 반복한다.
높은 서열을 가진(서열 1이 가장 높은 서열임) 염색체(chromosome)가 진화 과정에서 보다 나은 해로 선택한다. 만약 두 개의 염색체가 동일한 랭크를 갖는다면 두 개의 염색체 중 낮은 밀도(density)를 갖는 염색체가 선택된다.
다목적 유전자 알고리즘에 기반한 자동 멜로디 생성
아래의 표 2는 멜로디 생성을 위한 자료 구조(data structure)에 대한 예이다.
Figure pat00004
멜로디 생성에 사용할 수 있는 음표(note)들을 모두 자연수에 매칭하였다. 예컨대, C4는 60이라는 값을 갖는다. 음의 길이는 연속적인 0(zero)의 개수로 표현할 수 있다. 예컨대, 염색체에서 음의 높이에 해당하는 음표와 함께 일정한 길이를 나타내는 하나 이상의 0을 사용하여 일정한 길이를 갖는 음의 높이를 표현할 수 있다.
유전자 알고리즘에서 돌연변이(mutation) 및 교차(crossover)와 같은 유전적 동작(genetic operation)은 모집단의 다양성을 유지한다. 교차 동작은 두 개의 부모 염색체에서 일부 구성을 서로 교환하여 해를 변경한다. 돌연 변이 동작은 아나 이상의 유전자 값을 변경하여 염색체가 서로 너무 유사해지는 것을 방지한다. 교차 나 돌연변이가 발생하는 지점은 임의(random)로 선택된다.
도 1은 유전자 알고리즘을 사용하여 염색체가 변이된 자식이 생성되는 예를 도시한다. 도 1에서 부모 1(parent 1) 및 부모 2(parent 2)는 전술한 도 2와 같은 자료 구조를 갖는다. 도 1은 부모 1(parent 1) 및 부모 2(parent 2)가 각각 유전적 동작을 통해 자신과는 다른 자식 1(offspring 1) 및 자식 2(offspring 2)을 생성한 예이다.
부모 1(parent 1) 및 부모 2(parent 2)는 대응되는 우측의 데이터를 서로 교환하였고(교차), 부모 1(parent 1)은 가장 앞에 있는 음표에 해당하는 데이터가 -1에서 67로 변경되었다(돌연 변이). 새로 생성된 자식 염색체는 다음 세대의 모집합에 포함된다.
이하 유전자 알고리즘에서 사용되는 적합 함수(fitness function)에 대해 설명한다. 멜로디 생성을 위해 서로 트레이드 오프 관계인 안정감과 긴장감을 목적 함수로 사용한다. 따라서 안정감과 긴장감을 평가하기 위한 두 개의 적합 함수가 요구된다. 두 개의 적합 함수는 모든 염색체에 할당된다.
첫 번째 적합 함수(제1 적합 함수)는 안정감에 대한 함수이다. 예컨대, 화성음은 전술한 바와 같이 안정감을 전달하는 특성이 있다. 또한 멜로디 라인이 점차 낮은 음으로 진행하면 안정감을 준다.
두 번째 적합 함수(제2 적합 함수)는 김장감에 대한 함수이다. 제2 적합 함수의 값이 높다면 멜로디는 부조화스러운 화음을 포함하게 된다. 예컨대, 멜로디 라인이 점차 높은 음으로 진행하면 긴장감을 준다.
안정감과 긴장감이라는 관점에서 사용자의 취향에 대한 정보를 사전에 알고 있다면 두 개의 목적 함수를 만족하는 최적의 해를 얻을 수 있다. 사용자의 취향 정보에 따라 각 목적함수에 적절한 가중치를 부여할 수 있다. 그러나 사전에 각 값에 대한 가중치를 아는 것은 쉽지 않다.
다목적 적합도 함수를 사용하면 사용자는 동일한 레벨에 속하는 좋은 해에 해당하는 멜로디 세트를 얻을 수 있다. 사용자는 복수의 멜로디 중에서 사용자 취향에 맞는 멜로디를 선택할 수도 있다. 물론 사용자의 선택 과정 없이 다목적 적합도 함수의 해를 이용하여 일정한 멜로디를 생성할 수도 있을 것이다.
안정감과 긴장감이라는 상반된 요소로 멜로디를 평가하기 위한 몇 가지 기준에 대해 살펴본다.
(1) 화성음과 비화성음
화성음은 안정감을 주고, 비화성음은 긴장감을 전달한다. 예컨대, 멜로디에 포함된 화성음에 대해 제1 적합 함수는 20(reward)의 값을 주고, 제2 적합 함수는 -5(penalty)의 값을 줄 수 있다. 비화성음은 수용할 만한 긴장감을 주는 텐션 음표(tension note), 텐션 음표보다 불안정한 회피 음표(avoid note) 및 음계에 속하지 않는 비음계 음표(non scale note)를 포함한다. 예컨대, 텐션 음표, 회피 음표 및 비음계 음표에 대해 제1 적합 함수는 각각 -10, -20 및 -30의 값을 부여할 수 있다. 텐션 음표, 회피 음표 및 비음계 음표에 대해 제2 적합 함수는 20, 5 및 -5의 값을 부여할 수 있다. 즉, 비음계 음표에 대해서는 모든 적합 함수가 패널티를 부여할 수 있다.
(2) 긴장감의 조화 과정(resolution)
멜로디 진행에서 긴장감은 주변 화성음에 대해 올라가거나 내려가는 형태를 갖는다. 예컨대, 비화성음이 가장 인접한 화성음으로 이동하면, 제1 적합 함수는 10을 부여하고 제2 적합 함수는 30을 부여할 수 있다.
(3) 음의 높이 변화(motion)
멜로디 라인에서 음의 높이가 점차 높아하면 긴장감도 높아 진다. 반대로 멜로디 라인에서 음의 높이가 점차 낮아지면 안정감이 높아 진다. 멜로디에서 음의 높이가 올라가는 형태를 갖는다면 제1 적합 함수는 15을 부여하고, 제2 적합 함수는 20를 부여할 수 있다. 반대로 멜로디에서 음의 높이가 내려가는 형태를 갖는 다면 제1 적합 함수는 20를 부여하고, 제2 적합 함수는 15을 부여할 수 있다. 멜로디에서 음의 높이가 한 차례 오른 다음 계단 형태로 오른다면 제1 적합 함수와 제2 적합 함수 모드 20이라는 값을 부여할 수도 있다.
(4) 음 높이 간격(interval)
전통적으로 적절한 음 높이의 간격은 음악을 조화롭게 한다. 전음계(diatonic scale), 동음(unison) 및 옥타브(octave)는 완벽한 간격이라고 하겠다. 옥타브를 넘어가는 간격은 다소 불안정함 멜로디를 형성할 수 있다. 예컨대, 멜로디를 구성하는 이웃한 음이 완벽한 음의 높이 간격을 갖는 경우 제1 적합 함수는 5를 부여하고 제2 적합 함수는 -3을 부여할 수 있다. 또한 음의 높이 간격이 옥타브 이상이라면 제1 적합 함수와 제2 적합 함수 모두 -10을 부여할 수 있다. 옥타브를 넘는 음의 높이 간격은 단순한 긴장감을 넘어 듣기 싫은 멜로디를 생성하기 때문이다.
아래의 표 3은 전술한 변수들에 대핸 적합도 평가의 예이다.
Figure pat00005
상기 표 3은 각 변수에 대해 전술한 내용을 정리한 것이다. 멜로디를 생성하기 위한 다목적 적합도 함수에서 상기와 같은 적합 함수를 사용할 수도 있고, 상기 값과는 다른 값을 주는 적합 함수를 사용할 수도 있을 것이다.
도 2는 멜로디 자동 생성 방법(100)에 대한 순서도의 예이다.
멜로디 생성은 컴퓨터 장치를 통해 수행된다. 컴퓨터 장치는 개인 PC, 스마트폰, 웹 기반의 클라우드 컴퓨터 등을 포함하는 의미이다.
먼저 컴퓨터 장치는 적어도 하나의 화성 진행 패턴 및 적어도 하나의 리듬 패턴에 대한 자료를 획득한다(110). 컴퓨터 장치는 네트워크로 연결된 서버나 데이터베이스로부터 화성 진행 패턴 및/또는 리듬 패턴을 수신할 수 있다. 또는 컴퓨터 장치의 저장 장치에 저장된 화성 진행 패턴 및/또는 리듬 패턴에 접근할 수도 있다.
복수의 화성 진행 패턴이 있다면, 그 중 하나 또는 하나 이상의 화성 진행 패턴을 선택할 수 있다. 컴퓨터 장치는 복수의 화성 진행 패턴 중 특정 화성 진행 패턴을 선택하는 입력을 수신한다(120). 리듬 패턴에 대해서도 컴퓨터 장치는 복수의 리듬 패턴 중 특정 리듬 패턴을 선택하는 입력을 수신한다(120).
컴퓨터 장치는 선택한 화성 진행 패턴 및 리듬 패턴을 기준으로 멜로디를 생성한다. 하나의 화성 진행 패턴 및 하나의 리듬 패턴이 있다면 선택하는 과정은 없을 것이다. 컴퓨터 장치는 전술한 바와 같이 안정감과 긴장감을 목적 함수로 갖는 다목적 적합도 함수를 이용하여 함수의 해를 도출한다(130). 함수의 해는 결국 멜로디에 해당한다.
사용자는 컴퓨터 장치가 복수의 멜로디 세트를 생성한 경우 복수의 멜로디 세트 중 적어도 하나를 선택할 수도 있다. 컴퓨터 장치 입장에서는 다목적 적합도 함수의 해로 구성되는 멜로디 세트 중 적어도 하나를 선택하는 입력을 수신할 수 있다(140).
도 3은 멜로디를 생성하기 위한 다목적 유전자 알고리즘(200)의 흐름에 대한 순서도의 예이다. 전술한 바와 같이 멜로디 생성에 사용되는 다목적 적합도 함수는 유전자 알고리즘에 기반한 것을 사용할 수 있다.
최초 모집단은 화성 진행 패턴 및 리듬 패턴을 통해 생성된다(210). 염색체는 도 1에서와 같이 일정한 멜로디 일부를 구성하는 연속된 음을 나타낸다.
컴퓨터 장치는 최초 모집단에 대해 적합 함수를 이용하여 적합도를 평가한다(220). 적합도 평가는 안정감과 긴장감이라는 두 개의 목적 함수에 대한 평가이다.
이후 유전자 알고리즘에서 사용되는 유전적 연산이 수행된다. 즉, 특정 염색체를 선택하고(230), 선택된 염색체에 대한 교차 연산(240) 또는/및 선택된 염색체에 대한 돌연 변이 연산(250)을 수행한다. 교차 연산 또는 돌연 변이 연산은 반복적으로 수행될 수도 있다.
컴퓨터 장치는 유전적 연산으로 변이가 발생한 염색체를 포함하는 모집단에 대해 적합도 평가를 다시 수행한다(260). 적합도 평가 결과 유전자 알고리즘에 따른 특정 종료 조건을 만족한다면, 생성된 염색체가 최종 결과물이 된다. 종료 조건을 만족하지 못한다면 유전적 연산 과정이 반복적으로 수행된다.
종료 조건은 안정감 및 긴장감이라는 목적 함수를 적절하게 만족하는 결과(염색체)가 일정 개수 이상인지 또는 모든 염색체가 해당 목적 함수를 만족하는지 여부일 수 있다.
도 4는 안정감과 긴장감을 평가하는 기준에 따른 다목적 적합도 함수의 해를 도출하는 예이다. 도 4의 상측은 안정감 및 긴장감이라는 두 개의 목적을 축으로 갖는 그래프이다. 그래프에서 점 또는 원으로 표현된 객체는 멜로디를 구성하는 일부 구성(염색체)에 해당한다. 염색체 중 안정감과 긴장감을 적절하게 만족하는 염색체가 파레토 프론트로 선택된다. 도 4의 상측 그래프는 파레토 프론트 선택에 따른 랭크 순위에 따라 최적의 해에 해당하는 그룹을 "Pareto Optimal"로 표시하고 있다. 파레토 최적화 기법은 전술한 다목적 적합도 함수 부분에서 설명한 바 있다.
안정감에 기여하는 변수를 결국 화성음에 관련된다고 할 수 있다. 코드 톤(chord tone, 화성음), 협화음, 멜로디에서 음의 높이가 하강하는 구성은 안정감에 기여한다. 긴장감에 기여하는 변수는 비화성음에 관련된다고 할 수 있다. 텐션음표, 불협화음, 멜로디에서 음의 높이가 상승하는 구성은 긴장감에 기여한다.
도 5는 염색체 변이에 따른 음의 변화를 평가하는 예이다. 돌연 변이 또는 교차 연산 등에 따라 음의 변화가 발생할 수 있다. 음 변이는 음의 길이 및 코드를 고려하여 수행된다. 기본적으로 하나의 음은 가장 가까운 화성음으로 변이할 수 있다. 이러한 변이는 안정감에 기여한다. 또는 하나의 음이 가장 가까운 비화성음으로 변이할 수도 있다. 비화성음 변이는 가장 가까운 텐션 노트로 변이하는 경우, 가장 가까운 회피 노트로 변이하는 경우 또는 비음계 노트로 변이하는 경우를 포함한다.
도 6은 멜로디 자동 생성 시스템(300)에 대한 구성을 나타내는 블록도의 예이다. 멜로디 자동 생성 시스템(300)은 화성 진행 패턴을 저장하는 화성 저장 장치(310), 리듬 패턴을 저장?F는 리듬 저장 장치(320) 및 다목적 적합도 함수를 이용하여 멜로디를 자동 생성하는 컴퓨터 장치(330)를 포함한다. 한편 화성 저장 장치(310) 및 리듬 저장 장치(320)는 별개의 서버(또는 데이터베이스)가 아닌 하나의 장치일 수도 있다. 나아가 화성 저장 장치(310) 및 리듬 저장 장치(320)는 컴퓨터 장치에 물리적으로 연결된 저장 장치일 수도 있다. 다만 이하 설명에서는 화성 저장 장치(310) 및 리듬 저장 장치(320)가 별도로 존재하고, 컴퓨터 장치(330)는 네트워크를 통해 화성 저장 장치(310) 및 리듬 저장 장치(320)와 연결되는 것으로 가정한다.
사용자는 화성 진행 패턴 또는/및 리듬 패턴을 직접 작곡하여 각각 화성 저장 장치(310) 및 리듬 저장 장치(320)에 저장할 수 있다. 또는 기존 음원으로부터 화성 진행을 추출하거나, 리듬 패턴을 추출하여 각각 화성 저장 장치(310) 및 리듬 저장 장치(320)에 저장할 수 있다.
컴퓨터 장치(330)는 통신 모듈(331)을 통해 화성 저장 장치(310) 및 리듬 저장 장치(320)로부터 각각 일정한 화성 진행 패턴 및 리듬 패턴을 수신한다. 사용자는 이 과정에서 특정 화성 진행 패턴 및/또는 리듬 패턴을 선택할 수도 있다.
디스플레이 장치(334)는 화성 저장 장치(310) 및 리듬 저장 장치(320)에 저장된 화성 진행 패턴 및 리듬 패턴을 출력할 수 있고, 인터페이스 장치(335)는 사용자로부터 특정 화성 진행 패턴 및 리듬 패턴을 선택하는 명령을 입력 받을 수 있다.
중앙 처리 장치(333)는 수신한 화성 진행 패턴 및 리듬 패턴을 입력 데이터로 사용한다. 중앙 처리 장치(333)은 저장 장치(332)에 저장된 다목적 유전자 알고리즘을 실행하여 멜로디를 생성할 수 있다. 이 경우 다목적 유전자 알고리즘은 컴퓨터 장치가 실행할 수 있는 프로그램 형태를 갖는다. 또한 중앙 처리 장치(333)는 생성한 멜로디 또는 멜로디 세트를 저장 장치(332)에 저장할 수도 있다.
디스플레이 장치(334)는 생성한 멜로디 또는 멜로디 세트를 일정한 양식으로 출력할 수 있다. 멜로디 세트가 생성된 경우 인터페이스 장치(335)는 사용자로부터 특정 멜로디를 선택하는 명령을 입력 받을 수도 있다.
나아가 도 6에 도시하지 않았지만, 컴퓨터 장치(330)는 최종적으로 생성한 멜로디를 음악으로 출력하는 장치(스피커 등)을 포함할 수도 있다.
본 실시예 및 본 명세서에 첨부된 도면은 전술한 기술에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 전술한 기술의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시예는 모두 전술한 기술의 권리범위에 포함되는 것이 자명하다고 할 것이다.
300 : 멜로디 자동 생성 시스템
310 : 화성 저장 장치 320 : 리듬 저장 장치
330 : 컴퓨터 장치 331 : 통신 모듈
332 : 중앙 처리 장치 333 : 저장 장치
334 : 디스플레이 장치 335 : 인터페이스 장치

Claims (10)

  1. 컴퓨터 장치가 화성 진행 패턴 및 리듬 패턴을 입력받는 단계; 및
    상기 컴퓨터 장치가 상기 화성 진행 패턴 및 상기 리듬 패턴을 기반으로 연속된 음을 갖는 멜로디를 생성하는 단계를 포함하되,
    상기 컴퓨터 장치는 음악의 안정감과 음악의 긴장감을 각각 목적 함수로 갖는 다목적 적합도 함수를 이용하여 상기 멜로디를 생성하는 멜로디 자동 생성 방법.
  2. 제1항에 있어서,
    상기 화성 진행 패턴은 사용자가 사전에 입력한 화성 진행 또는 기존의 음원에서 추출한 화성 진행이고,
    상기 리듬 패턴은 사용자가 사전에 입력한 리듬 패턴 또는 기존의 음원에서 추출한 리듬 패턴인 멜로디 자동 생성 방법.
  3. 제1항에 있어서,
    상기 다목적 적합도 함수는 유전자 알고리즘을 기반으로 멜로디 생성에 사용하는 염색체에 돌연변이 또는 교차를 수행하는 멜로디 자동 생성 방법.
  4. 제1항에 있어서,
    상기 다목적 적합도 함수는 안정감을 평가하는 제1 적합 함수 및 긴장감을 평가하는 제2 적합 함수를 갖고, 상기 안정감에 대한 목적 함수 및 상기 긴장감에 대한 목적 함수를 만족하는 해를 멜로디로 결정하는 멜로디 자동 생성 방법.
  5. 제1항에 있어서,
    상기 다목적 적합도 함수는
    화성을 형성하는 정도, 음의 높이 변화 및 음의 높이 간격 중 적어도 하나를 기준으로 상기 안정감 및 상기 긴장감을 평가하는 멜로디 자동 생성 방법.
  6. 제1항에 있어서,
    상기 다목적 적합도 함수는 다목적 유전자 알고리즘을 사용하고,
    화성을 형성하는 정도, 염색체의 변이가 긴장감을 낮추는 정도, 음의 높이 변화 및 음의 높이 간격 중 적어도 하나를 기준으로 상기 안정감 및 상기 긴장감을 평가하는 멜로디 자동 생성 방법.
  7. 화성 진행 패턴을 저장하는 화성 저장 장치;
    리듬 패턴을 진행하는 리듬 저장 장치; 및
    상기 화성 진행 패턴 및 상기 리듬 패턴을 기준으로 음악의 안정감과 음악의 긴장감을 각각 목적 함수로 갖는 다목적 적합도 함수를 이용하여 연속된 음을 갖는 멜로디를 생성하는 컴퓨터 장치를 포함하는 멜로디 자동 생성 시스템.
  8. 제7항에 있어서,
    상기 다목적 적합도 함수는
    화성을 형성하는 정도, 음의 높이 변화 및 음의 높이 간격 중 적어도 하나를 기준으로 상기 안정감 및 상기 긴장감을 평가하는 멜로디 자동 생성 시스템.
  9. 제7항에 있어서,
    상기 다목적 적합도 함수는 다목적 유전자 알고리즘을 사용하고,
    화성을 형성하는 정도, 염색체의 변이가 긴장감을 낮추는 정도, 음의 높이 변화 및 음의 높이 간격 중 적어도 하나를 기준으로 상기 안정감 및 상기 긴장감을 평가하는 멜로디 자동 생성 시스템.
  10. 제7항에 있어서,
    상기 컴퓨터 장치는 상기 다목적 적합도 함수를 만족하는 복수의 멜로디 세트를 생성하는 멜로디 자동 생성 시스템.
KR1020150051659A 2015-04-13 2015-04-13 멜로디 자동 생성 방법 및 멜로디 자동 생성 시스템 KR20160121879A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150051659A KR20160121879A (ko) 2015-04-13 2015-04-13 멜로디 자동 생성 방법 및 멜로디 자동 생성 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150051659A KR20160121879A (ko) 2015-04-13 2015-04-13 멜로디 자동 생성 방법 및 멜로디 자동 생성 시스템

Publications (1)

Publication Number Publication Date
KR20160121879A true KR20160121879A (ko) 2016-10-21

Family

ID=57257232

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150051659A KR20160121879A (ko) 2015-04-13 2015-04-13 멜로디 자동 생성 방법 및 멜로디 자동 생성 시스템

Country Status (1)

Country Link
KR (1) KR20160121879A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200047198A (ko) * 2018-10-26 2020-05-07 주식회사 크리에이티브마인드 자동작곡장치 및 그 방법
KR20200072587A (ko) * 2018-11-30 2020-06-23 서울대학교산학협력단 딥러닝 기반의 작곡용 드럼 패턴 생성장치 및 그 방법
KR20200124088A (ko) * 2019-04-23 2020-11-02 주식회사 크리에이티브마인드 장난감 사용자의 감정에 따른 음악 생성 방법 및 그 장치
KR20200124089A (ko) * 2019-04-23 2020-11-02 주식회사 크리에이티브마인드 주변 환경 기반의 자동 작곡 방법 및 그 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060109813A (ko) 2005-04-18 2006-10-23 엘지전자 주식회사 음악 작곡 장치 및 그 운용방법
KR100762079B1 (ko) 2006-04-25 2007-10-01 이경의 자동음악 작곡 방법 및 자동음악 작곡 시스템
KR20120060085A (ko) 2010-12-01 2012-06-11 주식회사 싸일런트뮤직밴드 자동작곡시스템 및 이를 이용한 자동작곡방법, 그 방법이 기록된 기록매체

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060109813A (ko) 2005-04-18 2006-10-23 엘지전자 주식회사 음악 작곡 장치 및 그 운용방법
KR100762079B1 (ko) 2006-04-25 2007-10-01 이경의 자동음악 작곡 방법 및 자동음악 작곡 시스템
KR20120060085A (ko) 2010-12-01 2012-06-11 주식회사 싸일런트뮤직밴드 자동작곡시스템 및 이를 이용한 자동작곡방법, 그 방법이 기록된 기록매체

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200047198A (ko) * 2018-10-26 2020-05-07 주식회사 크리에이티브마인드 자동작곡장치 및 그 방법
KR20200072587A (ko) * 2018-11-30 2020-06-23 서울대학교산학협력단 딥러닝 기반의 작곡용 드럼 패턴 생성장치 및 그 방법
KR20200124088A (ko) * 2019-04-23 2020-11-02 주식회사 크리에이티브마인드 장난감 사용자의 감정에 따른 음악 생성 방법 및 그 장치
KR20200124089A (ko) * 2019-04-23 2020-11-02 주식회사 크리에이티브마인드 주변 환경 기반의 자동 작곡 방법 및 그 장치

Similar Documents

Publication Publication Date Title
Moroni et al. Vox populi: An interactive evolutionary system for algorithmic music composition
Matić A genetic algorithm for composing music
Fernández et al. AI methods in algorithmic composition: A comprehensive survey
JP2017107228A (ja) 歌声合成装置および歌声合成方法
KR20160121879A (ko) 멜로디 자동 생성 방법 및 멜로디 자동 생성 시스템
Eigenfeldt et al. Evolving structures for electronic dance music
JP2008123011A (ja) 情報処理装置、情報処理方法、およびプログラム
Bell Algorithmic music composition using dynamic Markov chains and genetic algorithms
JP2014170146A (ja) 日本語歌詞からの多重唱の自動作曲方法及び装置
Loughran et al. Evolutionary music: applying evolutionary computation to the art of creating music
Kaliakatsos-Papakostas et al. Interactive music composition driven by feature evolution
KR20170128073A (ko) 심층 강화 학습을 이용한 음악 작곡 방법
KR101795706B1 (ko) 인공 신경망을 이용한 자동 작곡 방법 및 그 기록 매체
US9734810B2 (en) Automatic harmony generation system
Hoover et al. Functional scaffolding for composing additional musical voices
KR102313549B1 (ko) 음원 생성 방법 및 음원 생성 시스템
Lo Evolving cellular automata for music composition with trainable fitness functions
Moroni et al. Vox populi: Evolutionary computation for music evolution
Jeong et al. Automatic evolutionary music composition based on multi-objective genetic algorithm
Komosinski et al. Automatic species counterpoint composition by means of the dominance relation
Biles Evolutionary computation for musical tasks
KR20170128070A (ko) 순환형 신경망에 기반한 작곡 방법
KR101900020B1 (ko) 언어 모델링을 이용한 4성부 합창 악보 생성 방법 및 시스템
Collins A funny thing happened on the way to the formula: Algorithmic composition for musical theater
KR101934057B1 (ko) 계층적 인공 신경망을 이용한 자동 작곡 방법 및 그 기록 매체

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application