KR20170128073A - Music composition method based on deep reinforcement learning - Google Patents

Music composition method based on deep reinforcement learning Download PDF

Info

Publication number
KR20170128073A
KR20170128073A KR1020170024223A KR20170024223A KR20170128073A KR 20170128073 A KR20170128073 A KR 20170128073A KR 1020170024223 A KR1020170024223 A KR 1020170024223A KR 20170024223 A KR20170024223 A KR 20170024223A KR 20170128073 A KR20170128073 A KR 20170128073A
Authority
KR
South Korea
Prior art keywords
neural network
melody
rhythm
seed
code
Prior art date
Application number
KR1020170024223A
Other languages
Korean (ko)
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 KR1020170024223A priority Critical patent/KR20170128073A/en
Publication of KR20170128073A publication Critical patent/KR20170128073A/en

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

Landscapes

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

Abstract

The present invention provides a method for composing a music using an artificial intelligence module considering all of a rhythm, a harmony, and a melody. The music composition method using deep reinforcement learning comprises the following steps of: a computer device inputting a seed melody into a melody neural network in which the melody is learned and extracting a constant melody line; the computer device inputting the seed melody into a rhythm neural network in which the rhythm is learned and extracting a constant rhythm; and the computer device considering the rhythm over time flow and adjusting the melody line.

Description

심층 강화 학습을 이용한 음악 작곡 방법{MUSIC COMPOSITION METHOD BASED ON DEEP REINFORCEMENT LEARNING}[0001] MUSIC COMPOSITION METHOD BASED ON DEEP REINFORCEMENT LEARNING [0002]

이하 설명하는 기술은 심층 신경망과 강화학습 전략을 이용하여 음악을 작곡하는 기법에 관한 것이다.The techniques described below are directed to techniques for composing music using in-depth neural networks and reinforcement learning strategies.

최근 인공지능을 이용하여 음악을 자동으로 작곡하려는 시도가 있다. 구글은 마젠타(Magenta) 프로젝트를 통해 음악을 작곡하는 인공지능을 선보였고, 소니는 딥 바흐(Deep Bach)라는 인공 지능을 선보인 바 있다.Recently, there has been an attempt to automatically compose music using artificial intelligence. Google has introduced artificial intelligence to compose music through the Magenta project, while Sony has introduced an artificial intelligence called Deep Bach.

한편 전문가가 아닌 일반인이 작곡을 손쉽게 하기 위한 인터페이스도 연구되고 있다. 예컨대, 피아노 건반과 대응하는 하나 이상의 막대 표시를 제공하여 사용자가 막대 형태의 공간을 채색하면 해당 막대에 해당하는 건반을 그 채색된 박스의 길이에 해당하는 시간만큼 재생하는 방식의 사용자 인터페이스가 공개되었다.On the other hand, the interface for easy composing by non-experts is being studied. For example, when a user paints a bar-shaped space by providing one or more bar displays corresponding to the piano keys, a user interface is disclosed in which a key corresponding to the bar is reproduced for a time corresponding to the length of the colored box .

한국공개특허 제2012-0060085호(2012.06.11)Korean Patent Publication No. 2012-0060085 (2012.06.11)

구글의 마젠타는 순히 코드 진행을 나열하고, 그 화음을 기반으로 비트를 나열하는 것을 기본으로 한다. 멜로디는 각 코드를 구성하는 4개의 기본음 중 3개 또는 4개를 취하여 단순히 아래에서부터 위로 쌓아 올리는 것을 방식으로 곡의 기승전결에 맞추어 변주를 가하는 방식이다. 마젠타의 결과물은 단순한 멜로디의 반복으로 음악적 완성도가 부족하다. 예컨대, 마젠타의 멜로디는 사실상 피아노의 왼손반주에 해당하는 음표를 일직선으로 나열한 것에 지나지 않으므로, 화성과 반주만이 존재하는 반쪽짜리 음악이라 할 수 있다.Google's magenta is based on listing chords progressively and listing bits based on that chord. A melody is a variation in which three or four of the four basic tones that make up each chord are picked up and simply stacked up from the bottom up to match the tune of the song. The result of magenta is lack of musical perfection due to simple melody repetition. For example, magenta melody is actually a half-note music with only harmony and accompaniment, since it is nothing more than a straight line of musical notes corresponding to the left hand accompaniment of the piano.

한편 소니의 딥 바흐는 바흐의 음악을 딥러닝 방식으로 학습하여 바흐 특유의 분위기가 나는 합창곡을 작곡하는 것을 특징으로 한다. 따라서 딥 바흐는 트레이닝데이터의 제한으로 한정된 분위기의 곡만을 제작할 수 있다. 딥 바흐는 매 순간순간 협화음을 이루는 4성부의 음을 제공할 뿐이므로 화성, 반주, 리듬, 멜로디로 구성되는 음악적 요소를 충족하기 어렵다.On the other hand, Sony's Deep Bach is characterized by studying Bach's music in a deep-running manner and composing a choral song with a distinctive atmosphere of Bach. Therefore, Deepbach can only produce songs with a limited atmosphere due to the limitation of training data. Deep Bach is only able to fulfill the musical elements composed of Mars, accompaniment, rhythm and melody, since it provides the sound of a four-member ensemble at every moment.

이하 설명하는 기술은 리듬, 화성 및 멜로디를 모두 고려한 인공 지능 모델을 이용하여 음악을 작곡하는 방법을 제공하고자 한다. 나아가 이하 설명하는 기술은 전문가가 아닌 사용자가 손쉽게 음악을 작곡할 수 있는 인터페이스를 제공하고자 한다.The technique described below is intended to provide a method of composing music using an artificial intelligence model considering both rhythm, harmony, and melody. Further, the technology described below is intended to provide an interface through which a user, not an expert, can easily compose music.

심층 강화 학습을 이용한 음악 작곡 방법은 컴퓨터 장치가 시드 멜로디를 멜로디가 학습된 멜로디 신경망에 입력하여 일정한 멜로디 라인을 추출하는 단계, 상기 컴퓨터 장치가 시드 리듬을 리듬이 학습된 리듬 신경망에 입력하여 일정한 리듬을 추출하는 단계 및 상기 컴퓨터 장치가 시간의 흐름에 따른 상기 리듬을 고려하여 상기 멜로디 라인의 조절하는 단계를 포함한다.A method of music composition using deep reinforcement learning comprises the steps of: inputting a seed melody to a melody neural network in which a melody is learned, and extracting a certain melody line; and the computer device inputs rhythm of a rhythm into a rhythm- And adjusting the melody line in consideration of the rhythm according to the flow of time.

이하 설명하는 기술을 이용하면 사용자가 손쉽게 리듬, 화성 및 멜로디가 조화로운 아름다운 음악을 작곡할 수 있다.Using the technique described below, a user can easily compose beautiful music with harmonious rhythm, harmony and melody.

도 1은 모듈화된 신경망을 이용하여 음악을 작곡하는 과정에 대한 예이다.
도 2는 음악 작곡을 위한 신경망 모델을 도시한 예이다.
도 3은 신경망 모듈의 구조를 도시한 예이다.
도 4는 음악 작곡을 위한 신경망 모델을 도시한 다른 예이다.
1 is an example of a process of composing music using a modularized neural network.
2 shows an example of a neural network model for music composition.
3 shows an example of the structure of a neural network module.
4 is another example showing a neural network model for music composition.

이하 설명하는 기술은 다양한 변경을 가할 수 있고 여러 가지 실시례를 가질 수 있는 바, 특정 실시례들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 이하 설명하는 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 이하 설명하는 기술의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The following description is intended to illustrate and describe specific embodiments in the drawings, since various changes may be made and the embodiments may have various embodiments. However, it should be understood that the following description does not limit the specific embodiments, but includes all changes, equivalents, and alternatives falling within the spirit and scope of the following description.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 이하 설명하는 기술의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, A, B, etc., may be used to describe various components, but the components are not limited by the terms, but may be used to distinguish one component from another . For example, without departing from the scope of the following description, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함한다" 등의 용어는 설시된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.As used herein, the singular " include "should be understood to include a plurality of representations unless the context clearly dictates otherwise, and the terms" comprises & , Parts or combinations thereof, and does not preclude the presence or addition of one or more other features, integers, steps, components, components, or combinations thereof.

도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.Before describing the drawings in detail, it is to be clarified that the division of constituent parts in this specification is merely a division by main functions of each constituent part. That is, two or more constituent parts to be described below may be combined into one constituent part, or one constituent part may be divided into two or more functions according to functions that are more subdivided. In addition, each of the constituent units described below may additionally perform some or all of the functions of other constituent units in addition to the main functions of the constituent units themselves, and that some of the main functions, And may be carried out in a dedicated manner.

또, 방법 또는 동작 방법을 수행함에 있어서, 상기 방법을 이루는 각 과정들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 과정들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.Also, in performing a method or an operation method, each of the processes constituting the method may take place differently from the stated order unless clearly specified in the context. That is, each process may occur in the same order as described, may be performed substantially concurrently, or may be performed in the opposite order.

이하 설명하는 기술은 강화 학습에 기반하여 음악적 요소를 순차 배열하는 복수의 인공 지능 모델을 이용하여 음악을 작곡한다. 이하 설명에서 컴퓨터 장치가 인공 지능 모델을 사용하여 음악을 작곡한다고 설명한다. 컴퓨터 장치는 스마트 기기, PC, 네트워크 상의 서버 등을 의미한다.The techniques described below compose music using a plurality of artificial intelligence models that sequentially arrange musical elements based on reinforcement learning. In the following description, it is assumed that a computer device composes music using an artificial intelligence model. A computer device refers to a smart device, a PC, a server on a network, and the like.

