KR102149773B1 - Deep learning based compositional drum pattern generating apparatus and method therefor - Google Patents
Deep learning based compositional drum pattern generating apparatus and method therefor Download PDFInfo
- Publication number
- KR102149773B1 KR102149773B1 KR1020180152505A KR20180152505A KR102149773B1 KR 102149773 B1 KR102149773 B1 KR 102149773B1 KR 1020180152505 A KR1020180152505 A KR 1020180152505A KR 20180152505 A KR20180152505 A KR 20180152505A KR 102149773 B1 KR102149773 B1 KR 102149773B1
- Authority
- KR
- South Korea
- Prior art keywords
- pattern
- drum pattern
- drum
- similar
- gan
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Details of electrophonic musical instruments
- G10H1/0008—Associated control or indicating means
- G10H1/0025—Automatic or semi-automatic music composition, e.g. producing random music, applying rules from music theory or modifying a musical piece
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects 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/031—Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC 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/00—Aspects 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/101—Music Composition or musical creation; Tools or processes therefor
- G10H2210/111—Automatic composing, i.e. using predefined musical rules
- G10H2210/115—Automatic composing, i.e. using predefined musical rules using a random process to generate a musical note, phrase, sequence or structure
- G10H2210/121—Automatic composing, i.e. using predefined musical rules using a random process to generate a musical note, phrase, sequence or structure using a knowledge base
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Machine Translation (AREA)
Abstract
본 발명은 원하는 유형의 곡들의 메인 드럼 패턴 추출하고, 딥러닝을 이용하여 이와 유사한 드럼 패턴을 생성함으로써 유사한 드럼 패턴을 변조하여 새로우면서도 기존의 곡과 유사한 작곡용 드럼패턴을 생성하는 기술에 관한 것으로, 음원 전처리부, 메인 드럼 패턴 결정부, GAN 학습 데이터 생성부, 유사 드럼 패턴 생성부, 전체 드럼 패턴 제공부를 포함할 수 있으며, 제공받은 음원을 분석하여 선정된 메인 드럼 패턴을 미리 설정된 단위 해상도에 따라 세부적인 스텝으로 분할하고, 분할된 각 스텝 별로 미리 설정된 악기의 연주 유무 및 연주 세기에 대한 정보를 포함한 행렬 데이터를 이용하여 GAN 학습 데이터를 생성하며, 이를 GAN 모델에 적용하여 유사 드럼 패턴을 생성하고 유사 드럼 패턴을 변조하여 전체 드럼 패턴을 생성함으로써 원곡의 분위기와 유사한 드럼 패턴을 기초로 멜로디를 입힌 곡을 작곡할 수 있는 효과를 제공할 수 있다.The present invention relates to a technique for generating a drum pattern for composition similar to a new and existing song by modulating a similar drum pattern by extracting a main drum pattern of a desired type of songs and creating a drum pattern similar to this using deep learning. , A sound source preprocessor, a main drum pattern determination unit, a GAN learning data generation unit, a similar drum pattern generation unit, and an entire drum pattern providing unit, and the main drum pattern selected by analyzing the provided sound source is converted to a preset unit resolution. It is divided into detailed steps according to the steps, and GAN learning data is generated by using matrix data including information on whether or not the instrument is played and the playing strength preset for each divided step, and applied to the GAN model to create a similar drum pattern. And by modulating a similar drum pattern to create an entire drum pattern, it is possible to provide an effect of composing a melody-coated song based on a drum pattern similar to the atmosphere of the original song.
Description
본 발명은 딥러닝을 기반으로 하여 노래를 작곡할 수 있도록 작곡용 드럼 패턴을 제공하는 기술에 관한 것으로 더 하게는 원하는 유형의 곡들의 메인 드럼 패턴 추출하고, 딥러닝을 이용하여 이와 유사한 드럼 패턴을 생성함으로써 유사한 드럼 패턴을 변조하여 새로우면서도 기존의 곡과 유사한 작곡용 드럼패턴을 생성하는 것을 목적으로 한다.The present invention relates to a technology for providing a drum pattern for composition so that songs can be composed based on deep learning. In addition, the main drum pattern of desired types of songs is extracted, and a drum pattern similar to this is generated using deep learning. The purpose is to create a new and similar drum pattern for composing songs by modulating a similar drum pattern.
컴퓨터를 이용하여 자동으로 작곡을 하려는 시도는 비교적 오래전부터 있어왔으며, 이러한 분야는 알고리즘 작곡 이라고 분류되어왔으며 작곡이라는 목적에서 알 수 있듯이 주로 대부분 인공 지능 분야에서 개발된 방법들이 사용되어왔다.Attempts to automatically compose using computers have been around for a long time, and this field has been classified as algorithmic composition, and as can be seen from the purpose of composing, most of the methods developed in the field of artificial intelligence have been used.
첫 번째 방법으로, 자동 작곡을 수행하는 알고리즘을 만든 것으로 문법에 기반한 것, 규칙에 기반한 것, 사례에 기반한 것 등이 있다. 문법에 기반한 것은 언어에서 문법을 통하여 글을 만드는 것을 모사하여 이를 작곡에 응용한 것이다. 규칙에 기반한 것은 멜로디를 생성하는 규칙을 만들어 이를 기반으로 곡을 만드는 것이다.The first method is to create an algorithm that performs automatic composition, such as grammar-based, rule-based, and case-based. What is based on grammar is applied to composition by simulating the creation of text through grammar in language. Rule-based is to create a rule to create a melody and create a song based on it.
사례에 기반한 것은 기존 곡을 소절별로 데이터베이스화 하고 작곡 시 기존 곡에서 소절을 이용하여 작곡하는 것이다.Based on the case, the existing songs are databaseized for each measure, and when composing, they are composed using measures from the existing songs.
두 번째 방법으로, 최적화 기법에 의한 것이 있다. 작곡에 주로 사용된 최적화 기법은 진화알고리즘 (Evolutionary Algorithms)으로서 집단개체를 진화 시켜서 최적화 시키는 방법이다.The second way is by optimization technique. The optimization technique mainly used in composition is Evolutionary Algorithms, which is a method of optimizing by evolving collective entities.
특히 개체를 트리로 표현하는 유전프로그램(Genetic Programming)은 곡의 음에서 마디로, 마디에서 음절로 계층적으로 구성되기 때문에 작곡 에서 매우 유용한 기법이다.In particular, Genetic Programming, which expresses an individual as a tree, is a very useful technique in composition because it is organized hierarchically from notes to nodes and nodes to syllables.
그러나 최적화 방법에 있어서 가장 큰 문제점은 개체를 평가하는 방법이 어렵다는 것이다. 개체로 표현된 짧은 곡이 얼마나 음악적으로 적합한지를 제대로 평가해야 진화가 일어나서 점점 더 좋은 곡이 표현된다.However, the biggest problem with the optimization method is that it is difficult to evaluate the object. It is necessary to properly evaluate how musically suitable a short song expressed as an individual is, so that evolution will occur and better and better songs will be expressed.
그러나 컴퓨터가 스스로 곡을 평가하는 것은 상당히 어려운 일이므로, 보통 사람이 각 개체를 평가하는 방법을 많이 사용하지만 매우 많은 개체를 수십에서 수백세대에 걸쳐 모두 평가하는 것은 사람에게도 매우 지루하고 힘든 작업이 된다.However, since it is quite difficult for computers to evaluate songs by themselves, it is very difficult for humans to evaluate each object a lot, but evaluating very many objects over tens to hundreds of generations is a very tedious and difficult task for humans.
그 뿐만 아니라 곡에 대한 평가는 매우 주관적이어서 일관된 잣대를 제시하기도 어렵다. 이러한 적합도 평가의 어려움을 어느 정도 완화하기 위하여 곡에 대한 평가를 인공신경망의 학습 기능을 통하여 수행하는 연구도 있다. 그러나 학습된 인공신경망의 곡에 대한 평가가 제대로 수행되는 것을 보장하기는 매우 어렵다.Not only that, but the evaluation of songs is very subjective, so it is difficult to present a consistent standard. In order to alleviate the difficulty of evaluating such fitness to some extent, there are studies that perform evaluation of songs through the learning function of artificial neural networks. However, it is very difficult to ensure that the songs of the learned artificial neural network are properly evaluated.
세 번째 방법으로, 기계학습에 의한 것이 있다. 기계학습은 컴퓨터가 스스로 주어진 데이터를 학습하는 것으로서 대표적인 것으로 인공 신경망이 있다. The third method is by machine learning. Machine learning is a computer learning given data by itself, and there is an artificial neural network.
인공신경망은 주어진 데이터를 학습하고 학습된 데이터와 같거나 유사한 데이터를 출력할 수 있다.The artificial neural network can learn the given data and output the same or similar data as the learned data.
인공신경망을 이용한 방법은 기존의 곡을 학습하여 곡을 출력하기 때문에 비교적 작곡가가 작곡한 곡과 유사한 느낌을 갖는 곡을 출력한다.Since the method using an artificial neural network learns an existing song and outputs the song, it outputs a song that has a relatively similar feeling to the song composed by the composer.
그러나 곡에는 반복되는 부분이 많기 때문에 곡을 학습하기 어렵고 매우 오랜 시간이 소요된다. 또한 하나의 곡을 학습하고 출력하는 방법은 출력되는 곡이 기존의 곡과 너무 유사하다는 문제점이 있으며 여러 곡을 학습하는 경우에는 어떤 기준으로 어떻게 학습하게 할지를 정하는 것이 어렵다.However, because there are many repetitive parts in the song, it is difficult to learn the song and it takes a very long time. In addition, the method of learning and outputting one song has a problem that the output song is too similar to an existing song, and when learning several songs, it is difficult to determine how and by what criteria.
그러나, 이와 같은 종래 방법들은 작곡을 수행하는 과정을 일부 모사하거나 그 가능성을 타진하는 정도의 방법으로서 실질적으로 작곡가 수준의 자연스런 느낌의 곡을 생성하기에는 부족한 부분이 많다.However, these conventional methods are methods of a degree to partially simulate the process of performing the composition or to explore the possibility, and are insufficient in creating a song with a natural feeling of a composer level.
그 뿐만 아니라, 멜로디나 박자의 일부를 생성하는 것만으로 원본 음악과 유사하지만 다른 분위기로 생성되는 문제점도 다수 발생할 수 있다.In addition, it is similar to the original music only by generating a part of the melody or beat, but there may be a number of problems that are generated in a different atmosphere.
본 발명은 종래의 인공 신경망을 이용한 작곡 분야에서 발생하던 불명확한 기준을 통해 학습함으로써, 원하는 바와 다른 곡이 작곡되는 문제 및 딥러닝을 통해 멜로디나 박자의 일부를 생성하여 특정 부분은 유사하지만 전체적인 분위기가 다른 곡이 작곡되는 문제점을 해결하기 위하여, 곡의 전체 분위기를 좌우하는 드럼 패턴 중 메인 패턴을 선정하고, 메인 드럼 패턴과 유사한 드럼 패턴을 다양하게 생성하여 이를 바탕으로 전체 곡의 드럼패턴을 생성하는 방법을 이용하여, 원곡의 분위기와 유사한 드럼 패턴을 기초로 멜로디를 입힌 곡을 작곡할 수 있는 드럼 패턴을 생성하는 장치를 제공하는 것에 그 목적이 있다. The present invention is a problem of composing a song different from the one desired by learning through an unclear standard that occurred in the field of composition using an artificial neural network, and by creating a part of a melody or a beat through deep learning, the specific part is similar but the overall atmosphere In order to solve the problem of composing different songs, the main pattern is selected among the drum patterns that influence the overall atmosphere of the song, and drum patterns similar to the main drum pattern are created in various ways, and based on this, the drum pattern of the entire song is created. It is an object of the present invention to provide an apparatus for generating a drum pattern capable of composing a melody-coated song on the basis of a drum pattern similar to the atmosphere of the original song by using the method.
본 발명의 실시 예에 따르면 딥러닝 기반의 작곡용 드럼 패턴 생성장치은 프로세서에 의하여 동작하는 신경망을 이용하여, 제공받은 음원을 미리 설정된 파일 형식 또는 클래스 형태로 변환하는 음원 전처리부; 상기 변환된 음원의 패턴을 분석하여 미리 설정된 마디 수로 나누어 복수의 리듬 그룹을 생성하고, 상기 생성된 복수의 리듬 그룹 중 드럼 노트의 수가 가장 많은 리듬 그룹을 메인 드럼 패턴으로 결정하는 메인 드럼 패턴 결정부; 상기 결정된 메인 드럼 패턴을 미리 설정된 단위 해상도에 따라 세부적인 스텝으로 분할하고, 상기 분할된 각 스텝 별로 미리 설정된 악기의 연주 유무 및 연주 세기에 대한 정보를 포함한 행렬 데이터를 이용하여 GAN 학습 데이터를 생성하는 GAN 학습 데이터 생성부; GAN 모델에 미리 설정되거나 입력받은 장르별 제약 조건 정보를 반영하여 설계된 생성 및 구별 모델을 이용하여 상호 경쟁을 통해 메인 드럼 패턴과 유사한 유사 드럼 패턴을 생성하는 유사 드럼 패턴 생성부; 및 패턴 변조 모델을 이용하여 상기 유사 드럼 패턴을 다양하게 변조하여 전체 드럼 패턴을 생성하는 전체 드럼 패턴 제공부를 포함할 수 있다According to an embodiment of the present invention, an apparatus for generating a drum pattern for composition based on deep learning includes: a sound source preprocessor for converting a received sound source into a preset file format or class format using a neural network operated by a processor; A main drum pattern determination unit that analyzes the pattern of the converted sound source and divides it by a preset number of bars to generate a plurality of rhythm groups, and determines a rhythm group with the largest number of drum notes among the generated plurality of rhythm groups as a main drum pattern. ; Dividing the determined main drum pattern into detailed steps according to a preset unit resolution, and generating GAN learning data using matrix data including information on the presence or absence of a musical instrument preset for each of the divided steps and the playing strength. GAN learning data generation unit; A similar drum pattern generation unit that generates a similar drum pattern similar to the main drum pattern through competition using a generation and distinction model designed by reflecting the genre-specific constraint information previously set or input in the GAN model; And a whole drum pattern providing unit that variously modulates the similar drum pattern using a pattern modulation model to generate an entire drum pattern.
본 발명의 일 실시 예에 따르면 상기 GAN 학습 데이터 생성부는, 상기 결정된 메인 드럼 패턴의 각 마디를 미리 설정된 단위 해상도에 다수의 스텝으로 분할하고 상기 메인 드럼 패턴의 전체 스텝 수 i를 산출하는 스텝 수 산출부; 음고 값에 따라 미리 설정된 악기의 종류를 매칭하고, 상기 매칭된 악기를 종류에 따라 1부터 j까지 라벨링하는 악기 라벨링부; 상기 메인 드럼 패턴에 포함된 각 스텝을 분석하여 음고 값을 측정하고, 상기 측정된 음고 값을 이용하여 각 스텝 별로 상기 라벨링된 악기의 연주 유무 판단 및 연주 세기를 측정하여 점수로 산출하는 연주 스코어링부; 및 상기 산출된 점수를 이용하여 상기 i개의 스텝과 대한 j개의 악기를 열과 행으로 하는 패턴 별 i X j 형식의 패턴 행렬 데이터를 생성하는 패턴 행열 생성부를 더 포함할 수 있다.According to an embodiment of the present invention, the GAN learning data generation unit calculates the number of steps for dividing each measure of the determined main drum pattern into a plurality of steps at a preset unit resolution and calculating the total number of steps i of the main drum pattern. part; A musical instrument labeling unit that matches a preset type of musical instrument according to a pitch value and labels the matched musical instruments from 1 to j according to the type; A performance scoring unit that analyzes each step included in the main drum pattern to measure a pitch value, and uses the measured pitch value to determine whether the labeled instrument is played or not and measure the playing strength for each step to calculate a score. ; And a pattern matrix generation unit generating pattern matrix data in i X j format for each pattern in which j instruments for the i steps are used as columns and rows using the calculated score.
본 발명의 일 실시 예에 따르면 상기 연주 스코어링부는, 상기 측정된 음고 값을 분석하여 라벨링된 악기가 연주되었는지 여부를 판단하고, 연주되지 않았다고 판단된 경우에는 0 값을, 악기가 연주되었다고 판단된 경우에는 연주된 악기의 연주 세기를 속도에 기반하여 숫자로 산출한 값을 점수로 결정하는 것을 특징으로 하는 딥러닝 기반의 작곡용 드럼 패턴 생성장치.According to an embodiment of the present invention, the performance scoring unit analyzes the measured pitch value to determine whether a labeled instrument has been played, and when it is determined that the instrument has not been played, a value of 0 is given, and when it is determined that the instrument has been played. In the deep learning-based composition drum pattern generation device, characterized in that the value calculated by numbers based on the speed of the played instrument is determined as a score.
본 발명의 일 실시 예에 따르면 상기 미리 설정된 마디 수는 8마디, 미리 설정된 단위 해상도는 48음표로 설정하여, 384 x j 행렬 형식의 행렬 데이터를 패턴 별로 생성할 수 있다.According to an embodiment of the present invention, the preset number of bars is set to 8 bars, and the preset unit resolution is set to 48 notes, thereby generating matrix data in a 384 x j matrix format for each pattern.
본 발명의 일 실시 예에 따르면 상기 유사 드럼 패턴 생성부는, 상기 장르별 제약 조건은 생성된 유사 드럼 패턴에서 특정 악기의 연주 빈도를 특정 이하로 제한하기 위한 손실 함수(loss function)을 통해 반영될 수 있다.According to an embodiment of the present invention, the similar drum pattern generation unit may reflect the genre-specific constraint condition through a loss function for limiting the playing frequency of a specific instrument in the generated similar drum pattern to a specific value or less. .
본 발명의 일 실시 예에 따르면 상기 유사 드럼 패턴 생성부는, 상기 특정 악기의 연주 빈도를 특정 이하로 제한하기 위하여 생성된 유사 드럼 패턴에서의 특정 악기의 연주 빈도 전체 합과 원하는 특정 빈도 사이의 절대값차이에 가중치를 곱하는 방식이 사용될 수 있다.According to an embodiment of the present invention, the similar drum pattern generation unit is an absolute value between the sum of the total playing frequencies of a specific instrument in a similar drum pattern generated to limit the playing frequency of the specific instrument to a specific frequency below a certain level and a desired specific frequency. A method of multiplying the difference by the weight can be used.
본 발명의 일 실시 예에 따르면 상기 유사 드럼 패턴 생성부는, 상기 GAN 모델은 2단계로 설계되고, 1단계 모델은 16분음표마다 드럼 노트가 기록되는 GAN 모델로 저해상도 드럼 패턴을 생성하며, 상기 저해상도 드럼 패턴을 이용하여 2단계 모델은 48분음표마다 드럼 노트가 기록되는 GAN 모델로 고해상도의 유사 드럼 패턴을 생성할 수 있다.According to an embodiment of the present invention, the similar drum pattern generation unit generates a low-resolution drum pattern with a GAN model in which the GAN model is designed in two stages, and the first-stage model is a GAN model in which drum notes are recorded every 16th note, and the low-resolution Using the drum pattern, the two-stage model is a GAN model in which drum notes are recorded every 48th note, and a high-resolution similar drum pattern can be created.
본 발명의 일 실시 예에 따르면 상기 전체 드럼 패턴 제공부는, 상기 패턴 변조 모델은 유사 드럼 패턴 중 일부 악기를 제외시키거나, 유사 드럼 패턴의 일부 부분을 제거하거나, 유사 드럼 패턴의 드럼 노트의 위치를 변동하는 것 중 적어도 하나의 방법을 이용하는 모델일 수 있다.According to an embodiment of the present invention, the entire drum pattern providing unit, the pattern modulation model, excludes some instruments from the similar drum pattern, removes some parts of the similar drum pattern, or determines the position of the drum note of the similar drum pattern. It may be a model that uses at least one method of changing.
본 발명의 실시 예에 따르면 딥러닝 기반의 작곡용 드럼 패턴 생성방법은 프로세서에 의하여 동작하는 신경망을 이용하여, 제공받은 음원을 미리 설정된 파일 형식 또는 클래스 형태로 변환하는 단계; 상기 변환된 음원의 패턴을 분석하여 미리 설정된 마디 수로 나누어 복수의 리듬 그룹을 생성하고, 상기 생성된 복수의 리듬 그룹 중 드럼 노트의 수가 가장 많은 리듬 그룹을 메인 드럼 패턴으로 결정하는 단계; 상기 결정된 메인 드럼 패턴을 미리 설정된 단위 해상도에 따라 세부적인 스텝으로 분할하고, 상기 분할된 각 스텝 별로 미리 설정된 악기의 연주 유무 및 연주 세기에 대한 정보를 포함한 행렬 데이터를 이용하여 GAN 학습 데이터를 생성하는 단계; GAN 모델에 미리 설정되거나 입력받은 장르별 제약 조건 정보를 반영하여 설계된 생성 및 구별 모델을 이용하여 상호 경쟁을 통해 메인 드럼 패턴과 유사한 유사 드럼 패턴을 생성하는 단계; 및 패턴 변조 모델을 이용하여 상기 유사 드럼 패턴을 다양하게 변조하여 전체 드럼 패턴을 생성하는 단계를 포함할 수 있다.According to an embodiment of the present invention, a method for generating a drum pattern for composition based on deep learning includes converting a received sound source into a preset file format or class format using a neural network operated by a processor; Analyzing the pattern of the converted sound source and dividing it by a preset number of bars to generate a plurality of rhythm groups, and determining a rhythm group with the largest number of drum notes among the generated rhythm groups as a main drum pattern; Dividing the determined main drum pattern into detailed steps according to a preset unit resolution, and generating GAN learning data using matrix data including information on the presence or absence of a musical instrument preset for each of the divided steps and the playing strength. step; Generating a similar drum pattern similar to the main drum pattern through mutual competition using a generation and discrimination model designed by reflecting the genre-specific constraint information previously set or input in the GAN model; And generating an entire drum pattern by variously modulating the similar drum pattern using a pattern modulation model.
본 발명의 일 실시 예에 따르면 상기 GAN 학습 데이터를 생성하는 단계는, 상기 결정된 메인 드럼 패턴의 각 마디를 미리 설정된 단위 해상도에 다수의 스텝으로 분할하고 상기 메인 드럼 패턴의 전체 스텝 수 i를 산출하는 단계; 음고 값에 따라 미리 설정된 악기의 종류를 매칭하고, 상기 매칭된 악기를 종류에 따라 1부터 j까지 라벨링하는 단계; 상기 메인 드럼 패턴에 포함된 각 스텝을 분석하여 음고 값을 측정하고, 상기 측정된 음고 값을 이용하여 각 스텝 별로 상기 라벨링된 악기의 연주 유무 판단 및 연주 세기를 측정하여 점수로 산출하는 단계; 및 상기 산출된 점수를 이용하여 상기 i개의 스텝과 대한 j개의 악기를 열과 행으로 하는 패턴 별 i X j 형식의 패턴 행렬 데이터를 생성하는 단계를 더 포함할 수 있다.According to an embodiment of the present invention, generating the GAN learning data includes dividing each measure of the determined main drum pattern into a plurality of steps at a preset unit resolution, and calculating the total number of steps i of the main drum pattern. step; Matching a preset type of musical instrument according to a pitch value, and labeling the matched musical instruments from 1 to j according to the type; Measuring a pitch value by analyzing each step included in the main drum pattern, determining whether the labeled instrument is played for each step, and measuring the playing strength for each step using the measured pitch value to calculate a score; And generating pattern matrix data in i X j format for each pattern in which j instruments for the i steps are used as columns and rows using the calculated score.
본 발명의 일 실시 예에 따르면 상기 점수로 산출하는 단계는, 상기 측정된 음고 값을 분석하여 라벨링된 악기가 연주되었는지 여부를 판단하고, 연주되지 않았다고 판단된 경우에는 0 값을, 악기가 연주되었다고 판단된 경우에는 연주된 악기의 연주 세기를 속도에 기반하여 숫자로 산출한 값을 점수로 결정할 수 있다.According to an embodiment of the present invention, in the calculating of the score, the measured pitch value is analyzed to determine whether a labeled instrument has been played, and if it is determined that the instrument has not been played, a value of 0 is given, and that the instrument has been played. When it is determined, a value calculated as a number based on the speed of the played instrument may be determined as a score.
본 발명의 일 실시 예에 따르면 상기 미리 설정된 마디 수는 8마디, 미리 설정된 단위 해상도는 48음표로 설정하여, 384 x j 행렬 형식의 행렬 데이터를 패턴 별로 생성하는 것을 특징으로 하는 딥러닝 기반의 작곡용 드럼 패턴 생성방법.According to an embodiment of the present invention, the preset number of bars is set to 8 bars and the preset unit resolution is set to 48 notes, and a 384 xj matrix format matrix data is generated for each pattern. How to create a drum pattern.
본 발명의 일 실시 예에 따르면 상기 유사 드럼 패턴을 생성하는 단계는, 상기 장르별 제약 조건은 생성된 유사 드럼 패턴에서 특정 악기의 연주 빈도를 특정 이하로 제한하기 위한 손실 함수(loss function)을 통해 반영될 수 있다.According to an embodiment of the present invention, in the generating of the similar drum pattern, the genre-specific constraint is reflected through a loss function for limiting the playing frequency of a specific instrument in the generated similar drum pattern to a specific value or less. Can be.
본 발명의 일 실시 예에 따르면 상기 유사 드럼 패턴을 생성하는 단계는, 상기 특정 악기의 연주 빈도를 특정 이하로 제한하기 위하여 생성된 유사 드럼 패턴에서의 특정 악기의 연주 빈도 전체 합과 원하는 특정 빈도 사이의 절대값차이에 가중치를 곱하는 방식이 사용될 수 있다.According to an embodiment of the present invention, the step of generating the similar drum pattern includes between the sum of the total playing frequencies of a specific instrument in the generated similar drum pattern and a desired specific frequency in order to limit the playing frequency of the specific instrument to a specific or less. A method of multiplying the absolute value difference of by a weight can be used.
본 발명의 일 실시 예에 따르면 상기 유사 드럼 패턴을 생성하는 단계는, 상기 GAN 모델은 2단계로 설계되고, 1단계 모델은 16분음표마다 드럼 노트가 기록되는 GAN 모델로 저해상도 드럼 패턴을 생성하며, 상기 저해상도 드럼 패턴을 이용하여 2단계 모델은 48분음표마다 드럼 노트가 기록되는 GAN 모델로 고해상도의 유사 드럼 패턴을 생성할 수 있다.According to an embodiment of the present invention, in the generating of the similar drum pattern, the GAN model is designed in two stages, and the first stage model is a GAN model in which drum notes are recorded every 16th note, and a low-resolution drum pattern is generated. , Using the low-resolution drum pattern, the second-stage model is a GAN model in which drum notes are recorded every 48th note, and a high-resolution similar drum pattern can be generated.
본 발명의 일 실시 예에 따르면 상기 전체 드럼 패턴을 생성하는 단계는, 상기 패턴 변조 모델은 유사 드럼 패턴 중 일부 악기를 제외시키거나, 유사 드럼 패턴의 일부 부분을 제거하거나, 유사 드럼 패턴의 드럼 노트의 위치를 변동하는 것 중 적어도 하나의 방법을 이용하는 모델일 수 있다.According to an embodiment of the present invention, in the generating of the entire drum pattern, the pattern modulation model excludes some musical instruments from a similar drum pattern, removes some parts of a similar drum pattern, or a drum note of a similar drum pattern. It may be a model using at least one method of changing the position of.
본 발명에 따르면 제공받은 음원을 분석하여 선정된 메인 드럼 패턴을 미리 설정된 단위 해상도에 따라 세부적인 스텝으로 분할하고, 분할된 각 스텝 별로 미리 설정된 악기의 연주 유무 및 연주 세기에 대한 정보를 포함한 행렬 데이터를 이용하여 GAN 학습 데이터를 생성하며, 이를 GAN 모델에 적용하여 유사 드럼 패턴을 생성하고 유사 드럼 패턴을 변조하여 전체 드럼 패턴을 생성함으로써 원곡의 분위기와 유사한 드럼 패턴을 기초로 멜로디를 입힌 곡을 작곡할 수 있는 효과를 제공할 수 있다.According to the present invention, a main drum pattern selected by analyzing a provided sound source is divided into detailed steps according to a preset unit resolution, and matrix data including information on the presence or absence of a musical instrument preset for each divided step and the playing strength GAN learning data is generated using the GAN model, and a similar drum pattern is created by applying this to the GAN model, and the entire drum pattern is created by modulating the similar drum pattern to compose a melody-coated song based on the drum pattern similar to the atmosphere of the original song. It can provide an effect that can be done.
도 1은 본 발명의 실시 예에 따른 딥러닝 기반의 작곡용 드럼 패턴 생성장치 의 구성도이다.
도 2는 도 1에 도시된 GAN 학습 데이터 생성부의 세부 구성도이다.
도 3은 도 1에 도시된 메인 드럼 패턴 결정부가 메인 드럼 패턴을 결정하는 것을 나타내는 도면이다.
도 4는 도 1에 도시된 GAN 학습 데이터 생성부가 행렬 데이터를 이용하여 생성한 GAN 학습 데이터를 나타낸 도면이다.
도 5는 GAN 학습 데이터 생성부에서 생성된 행렬 데이터를 GAN 학습 데이터를 나타낸 낸 도면이다.
도 6은 2단계로 설계된 GAN 모델을 사용하는 일 실시 예에 따른 유사 드럼 패턴 생성부를 나타낸 도면이다.
도 7는 본 발명의 일 실시 예에 따라 패턴 변조 모델을 이용하여 유사 드럼 패턴을 변조하는 것을 나타낸 도면이다.
도 8은 본 발명의 일 실시 예에 따른 딥러닝 기반의 작곡용 드럼 패턴 생성방법의 흐름도이다.1 is a block diagram of an apparatus for generating a drum pattern for composition based on deep learning according to an embodiment of the present invention.
2 is a detailed configuration diagram of a GAN learning data generation unit shown in FIG. 1.
FIG. 3 is a diagram illustrating that a main drum pattern determining unit shown in FIG. 1 determines a main drum pattern.
4 is a diagram illustrating GAN training data generated by the GAN training data generator shown in FIG. 1 using matrix data.
5 is a diagram illustrating GAN training data by using matrix data generated by a GAN training data generator.
6 is a view showing a similar drum pattern generation unit according to an embodiment using a GAN model designed in two stages.
7 is a diagram illustrating modulation of a similar drum pattern using a pattern modulation model according to an embodiment of the present invention.
8 is a flow chart of a deep learning-based composition drum pattern generation method according to an embodiment of the present invention.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art may easily implement the present invention. However, the present invention may be implemented in various forms and is not limited to the embodiments described herein.
그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and similar reference numerals are assigned to similar parts throughout the specification.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part "includes" a certain component, it means that other components may be further included rather than excluding other components unless specifically stated to the contrary.
이하, 도면을 참조하여 본 발명의 실시 예에 따른 딥러닝 기반의 작곡용 드럼 패턴 생성장치 및 그 방법에 대하여 설명한다.Hereinafter, an apparatus and method for generating a drum pattern for composition based on deep learning according to an embodiment of the present invention will be described with reference to the drawings.
도 1은 본 발명의 실시 예에 따른 딥러닝 기반의 작곡용 드럼 패턴 생성장치 (1000)의 구성도이다.1 is a block diagram of an
본 발명의 실시 예에 따르면 딥러닝 기반의 작곡용 드럼 패턴 생성장치 (1000)는 프로세서에 의하여 동작하는 신경망을 이용하여 제공 받은 음원을 분석하여 작곡용 드럼 패턴을 생성할 수 있다.According to an embodiment of the present invention, the deep learning-based composition drum
도 1을 참조하면 딥러닝 기반의 작곡용 드럼 패턴 생성장치(1000)는 음원 전처리부(100), 메인 드럼 패턴 결정부(200), GAN 학습 데이터 생성부(300), 유사 드럼 패턴 생성부(400), 전체 드럼 패턴 제공부(500)를 포함할 수 있다.Referring to FIG. 1, a deep learning-based composition drum
음원 전처리부(100)는 제공받은 음원을 미리 설정된 파일 형식 또는 클래스 형태로 변환할 수 있다.The
여기서 미리 설정된 파일 형식 또는 클래스는 본 발명의 일 실시 예에 따르면 MIDI 파일 형태일 수 있으나 이러한 특정 형식이나 클래스로 한정되지 아니하며, 패턴 분석이 용이하도록 설정된 음원에 대한 형식이나 클래스라면 제한 없이 사용될 수 있다.Here, the preset file format or class may be in the form of a MIDI file according to an embodiment of the present invention, but is not limited to such a specific format or class, and any format or class for a sound source set to facilitate pattern analysis may be used without limitation. .
메인 드럼 패턴 결정부(200)는 변환된 음원의 패턴을 분석하여 미리 설정된 마디 수로 나누어 복수의 리듬 그룹을 생성하고, 상기 생성된 복수의 리듬 그룹 중 드럼 노트의 수가 가장 많은 리듬 그룹을 메인 드럼 패턴으로 결정할 수 있다.The main drum
본 발명의 일 실시 예에 따르면 변환된 음원의 패턴을 분석하여, 음원을 미리 설정된 마디 수인 8마디씩로 나누어 복수의 리듬 그룹을 생성할 수 있다.According to an embodiment of the present invention, a plurality of rhythm groups may be generated by dividing the sound source into 8 bars, which is a preset number of bars, by analyzing the pattern of the converted sound source.
상기 실시 예에 따르면 MIDI 파일 형태의 전체 곡을 8마디씩 나누어 복수의 리듬 그룹을 생성하고, 이렇게 생성된 복수의 리듬 그룹 중에 드럼 노트 수가 가장 많은 그룹을 메인 드럼 패턴으로 결정할 수 있다.According to the above embodiment, a plurality of rhythm groups may be generated by dividing the entire song in the form of a MIDI file by 8 bars, and a group having the largest number of drum notes among the plurality of generated rhythm groups may be determined as the main drum pattern.
본 발명의 일 실시 예에 따르면 메인 드럼 패턴을 결정하는 알고리즘은 합성곱(convolution) 네트워크 및 기타 딥러닝 방법을 이용하는 것일 수 있으나, 이에 한정되지 아니하고 rule-based 알고리즘을 이용할 수도 있다.According to an embodiment of the present invention, the algorithm for determining the main drum pattern may be a convolution network and other deep learning methods, but is not limited thereto and a rule-based algorithm may be used.
본 발명의 일 실시 예에 따라 복수의 리듬 그룹을 생성하고, 복수의 리듬 그룹 중 메인 드럼 패턴으로 결정하는 것은 도 3, 4를 참조하며 더 자세하게 설명하도록 한다.According to an embodiment of the present invention, a plurality of rhythm groups are generated and a main drum pattern is determined from among the plurality of rhythm groups with reference to FIGS. 3 and 4 to be described in more detail.
GAN 학습 데이터 생성부(300)는 결정된 메인 드럼 패턴을 미리 설정된 단위 해상도에 따라 세부적인 스텝으로 분할하고, 분할된 각 스텝 별로 미리 설정된 악기의 연주 유무 및 연주 세기에 대한 정보를 포함한 행렬 데이터를 이용하여 GAN 학습 데이터를 생성할 수 있다.The GAN learning
여기서 단위 해상도란 각 마디를 나타낼 수 있는 스텝의 수를 의미할 수 있으며, 본 발명의 일 실시 예에 따르면 단위 해상도를 48분음표로 설정하여 각 마디를 48개의 스텝으로 분할할 수 있다.Here, the unit resolution may mean the number of steps capable of representing each measure, and according to an embodiment of the present invention, each measure may be divided into 48 steps by setting the unit resolution to 48 quarter notes.
상기 실시 예에 따르면 메인 드럼 패턴이 8마디고, 단위 해상도가 48분음표인 경우, 메인 드럼 패턴의 총 스텝 수는 48 X 8 = 384개의 스텝을 가질 수 있다.According to the above embodiment, when the main drum pattern is 8 bars and the unit resolution is 48 quarter notes, the total number of steps of the main drum pattern may be 48 X 8 = 384 steps.
GAN 학습 데이터 생성부(300)는 도 2를 참조하며 더 자세하게 설명하도록 한다. The GAN learning
유사 드럼 패턴 생성부(400)는 GAN 모델에 미리 설정되거나 입력받은 장르별 제약 조건 정보를 반영하여 설계된 생성 및 구별 모델을 이용하여 상호 경쟁을 통해 메인 드럼 패턴과 유사한 유사 드럼 패턴을 생성할 수 있다.The similar drum
여기서 장르별 제약 조건은 작곡을 원하는 장르에 적합하게 드럼 패턴을 생성할 수 있도록 빠르기, 악기의 연주 빈도 등을 조절하는 조건을 의미할 수 있다.Here, the constraint condition for each genre may mean a condition for controlling a speed, a frequency of playing an instrument, etc. so that a drum pattern can be generated suitable for a desired genre to be composed.
본 발명의 일 실시 예에 따르면 GAN 학습을 통해 GAN 모델의 생성 모델이 메인 드럼 패턴과 유사한 유사 드럼 패턴을 생성할 수 있다.According to an embodiment of the present invention, the GAN model generation model may generate a similar drum pattern similar to the main drum pattern through GAN learning.
그러나 이 때 학습된 GAN 모델이 생성한 유사 드럼 패턴이 비정상적으로 특정 악기의연주 빈도가 너무 많거나, 빠르거나 또는 느려서 현실적으로 메인 드럼 패턴과 비유사한 분위기를 형성할 수 있으므로, 이러한 문제점을 해결하기 위하여 장르별 제약 조건을 반영한 GAN 학습을 통해 유사 드럼 패턴을 생성할 수 있다.However, since the similar drum pattern generated by the learned GAN model is abnormally too frequent, fast or slow to play a specific instrument, it can realistically form an atmosphere similar to the main drum pattern. Similar drum patterns can be created through GAN learning reflecting the constraints of each genre.
본 발명의 일 실시 예에 따르면 장르별 제약 조건은 생성된 유사 드럼 패턴에서 특정 악기의 연주 빈도를 특정 이하로 제한하기 위한 손실 함수(loss function)을 통해 반영될 수 있다.According to an embodiment of the present invention, the constraint condition for each genre may be reflected through a loss function for limiting the playing frequency of a specific instrument to a certain level or less in the generated similar drum pattern.
본 발명의 일 실시 예에 따르면 특정 악기의 연주 빈도를 특정 이하로 제한하기 위하여 생성된 유사 드럼 패턴에서의 특정 악기의 연주 빈도 전체 합과 원하는 특정 빈도 사이의 절대값차이에 가중치를 곱하는 방이 사용될 수 있다.According to an embodiment of the present invention, in order to limit the playing frequency of a specific instrument to a certain level below a certain level, a room in which the weight is multiplied by the absolute difference between the total playing frequency of a specific instrument in a generated similar drum pattern and a specific desired frequency may be used. have.
예를 들어 생성된 유사 드럼 패턴에 포함된 악기인 closed hi-hat의 숫자를 특정 이하로 제한하기 위하여 장르별 제약 조건을 이용할 수 있으며, 이는 손실 함수를 통해 구현될 수 있다.For example, in order to limit the number of closed hi-hats, which are musical instruments included in the generated similar drum pattern, to a specific or lower limit, a genre-specific constraint may be used, which may be implemented through a loss function.
즉, closed hi-hat의 연주 빈도를 유사 드럼 패턴에서 M회 정도로 만들고 싶은 경우 생성된 유사 드럼 패턴의 closed hi-hat의 연주 빈도 전체 합과 M의 차이의 절대값에 적절한 상수 w를 곱하여 손실함수로 사용될 수 있으며, 원활한 GAN 학습을 위해 상수 w는 적은 값으로 사용될 수 있다.That is, if you want to make the playing frequency of the closed hi-hat about M times in a similar drum pattern, the loss function is obtained by multiplying the absolute value of the difference between the total playing frequency of the closed hi-hat of the created similar drum pattern and M by an appropriate constant w. Can be used, and the constant w can be used with a small value for smooth GAN learning.
이를 응용하여 다양한 장르별 제약 조건을 만들어낼 수 있으며, 이러한 장르별 제약 조건은 매회 GAN 학습 이후에 반영될 수 있다.By applying this, various genre-specific constraint conditions can be created, and these genre-specific constraint conditions can be reflected after each GAN learning.
본 발명의 일 실시 예에 따르면 GAN 모델은 유사 드럼 패턴을 생성해 내기 위한 모델이며, 학습을 위한 실제 메인 드럼 패턴들이 GAN 모델의 학습 데이터로서 주어졌을 때 노이즈로부터 실제 데이터와 유사한 데이터를 만들어내는 것이 목적인 생성 모델, 그리고 생성 모델이 만든 데이터와 실제 데이터를 구분해내는 판별 모델이 서로 경쟁하면서 학습되며 더 모델이 숙련될 수 있다.According to an embodiment of the present invention, the GAN model is a model for generating a similar drum pattern, and when actual main drum patterns for learning are given as training data of the GAN model, generating data similar to actual data from noise The target generation model and the discriminant model that distinguishes the data created by the generated model from the actual data are trained while competing with each other, and the model can be more skilled.
상기 실시 예에 따르면 장르별 제약조건의 경우 GAN 모델의 학습이 1회 될 때마다 장르별 제약조건의 손실 함수에 대한 업데이트도 이루어지면서 GAN 학습 데이터를 이용하여 GAN 모델을 통해 생성된 유사 드럼 패턴과 장르별 제한 조건이 반영된 유사 드럼 패턴이 번갈아 가면서 경쟁하는 형태로 이루어진다.According to the above embodiment, in the case of genre-specific constraints, each time the GAN model is trained, the loss function of the genre-specific constraint is updated, and the similar drum pattern generated through the GAN model using the GAN learning data and the genre-specific restrictions. Similar drum patterns reflecting the conditions take turns competing.
본 발명의 일 실시 예에 따르면 GAN 모델로서 2D 이미지를 다루기 위한 DCGAN 모델을 1D 버전으로 수정한 것을 사용할 수 있으나 이에 한정되지 아니한다.According to an embodiment of the present invention, a modified DCGAN model for handling a 2D image to a 1D version may be used as the GAN model, but the present invention is not limited thereto.
본 발명의 일 실시 예에 따르면 GAN 모델은 2단계로 설계될 수 있으며 1단계 모델은 16분음표마다 드럼 노트가 기록되는 GAN 모델로 저해상도 드럼 패턴을 생성할 수 있고 저해상도 드럼 패턴을 이용하여 2단계 모델은 48분음표마다 드럼 노트가 기록되는 GAN 모델로 고해상도의 유사 드럼 패턴을 생성할 수 있다.According to an embodiment of the present invention, the GAN model may be designed in two stages, and the first stage model is a GAN model in which drum notes are recorded every 16th note, and a low-resolution drum pattern can be created, and a second stage using a low-resolution drum pattern. The model is a GAN model in which drum notes are recorded every 48th note, and a high-resolution similar drum pattern can be created.
상기 실시 예에 따르면 LAPGAN 모델을 이용하여 먼저 1단계 GAN 모델로 16분음표마다 드럼 노트가 찍히는 저해상도 드럼 패턴을 들고, 이를 2단계 GAN 모델을 이용하여 48분음표마다 드럼 노트가 찍히는 고해상도 드럼 패턴을 생성함으로써 이 보다 자연스러운 유사 드럼 패턴을 생성할 수 있다.According to the above embodiment, using the LAPGAN model, first, a low-resolution drum pattern in which drum notes are taken for every 16th note with a first stage GAN model, and a high-resolution drum pattern in which drum notes are taken for every 48th note using a second stage GAN model. By creating this, you can create a more natural, similar drum pattern.
전체 드럼 패턴 제공부(500)는 패턴 변조 모델을 이용하여 유사 드럼 패턴을 다양하게 변조하여 전체 드럼 패턴을 생성할 수 있다.The entire drum
여기서 패턴 변조 모델이란 유사 드럼 패턴이 주어졌을 때에 전체적인 분위기가 유사할 수 있도록 변조하여 전체 드럼 패턴의 나머지 부분을 생성할 수 있는 것을 의미한다.Here, the pattern modulation model means that when a similar drum pattern is given, it is modulated so that the overall atmosphere is similar to generate the rest of the entire drum pattern.
본 발명의 일 실시 예에 따르면 유사 드럼 패턴 중 일부 악기를 제외시키거나, 유사 드럼 패턴의 일부 부분을 제거하거나, 유사 드럼 패턴의 드럼 노트의 위치를 변동하는 것 중 적어도 하나의 방법을 이용할 수 있다.According to an embodiment of the present invention, at least one method of excluding some musical instruments from among the similar drum patterns, removing some parts of the similar drum pattern, or changing the position of the drum notes of the similar drum pattern may be used. .
상기 실시 예에 따르면 유사 드럼 패턴 중 일부 악기를 제외시키거나, 유사 드럼 패턴의 일부 부분을 제거하는 경우에는 rule-based 알고리즘을 이용할 수 있으며, 유사 드럼 패턴의 드럼 노트의 위치를 변동하는 경우에는 rule-based 알고리즘을 사용하거나 LSTM 모델, 또는 GAN 모델을 사용하여 변조할 수 있다.According to the above embodiment, a rule-based algorithm may be used to exclude some instruments from the similar drum pattern or to remove some parts of the similar drum pattern, and if the position of the drum note of the similar drum pattern is changed, the rule It can be modulated using a -based algorithm, LSTM model, or GAN model.
도 2는 도 1에 도시된 GAN 학습 데이터 생성부(300)의 세부 구성도이다.FIG. 2 is a detailed configuration diagram of the GAN learning
도 2를 참조하면 GAN 학습 데이터 생성부(300)는 스텝 수 산출부(310), 악기 라벨링부(320), 연주 스코어링부(330), 패턴 행열 생성부(340)를 더 포함할 수 있다.Referring to FIG. 2, the GAN learning
스텝 수 산출부(310)는 결정된 메인 드럼 패턴의 각 마디를 미리 설정된 단위 해상도에 다수의 스텝으로 분할하고 메인 드럼 패턴의 전체 스텝 수 i를 산출할 수 있다.The number of
본 발명의 일 실시 예에 다르면 메인 드럼 패턴의 전체 스텝 수 i는 메인 드럼 패턴이 포함한 마디 수 n에 단위 해상도 m을 곱하여 구할 수 있다.According to an embodiment of the present invention, the total number of steps i of the main drum pattern can be obtained by multiplying the number of bars n included in the main drum pattern by the unit resolution m.
악기 라벨링부(320)는 음고 값에 따라 미리 설정된 악기의 종류를 매칭하고, 상기 매칭된 악기를 종류에 따라 1부터 j까지 라벨링할 수 있다.The
본 발명의 일 실시 예에 따르면 음원으로 MIDI 파일이 사용되는 경우 각 음고 값 별로 대응되는 악기의 종류가 다르며, 이를 통합하여 0부터 8까지를 각각 kick, snare, closed hi-hat, open hi-hat, low-tom, mid-tom, high-tom, crash cymbal, ride cymbal에 대응시켜서 음고 값에 따라 연주되는 악기의 종류를 파악할 수 있다.According to an embodiment of the present invention, when a MIDI file is used as a sound source, the types of corresponding musical instruments are different for each pitch value, and by integrating them, 0 to 8 are each kick, snare, closed hi-hat, and open hi-hat. Corresponds to, low-tom, mid-tom, high-tom, crash cymbal, and ride cymbal, so you can grasp the type of instrument played according to the pitch value.
연주 스코어링부(330)는 메인 드럼 패턴에 포함된 각 스텝을 분석하여 음고 값을 측정하고, 상기 측정된 음고 값을 이용하여 각 스텝 별로 상기 라벨링된 악기의 연주 유무 판단 및 연주 세기를 측정하여 점수로 산출할 수 있다.The
본 발명의 일 실시 예에 따르면 측정된 음고 값을 분석하여 라벨링된 악기가 연주되었는지 여부를 판단하고, 연주되지 않았다고 판단된 경우에는 0 값을, 악기가 연주되었다고 판단된 경우에는 연주된 악기의 연주 세기를 속도에 기반하여 숫자로 산출한 값을 점수로 결정할 수 있다.According to an embodiment of the present invention, a measured pitch value is analyzed to determine whether or not a labeled instrument has been played, a value of 0 when it is determined that the instrument has not been played, and a value of 0 when it is determined that the instrument has been played. The value calculated as a number based on the velocity can be determined as a score.
상기 실시 예에 따르면 악기의 종류가 9가지인 경우 각 드럼 패턴을 384 x 9 행렬에 대응시켜, 각 (i,j) 값이 i번째 스텝에서 j번째 악기가 연주되지 않았으면 0, 연주되었으면 연주된 악기의 연주 세기를 속도에 기반하여 숫자로 산출한 값을 가질 수 있다. According to the above embodiment, if there are 9 types of musical instruments, each drum pattern is mapped to a 384 x 9 matrix, and each (i,j) value is 0 if the j-th instrument was not played in the i-th step, and played if it was played. It can have a value calculated as a number based on the speed of the instrument's playing strength.
패턴 행열 생성부(340)는 산출된 점수를 이용하여 상기 i개의 스텝과 대한 j개의 악기를 열과 행으로 하는 패턴 별 i X j 형식의 패턴 행렬 데이터를 생성할 수 있다.The pattern
본 발명의 일 실시 예에 따르면 미리 설정된 마디 수는 8마디, 미리 설정된 단위 해상도는 48음표로 설정하여, 384 x j 행렬 형식의 행렬 데이터를 패턴 별로 생성할 수 있다.According to an embodiment of the present invention, by setting a preset number of bars to 8 bars and a preset unit resolution to 48 notes, matrix data in a 384 x j matrix format may be generated for each pattern.
본 발명의 일 실시 예에 다르면 총 N개의 드럼 패턴이 있을 때는 학습 데이터는 N x 384 x 9의 행열 데이터 형태를 가질 수 있다. According to an embodiment of the present invention, when there are a total of N drum patterns, the training data may have a matrix data format of N x 384 x 9.
도 3은 도 1에 도시된 메인 드럼 패턴 결정부가 메인 드럼 패턴을 결정하는 것을 나타내는 도면이다.FIG. 3 is a diagram illustrating that a main drum pattern determining unit shown in FIG. 1 determines a main drum pattern.
메인 드럼 패턴은 주로 노래에 있어서 후렴구(사비, 혹은 코러스)에 해당하는 부분에 해당하는 것이 일반적이며, 이는 보통 8마디 정도로 구성되어 있으며 전체 곡의 드럼 패턴 중 가장 풍부한 드럼 연주를 담고 있을 수 있다.The main drum pattern is usually the part corresponding to the chorus (sabi, or chorus) in the song, and it is usually composed of about 8 bars, and can contain the most abundant drum performance among the drum patterns of the entire song.
도 3을 참조하면 a)는 전체 곡을 8마디 단위마다 나누어 리듬 그룹을 생성한 것이 나타나 있으며, b)는 이중 중 드럼 노트의 수가 가장 많은 리듬 그룹을 메인 드럼 패턴으로 선정(굵은 선)한 것이 나타나 있다. Referring to FIG. 3, a) shows that the entire song is divided into units of 8 bars to create a rhythm group, and b) shows that the rhythm group with the largest number of drum notes is selected as the main drum pattern (thick line). Is shown.
도 4는 도 1에 도시된 GAN 학습 데이터 생성부가 행렬 데이터를 이용하여 생성한 GAN 학습 데이터를 나타낸 도면이다.4 is a diagram illustrating GAN training data generated by the GAN training data generator shown in FIG. 1 using matrix data.
도 4를 참조하면 a)는 도 3에서 찾아낸 메인 드럼 패턴 8마디를 확대한 것이고 실선은 한마디를 나타내고 있다.Referring to FIG. 4, a) is an enlarged view of 8 bars of the main drum pattern found in FIG. 3, and a solid line represents a word.
b)는 a)를 각 음고 값에 매칭되는 9가지의 악기의 종류(0~8)에 대응시켜 각 악기의 연주 여부가 드러나게 나타낸 것이다.b) shows whether or not each instrument is played by matching a) to the nine types of instruments (0-8) matching each pitch value.
도 5는 GAN 학습 데이터 생성부에서 생성된 행렬 데이터를 GAN 학습 데이터를 나타낸 낸 도면이다.5 is a diagram illustrating GAN training data by using matrix data generated by a GAN training data generator.
도 5를 참조하면 본 발명의 일 실시 예에 따라 생성된 384개의 스텝과 대한 9개의 악기를 열과 행으로 하는 패턴 별 384 X 9 형식의 패턴 행렬 데이터가 나타나 있다.Referring to FIG. 5, pattern matrix data in a 384 X 9 format for each pattern in which 9 instruments for 384 steps generated according to an embodiment of the present invention are formed as columns and rows is shown.
본 발명의 일 실시 예에 따르면 메인 드럼 패턴에 포함된 각 스텝을 분석하여 음고 값을 측정하고, 상기 측정된 음고 값을 이용하여 각 스텝 별로 상기 라벨링된 악기의 연주 유무 판단 및 연주 세기를 측정하여 점수로 산출할 수 있으며, 산출된 점수를 이용하여 384개의 스텝과 대한 9개의 악기를 열과 행으로 하는 패턴 별 384 X 9 형식의 패턴 행렬 데이터에 상기 점수를 넣어서 도 5와 같이 패턴 행렬 데이터를 완성할 수 있다.According to an embodiment of the present invention, a pitch value is measured by analyzing each step included in a main drum pattern, and by using the measured pitch value, determining whether the labeled instrument is played and measuring the playing strength for each step. It can be calculated as a score, and by using the calculated score, the score is added to the pattern matrix data in a 384 X 9 format for each pattern in which 384 steps and 9 instruments are arranged in columns and rows to complete the pattern matrix data as shown in FIG. can do.
도 6은 2단계로 설계된 GAN 모델을 사용하는 일 실시 예에 따른 유사 드럼 패턴 생성부(400)를 나타낸 도면이다.6 is a view showing a similar drum
도 6을 참조하면 본 발명의 일 실시 예에 따르면 GAN 모델로서 LAPGAN 모델을 사용하여 1단계 GAN 모델로 저해상도 드럼 패턴을 생성할 수 있으며, 2 단계 GAN 모델을 이용하여 단위 해당도가 더 높은 고해상도 드럼 패턴을 생성할 수 있다.Referring to FIG. 6, according to an embodiment of the present invention, a low-resolution drum pattern may be generated using a first-stage GAN model using a LAPGAN model as a GAN model, and a high-resolution drum with a higher unit corresponding degree using a second-stage GAN model. You can create patterns.
도 7는 본 발명의 일 실시 예에 따라 패턴 변조 모델을 이용하여 유사 드럼 패턴을 변조하는 것을 나타낸 도면이다.7 is a diagram illustrating modulation of a similar drum pattern using a pattern modulation model according to an embodiment of the present invention.
도 7을 참조하면 전체 곡 에서 드럼 노트가 제일 많은 8마디인 메인 드럼 패턴을 나타내며, b)는 메인 드럼 패턴이 아닌 다른 부분의 8마디 드럼 패턴을 표시한 것이다. Referring to FIG. 7, the main drum pattern, which is the 8 bar with the largest number of drum notes in the entire song, is shown, and b) indicates the 8 bar drum pattern of a part other than the main drum pattern.
c)와 d)는 a)와 b)의 드럼 패턴을 음고 값에 따른 악기에 매칭하고, 이에 따라 산출된 연주 스코어 값을 넣은 것을 나타낸 도면이다.c) and d) are diagrams showing that the drum patterns of a) and b) are matched with musical instruments according to pitch values, and a performance score value calculated accordingly is inserted.
도 8은 본 발명의 일 실시 예에 따른 딥러닝 기반의 작곡용 드럼 패턴 생성방법의 흐름도이다.8 is a flow chart of a deep learning-based composition drum pattern generation method according to an embodiment of the present invention.
제공받은 음원을 미리 설정된 형식 또는 형태로 변환한다(810).The provided sound source is converted into a preset format or format (810).
본 발명이 일 실시 예에 따르면 제공받은 음원을 미리 설정된 파일 형식 또는 클래스 형태로 변환할 수 있다.According to an embodiment of the present invention, the provided sound source may be converted into a preset file format or class format.
여기서 미리 설정된 파일 형식 또는 클래스는 본 발명의 일 실시 예에 따르면 MIDI 파일 형태일 수 있으나 이러한 특정 형식이나 클래스로 한정되지 아니하며, 패턴 분석이 용이하도록 설정된 음원에 대한 형식이나 클래스라면 제한 없이 사용될 수 있다.Here, the preset file format or class may be in the form of a MIDI file according to an embodiment of the present invention, but is not limited to such a specific format or class, and any format or class for a sound source set to facilitate pattern analysis may be used without limitation. .
메인 드럼 패턴을 결정한다(820).The main drum pattern is determined (820).
본 발명의 일 실시 예에 따르면 미리 설정된 파일 형식 또는 클래스는 본 발명의 일 실시 예에 따르면 MIDI 파일 형태일 수 있으나 이러한 특정 형식이나 클래스로 한정되지 아니하며, 패턴 분석이 용이하도록 설정된 음원에 대한 형식이나 클래스라면 제한 없이 사용될 수 있다.According to an embodiment of the present invention, the preset file format or class may be in the form of a MIDI file according to an embodiment of the present invention, but is not limited to such a specific format or class, and a format for a sound source set to facilitate pattern analysis Any class can be used without restrictions.
또한 변환된 음원의 패턴을 분석하여 미리 설정된 마디 수로 나누어 복수의 리듬 그룹을 생성하고, 상기 생성된 복수의 리듬 그룹 중 드럼 노트의 수가 가장 많은 리듬 그룹을 메인 드럼 패턴으로 결정할 수 있다.In addition, a plurality of rhythm groups may be generated by dividing the pattern of the converted sound source by a preset number of bars, and a rhythm group having the largest number of drum notes among the plurality of generated rhythm groups may be determined as the main drum pattern.
본 발명의 일 실시 예에 따르면 변환된 음원의 패턴을 분석하여, 음원을 미리 설정된 마디 수인 8마디씩로 나누어 복수의 리듬 그룹을 생성할 수 있다.According to an embodiment of the present invention, a plurality of rhythm groups may be generated by dividing the sound source into 8 bars, which is a preset number of bars, by analyzing the pattern of the converted sound source.
상기 실시 예에 따르면 MIDI 파일 형태의 전체 곡을 8마디씩 나누어 복수의 리듬 그룹을 생성하고, 이렇게 생성된 복수의 리듬 그룹 중에 드럼 노트 수가 가장 많은 그룹을 메인 드럼 패턴으로 결정할 수 있다.According to the above embodiment, a plurality of rhythm groups may be generated by dividing the entire song in the form of a MIDI file by 8 bars, and a group having the largest number of drum notes among the plurality of generated rhythm groups may be determined as the main drum pattern.
본 발명의 일 실시 예에 따르면 메인 드럼 패턴을 결정하는 알고리즘은 합성곱(convolution) 네트워크 및 기타 딥러닝 방법을 이용하는 것일 수 있으나, 이에 한정되지 아니하고 rule-based 알고리즘을 이용할 수도 있다.According to an embodiment of the present invention, the algorithm for determining the main drum pattern may be a convolution network and other deep learning methods, but is not limited thereto and a rule-based algorithm may be used.
GAN 학습 데이터를 생성한다(830).GAN training data is generated (830).
본 발명의 일 실시 예에 따르면 결정된 메인 드럼 패턴을 미리 설정된 단위 해상도에 따라 세부적인 스텝으로 분할하고, 분할된 각 스텝 별로 미리 설정된 악기의 연주 유무 및 연주 세기에 대한 정보를 포함한 행렬 데이터를 이용하여 GAN 학습 데이터를 생성할 수 있다.According to an embodiment of the present invention, the determined main drum pattern is divided into detailed steps according to a preset unit resolution, and matrix data including information on the presence or absence of a musical instrument preset for each divided step and the playing strength is used. GAN learning data can be generated.
상기 실시 예에 따르면 메인 드럼 패턴이 8마디고, 단위 해상도가 48분음표인 경우, 메인 드럼 패턴의 총 스텝 수는 48 X 8 = 384개의 스텝을 가질 수 있다.According to the above embodiment, when the main drum pattern is 8 bars and the unit resolution is 48 quarter notes, the total number of steps of the main drum pattern may be 48 X 8 = 384 steps.
본 발명의 일 실시 예에 따르면 결정된 메인 드럼 패턴의 각 마디를 미리 설정된 단위 해상도에 다수의 스텝으로 분할하고 메인 드럼 패턴의 전체 스텝 수 i를 산출할 수 있다.According to an embodiment of the present invention, each measure of the determined main drum pattern may be divided into a plurality of steps at a preset unit resolution, and the total number of steps i of the main drum pattern may be calculated.
본 발명의 일 실시 예에 따르면 메인 드럼 패턴의 전체 스텝 수 i는 메인 드럼 패턴이 포함한 마디 수 n에 단위 해상도 m을 곱하여 구할 수 있다.According to an embodiment of the present invention, the total number of steps i of the main drum pattern may be obtained by multiplying the number of bars n included in the main drum pattern by the unit resolution m.
본 발명의 일 실시 예에 따르면 음고 값에 따라 미리 설정된 악기의 종류를 매칭하고, 상기 매칭된 악기를 종류에 따라 1부터 j까지 라벨링할 수 있다.According to an embodiment of the present invention, a preset type of musical instrument may be matched according to a pitch value, and the matched musical instrument may be labeled from 1 to j according to the type.
본 발명의 일 실시 예에 따르면 음원으로 MIDI 파일이 사용되는 경우 각 음고 값 별로 대응되는 악기의 종류가 다르며, 이를 통합하여 0부터 8까지를 각각 kick, snare, closed hi-hat, open hi-hat, low-tom, mid-tom, high-tom, crash cymbal, ride cymbal에 대응시켜서 음고 값에 따라 연주되는 악기의 종류를 파악할 수 있다.According to an embodiment of the present invention, when a MIDI file is used as a sound source, the types of corresponding musical instruments are different for each pitch value, and by integrating them, 0 to 8 are each kick, snare, closed hi-hat, and open hi-hat. Corresponds to, low-tom, mid-tom, high-tom, crash cymbal, and ride cymbal, so you can grasp the type of instrument played according to the pitch value.
본 발명의 일 실시 예에 따르면 메인 드럼 패턴에 포함된 각 스텝을 분석하여 음고 값을 측정하고, 상기 측정된 음고 값을 이용하여 각 스텝 별로 상기 라벨링된 악기의 연주 유무 판단 및 연주 세기를 측정하여 점수로 산출할 수 있다.According to an embodiment of the present invention, a pitch value is measured by analyzing each step included in a main drum pattern, and by using the measured pitch value, determining whether the labeled instrument is played and measuring the playing strength for each step. It can be calculated by score.
본 발명의 일 실시 예에 따르면 측정된 음고 값을 분석하여 라벨링된 악기가 연주되었는지 여부를 판단하고, 연주되지 않았다고 판단된 경우에는 0 값을, 악기가 연주되었다고 판단된 경우에는 연주된 악기의 연주 세기를 속도에 기반하여 숫자로 산출한 값을 점수로 결정할 수 있다.According to an embodiment of the present invention, a measured pitch value is analyzed to determine whether or not a labeled instrument has been played, a value of 0 when it is determined that the instrument has not been played, and a value of 0 when it is determined that the instrument has been played. The value calculated as a number based on the velocity can be determined as a score.
상기 실시 예에 따르면 악기의 종류가 9가지인 경우 각 드럼 패턴을 384 x 9 행렬에 대응시켜, 각 (i,j) 값이 i번째 스텝에서 j번째 악기가 연주되지 않았으면 0, 연주되었으면 연주된 악기의 연주 세기를 속도에 기반하여 숫자로 산출한 값을 가질 수 있다. According to the above embodiment, if there are 9 types of musical instruments, each drum pattern is mapped to a 384 x 9 matrix, and each (i,j) value is 0 if the j-th instrument was not played in the i-th step, and played if it was played. It can have a value calculated as a number based on the speed of the instrument's playing strength.
본 발명의 일 실시 예에 따르면 산출된 점수를 이용하여 상기 i개의 스텝과 대한 j개의 악기를 열과 행으로 하는 패턴 별 i X j 형식의 패턴 행렬 데이터를 생성할 수 있다.According to an embodiment of the present invention, pattern matrix data in the form of i X j for each pattern in which j instruments for the i steps and j instruments are used as columns and rows may be generated using the calculated score.
본 발명의 일 실시 예에 따르면 미리 설정된 마디 수는 8마디, 미리 설정된 단위 해상도는 48음표로 설정하여, 384 x j 행렬 형식의 행렬 데이터를 패턴 별로 생성할 수 있다.According to an embodiment of the present invention, by setting a preset number of bars to 8 bars and a preset unit resolution to 48 notes, matrix data in a 384 x j matrix format may be generated for each pattern.
본 발명의 일 실시 예에 다르면 총 N개의 드럼 패턴이 있을 때는 학습 데이터는 N x 384 x 9의 행열 데이터 형태를 가질 수 있다.According to an embodiment of the present invention, when there are a total of N drum patterns, the training data may have a matrix data format of N x 384 x 9.
유사 드럼 패턴을 생성한다(840).A similar drum pattern is created (840).
본 발명의 일 실시 예에 따르면 GAN 모델에 미리 설정되거나 입력받은 장르별 제약 조건 정보를 반영하여 설계된 생성 및 구별 모델을 이용하여 상호 경쟁을 통해 메인 드럼 패턴과 유사한 유사 드럼 패턴을 생성할 수 있다.According to an embodiment of the present invention, a similar drum pattern similar to the main drum pattern may be generated through mutual competition by using a generation and discrimination model designed by reflecting the restriction condition information for each genre set in advance or input in the GAN model.
본 발명의 일 실시 예에 따르면 GAN 학습을 통해 GAN 모델의 생성 모델이 메인 드럼 패턴과 유사한 유사 드럼 패턴을 생성할 수 있다.According to an embodiment of the present invention, the GAN model generation model may generate a similar drum pattern similar to the main drum pattern through GAN learning.
그러나 이 때 학습된 GAN 모델이 생성한 유사 드럼 패턴이 비정상적으로 특정 악기의연주 빈도가 너무 많거나, 빠르거나 또는 느려서 현실적으로 메인 드럼 패턴과 비유사한 분위기를 형성할 수 있으므로, 이러한 문제점을 해결하기 위하여 장르별 제약 조건을 반영한 GAN 학습을 통해 유사 드럼 패턴을 생성할 수 있다.However, since the similar drum pattern generated by the learned GAN model is abnormally too frequent, fast or slow to play a specific instrument, it can realistically form an atmosphere similar to the main drum pattern. Similar drum patterns can be created through GAN learning reflecting the constraints of each genre.
본 발명의 일 실시 예에 따르면 장르별 제약 조건은 생성된 유사 드럼 패턴에서 특정 악기의 연주 빈도를 특정 이하로 제한하기 위한 손실 함수(loss function)을 통해 반영될 수 있다.According to an embodiment of the present invention, the constraint condition for each genre may be reflected through a loss function for limiting the playing frequency of a specific musical instrument to a specific or less in the generated similar drum pattern.
본 발명의 일 실시 예에 따르면 특정 악기의 연주 빈도를 특정 이하로 제한하기 위하여 생성된 유사 드럼 패턴에서의 특정 악기의 연주 빈도 전체 합과 원하는 특정 빈도 사이의 절대값차이에 가중치를 곱하는 방이 사용될 수 있다.According to an embodiment of the present invention, in order to limit the playing frequency of a specific instrument to a specific or less, a room in which the weight is multiplied by the absolute difference between the total playing frequency of a specific instrument in a generated similar drum pattern and a specific desired frequency may be used. have.
본 발명의 일 실시 예에 따르면 GAN 모델은 유사 드럼 패턴을 생성해 내기 위한 모델이며, 학습을 위한 실제 메인 드럼 패턴들이 GAN 모델의 학습 데이터로서 주어졌을 때 노이즈로부터 실제 데이터와 유사한 데이터를 만들어내는 것이 목적인 생성 모델, 그리고 생성 모델이 만든 데이터와 실제 데이터를 구분해내는 판별 모델이 서로 경쟁하면서 학습되며 더 모델이 숙련될 수 있다.According to an embodiment of the present invention, the GAN model is a model for generating a similar drum pattern, and when actual main drum patterns for learning are given as training data of the GAN model, generating data similar to actual data from noise The target generation model and the discriminant model that distinguishes the data created by the generated model from the actual data are trained while competing with each other, and the model can be more skilled.
상기 실시 예에 따르면 장르별 제약조건의 경우 GAN 모델의 학습이 1회 될 때마다 장르별 제약조건의 손실 함수에 대한 업데이트도 이루어지면서 GAN 학습 데이터를 이용하여 GAN 모델을 통해 생성된 유사 드럼 패턴과 장르별 제한 조건이 반영된 유사 드럼 패턴이 번갈아 가면서 경쟁하는 형태로 이루어진다.According to the above embodiment, in the case of genre-specific constraints, each time the GAN model is trained, the loss function of the genre-specific constraint is updated, and the similar drum pattern generated through the GAN model using the GAN learning data and the genre-specific restrictions. Similar drum patterns reflecting the conditions take turns competing.
본 발명의 일 실시 예에 따르면 GAN 모델로서 2D 이미지를 다루기 위한 DCGAN 모델을 1D 버전으로 수정한 것을 사용할 수 있으나 이에 한정되지 아니한다.According to an embodiment of the present invention, a modified DCGAN model for handling a 2D image to a 1D version may be used as the GAN model, but the present invention is not limited thereto.
본 발명의 일 실시 예에 따르면 GAN 모델은 2단계로 설계될 수 있으며 1단계 모델은 16분음표마다 드럼 노트가 기록되는 GAN 모델로 저해상도 드럼 패턴을 생성할 수 있고 저해상도 드럼 패턴을 이용하여 2단계 모델은 48분음표마다 드럼 노트가 기록되는 GAN 모델로 고해상도의 유사 드럼 패턴을 생성할 수 있다.According to an embodiment of the present invention, the GAN model may be designed in two stages, and the first stage model is a GAN model in which drum notes are recorded every 16th note, and a low-resolution drum pattern can be created, and a second stage using a low-resolution drum pattern. The model is a GAN model in which drum notes are recorded every 48th note, and a high-resolution similar drum pattern can be created.
상기 실시 예에 따르면 LAPGAN 모델을 이용하여 먼저 1단계 GAN 모델로 16분음표마다 드럼 노트가 찍히는 저해상도 드럼 패턴을 들고, 이를 2단계 GAN 모델을 이용하여 48분음표마다 드럼 노트가 찍히는 고해상도 드럼 패턴을 생성함으로써 이 보다 자연스러운 유사 드럼 패턴을 생성할 수 있다.According to the above embodiment, using the LAPGAN model, first, a low-resolution drum pattern in which drum notes are taken for every 16th note with a first stage GAN model, and a high-resolution drum pattern in which drum notes are taken for every 48th note using a second stage GAN model. By creating this, you can create a more natural, similar drum pattern.
전체 드럼 패턴을 생성한다(850).The entire drum pattern is generated (850).
본 발명의 일 실시 예에 따르면 패턴 변조 모델을 이용하여 유사 드럼 패턴을 다양하게 변조하여 전체 드럼 패턴을 생성할 수 있다.According to an embodiment of the present invention, an entire drum pattern may be generated by variously modulating a similar drum pattern using a pattern modulation model.
본 발명의 일 실시 예에 따르면 유사 드럼 패턴 중 일부 악기를 제외시키거나, 유사 드럼 패턴의 일부 부분을 제거하거나, 유사 드럼 패턴의 드럼 노트의 위치를 변동하는 것 중 적어도 하나의 방법을 이용할 수 있다.According to an embodiment of the present invention, at least one method of excluding some musical instruments from among the similar drum patterns, removing some parts of the similar drum pattern, or changing the position of the drum notes of the similar drum pattern may be used. .
상기 실시 예에 따르면 유사 드럼 패턴 중 일부 악기를 제외시키거나, 유사 드럼 패턴의 일부 부분을 제거하는 경우에는 rule-based 알고리즘을 이용할 수 있으며, 유사 드럼 패턴의 드럼 노트의 위치를 변동하는 경우에는 rule-based 알고리즘을 사용하거나 LSTM 모델, 또는 GAN 모델을 사용하여 변조할 수 있다.According to the above embodiment, a rule-based algorithm may be used to exclude some instruments from the similar drum pattern or to remove some parts of the similar drum pattern, and if the position of the drum note of the similar drum pattern is changed, the rule It can be modulated using a -based algorithm, LSTM model, or GAN model.
본 발명의 실시 예는 이상에서 설명한 장치 및/또는 방법을 통해서만 구현이 되는 것은 아니며, 이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.The embodiments of the present invention are not implemented only through the apparatus and/or method described above, and the embodiments of the present invention have been described in detail above, but the scope of the present invention is not limited thereto, and the following claims Various modifications and improvements of those skilled in the art using the basic concept of the present invention defined in are also within the scope of the present invention.
100 : 음원 전처리부 200 : 메인 드럼 패턴 결정부
300 : GAN 학습 데이터 생성부 400 : 유사 드럼 패턴 생성부
500 : 전체 드럼 패턴 제공부 1000 : 드럼 패턴 생성장치 100: sound source preprocessing unit 200: main drum pattern determining unit
300: GAN learning data generation unit 400: Similar drum pattern generation unit
500: entire drum pattern providing unit 1000: drum pattern generating device
Claims (16)
제공받은 음원을 미리 설정된 파일 형식 또는 클래스 형태로 변환하는 음원 전처리부;
상기 변환된 음원의 패턴을 분석하여 미리 설정된 마디 수로 나누어 복수의 리듬 그룹을 생성하고, 상기 생성된 복수의 리듬 그룹 중 드럼 노트의 수가 가장 많은 리듬 그룹을 메인 드럼 패턴으로 결정하는 메인 드럼 패턴 결정부;
상기 결정된 메인 드럼 패턴을 미리 설정된 단위 해상도에 따라 세부적인 스텝으로 분할하고, 상기 분할된 각 스텝 별로 미리 설정된 악기의 연주 유무 및 연주 세기에 대한 정보를 포함한 행렬 데이터를 이용하여 GAN 학습 데이터를 생성하는 GAN 학습 데이터 생성부;
상기 GAN 학습 데이터가 학습된 GAN 모델에 미리 설정되거나 입력받은 장르별 제약 조건 정보를 반영하여 설계된 생성 및 구별 모델을 이용하여 상호 경쟁을 통해 메인 드럼 패턴과 유사한 유사 드럼 패턴을 생성하는 유사 드럼 패턴 생성부; 및
패턴 변조 모델을 이용하여 상기 유사 드럼 패턴을 다양하게 변조하여 전체 드럼 패턴을 생성하는 전체 드럼 패턴 제공부;를 포함하며,
상기 GAN 학습 데이터 생성부는,
상기 결정된 메인 드럼 패턴의 각 마디를 미리 설정된 단위 해상도에 다수의 스텝으로 분할하고 상기 메인 드럼 패턴의 전체 스텝 수 i를 산출하는 스텝 수 산출부;
음고 값에 따라 미리 설정된 악기의 종류를 매칭하고, 상기 매칭된 악기를 종류에 따라 1부터 j까지 라벨링하는 악기 라벨링부;
상기 메인 드럼 패턴에 포함된 각 스텝을 분석하여 음고 값을 측정하고, 상기 측정된 음고 값을 이용하여 각 스텝 별로 상기 라벨링된 악기의 연주 유무 판단 및 연주 세기를 측정하여 점수로 산출하는 연주 스코어링부; 및
상기 산출된 점수를 이용하여 상기 i개의 스텝과 대한 j개의 악기를 열과 행으로 하는 패턴 별 i X j 형식의 패턴 행렬 데이터를 생성하는 패턴 행열 생성부를 더 포함하는 딥러닝 기반의 작곡용 드럼 패턴 생성장치.Using a neural network operated by a processor,
A sound source preprocessor that converts the received sound source into a preset file format or class format;
A main drum pattern determination unit that analyzes the pattern of the converted sound source and divides it by a preset number of bars to generate a plurality of rhythm groups, and determines a rhythm group with the largest number of drum notes among the generated plurality of rhythm groups as a main drum pattern. ;
Dividing the determined main drum pattern into detailed steps according to a preset unit resolution, and generating GAN learning data using matrix data including information on the presence or absence of a musical instrument preset for each of the divided steps and the playing strength. GAN learning data generation unit;
A similar drum pattern generation unit that generates a similar drum pattern similar to the main drum pattern through mutual competition using a generation and discrimination model designed by reflecting the genre-specific constraint information previously set or input to the GAN model in which the GAN learning data is learned ; And
Includes; a whole drum pattern providing unit for generating a whole drum pattern by variously modulating the similar drum pattern using a pattern modulation model,
The GAN learning data generation unit,
A step count calculating unit for dividing each measure of the determined main drum pattern into a plurality of steps at a predetermined unit resolution and calculating the total number of steps i of the main drum pattern;
A musical instrument labeling unit that matches a preset type of musical instrument according to a pitch value and labels the matched musical instruments from 1 to j according to the type;
A performance scoring unit that analyzes each step included in the main drum pattern to measure a pitch value, and uses the measured pitch value to determine whether the labeled instrument is played or not and measure the playing strength for each step to calculate a score. ; And
Creating a drum pattern for composition based on deep learning further comprising a pattern matrix generator for generating pattern matrix data in the form of i X j for each pattern in which j instruments for the i steps are used as columns and rows using the calculated score Device.
상기 측정된 음고 값을 분석하여 라벨링된 악기가 연주되었는지 여부를 판단하고, 연주되지 않았다고 판단된 경우에는 0 값을, 악기가 연주되었다고 판단된 경우에는 연주된 악기의 연주 세기를 속도에 기반하여 숫자로 산출한 값을 점수로 결정하는 것을 특징으로 하는 딥러닝 기반의 작곡용 드럼 패턴 생성장치.The method of claim 1, wherein the performance scoring unit,
The measured pitch value is analyzed to determine whether or not a labeled instrument has been played, and if it is determined that it has not been played, a value of 0 is used, and if it is determined that the instrument has been played, the playing strength of the played instrument is a number based on the speed. Deep learning-based composition drum pattern generation device, characterized in that determining the value calculated as a score.
상기 미리 설정된 마디 수는 8마디, 미리 설정된 단위 해상도는 48음표로 설정하여, 384 x j 행렬 형식의 행렬 데이터를 패턴 별로 생성하는 것을 특징으로 하는 딥러닝 기반의 작곡용 드럼 패턴 생성장치.The method of claim 1,
The preset number of bars is set to 8 bars and the preset unit resolution is set to 48 notes, and a 384 xj matrix format matrix data is generated for each pattern.
상기 장르별 제약 조건은 생성된 유사 드럼 패턴에서 특정 악기의 연주 빈도를 특정 이하로 제한하기 위한 손실 함수(loss function)을 통해 반영되는 것을 특징으로 하는 딥러닝 기반의 작곡용 드럼 패턴 생성장치.The method of claim 1, wherein the similar drum pattern generating unit,
The genre-specific constraint condition is reflected through a loss function for limiting the playing frequency of a specific instrument to a certain level or less in the generated similar drum pattern.
상기 특정 악기의 연주 빈도를 특정 이하로 제한하기 위하여 생성된 유사 드럼 패턴에서의 특정 악기의 연주 빈도 전체 합과 원하는 특정 빈도 사이의 절대값차이에 가중치를 곱하는 방식이 사용되는 것을 특징으로 하는 딥러닝 기반의 작곡용 드럼 패턴 생성장치.The method of claim 5, wherein the similar drum pattern generation unit,
Deep learning, characterized in that a method of multiplying the absolute value difference between the total sum of playing frequencies of a specific instrument and a specific desired frequency in the generated similar drum pattern in order to limit the playing frequency of the specific instrument to a specific frequency is used A drum pattern generator for composing based.
상기 GAN 모델은 2단계로 설계되고, 1단계 모델은 16분음표마다 드럼 노트가 기록되는 GAN 모델로 저해상도 드럼 패턴을 생성하며, 상기 저해상도 드럼 패턴을 이용하여 2단계 모델은 48분음표마다 드럼 노트가 기록되는 GAN 모델로 고해상도의 유사 드럼 패턴을 생성하는 것을 특징으로 하는 딥러닝 기반의 작곡용 드럼 패턴 생성장치.The method of claim 1, wherein the similar drum pattern generating unit,
The GAN model is designed in two stages, and the first stage model is a GAN model in which drum notes are recorded every 16th note, and a low-resolution drum pattern is generated. Using the low-resolution drum pattern, the second stage model is a drum note every 48th note. Deep learning-based composition drum pattern generation device, characterized in that generating a high-resolution similar drum pattern with a GAN model in which is recorded.
상기 패턴 변조 모델은 유사 드럼 패턴 중 일부 악기를 제외시키거나, 유사 드럼 패턴의 일부 부분을 제거하거나, 유사 드럼 패턴의 드럼 노트의 위치를 변동하는 것 중 적어도 하나의 방법을 이용하는 모델인 것을 특징으로 하는 딥러닝 기반의 작곡용 드럼 패턴 생성장치.The method of claim 1, wherein the entire drum pattern providing unit,
The pattern modulation model is a model using at least one method of excluding some musical instruments from a similar drum pattern, removing some parts of a similar drum pattern, or changing a position of a drum note of a similar drum pattern. A drum pattern generator for composition based on deep learning.
제공받은 음원을 미리 설정된 파일 형식 또는 클래스 형태로 변환하는 단계;
상기 변환된 음원의 패턴을 분석하여 미리 설정된 마디 수로 나누어 복수의 리듬 그룹을 생성하고, 상기 생성된 복수의 리듬 그룹 중 드럼 노트의 수가 가장 많은 리듬 그룹을 메인 드럼 패턴으로 결정하는 단계;
상기 결정된 메인 드럼 패턴을 미리 설정된 단위 해상도에 따라 세부적인 스텝으로 분할하고, 상기 분할된 각 스텝 별로 미리 설정된 악기의 연주 유무 및 연주 세기에 대한 정보를 포함한 행렬 데이터를 이용하여 GAN 학습 데이터를 생성하는 단계;
상기 GAN 학습 데이터가 학습된 GAN 모델에 미리 설정되거나 입력받은 장르별 제약 조건 정보를 반영하여 설계된 생성 및 구별 모델을 이용하여 상호 경쟁을 통해 메인 드럼 패턴과 유사한 유사 드럼 패턴을 생성하는 단계; 및
패턴 변조 모델을 이용하여 상기 유사 드럼 패턴을 다양하게 변조하여 전체 드럼 패턴을 생성하는 단계;를 포함하며,
상기 GAN 학습 데이터를 생성하는 단계는,
상기 결정된 메인 드럼 패턴의 각 마디를 미리 설정된 단위 해상도에 다수의 스텝으로 분할하고 상기 메인 드럼 패턴의 전체 스텝 수 i를 산출하는 단계;
음고 값에 따라 미리 설정된 악기의 종류를 매칭하고, 상기 매칭된 악기를 종류에 따라 1부터 j까지 라벨링하는 단계;
상기 메인 드럼 패턴에 포함된 각 스텝을 분석하여 음고 값을 측정하고, 상기 측정된 음고 값을 이용하여 각 스텝 별로 상기 라벨링된 악기의 연주 유무 판단 및 연주 세기를 측정하여 점수로 산출하는 단계; 및
상기 산출된 점수를 이용하여 상기 i개의 스텝과 대한 j개의 악기를 열과 행으로 하는 패턴 별 i X j 형식의 패턴 행렬 데이터를 생성하는 단계를 더 포함하는 딥러닝 기반의 작곡용 드럼 패턴 생성방법.Using a neural network operated by a processor,
Converting the provided sound source into a preset file format or class format;
Analyzing the pattern of the converted sound source and dividing it by a preset number of bars to generate a plurality of rhythm groups, and determining a rhythm group with the largest number of drum notes among the generated rhythm groups as a main drum pattern;
Dividing the determined main drum pattern into detailed steps according to a preset unit resolution, and generating GAN learning data using matrix data including information on the presence or absence of a musical instrument preset for each of the divided steps and the playing strength. step;
Generating a similar drum pattern similar to the main drum pattern through mutual competition using a generation and discrimination model designed by reflecting the constraint condition information for each genre previously set or input to the GAN model in which the GAN learning data is learned; And
Generating an entire drum pattern by variously modulating the similar drum pattern using a pattern modulation model; Including,
The step of generating the GAN learning data,
Dividing each measure of the determined main drum pattern into a plurality of steps at a predetermined unit resolution and calculating the total number of steps i of the main drum pattern;
Matching a preset type of musical instrument according to a pitch value, and labeling the matched musical instruments from 1 to j according to the type;
Measuring a pitch value by analyzing each step included in the main drum pattern, determining whether the labeled instrument is played for each step, and measuring the playing strength for each step using the measured pitch value to calculate a score; And
The method of generating a drum pattern for composition based on deep learning further comprising the step of generating pattern matrix data in the form of i X j for each pattern in which j instruments for the i steps and j instruments in columns and rows are generated using the calculated score.
상기 측정된 음고 값을 분석하여 라벨링된 악기가 연주되었는지 여부를 판단하고, 연주되지 않았다고 판단된 경우에는 0 값을, 악기가 연주되었다고 판단된 경우에는 연주된 악기의 연주 세기를 속도에 기반하여 숫자로 산출한 값을 점수로 결정하는 것을 특징으로 하는 딥러닝 기반의 작곡용 드럼 패턴 생성방법.The method of claim 9, wherein calculating the score,
The measured pitch value is analyzed to determine whether or not a labeled instrument has been played, and if it is determined that it has not been played, a value of 0 is used, and if it is determined that the instrument has been played, the playing strength of the played instrument is a number based on the speed. Deep learning-based composition drum pattern generation method, characterized in that the calculated value is determined as a score.
상기 미리 설정된 마디 수는 8마디, 미리 설정된 단위 해상도는 48음표로 설정하여, 384 x j 행렬 형식의 행렬 데이터를 패턴 별로 생성하는 것을 특징으로 하는 딥러닝 기반의 작곡용 드럼 패턴 생성방법.The method of claim 9,
The preset number of bars is set to 8 bars and the preset unit resolution is set to 48 notes, and a 384 xj matrix format matrix data is generated for each pattern.
상기 장르별 제약 조건은 생성된 유사 드럼 패턴에서 특정 악기의 연주 빈도를 특정 이하로 제한하기 위한 손실 함수(loss function)을 통해 반영되는 것을 특징으로 하는 딥러닝 기반의 작곡용 드럼 패턴 생성방법.The method of claim 9, wherein generating the similar drum pattern comprises:
The genre-specific constraint condition is reflected through a loss function for limiting the playing frequency of a specific instrument to a certain level or less in the generated similar drum pattern.
상기 특정 악기의 연주 빈도를 특정 이하로 제한하기 위하여 생성된 유사 드럼 패턴에서의 특정 악기의 연주 빈도 전체 합과 원하는 특정 빈도 사이의 절대값차이에 가중치를 곱하는 방식이 사용되는 것을 특징으로 하는 딥러닝 기반의 작곡용 드럼 패턴 생성방법.The method of claim 13, wherein generating the similar drum pattern comprises:
Deep learning, characterized in that a method of multiplying the absolute value difference between the total sum of playing frequencies of a specific instrument and a specific desired frequency in the generated similar drum pattern in order to limit the playing frequency of the specific instrument to a specific frequency is used A method of creating drum patterns for composition based on.
상기 GAN 모델은 2단계로 설계되고, 1단계 모델은 16분음표마다 드럼 노트가 기록되는 GAN 모델로 저해상도 드럼 패턴을 생성하며, 상기 저해상도 드럼 패턴을 이용하여 2단계 모델은 48분음표마다 드럼 노트가 기록되는 GAN 모델로 고해상도의 유사 드럼 패턴을 생성하는 것을 특징으로 하는 딥러닝 기반의 작곡용 드럼 패턴 생성방법.The method of claim 9, wherein generating the similar drum pattern comprises:
The GAN model is designed in two stages, and the first stage model is a GAN model in which drum notes are recorded every 16th note, and a low-resolution drum pattern is generated. Using the low-resolution drum pattern, the second stage model is a drum note every 48th note. Deep learning-based composition drum pattern generation method, characterized in that generating a high-resolution similar drum pattern with a GAN model in which is recorded.
상기 패턴 변조 모델은 유사 드럼 패턴 중 일부 악기를 제외시키거나, 유사 드럼 패턴의 일부 부분을 제거하거나, 유사 드럼 패턴의 드럼 노트의 위치를 변동하는 것 중 적어도 하나의 방법을 이용하는 모델인 것을 특징으로 하는 딥러닝 기반의 작곡용 드럼 패턴 생성방법. The method of claim 9, wherein generating the entire drum pattern comprises:
The pattern modulation model is a model using at least one method of excluding some musical instruments from a similar drum pattern, removing some parts of a similar drum pattern, or changing a position of a drum note of a similar drum pattern. A method of creating drum patterns for composition based on deep learning.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180152505A KR102149773B1 (en) | 2018-11-30 | 2018-11-30 | Deep learning based compositional drum pattern generating apparatus and method therefor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180152505A KR102149773B1 (en) | 2018-11-30 | 2018-11-30 | Deep learning based compositional drum pattern generating apparatus and method therefor |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200072587A KR20200072587A (en) | 2020-06-23 |
KR102149773B1 true KR102149773B1 (en) | 2020-09-01 |
Family
ID=71138011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180152505A KR102149773B1 (en) | 2018-11-30 | 2018-11-30 | Deep learning based compositional drum pattern generating apparatus and method therefor |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102149773B1 (en) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160121879A (en) * | 2015-04-13 | 2016-10-21 | 성균관대학교산학협력단 | Automatic melody composition method and automatic melody composition system |
-
2018
- 2018-11-30 KR KR1020180152505A patent/KR102149773B1/en active IP Right Grant
Non-Patent Citations (1)
Title |
---|
Hamid Eghbal-zad도 외 3명, "A GAN BASED DRUM PATTERN GENERATION UI PROTOTYPE", Proceedings of ISMIR2018 Late-Breaking Demos Session, The 19th International Society for Music Information Retrieval Confere* |
Also Published As
Publication number | Publication date |
---|---|
KR20200072587A (en) | 2020-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Herremans et al. | A functional taxonomy of music generation systems | |
Lerch et al. | An interdisciplinary review of music performance analysis | |
US8084677B2 (en) | System and method for adaptive melodic segmentation and motivic identification | |
KR101982345B1 (en) | Apparatus and method for composing music using artificial intelligence | |
KR101854706B1 (en) | Method and recording medium for automatic composition using artificial neural network | |
CN111630590B (en) | Method for generating music data | |
Giraldo et al. | A machine learning approach to discover rules for expressive performance actions in jazz guitar music | |
Ramirez et al. | Automatic performer identification in commercial monophonic jazz performances | |
Sajad et al. | Music generation for novices using Recurrent Neural Network (RNN) | |
Lo | Evolving cellular automata for music composition with trainable fitness functions | |
US10431191B2 (en) | Method and apparatus for analyzing characteristics of music information | |
Ebrahimi et al. | Procedural composition of traditional persian music using deep neural networks | |
KR102149773B1 (en) | Deep learning based compositional drum pattern generating apparatus and method therefor | |
Ramirez et al. | A rule-based evolutionary approach to music performance modeling | |
Trochidis et al. | CAMeL: Carnatic percussion music generation using n-gram models | |
KR102490769B1 (en) | Method and device for evaluating ballet movements based on ai using musical elements | |
Lee et al. | PocketVAE: A Two-step Model for Groove Generation and Control | |
Martins et al. | Similarity measures for rhythmic sequences | |
Brink | Dissection of a generative network for music composition | |
KR20190111360A (en) | System, device, and method to generate polyphonic music | |
Anderson | Musical instrument classification utilizing a neural network | |
Vogl | Deep Learning Methods for Drum Transcription and Drum Pattern Generation/submitted by Richard Vogl | |
KR102492981B1 (en) | Ai-based ballet accompaniment generation method and device | |
Bergström et al. | Apply evolutionary algorithms for music generation | |
Simões | Deep Learning for Dynamic Music Generation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |