KR20170128072A - 프리 오더 마르코프 체인과 베이즈 추론을 이용한 음악 작곡 방법 - Google Patents

프리 오더 마르코프 체인과 베이즈 추론을 이용한 음악 작곡 방법 Download PDF

Info

Publication number
KR20170128072A
KR20170128072A KR1020170024220A KR20170024220A KR20170128072A KR 20170128072 A KR20170128072 A KR 20170128072A KR 1020170024220 A KR1020170024220 A KR 1020170024220A KR 20170024220 A KR20170024220 A KR 20170024220A KR 20170128072 A KR20170128072 A KR 20170128072A
Authority
KR
South Korea
Prior art keywords
markov chain
code
computer device
music
sound
Prior art date
Application number
KR1020170024220A
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 KR1020170024220A priority Critical patent/KR20170128072A/ko
Publication of KR20170128072A publication Critical patent/KR20170128072A/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
    • G10H1/0008Associated control or indicating means
    • G10H1/0025Automatic or semi-automatic music composition, e.g. producing random music, applying rules from music theory or modifying a musical piece
    • 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
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/101Music Composition or musical creation; Tools or processes therefor
    • G10H2210/111Automatic composing, i.e. using predefined musical rules
    • 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
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/101Music Composition or musical creation; Tools or processes therefor
    • G10H2210/111Automatic composing, i.e. using predefined musical rules
    • G10H2210/115Automatic composing, i.e. using predefined musical rules using a random process to generate a musical note, phrase, sequence or structure
    • G10H2210/121Automatic composing, i.e. using predefined musical rules using a random process to generate a musical note, phrase, sequence or structure using a knowledge base
    • 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
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/101Music Composition or musical creation; Tools or processes therefor
    • G10H2210/151Music Composition or musical creation; Tools or processes therefor using templates, i.e. incomplete musical sections, as a basis for composing
    • 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
    • G10H2240/00Data organisation or data communication aspects, specifically adapted for electrophonic musical tools or instruments
    • G10H2240/121Musical libraries, i.e. musical databases indexed by musical parameters, wavetables, indexing schemes using musical parameters, musical rule bases or knowledge bases, e.g. for automatic composing methods

Abstract

마르코프 체인과 베이즈 추론을 이용한 음악 작곡 방법은 컴퓨터 장치가 시드 코드를 제1 마르코프 체인에 입력하여 코드 진행을 추출하는 단계, 상기 컴퓨터 장치가 상기 코드 진행 및 시드 음을 제2 마르코프 체인에 입력하여 베이스 라인을 추출하는 단계, 상기 컴퓨터 장치가 상기 코드 진행 및 시드 음을 제3 마르코프 체인에 입력하여 멜로디 라인을 추출하는 단계, 상기 컴퓨터 장치가 상기 코드 진행을 기준으로 상기 멜로디 라인을 조절하는 단계 및 상기 컴퓨터 장치가 상기 베이스 라인 및 상기 조절된 멜로디 라인을 포함하는 악곡을 생성하는 단계를 포함한다.

Description

프리 오더 마르코프 체인과 베이즈 추론을 이용한 음악 작곡 방법{MUSIC COMPOSITION METHOD BASED ON FREE ORDER MARKOV CHAIN AND BAYES INFERENCE}
이하 설명하는 기술은 음악을 작곡하는 기법에 관한 것이다.
최근 인공지능을 이용하여 음악을 자동으로 작곡하려는 시도가 있다. 구글은 마젠타(Magenta) 프로젝트를 통해 음악을 작곡하는 인공지능을 선보였고, 소니는 딥 바흐(Deep Bach)라는 인공 지능을 선보인 바 있다.
한국공특허 제2012-0060085호(2012.06.11)
구글의 마젠타는 순히 코드 진행을 나열하고, 그 화음을 기반으로 비트를 나열하는 것을 기본으로 한다. 멜로디는 각 코드를 구성하는 4개의 기본음 중 3개 또는 4개를 취하여 단순히 아래에서부터 위로 쌓아 올리는 것을 방식으로 곡의 기승전결에 맞추어 변주를 가하는 방식이다. 마젠타의 결과물은 단순한 멜로디의 반복으로 음악적 완성도가 부족하다. 예컨대, 마젠타의 멜로디는 사실상 피아노의 왼손반주에 해당하는 음표를 일직선으로 나열한 것에 지나지 않으므로, 화성과 반주만이 존재하는 반쪽짜리 음악이라 할 수 있다.
한편 소니의 딥 바흐는 바흐의 음악을 딥러닝 방식으로 학습하여 바흐 특유의 분위기가 나는 합창곡을 작곡하는 것을 특징으로 한다. 따라서 딥 바흐는 트레이닝데이터의 제한으로 한정된 분위기의 곡만을 제작할 수 있다. 딥 바흐는 매 순간순간 협화음을 이루는 4성부의 음을 제공할 뿐이므로 화성, 반주, 리듬, 멜로디로 구성되는 음악적 요소를 충족하기 어렵다.
이하 설명하는 기술은 리듬, 화성 및 멜로디를 고려하는 인공지능 모델을 사용하여 음악을 작곡하는 방법을 제공하고자 한다.
마르코프 체인과 베이즈 추론을 이용한 음악 작곡 방법은 컴퓨터 장치가 시드 코드를 제1 마르코프 체인에 입력하여 코드 진행을 추출하는 단계, 상기 컴퓨터 장치가 상기 코드 진행 및 시드 음을 제2 마르코프 체인에 입력하여 베이스 라인을 추출하는 단계, 상기 컴퓨터 장치가 상기 코드 진행 및 시드 음을 제3 마르코프 체인에 입력하여 멜로디 라인을 추출하는 단계, 상기 컴퓨터 장치가 상기 코드 진행을 기준으로 상기 멜로디 라인을 조절하는 단계 및 상기 컴퓨터 장치가 상기 베이스 라인 및 상기 조절된 멜로디 라인을 포함하는 악곡을 생성하는 단계를 포함한다.
이하 설명하는 기술은 리듬, 화성 및 멜로디가 조화로운 아름다운 음악을 작곡할 수 있다.
도 1은 마르코프 체인과 베이즈 추론을 이용한 음악 작곡 방법에 대한 순서도의 예이다.
도 2는 음악 작곡을 위한 모델을 도시한 예이다.
도 3은 코드 진행을 학습하는 과정에 대한 예이다.
도 4는 베이스 라인 또는/및 멜로디 라인을 학습하는 과정에 대한 예이다.
이하 설명하는 기술은 다양한 변경을 가할 수 있고 여러 가지 실시례를 가질 수 있는 바, 특정 실시례들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 이하 설명하는 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 이하 설명하는 기술의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 이하 설명하는 기술의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함한다" 등의 용어는 설시된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.
도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.
또, 방법 또는 동작 방법을 수행함에 있어서, 상기 방법을 이루는 각 과정들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 과정들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
이하 설명하는 기술은 프리 오더 마르코프 체인(Free order Markov chain)을 이용하여 음악을 작곡하는 기법이다. 이하 설명하는 기술은 프리 오더 마르코프 체인을 이용한 베이즈 추론(Bayes inference)을 이용하여 음악을 작곡하는 기법이다. 이하 설명하는 기술은 프리 오더 마르코프 체인 및 베이즈 추론을 기반으로 하는 인공 지능 모델을 이용하여 음악을 작곡하는 기법이다.
널리 알려진 바와 같이 마르코프 체인은 마르코프성질을 지닌 이산 확률과정을 의미한다. 마르코프 체인은 현재의 값을 직전값을 참조하여 추론한다. 고차원 마르코프 체인(Higher order Mrkov chin)은 정수 r을 랭크로 가지는데, 랭크 r인 고차원 마르코프 체인은 이전의 r개의 인스턴스의 값을 참고하여 현재의 값을 추론한다. 오더 1인 고차원 마르코프 체인은 일반 마르코프 체인이 된다. 오더를 임의로 조절하며 사용 가능한 마르코프 모델을 프리 오더 마르코프 체인이라 정의한다. 이하 사용되는 마르코프 체인이라는 용어는 랭크 1인 마르코프 체인을 한정짓는 것이 아니라, 프리 오더 마르코프 체인을 포괄하는 값으로 이해되어야 하며 실시예의 설명 과정에 랭크 r의 값이 지정되더라도 이는 권리범위를 여기에 한정짓거나 이외의 범위를 의식적으로 배제하려는 의도가 아니므로 해석에 신중을 가해야 한다.
이하 설명에서 컴퓨터 장치가 마르코프 체인을 사용하여 음악을 작곡한다고 설명한다. 컴퓨터 장치는 스마트 기기, PC, 네트워크 상의 서버 등을 의미한다.
도 1은 마르코프 체인과 베이즈 추론을 이용한 음악 작곡 방법(100)에 대한 순서도의 예이다. 컴퓨터 장치는 먼저 마르코프 모델을 학습한다(110). 마르코프 모델을 학습하여 추론을 위한 상태 전이 확률 행렬을 생성한다. 컴퓨터 장치는 코드 진행, 베이스 라인 및 멜로디 라인을 각각 추출하기 위해 복수의 마르코프 체인을 사용할 수 있다.
컴퓨터 장치는 제1 마르코프 체인에 시드 코드를 입력하여 코드 진행을 추출할 수 있다(120). 컴퓨터 장치는 제2 마르코프 체인에 추출된 코드 진행을 입력하여 베이스 라인을 추출할 수 있다(130). 컴퓨터 장치는 제3 마르코프 체인에 추출된 코드 진행을 입력하여 멜로디 라인을 추출할 수 있다(140). 컴퓨터 장치는 시드 음을 추가로 입력받고, 시드 음을 기준으로 상기 코드 진행을 고려하여 베이스 라인 및 멜로디 라인을 추출한다. 시드 코드 및 시드 음은 음악을 작곡하기 위한 시작이 되는 코드 및 음을 의미한다. 시드 코드 및 시드 음은 기성 음악을 구성하는 코드 및 연속된 음의 일부일 수 있다. 또는 시드 코드 및 시드 음은 임의의 값일 수도 있다. 시드 코드는 복수의 코드를 포함한다. 시드 음은 복수의 음을 포함한다.
컴퓨터 장치는 코드 진행을 기준으로 멜로디 라인을 일정하게 조절할 수 있다(150). 컴퓨터 장치는 이 과정을 통해 마련된 베이스 라인 및 조절된 멜로디 라인을 포함하는 악곡을 생성할 수 있다(160).
도 2는 음악 작곡을 위한 모델을 도시한 예이다. 도 2에도시한 모델은 3개의 마르코프 체인(30, 50 및 80)을 도시하였다. 제1 마르코프 체인(30)은 일정한 시드 코드를 입력받아 일정한 출력 코드를 생성한다. 제2 마르코프 체인(80)은 일정한 시드 음을 입력받아 일정한 멜로디 라인을 출력한다. 제3 마르코프 체인(50)은 일정한 시드 음을 입력받아 일정한 베이스 라인을 출력한다. 제2 마르코프 체인(50) 및 제3 마르코프 체인(80)은 제1 마르코프 체인(30)이 출력하는 코드 진행을 입력받는다. 제2 마르코프 체인(50) 및 제3 마르코프 체인(80)은 각각 코드 진행을 고려하여 시드 음을 기준으로 일정한 베이스 라인 및 멜로디 라인을 출력한다. 제2 마르코프 체인(50) 및 제3 마르코프 체인(80)에 입력되는 시드 음을 동일할 수도 있고, 서로 다를 수도 있다. 출력되는 코드 진행, 베이스 라인 및 멜로디 라인의 길이는 사전에 설정된 값일 수 있다. 또는 컴퓨터 장치는 출력된 코드 진행에 따라 멜로디 라인 및 베이스 라인의 길이를 조절할 수 있다. 컴퓨터 장치는 출력 코드를 기준으로 멜로디 라인을 일정하게 조절할 수 있다. 즉, 컴퓨터 장치는 화성에 맞도록 멜로디 라인에서 일정한 음의 제거하거나, 일정한 음의 높이를 조절할 수 있다. 나아가 컴퓨터 장치는 출력 코드에 따라 베이스 라인도 일정하게 조절할 수 있다.
도 3은 코드 진행을 학습하는 과정에 대한 예이다. 도 4은 전술한 제1 마르코프 체인(30)을 마련하는 과정에 대한 예이다.
컴퓨터 장치는 기성 악곡을 이용하여 학습을 위한 데이터를 준비할 수 있다. 한편 학습의 편의를 위하여 기성 악곡을 통일된 하나의 조성으로 변환할 수 있다. 물론 학습을 위한 데이터 자체를 다장조로 준비할 수도 있다. 다만 설명의 편의를 위해 하나의 조성을 갖도록 변환된 악곡을 사용한다고 가정한다. 컴퓨터 장치 변환된 조성으로부터 코드 진행을 추출한다. 4/4, 2/4 등 짝수 박자의 음악일 경우 학습의 편의를 위하여 한 마디를 전반부/후반부로 양분하여 전반부와 후반부의 코드를 각각 추출해 저장할 수 있다.
인공 지능 모델은 프리 오더 마르코프 체인을 사용한다. 마르코프 체인의 차원(order)은 1 이상의 정수를 갖는다. 차원이 1인 경우 단순 마르코프 체인이 된다. 단순 마르코프 체인은 현재 상태를 추정하기 위해 직전의 값만을 사용한다. 차원이 2 이상인 경우 고차원 마르코프 체인이 된다. 고차원 마르코프 체인은 현재 상태를 추정하기 위해 이전 r개의 상태를 모두 고려한다. r은 차원의 값에 따라 달라진다.
차원이 낮을 경우 학습 효과가 떨어지므로 출력 결과물의 경향성이 부족해진다는 단점이 있으나 공간복잡도가 낮아 성능이 낮은 하드웨어에서도 학습과정이 잘 작동한다는 장점이 있다. 차원이 증가할 때 마다 학습 효과가 증가하고 트레이닝데이터의 경향성을 잘 반영한다는 장점이 있으나 공간복잡도가 크게 증가하게 되므로 성능이 낮은 하드웨어에서는 학습과정이 잘 수행되지 못 한다는 단점이 있다.
한편 임의의 차원 r에서 작동하는 마르코프 체인을 마련하기 위하여 내부에 상태 큐(State Queue)를 도입한다. 상태 큐는 차원이라는 값을 가지는데, 이는 r개의 이전 상전이를 순차적으로 기록하여 두는 역할을 한다. 상태 큐의 도입으로 전체 상전이 데이터에서 최근 r개를 출력할 필요가 없어져 공간복잡도와 시간복잡도가 크게 감소한다. 상태 큐는 r의 값에 따라 직전의 상태 중 적어도 하나의 값을 저장한다. 도 3은 3개의 값을 저장한 상태 큐를 예로 도시하였다. 컴퓨터 장치는 상태 큐를 이용하여 직전의 상태 전이값을 이용하여 현재의 값을 추론하기 위한 확률 분포를 연산한다. 여기서 각각의 상태는 코드에 해당한다.
한편 일반적인 마르코프 체인과 달리 제1 마르코프 체인(30)은 내부에 룩-업 테이블(Look-up Table)을 구성한다. 컴퓨터 장치는 룩-업 테이블을 이용하여 각 코드별 변이(variation)을 추적할수 있도록 한다. 예를 들면, C코드의 변이 코드는 Cm, Cm7, C7 등을 의미한다. 컴퓨터 장치는 특정 코드에 대한 변이 코드를 하나의 집합으로 관리할 수 있다. 즉 컴퓨터 장치는 변이 코드가 구성하는 하나의 집합에 포함된 코드를 하나의 코드로 보고 확률 분포를 연산하여 상태 전이 확률 행렬을 만들 수 있다. 물론 각각의 코드를 개별적으로 학습할 수 있지만, 변이 코드에 대한 룩-업 테이블을 사용하는 경우 학습할 데이터 양을 줄이고, 모델의 공간 복잡도를 줄일 수 있다.
도 4는 베이스 라인 또는/및 멜로디 라인을 학습하는 과정에 대한 예이다. 컴퓨터 장치는 프리 오더 마르코프 체인을 이용하여 멜로디 라인 및/또는 베이스 라인을 학습한다. 컴퓨터 장치는 프리 오더 마르코프 체인을 이용하여 단선율 진행에 해당하는 멜로디 라인 및/또는 베이스 라인을 학습한다.
컴퓨터 장치는 마르코프 체인 학습을 위해 샘플 데이터를 이용한다. 샘플 데이터는 기성 악곡일 수 있다. 컴퓨터 장치는 마르코프 체인 기반 베이즈 추론의 편의성을 위하여 멜로디 데이터를 이산적인 변량으로 환산하는 사전 작업을 할 수 있다. 예컨대, 피아노 건반 각각을 하나의 정수에 사상시키면 88개의 정수로 음의 높이를 표현할 수 있다. 도 4의 상단에 피아노 건반을 정수로 표현한 예를 도시한다.
컴퓨터 장치는 2/4, 4/4 등 짝수 박자로 구성된 악곡의 마디를 두 개로 분할할 수 있다. 또 컴퓨터 장치는 반 마디를 또다시 8개로 분할하여, 4/4박자 악곡을 기준으로 최소 학습 단위를 16분음표로 정의할 수 있다. 이와 같은 전처리 내지 데이터 표현 방식을 다양한 방식을 사용할 수 있다.
반 마디를 8개로 분할하여 표현하는 경우, 반마디는 8개의 정수 내지 문자로 표현할 수 있다. 예를 들어 1이라는 건반이 8단위동안 재생된 경우 (1, c, c, c, c, c, c, c)로 표기한다. 이에 반하여 (1, 1, 1, 1, 1, 1, 1, 1)로 표기된 경우 1이라는 건반이 8번 독립적으로 연주된 것이다. 멜로디가 연주되는 않는 구간은 공백으로 남기거나 별도의 문자로 표시할 수 있다. 예컨대, (3,6,c,c,-1,2,7,6)에서 "-1"은 쉼표 구간을 나타낸다. 쉼표도 길이가 달라질 수 있다.
컴퓨터 장치는 베이스 라인 및 멜로디 라인을 위해 별도의 마르코프 체인을 마련할 수 있다.
음의 높이는 전술한 바와 같이 피아노 건반에 번호를 매겨서 음을 표시할 수 있다. 예컨대, C0 = 0, C#0 = 1, D0 = 2, ..., C4 = 60, C#4 = 61 등일 수 있다. 3차원 마르코프 체인을 사용한다고 가정한다.
만약 주어진 데이터가 [60, 62, 64, 62, 60]이라면, 데이터의 세 번째 원소까지 순회했을 때의 모델의 과거 상태 이력은 (60, 62, 64)이고, 상태 전이 이력은 (0, +2, +4)가 된다. 상태 전이 이력의 가장 첫 상태는 0, 나머지 상태들은 첫 번째 상태와의 음 간격으로 정의한다. 그 다음, 데이터의 다음 원소인 62는 상태 전이 이력의 첫 원소와 비교했을 때 음 간격이 +2이므로, 새로운 상태 전이는 (0, +2, +4) ==> +2이다.
그리고 방금 진행된 상태 전이를 모델에 저장하면 과거 상태 이력은 (62, 64, 62)가 될 것이다. 그러면 바로 위에서 언급한 정의에 따라 이때의 상태 전이 이력은 (0, +2, 0)이 된다. 마지막 원소는 60으로, 상태 전이 이력의 첫째 원소와 비교했을 때의 상태값은 -2이다. 그러므로 마지막 상태 정의는 (0, +2, 0) ==> -2가 된다. 컴퓨터 장치는 모델이 기억하고 있는 가장 오래된 음을 기준으로 다음 음들의 높낮이를 기억하여 확률 분포를 계산하는 것이다.
각각 베이스 라인과 멜로디 라인을 생성하는 제2 마르코프 체인(50) 및 제3 마르코프 체인(80)은 음의 높이와 음의 길이를 상태 정보로 사용하고, 직전에 나타난 복수의 음 중 일정한 길이를 저장하고, 저장된 가장 오래된 음의 높이를 기준으로 현재 음의 높이에 대한 확률 분포를 결정한다.
모든 마르코프 체인이 마련되면, 컴퓨터 장치는 전술한 바와 같이 시드 코드를 받아 코드 진행을 생성하고, 시드 음을 받아 시드 음을 확장하는 방식으로 베이스 라인/멜로디 라인을 확장한다.
한편 컴퓨터 장치는 멜로디 라인에서 일정한 기준 값 이상의 음 도약이 일어나는지 체크할 수 있다. 만약 음의 도약(높 낮이의 변화)가 기준값 이상이라면, 컴퓨터 장치는 변화가 심한 마지막음을 시작으로 멜로디 라인을 다시 생성할 수 잇다.
컴퓨터 장치는 코드 진행을 기준으로 멜로디 라인 중 일부 음표를 제거하거나, 일부 음표의 음을 협화음으로 조절할 수 있다. 즉 멜로디 라인의 출력물을 조성과 어긋나지 않도록 처리한다. 조성과 어긋나는 음표(avoid note)를 제거하거나 멜로디의 구성 음을 협화음의 구성음으로 전이시키는 방법을 사용할 수 있다.
컴퓨터 장치는 악곡의 구성(론도, A-B-C-B’-D등)에 따라 인공지능을 재차 호출할 수 있다. 매 호출별로 확률모델이 상이한 결과를 도출하지만, 이 결과물은 트레이닝 데이터의 경향성을 피할 수 없으므로 하나의 곡을 구성하는 다양한 블록으로 활용 가능하다. 이후 곡의 길이와 진행정도에 따라 포스트曹족關섹◎단에서 악곡 구성의 엔트로피를 높여 주는 방식으로 변주를 가하면 악곡의 기승전결을 구현 가능하다.
본 실시례 및 본 명세서에 첨부된 도면은 전술한 기술에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 전술한 기술의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시례는 모두 전술한 기술의 권리범위에 포함되는 것이 자명하다고 할 것이다.

Claims (6)

  1. 컴퓨터 장치가 시드 코드를 제1 마르코프 체인에 입력하여 코드 진행을 추출하는 단계;
    상기 컴퓨터 장치가 상기 코드 진행 및 시드 음을 제2 마르코프 체인에 입력하여 베이스 라인을 추출하는 단계;
    상기 컴퓨터 장치가 상기 코드 진행 및 시드 음을 제3 마르코프 체인에 입력하여 멜로디 라인을 추출하는 단계;
    상기 컴퓨터 장치가 상기 코드 진행을 기준으로 상기 멜로디 라인을 조절하는 단계; 및
    상기 컴퓨터 장치가 상기 베이스 라인 및 상기 조절된 멜로디 라인을 포함하는 악곡을 생성하는 단계를 포함하는 마르코프 체인과 베이즈 추론을 이용한 음악 작곡 방법.
  2. 제1항에 있어서,
    상기 제1 마르코프 체인은 기성 악곡 샘플을 이용하여 사전에 학습되며, 복수의 직전 상태 전이를 큐(queue)에 저장하고, 상기 큐에 저장된 코드를 기준으로 확률 분포를 연산하는 마르코프 체인과 베이즈 추론을 이용한 음악 작곡 방법.
  3. 제1항에 있어서,
    상기 제1 마르코프 체인은 특정 코드에 대한 변이 코드들을 하나의 그룹으로 구성하고, 동일한 그룹에 속한 코드들에 대해서는 하나의 코드로 가정하고, 사전에 학습을 수행하는 마르코프 체인과 베이즈 추론을 이용한 음악 작곡 방법.
  4. 제1항에 있어서,
    상기 제2 마르코프 체인 및 상기 제3 마르코프 체인은 음의 높이와 음의 길이를 상태 정보로 사용하고, 직전에 나타난 복수의 음 중 일정한 길이를 저장하고, 저장된 가장 오래된 음의 높이를 기준으로 현재 음의 높이에 대한 확률 분포를 결정하는 마르코프 체인과 베이즈 추론을 이용한 음악 작곡 방법.
  5. 제1항에 있어서,
    상기 컴퓨터 장치는 상기 멜로디 라인에서 음의 도약이 기준값 이상 발생하면, 도약이 발생한 음을 시작으로 다시 멜로디 라인을 추출하는 마르코프 체인과 베이즈 추론을 이용한 음악 작곡 방법.
  6. 제1항에 있어서,
    상기 컴퓨터 장치는 상기 코드 진행을 기준으로 상기 멜로디 라인 중 일부 음표를 제거하거나, 일부 음표의 음을 협화음으로 조절하는 마르코프 체인과 베이즈 추론을 이용한 음악 작곡 방법.
KR1020170024220A 2017-02-23 2017-02-23 프리 오더 마르코프 체인과 베이즈 추론을 이용한 음악 작곡 방법 KR20170128072A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170024220A KR20170128072A (ko) 2017-02-23 2017-02-23 프리 오더 마르코프 체인과 베이즈 추론을 이용한 음악 작곡 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170024220A KR20170128072A (ko) 2017-02-23 2017-02-23 프리 오더 마르코프 체인과 베이즈 추론을 이용한 음악 작곡 방법

Publications (1)

Publication Number Publication Date
KR20170128072A true KR20170128072A (ko) 2017-11-22

Family

ID=60809853

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170024220A KR20170128072A (ko) 2017-02-23 2017-02-23 프리 오더 마르코프 체인과 베이즈 추론을 이용한 음악 작곡 방법

Country Status (1)

Country Link
KR (1) KR20170128072A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112435642A (zh) * 2020-11-12 2021-03-02 浙江大学 一种基于深度神经网络的旋律midi伴奏生成方法
KR102313549B1 (ko) 2020-12-29 2021-10-15 주식회사 업보트엔터 음원 생성 방법 및 음원 생성 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112435642A (zh) * 2020-11-12 2021-03-02 浙江大学 一种基于深度神经网络的旋律midi伴奏生成方法
KR102313549B1 (ko) 2020-12-29 2021-10-15 주식회사 업보트엔터 음원 생성 방법 및 음원 생성 시스템