도 1은 모듈화된 신경망을 이용하여 음악을 작곡하는 과정에 대한 예이다. 사용자는 컴퓨터 장치(100)를 이용하여 음악을 작곡한다. 사용자는 컴퓨터 장치(100)에 시드 요소를 입력할 수 있다. 시드 요소는 작곡 인공 지능 모델에 입력되어 일정한 음악을 생성하는데 사용된다. 시드 요소는 작곡을 위한 시작 정보에 해당하고, 일정한 리듬, 멜로디, 코드(chord)와 같은 정보를 포함할 수 있다. 1 is an example of a process of composing music using a modularized neural network. The user composes music using the computer device 100. [ The user may enter the seed element into the computer device 100. [ The seed element is input to the composition artificial intelligence model and used to generate certain music. The seed element corresponds to start information for composition, and may include information such as a certain rhythm, a melody, and a chord.

나아가 사용자는 도 1에 도시한 바와 같이 스마트 기기와 같은 컴퓨터 장치(100)에 시드 요소를 생성하기 위한 일정한 정보를 입력할 수 있다. 예컨대, 사용자는 터치 패널(또는 다른 인터페이스 장치)을 통해 그래픽 요소인 선을 입력할 수 있다. 도 1에 도시한 바와 같이 사용자는 일정한 변화를 갖는 선을 입력할 수 있다. 사용자가 입력하는 그래픽 객체의 종류는 다양할 수 있다. 사용자는 선, 점, 곡선, 특정 모양 등을 입력할 수도 있다. 나아가 사용자는 직접 음성이나 음악을 컴퓨터 장치에 입력할 수도 있다. 컴퓨터 장치는 별도의 인공 지능 모델을 사용하여 사용자가 입력한 정보를 기반으로 시드 요소를 추출할 수 있다. Further, the user can input certain information for creating a seed element in the computer device 100, such as a smart device, as shown in FIG. For example, a user may input a line, which is a graphical element, through a touch panel (or other interface device). As shown in Fig. 1, the user can input a line having a certain change. The types of graphic objects input by the user may vary. The user can also input lines, points, curves, specific shapes, and the like. Furthermore, the user can directly input voice or music to the computer device. The computer device can extract the seed element based on the information input by the user using a separate artificial intelligence model.

도 2는 음악 작곡을 위한 신경망 모델을 도시한 예이다. 도 2는 음악을 생성하는 인공 지능 모델에 대한 예이다. 컴퓨터 장치는 도 2와 같이 복수의 신경망을 사용하여 음악을 작곡할 수 있다. 예컨대, 코드를 출력하는 신경망 모델, 멜로디를 출력하는 신경망 모델, 리듬을 출력하는 신경망 모델 등을 이용할 수 있다. 즉 컴퓨터 장치는 각각 모듈화된 복수의 신경망을 이용하여 음악을 작곡할 수 있다. 2 shows an example of a neural network model for music composition. 2 is an example of an artificial intelligence model for generating music. The computer device can compose music using a plurality of neural networks as shown in FIG. For example, a neural network model outputting a code, a neural network model outputting a melody, and a neural network model outputting a rhythm can be used. That is, the computer device can compose music using a plurality of modularized neural networks.

코드 신경망(30)은 사전에 샘플 코드를 이용하여 학습된다. 코드 신경망(30)은 시드 코드를 입력받아 일정한 코드를 출력한다. 시드 코드는 전술한 시드 요소 중 하나이다. The code neural network 30 is learned using sample codes in advance. The code neural network 30 receives the seed code and outputs a predetermined code. The seed code is one of the seed elements described above.

멜로디 신경망(50)은 사전에 샘플 멜로디를 이용하여 학습된다. 멜로디 신경망(50)은 시드 멜로디를 입력받아 일정한 멜로디를 출력한다. 시드 멜로디는 전술한 시드 요소 중 하나이다.The melody neural network 50 is learned using a sample melody in advance. The melody neural network 50 receives the seed melody and outputs a certain melody. Seed melody is one of the seed elements mentioned above.

리듬 신경망(80)은 사전에 샘플 리듬을 이용하여 학습된다. 리듬 신경망(80)은 시드 리듬을 입력받아 일정한 리듬을 출력한다. 시드 리듬을 전술한 시드 요소 중 하나이다.The rhythmic neural network 80 is learned using a sample rhythm in advance. The rhythm neural network 80 receives the rhythm of the seed and outputs a predetermined rhythm. Seed rhythm is one of the seed elements described above.

후처리 신경망(90)은 코드, 멜로디 및 리듬을 입력받아 최종적임 음악을 출력한다. 후처리 신경망(90)은 코드 진행을 고려하여 멜로디를 수정할 수 있다. 예컨대, 후처리 신경망(90)은 코드와 조성이 맞도록 멜로디 라인 중 특정 음표를 제거하거나, 멜로디 라인의 음의 조절할 수 있다. 후처리 신경망(90)은 리듬에 맞도록 멜로디 라인의 위치 내지 길이를 조절할 수 있다.The post-processing neural network 90 receives the code, the melody, and the rhythm, and outputs the final music. The post-processing neural network 90 can modify the melody in consideration of the code progress. For example, post-processing neural network 90 may remove certain notes in the melody line or adjust the melody line's tone to match the composition with the chord. The post-processing neural network 90 may adjust the position or length of the melody line to match the rhythm.

코드 신경망(30), 멜로디 신경망(50), 리듬 신경망(80) 및 후처리 신경망(90)은 강화 학습 방식을 사용한다. 코드 신경망(30), 멜로디 신경망(50), 리듬 신경망(80) 및 후처리 신경망(90)은 공통된 신경망 모델을 사용할 수 있다. 공통된 신경망 모델(이하 작곡 신경망)에 대해 설명한다. The code neural network 30, the melody neural network 50, the rhythmic neural network 80, and the post-processing neural network 90 use the reinforcement learning method. The code neural network 30, the melody neural network 50, the rhythmic neural network 80, and the post-processing neural network 90 can use a common neural network model. A common neural network model (hereinafter referred to as composition neural network) is described.

도 3은 신경망 모듈의 구조를 도시한 예이다. 도 3은 코드 신경망(30)을 예로 도시하였다. 코드 신경망(30)은 코드를 작곡하는 작곡 신경망(31) 및 작곡 신경망(31)의 출력 결과를 평가하는 평가 신경망(32)을 포함한다. 나아가 멜로디 신경망(50), 리듬 신경망(80), 후처리 신경망(90)도 동일한 구성을 갖는다.3 shows an example of the structure of a neural network module. 3 shows a code neural network 30 as an example. The code neural network 30 includes a composition neural network 31 for composing a code and an evaluation neural network 32 for evaluating the output result of the composition neural network 31. [ Furthermore, the melody neural network 50, the rhythmic neural network 80, and the post-processing neural network 90 have the same configuration.

트레이닝 데이터는 인간이 작곡한 곡의 코드, 멜로디, 리듬 등의 시퀀스를 사용한다. 나아가 트레이닝 데이터는 인공 지능이 작곡한 곡의 코드, 멜로디, 리듬 등의 시퀀스를 사용할 수도 있다.The training data uses a sequence of chords, melodies, rhythms, and the like of a song composed by humans. Furthermore, the training data may use a sequence of codes, melodies, rhythms, etc. of a song composed by artificial intelligence.

작곡 신경망은 학습된 데이터로부터 일련의 시퀀스를 출력하고, 출력한 시퀀스를 평가 신경망에 전달한다. 신경망의 종류에 따라 시퀀스는 코드 진행, 멜로디 라인, 리듬 또는 완성된 악곡에 해당한다. 평가 신경망이 정답을 출력할 경우 작곡 신경망의 점수를 감점하고, 오답을 출력할 경우 점수를 가산하는 방식의 강화학습을 수행한다.The composition neural network outputs a sequence of sequences from the learned data and delivers the output sequence to the evaluation neural network. Depending on the type of neural network, the sequence corresponds to a chord progression, a melody line, a rhythm, or a finished piece of music. When the evaluation neural network outputs the correct answer, it performs reinforcement learning in which the score of the composition neural network is deducted and the score is added when the wrong answer is outputted.

작곡 신경망은 시퀀스 진행을 학습하는 학습부와, 시퀀스 진행을 출력하는 출력부를 포함할 수 있다. 작곡 신경망은 오토 인코더(Auto Encoder) 형태를 가질 수 있다. 오토인코더는 신경망 중 자율학습(Unsupervised learning)을 사용하여 학습하는 모델을 의미한다. 오토인코더는 입력 계층(input layer)과 은닉 계층(hidden layer)을 포함하는 인코더(encoder) 및 은닉 계층과 출력 계층(output layer)을 포함하는 디코더(decoder)로 구성된다. The composition neural network may include a learning unit for learning the sequence progression and an output unit for outputting the sequence progression. Composition The neural network can have the form of Auto Encoder. The auto encoder is a model that learns by using the unsupervised learning among the neural networks. An auto encoder consists of an encoder including an input layer and a hidden layer, and a decoder including a hidden layer and an output layer.

작곡 신경망은 평가 신경망의 피드백을 받아 확률 파라미터를 수정하면서 강화 학습을 진행한다. 예컨대, 작곡 신경망은 평가 신경망의 평가 결과가 정답인 경우 확률 파라미터를 수정하고, 오답일 경우 파라미터를 강화하는 방식으로 강화학습을 진행한다. 오토 인코더로 구성하는 경우 평가 신경망의 출력 결과물에 따라 가중치를 수정하며 학습하는 방식을 고려할 수 있다.The composition neural network receives the feedback of the evaluation neural network and proceeds reinforcement learning while modifying the probability parameters. For example, the composition neural network modifies the probability parameter when the evaluation result of the evaluation neural network is correct, and reinforcement learning is performed by strengthening the parameter when the evaluation result is incorrect. In case of using auto encoder, it is possible to consider a method of learning by modifying the weight according to the output result of the evaluation neural network.

평가 신경망은 임의로 주어지는 일련의 시퀀스를 입력받아 이것이 인간이 작곡한 시퀀스인지, 아니면 인공지능이 작곡한 시퀀스인지를 판별한다. 평가 신경망은 판별 결과가 정답일 경우 점수를 가산하며, 판별 결과가 오답일 경우 점수를 감산한다. 평가 신경망은 판별 결과를 작곡 신경망에 전달한다.The evaluation neural network receives a randomly given sequence and determines whether it is a human-composed sequence or a sequence composed of artificial intelligence. The evaluation neural network adds the score when the discrimination result is correct, and subtracts the score when the discrimination result is incorrect. The evaluation neural network transmits the result of discrimination to the composition neural network.

평가 신경망은 동종의 시퀀스들과 결과물의 출처가 인간인지 인공지능인지를 구분짓는 레이블을 학습하는 학습부 및 학습부의 확률적 파라미터를 이용하여 입력된 데이터의 출처가 인간의 작곡물인지 또는 인공지능의 창작물인지를 구분하는 판별부를 포함한다.The evaluation neural network uses the probabilistic parameters of the learning part and the learning part to learn labels that distinguish between homogeneous sequences and the source of the result, whether human or artificial intelligence, or whether the source of the input data is human composition or artificial intelligence And a discrimination unit for discriminating whether or not it is an artwork.

평가 신경망은 인간이 작곡한 곡의 시퀀스와 상술한 작곡 인공지능이 작곡한 시퀀스를 트레이닝 데이터로 사용한다. 임의의 순서로 인간이 작곡한 시퀀스와 인공지능이 작곡한 시퀀스를 입력하면서 평가를 수행하고, 평가 결과의 정확도가 높아지도록 내부 확률 파라미터를 조절한다.The evaluation neural network uses the sequence of the music composed by the human and the sequence composed by the composition artificial intelligence described above as the training data. The evaluation is performed while inputting a sequence composed of a human being in an arbitrary order and a sequence composed of artificial intelligence, and the internal probability parameter is adjusted so as to increase the accuracy of the evaluation result.

평가 신경망이 구축되면, 작곡 신경망은 일정한 시드 요소를 입력받아 일정한 시퀀스를 출력하고, 평가 신경망은 출력된 시퀀스를 평가한다. 학습이 진행되면서 작곡 신경망은 평가 신경망의 오답을 유도할 수 있도록, 더욱 교묘하게 인간과 같은 수준의 작곡물을 출력하도록 성장하며 평가 신경망은 이를 날카롭게 간파하는 방향으로 성장한다.Once the evaluation neural network is constructed, the composition neural network receives a certain seed element and outputs a certain sequence, and the evaluation neural network evaluates the output sequence. As learning progresses, composing neural networks grow to output more artifacts of the same level as humans, so as to induce the wrong answers in the evaluation neural network, and the evaluation neural network grows in a direction to grasp it sharply.

나아가 도 2에 도시한 바와 같이 컴퓨터 장치는 코드 ,리듬, 멜로디에 대한 별도의 신경망을 이용할 수 있다. 컴퓨터 장치는 하부적인 음악적 구조인 화성, 리듬, 가락 등을 선택적으로 학습하여 하부구조를 출력하는 인공지능들을 각각 학습시키고, 이들의 결과물을 합쳐 활용할 수 있다. Further, as shown in FIG. 2, the computer apparatus can use a separate neural network for codes, rhythms, and melodies. The computer device learns the artificial intelligence that selectively learns the subordinate musical structure Mars, rhythm, and melody, and outputs the sub structure, and can combine the results of these artificial intelligences.

멜로디 신경망(30)은 화성과 멜로디를 함께 입력받아 학습하도록 구성해야 화성과 어긋나지 않는 통일성 있는 멜로디를 출력할 수도 있다. 나아가 베이스 라인과 멜로디 라인을 위한 별도의 신경망을 이용할 수 있다. 이 경우 베이스 라인을 생성하기 위한 별도의 베이스 라인 신경망을 사용할 수 있다. 베이스 라인 신경망 구축은 멜로디 신경망과 동일하다. 베이스 라인 신경망은 학습 데이터로 기성 악곡의 베이스 라인을 사용한다.The melody neural network 30 may be configured to receive and receive Mars and melody together so as to output a unified melody that does not deviate from harmony. You can also use separate neural networks for the baseline and melody lines. In this case, a separate baseline neural network can be used to generate the baseline. Baseline neural network construction is the same as melody neural network. The baseline neural network uses the baseline of existing music as learning data.

도 4는 음악 작곡을 위한 신경망 모델을 도시한 다른 예이다. 도 4는 음악을 생성하는 인공 지능 모델에 대한 예이다. 도 2와는 다른 모델에 대한 예이다. 도 4는 도 2와 달리 시드 신경망(10) 및 피팅 신경망(20)을 더 포함한다.4 is another example showing a neural network model for music composition. 4 is an example of an artificial intelligence model for generating music. This is an example of a model different from Fig. 4 further includes seed neural network 10 and fitting neural network 20, unlike FIG.

사용자는 악보와 같은 전문적인 정보를 사용하지 않고, 도 1에서 설명한 바와 같이 단순한 방식으로 시드 요소를 입력할 수 있다. 이를 위해 필요한 것이 시드 신경망(10)이다. The user can input the seed element in a simple manner as described in Fig. 1 without using professional information such as music score. What is needed for this is the seed neural network 10.

시드 신경망(10)은 사용자로부터 시드 라인을 입력받아 이를 음악적 요소로 변환하고, 피팅 신경망(20)은 시드 신경망(10)이 출력하는 음악적 요소에 따라 멜로디가 출력되도록 조절한다.The seed neural network 10 receives a seed line from a user and converts it into a musical element. The fitting neural network 20 adjusts the melody to be output according to musical elements output from the seed neural network 10.

사용자는 도 1과 같이 종 또는 횡을 따라 선을 그리거나, 음을 입력하여 시드 라인을 입력한다. 시드 라인은 사용자가 컴퓨터 장치 등에 직접 입력하는 입력 정보를 의미한다. 예컨대, 시드 라인으로 그래픽 객체인 선을 이용한다고 가정한다.The user draws a line along a longitudinal or lateral line as shown in Fig. 1, or inputs a sound to input a seed line. The seed line means input information that a user inputs directly to a computer device or the like. For example, it is assumed that a line that is a graphical object is used as a seed line.

사용자는 인터페이스 장치를 통해 일정한 형태의 선을 입력한다. 선은 고저 변화 또는 좌우 변화라는 기하학적 정보는 음의 높이 변화에 매칭될 수 있다. 시드 신경망(10)은 사용자가 입력한 선을 입력받아 음악적 모티프를 출력한다. 음악적 모티프는 전술한 시드 요소이다. 인공지능 모델에 따라 시드 신경망(10)은 시드 코드, 시드 멜로디, 시드 리듬 중 적어도 하나를 출력한다. 시드 신경망(10)도 사전에 학습을 통해 마련된다. 시드 신경망(10)은 다양한 방식의 기계학습 내지 딥 러닝 기법을 이용하여 마련될 수 있다. 선이라는 그래프 요소를 사용한다면 CNN(Convolutional Neural Network)과 같은 신경망을 이용할 수도 있다.The user inputs a certain type of line through the interface device. The line can be matched to the change in pitch of the sound as the geometric information of change in elevation or change in left or right. The seed neural network 10 receives a line input by a user and outputs a musical motif. The musical motif is the aforementioned seed element. According to the artificial intelligence model, the seed neural network 10 outputs at least one of a seed code, a seed melody, and a seed rhythm. The seed neural network (10) is also prepared through learning in advance. The seed neural network 10 may be prepared using various types of machine learning or deep learning techniques. If you use the line graph element, you can use a neural network such as CNN (Convolutional Neural Network).

피팅 신경망(20)은 시드 신경망(10)이 출력한 시드 요소를 전달받는다. 예컨대, 피팅 신경망(20)은 시드 멜로디를 전달받고, 멜로디 신경망(50)이 출력하는 멜로디와 비교하여 사용자가 입력한 시드라인 정보와 유사한 패턴의 멜로디가 출력되도록 제어할 수 있다. 피팅 신경망(20)은 시드 멜로디 또는 시드 멜로디를 반복한 결과물과 멜로디 신경망(50)이 출력하는 특정 구간의 멜로디를 비교하여 패턴의 유사도가 기준값을 벗어나는 경우 멜로디 신경망(50)이 출력한 멜로디를 버리고, 다시 새로운 멜로디 라인을 생성하도록 멜로디 신경망(50)에 제어 명령을 전달할 수 있다. 이러한 관정을 통해 멜로디 신경망(50)이 학습한 음악의 경향성을 위배하지 않으면서 사용자가 입력한 시드 정보에 부합하는 결과를 추출할 수 있다.The fitting neural network 20 receives the seed element output by the seed neural network 10. [ For example, the fitting neural network 20 receives the seed melody and controls the melody to output a melody similar in pattern to the seed line information input by the user, compared with the melody output from the melody neural network 50. [ The fitting neural network 20 compares the result of repeating the seed melody or the seed melody with the melody of the specific section output by the melody neural network 50 and discards the melody output from the melody neural network 50 when the similarity degree of the pattern is out of the reference value , And may transmit a control command to the melody neural network 50 to generate a new melody line again. Through this observation, it is possible to extract a result corresponding to the seed information inputted by the user without violating the tendency of the music that the melody neural network 50 learned.

한편 후처리 신경망(90)이 출력하는 정보는 음악을 재생하는 음악 파일일 수도 있고, 멜로디/리듬/화성 등의 정보를 포함하는 음악 정보(텍스트, 악보 등)일 수도 있다.On the other hand, the information output by the post-processing neural network 90 may be a music file for playing music, or music information (text, score, etc.) including information such as melody / rhythm / harmony.

본 실시례 및 본 명세서에 첨부된 도면은 전술한 기술에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 전술한 기술의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시례는 모두 전술한 기술의 권리범위에 포함되는 것이 자명하다고 할 것이다.The present embodiment and drawings attached hereto are only a part of the technical idea included in the above-described technology, and it is easy for a person skilled in the art to easily understand the technical idea included in the description of the above- It will be appreciated that variations that may be deduced and specific embodiments are included within the scope of the foregoing description.

10 : 시드 신경망
20 : 피팅 신경망
30 : 코드 신경망
31 : 작곡 신경망
32 : 평가 신경망
50 : 멜로디 신경망
80 : 리듬 신경망
90 : 후처리 신경망
100 : 컴퓨터 장치
10: seed neural network
20: Fitting neural network
30: code neural network
31: Composition neural network
32: Evaluation Neural Network
50: melody neural network
80: rhythm neural network
90: Post-processing neural network
100: computer device

Claims (4)

컴퓨터 장치가 시드 멜로디를 멜로디가 학습된 멜로디 신경망에 입력하여 일정한 멜로디 라인을 추출하는 단계;
상기 컴퓨터 장치가 시드 리듬을 리듬이 학습된 리듬 신경망에 입력하여 일정한 리듬을 추출하는 단계; 및
상기 컴퓨터 장치가 시간의 흐름에 따른 상기 리듬을 고려하여 상기 멜로디 라인의 조절하는 단계를 포함하되,
상기 멜로디 신경망은 샘플 데이터를 입력받아 멜로디 생성을 학습하는 멜로디 학습 신경망 및 상기 멜로디 학습 신경망의 출력이 인공지능이 작성한 시퀀스인지 또는 인간이 작성한 시퀀스인지를 판단하는 평가 신경망을 포함하고, 멜로디 학습 과정에서 상기 판단 결과가 정답인지 여부에 따라 상기 학습 신경망의 파라미터를 조절하고,
상기 리듬 신경망은 샘플 데이터를 입력받아 리듬 생성을 학습하는 리듬 학습 신경망 및 상기 리듬 학습 신경망의 출력이 인공지능이 작성한 시퀀스인지 또는 인간이 작성한 시퀀스인지를 판단하는 평가 신경망을 포함하고, 리듬 학습 과정에서 상기 판단 결과가 정답인지 여부에 따라 상기 리듬 학습 신경망의 파라미터를 조절하는 심층 강화 학습을 이용한 음악 작곡 방법.
Inputting a seed melody to a melody neural network in which a melody is learned, and extracting a certain melody line;
A step of the computer device inputting the rhythm of the rhythm into the rhythm neural network in which the rhythm is learned, and extracting a certain rhythm; And
The computer device comprising the step of adjusting the melody line in consideration of the rhythm according to the passage of time,
The melody neural network includes a melody learning neural network for learning melody generation by receiving sample data and an evaluation neural network for determining whether the output of the melody learning neural network is a sequence created by artificial intelligence or a sequence created by a human. Adjusting parameters of the learning neural network according to whether the determination result is correct,
The rhythmic neural network includes a rhythm learning neural network that receives sample data and learns rhythm generation and an evaluation neural network that determines whether the output of the rhythm learning neural network is a sequence created by artificial intelligence or a sequence created by a human. And adjusting the parameters of the rhythm learning neural network according to whether the result of the determination is correct or not.
제1항에 있어서,
상기 컴퓨터 장치가 시드 코드를 코드가 학습된 코드 신경망에 입력하여 일정한 코드 진행을 추출하는 단계를 더 포함하고, 상기 코드 신경망은 샘플 데이터를 입력받아 코드 생성을 학습하는 코드 학습 신경망 및 상기 코드 학습 신경망의 출력이 인공지능이 작성한 시퀀스인지 또는 인간이 작성한 시퀀스인지를 판단하는 평가 신경망을 포함하고, 코드 학습 과정에서 상기 판단 결과가 정답인지 여부에 따라 상기 리듬 학습 신경망의 파라미터를 조절하고,
상기 컴퓨터 장치는 상기 코드 진행에 따라 상기 멜로디 라인을 더 조절하는 심층 강화 학습을 이용한 음악 작곡 방법.
The method according to claim 1,
Further comprising the step of the computer device inputting a seed code into a code neural network where a code is learned and extracting a certain code progression, wherein the code neural network includes a code learning neural network that receives sample data and learns code generation, And an evaluation neural network for determining whether the output of the neural network is a sequence created by the artificial intelligence or a sequence created by a human being. In the code learning process, the parameter of the rhythm learning neural network is adjusted according to whether the determination result is correct,
Wherein the computer device further controls the melody line according to the code progression.
제1항에 있어서,
상기 컴퓨터 장치가 사용자로부터 그래픽적 요소인 선(line) 또는 소리를 입력받는 단계; 및
상기 컴퓨터 장치가 상기선 또는 소리를 입력받아 사전에 학습된 시드 신경망에 입력하여 상기 시드 멜로디 및 상기 시드 리듬을 추출하는 단계를 더 포함하되,
상기 컴퓨터 장치는 상기 추출한 시드 멜로디를 상기 멜로디 신경망에 입력하고, 상기 추출한 시드 리듬을 상기 리듬 신경망에 입력하는 심층 강화 학습을 이용한 음악 작곡 방법.
The method according to claim 1,
Receiving a line or sound as a graphic element from a user; And
Further comprising the step of the computer device receiving the line or sound and inputting the line or sound into the seed neural network learned in advance to extract the seed melody and the seed rhythm,
Wherein the computer device inputs the extracted seed melody to the melody neural network and inputs the extracted seed rhythm to the rhythmic neural network.
제3항에 있어서,
상기 컴퓨터 장치는 상기 멜로디 신경망에서 출력되는 상기 멜로디 라인의 특정 구간이 상기 시드 멜로디와 패턴의 유사도가 기준값 이상 상이하면 상기 시드 멜로디를 다시 상기 멜로디 신경망에 입력하여 멜로디 라인 추출을 다시 시작하는 심층 강화 학습을 이용한 음악 작곡 방법.
The method of claim 3,
Wherein when the similarity of the seed melody and the pattern is greater than or equal to a reference value, the computer device again inputs the seed melody to the melody neural network to start the melody line extraction again, Method of music composition using.
KR1020170024223A 2017-02-23 2017-02-23 Music composition method based on deep reinforcement learning KR20170128073A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170024223A KR20170128073A (en) 2017-02-23 2017-02-23 Music composition method based on deep reinforcement learning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170024223A KR20170128073A (en) 2017-02-23 2017-02-23 Music composition method based on deep reinforcement learning

Publications (1)

Publication Number Publication Date
KR20170128073A true KR20170128073A (en) 2017-11-22

Family

ID=60809860

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170024223A KR20170128073A (en) 2017-02-23 2017-02-23 Music composition method based on deep reinforcement learning

Country Status (1)

Country Link
KR (1) KR20170128073A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200010633A (en) 2018-06-25 2020-01-31 충북대학교 산학협력단 Automatic music generation system using user playlist and method thereof
CN111739492A (en) * 2020-06-18 2020-10-02 南京邮电大学 Music melody generation method based on pitch contour curve
CN112435642A (en) * 2020-11-12 2021-03-02 浙江大学 Melody MIDI accompaniment generation method based on deep neural network
KR102235048B1 (en) * 2019-10-31 2021-04-05 동국대학교 산학협력단 Apparatus for automatically generating music based on learning and method thereof
KR102381309B1 (en) * 2021-07-08 2022-04-01 (주)디자인스튜디오에이 User's emotion expression system about interpretation of artwork and control method thereof
KR102560394B1 (en) * 2022-09-15 2023-07-28 (주)더바통 Chord generation system based on music score chord ai discrimination algorithm

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200010633A (en) 2018-06-25 2020-01-31 충북대학교 산학협력단 Automatic music generation system using user playlist and method thereof
KR102235048B1 (en) * 2019-10-31 2021-04-05 동국대학교 산학협력단 Apparatus for automatically generating music based on learning and method thereof
CN111739492A (en) * 2020-06-18 2020-10-02 南京邮电大学 Music melody generation method based on pitch contour curve
CN111739492B (en) * 2020-06-18 2023-07-11 南京邮电大学 Music melody generation method based on pitch contour curve
CN112435642A (en) * 2020-11-12 2021-03-02 浙江大学 Melody MIDI accompaniment generation method based on deep neural network
KR102381309B1 (en) * 2021-07-08 2022-04-01 (주)디자인스튜디오에이 User's emotion expression system about interpretation of artwork and control method thereof
KR102560394B1 (en) * 2022-09-15 2023-07-28 (주)더바통 Chord generation system based on music score chord ai discrimination algorithm
WO2024058484A1 (en) * 2022-09-15 2024-03-21 (주)더바통 Chord generation system based on music score chord ai determination algorithm

Similar Documents

Publication Publication Date Title
KR20170128073A (en) Music composition method based on deep reinforcement learning
KR101854706B1 (en) Method and recording medium for automatic composition using artificial neural network
Hoover et al. Generating a Complete Multipart Musical Composition from a Single Monophonic Melody with Functional Scaffolding.
Järveläinen Algorithmic musical composition
Zhou et al. BandNet: A neural network-based, multi-instrument Beatles-style MIDI music composition machine
Hoover et al. Functional scaffolding for composing additional musical voices
Hoover et al. Generating musical accompaniment through functional scaffolding
Mailman Cybernetic phenomenology of music, embodied speculative realism, and aesthetics-driven techné for spontaneous audio-visual expression
Moroni et al. Vox populi: Evolutionary computation for music evolution
KR20170128070A (en) Chord composition method based on recurrent neural network
KR102560394B1 (en) Chord generation system based on music score chord ai discrimination algorithm
Collins A funny thing happened on the way to the formula: Algorithmic composition for musical theater
KR101934057B1 (en) Method and recording medium for automatic composition using hierarchical artificial neural networks
Kathiresan Automatic melody generation
Liu et al. Fusing Flamenco and Argentine Tango by evolutionary composition
JP2015206878A (en) Information processing device and information processing method
Vargas et al. Artificial musical pattern generation with genetic algorithms
Amerotti et al. A Live Performance Rule System Informed by Irish Traditional Dance Music
KR20170128072A (en) Music composition method based on free order markov chain and bayes inference
Scirea et al. Evolving four part harmony using a multiple worlds model
Hahn et al. An Interpretable, Flexible, and Interactive Probabilistic Framework for Melody Generation
Wafflard et al. FuxCP: a constraint programming based tool formalizing Fux’s musical theory of counterpoint
Velardo et al. Automatic melody composition and evolution: a cognitive-based approach
KR20190111360A (en) System, device, and method to generate polyphonic music
Flenady Composing Contrapuntal Worlds: Developing an Aesthetics and Practice of Counterpoint in the 21st Century

Legal Events

Date Code Title Description
G15R Request for early opening
WITB Written withdrawal of application