Similar Documents

Publication Publication Date Title
KR101854706B1 (ko) 인공 신경망을 이용한 자동 작곡 방법 및 그 기록 매체
Paiement et al. A probabilistic model for chord progressions
CN101800046A (zh) 一种根据音符生成midi音乐的方法和装置
KR20170128073A (ko) 심층 강화 학습을 이용한 음악 작곡 방법
KR101795706B1 (ko) 인공 신경망을 이용한 자동 작곡 방법 및 그 기록 매체
KR20170128072A (ko) 프리 오더 마르코프 체인과 베이즈 추론을 이용한 음악 작곡 방법
CN110867174A (zh) 自动混音装置
Okumura et al. Laminae: A stochastic modeling-based autonomous performance rendering system that elucidates performer characteristics.
Buys et al. Chorale harmonization with weighted finite-state transducers
KR20170128070A (ko) 순환형 신경망에 기반한 작곡 방법
Yanchenko et al. Classical music composition using state space models
Jensen Evolutionary music composition: A quantitative approach
Maezawa et al. Bayesian audio-to-score alignment based on joint inference of timbre, volume, tempo, and note onset timings
KR101934057B1 (ko) 계층적 인공 신경망을 이용한 자동 작곡 방법 및 그 기록 매체
Yanchenko Classical music composition using hidden Markov models
Kumar et al. Mellis AI-an AI-generated music composer using RNN-LSTMs
Collins A funny thing happened on the way to the formula: Algorithmic composition for musical theater
Conklin et al. Modelling and generating music using multiple viewpoints
De Valk Structuring lute tablature and MIDI data: Machine learning models for voice separation in symbolic music representations
JP2006201278A (ja) 楽曲の拍節構造の自動分析方法および装置、ならびにプログラムおよびこのプログラムを記録した記録媒体
Dean et al. Algorithmically-generated corpora that use serial compositional principles can contribute to the modeling of sequential pitch structure in non-tonal music
JP2015206878A (ja) 情報処理装置および情報処理方法
CN104464702B (zh) 基于遗传算法的和弦伴奏生成方法
Vargas et al. Artificial musical pattern generation with genetic algorithms
Wilk et al. Harmony and voicing interpolation for automatic music composition assistance

Legal Events

Date Code Title Description
G15R Request for early opening