KR102605724B1 - 생성적 적대 신경망에 기반한 멀티트랙 음악 생성 장치 및 그것을 이용한 복수 장르의 멀티트랙 음악 생성 방법 - Google Patents
생성적 적대 신경망에 기반한 멀티트랙 음악 생성 장치 및 그것을 이용한 복수 장르의 멀티트랙 음악 생성 방법 Download PDFInfo
- Publication number
- KR102605724B1 KR102605724B1 KR1020220018941A KR20220018941A KR102605724B1 KR 102605724 B1 KR102605724 B1 KR 102605724B1 KR 1020220018941 A KR1020220018941 A KR 1020220018941A KR 20220018941 A KR20220018941 A KR 20220018941A KR 102605724 B1 KR102605724 B1 KR 102605724B1
- Authority
- KR
- South Korea
- Prior art keywords
- track
- information
- head
- generator
- measure
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000013528 artificial neural network Methods 0.000 title description 2
- 239000013598 vector Substances 0.000 claims abstract description 119
- 239000000284 extract Substances 0.000 claims description 18
- 238000000605 extraction Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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
-
- 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
- G10H2250/00—Aspects of algorithms or signal processing methods without intrinsic musical character, yet specifically adapted for or used in electrophonic musical processing
- G10H2250/311—Neural networks for electrophonic musical instruments or musical processing, e.g. for musical recognition or control, automatic composition or improvisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Electrophonic Musical Instruments (AREA)
Abstract
본 발명은 생성적 적대 신경망에 기반한 멀티트랙 음악 생성 장치 및 그것을 이용한 복수 장르의 멀티트랙 음악 생성 방법에 관한 것이다. 본 발명에 따르면, 멀티트랙 음악 생성 장치를 이용한 복수 장르의 멀티트랙 음악 생성 방법에 있어서, 멀티트랙을 포함한 미디(MIDI) 파일을 입력받으면, 전처리기를 이용하여 미디 파일의 멀티트랙으로부터 제1 헤드 정보를 추출하는 단계, 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 GAN 기반의 헤드 정보 생성기 학습모델의 생성자의 입력데이터로 설정하고, 제2 헤드 정보를 헤드 정보 생성기 학습모델의 생성자의 출력데이터로 설정하며, 제1 헤드 정보 및 제2 헤드 정보의 진위 여부를 판별자를 통해 판별하여 헤드 정보 생성기 학습모델을 학습시키는 단계, 멀티트랙으로부터 각 트랙별로 연속적 n개 마디 정보를 추출한 상태에서, 제1 헤드 정보 및 연속적 n개 마디 정보를 인코더의 입력데이터로 설정하고, 제1 헤드 특징 정보 및 n개 마디 특징 정보를 인코더의 출력 데이터로 설정하며, 제1 헤드 특징 정보 및 n개 마디 특징 정보를 디코더의 입력데이터로 설정하고, n개 마디 복원 정보, 트랙 종류 및 장르 종류를 디코더의 출력데이터로 설정하며, 멀티트랙으로부터 추출된 n개 마디 정보 및 n개 마디 복원 정보, 트랙 종류 및 장르 종류의 차이를 산출하여 인코더 및 디코더를 학습시키는 단계, n개 마디 특징 정보, 트랙 및 장르 라벨 조건 벡터, 마디 순서를 결합하여 GAN 기반의 마디 생성기 학습모델의 생성자의 입력데이터로 설정하고, 제1 마디를 마디 생성기 학습모델의 생성자의 출력데이터로 설정하고, 멀티트랙으로부터 각 트랙별로 제2 마디를 추출한 상태에서, 제1 마디 및 제2 마디의 진위 여부를 판별하여 마디 생성기 학습모델을 학습시키는 단계, 음악 생성 대상이 되는 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 기 학습된 헤드 정보 생성기 학습모델에 적용하여 헤드 정보를 생성하는 단계, 헤드 정보를 기 학습된 인코더에 적용하여 헤드 특징 정보 및 n개 마디 특징 정보를 추출하는 단계, 그리고 n개 마디 특징 정보와 트랙 및 장르 라벨 조건 벡터, 마디 순서를 결합하여 기 학습된 마디 생성기 학습모델의 생성자에 적용하여 사용자가 기 지정한 장르의 음악을 마디 단위로 생성하는 단계를 포함한다.
Description
본 발명은 생성적 적대 신경망에 기반한 멀티트랙 음악 생성 장치 및 그것을 이용한 복수 장르의 멀티트랙 음악 생성 방법에 관한 것으로, 더욱 상세하게는 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 기 학습된 헤드 정보 생성기 학습모델, 인코더 및 디코더, 마디 생성기 학습모델에 적용하여 기 지정된 장르의 음악을 생성하는 생성적 적대 신경망에 기반한 멀티트랙 음악 생성 장치 및 그것을 이용한 복수 장르의 멀티트랙 음악 생성 방법에 관한 것이다.
일반적으로, 전통적인 음악 작곡에는 작곡가가 전문 음악 지식을 갖고 영감과 창의적인 경험을 결합하여 음악을 창작한다.
여기서, 음악을 창작하기 위해서는 피아노(piano), 기타(guitar), 베이스(bass) 및 드럼(drum) 등 다양한 트랙을 포함되는 음원, 미디(MIDI: Musical Instrument Digital Interface)를 이용하여 음악을 창작한다.
그리고, 악기 별로 반복되는 패턴을 데이터베이스화하여, 정해진 패턴에 맞게 음악을 창작할 수 있다.
한편, 컴퓨터 기술의 발전함에 따라 다양한 음악 관련 기술이 개발되었다.
특히, GAN(Generative Adversarial Networks) 알고리즘 등과 같은 인공지능을 통해 사용자가 입력한 정보를 기반으로 유사한 스타일의 음악을 생성할 수 있게 되었다.
이러한 음악 생성기술은 사용자의 음성 또는 생성하려는 음악과 유사한 느낌을 가진 곡을 이용하여 사용자가 원하는 멜로디를 음악 생성기술에 적용하여 음악을 자동으로 생성하거나 모티프(motif)를 기반으로 작곡가가 다양한 형태의 음악을 자동으로 생성한 후, 생성한 음악을 전곡의 작곡에 보조적으로 이용하는 등의 다양한 방식으로 응용이 가능하다.
다만, 악기 별로 반복되는 패턴을 통해 유사한 느낌을 가진 곡을 생성하므로, 생성된 음악의 구조가 다양하지 못하다는 한계가 있다.
그리고, 음악 생성기술로 사용된 딥러닝 모델이 1분 이상의 긴 길이의 음악을 생성하기에는 구조적인 한계가 있다.
본 발명의 배경이 되는 기술은 대한민국공개특허공보 제10-2021-0093223호 (2021.07.27 공개)에 개시되어 있다.
본 발명이 이루고자 하는 기술적 과제는 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 기 학습된 헤드 정보 생성기 학습모델, 인코더 및 디코더, 마디 생성기 학습모델에 적용하여 기 지정된 장르의 음악을 생성하는 생성적 적대 신경망에 기반한 멀티트랙 음악 생성 장치 및 그것을 이용한 복수 장르의 멀티트랙 음악 생성 방법을 제공하는 것이다.
이러한 기술적 과제를 이루기 위한 본 발명의 실시예에 따르면, 멀티트랙 음악 생성 장치를 이용한 복수 장르의 멀티트랙 음악 생성 방법에 있어서, 멀티트랙을 포함한 미디(MIDI) 파일을 입력받으면, 전처리기를 이용하여 상기 미디 파일의 멀티트랙으로부터 제1 헤드 정보를 추출하는 단계, 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 GAN 기반의 헤드 정보 생성기 학습모델의 생성자의 입력데이터로 설정하고, 제2 헤드 정보를 헤드 정보 생성기 학습모델의 생성자의 출력데이터로 설정하며, 상기 제1 헤드 정보 및 제2 헤드 정보의 진위 여부를 판별자를 통해 판별하여 헤드 정보 생성기 학습모델을 학습시키는 단계, 상기 멀티트랙으로부터 각 트랙별로 연속적 n개 마디 정보를 추출한 상태에서, 상기 제1 헤드 정보 및 연속적 n개 마디 정보를 인코더의 입력데이터로 설정하고, 제1 헤드 특징 정보 및 n개 마디 특징 정보를 인코더의 출력 데이터로 설정하며, 제1 헤드 특징 정보 및 n개 마디 특징 정보를 디코더의 입력데이터로 설정하고, n개 마디 복원 정보, 트랙 종류 및 장르 종류를 디코더의 출력데이터로 설정하며, 상기 멀티트랙으로부터 추출된 n개 마디 정보 및 n개 마디 복원 정보, 트랙 종류 및 장르 종류의 차이를 산출하여 인코더 및 디코더를 학습시키는 단계, 상기 n개 마디 특징 정보, 트랙 및 장르 라벨 조건 벡터, 마디 순서를 결합하여 GAN 기반의 마디 생성기 학습모델의 생성자의 입력데이터로 설정하고, 제1 마디를 마디 생성기 학습모델의 생성자의 출력데이터로 설정하고, 멀티트랙으로부터 각 트랙별로 제2 마디를 추출한 상태에서, 상기 제1 마디 및 제2 마디의 진위 여부를 판별하여 마디 생성기 학습모델을 학습시키는 단계, 음악 생성 대상이 되는 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 상기 기 학습된 헤드 정보 생성기 학습모델에 적용하여 헤드 정보를 생성하는 단계, 상기 헤드 정보를 상기 기 학습된 인코더에 적용하여 헤드 특징 정보 및 n개 마디 특징 정보를 추출하는 단계, 그리고 상기 n개 마디 특징 정보와 트랙 및 장르 라벨 조건 벡터, 마디 순서를 결합하여 상기 기 학습된 마디 생성기 학습모델의 생성자에 적용하여 사용자가 기 지정한 장르의 음악을 마디 단위로 생성하는 단계를 포함한다.
상기 전처리기를 이용하여 미디 파일의 멀티트랙으로부터 제1 헤드 정보를 추출하는 단계는, 음악 장르가 분류된 미디 파일을 입력 받는 단계, 상기 멀티트랙으로부터 드럼 트랙, 피아노 트랙, 베이스 트랙, 기타 트랙 중에서 적어도 하나를 추출하는 단계, 그리고 상기 복수의 트랙 각각을 전처리기에 적용하여 각 트랙에 대응하는 제1 헤드 정보를 추출하는 단계를 포함할 수 있다.
상기 헤드 정보 생성기 학습모델을 학습시키는 단계는, 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 헤드 정보 생성기 학습모델에 적용하여 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 기반으로 하는 제2 헤드 정보를 출력하는 단계, 그리고 상기 제1 헤드 정보 및 제2 헤드 정보를 헤드 정보 생성기 학습모델의 판별자의 입력데이터로 설정하고, 상기 제1 헤드 정보 및 제2 헤드 정보의 진위 여부를 헤드 정보 생성기 학습모델의 판별자의 출력데이터로 설정하는 단계, 상기 제1 헤드 정보 및 제2 헤드 정보의 진위 여부를 판별하도록 헤드 정보 생성기 학습모델을 학습시키는 단계를 포함할 수 있다.
상기 인코더 및 디코더를 학습시키는 단계는, 상기 미디 파일의 정답 트랙 및 장르 라벨 조건 벡터를 디코더의 학습용 정답 데이터로 설정하고, 상기 제1 헤드 특징 정보 및 n개 마디 특징 정보를 디코더에 적용하여 복원 트랙 및 장르 라벨 조건 벡터를 생성하며, 상기 정답 트랙 및 장르 라벨 조건 벡터와 복원 트랙 및 장르 라벨 조건 벡터의 차이를 산출하도록 상기 인코더 및 디코더를 더 학습시킬 수 있다.
상기 마디 생성기 학습모델을 학습시키는 단계는, 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 상기 헤드 정보 생성기 학습모델에 적용하여 제2 헤드 정보를 출력하는 단계, 상기 제2 헤드 정보를 상기 인코더에 입력하여 제2 헤드 특징 정보 및 n개 마디 특징 정보를 출력하는 단계, 상기 n개 마디 특징 정보와 트랙 및 장르 라벨 조건 벡터, 마디 순서를 결합하여 상기 마디 생성기 학습모델에 적용하여 제1 마디를 출력하는 단계, 상기 미디 파일의 멀티트랙으로부터 각각의 트랙에 대응하는 제2 마디를 추출한 상태에서, 상기 제1 마디와 제2 마디를 상기 마디 생성기 학습모델의 판별자에 적용하여 상기 제1 마디 및 제2 마디의 진위 여부를 판단하도록 상기 마디 생성기를 학습시키는 단계, 그리고 연속적인 제1 마디를 붙여서 제1 트랙을 생성하는 단계를 포함할 수 있다.
본 발명의 다른 실시예에 따르면, 생성적 적대 신경망에 기반한 멀티트랙 음악 생성 장치에 있어서, 멀티트랙을 포함한 미디(MIDI) 파일을 입력받으면, 전처리기를 이용하여 상기 미디 파일의 멀티트랙으로부터 제1 헤드 정보를 추출하는 헤드 정보 추출부, 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 GAN 기반의 헤드 정보 생성기 학습모델의 생성자의 입력데이터로 설정하고, 제2 헤드 정보를 상기 헤드 정보 생성기 학습모델의 생성자의 출력데이터로 설정하며, 상기 제1 헤드 정보와 제2 헤드 정보의 진위 여부를 판별자를 통해 판별하여 헤드 정보 생성기 학습모델을 학습시키는 헤드 정보 생성기 학습부, 상기 멀티트랙으로부터 각 트랙별로 연속적 n개 마디 정보를 추출한 상태에서, 상기 제1 헤드 정보 및 연속적 n개 마디 정보를 인코더의 입력데이터로 설정하고, 제1 헤드 특징 정보 및 n개 마디 특징 정보를 인코더의 출력 데이터로 설정하며, 제1 헤드 특징 정보 및 n개 마디 특징 정보를 디코더의 입력데이터로 설정하고, n개 마디 복원 정보, 트랙 종류 및 장르 종류를 디코더의 출력데이터로 설정하며, 상기 멀티트랙으로부터 추출된 n개 마디 정보 및 n개 마디 복원 정보, 트랙 종류 및 장르 종류의 차이를 산출하여 인코더 및 디코더를 학습시키는 인코더 및 디코더 학습부, 상기 n개 마디 특징 정보, 트랙 및 장르 라벨 조건 벡터, 마디 순서를 결합하여 GAN 기반의 마디 생성기 학습모델의 생성자의 입력데이터로 설정하고, 제1 마디를 마디 생성기 학습모델의 생성자의 출력데이터로 설정하고, 멀티트랙으로부터 각 트랙별로 제2 마디를 추출한 상태에서, 상기 제1 마디 및 제2 마디의 진위 여부를 판별하여 마디 생성기 학습모델을 학습시키는 마디 생성기 학습부, 음악 생성 대상이 되는 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 상기 기 학습된 헤드 정보 생성기 학습모델에 적용하여 헤드 정보를 생성하는 생성부, 상기 헤드 정보를 상기 기 학습된 인코더에 적용하여 헤드 특징 정보 및 n개 마디 특징 정보를 추출하는 추출부, 그리고 상기 n개 마디 특징 정보와 트랙 및 장르 라벨 조건 벡터, 마디 순서를 결합하여 상기 기 학습된 마디 생성기 학습모델의 생성자에 적용하여 사용자가 기 지정한 장르의 음악을 마디 단위로 생성하는 제어부를 포함한다.
이와 같이 본 발명에 따르면, 다양한 장르 및 다양한 트랙으로 학습모델을 학습시키므로, 음악을 다양하게 생성할 수 있고, GAN 알고리즘 기반의 학습모델을 통해 한 곡의 음악을 생성시킬 수 있다.
도 1은 본 발명의 실시예에 따른 생성적 적대 신경망에 기반한 멀티트랙 음악 생성 장치의 구성을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치를 학습시키는 과정을 설명하기 위한 순서도이다.
도 3는 도 2의 S220 단계를 설명하기 위한 도면이다.
도 4는 도 2의 S230 단계를 설명하기 위한 순서도이다.
도 5는 도 2의 S230 단계를 설명하기 위한 도면이다.
도 6은 도 2의 S240 단계를 설명하기 위한 순서도이다.
도 7은 도 2의 S240 단계를 설명하기 위한 도면이다.
도 8은 도 2의 S250 단계를 설명하기 위한 순서도이다.
도 9는 도 2의 S250 단계를 설명하기 위한 도면이다.
도 10은 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치를 이용한 복수 장르의 멀티트랙 음악 생성 방법을 설명하기 위한 순서도이다.
도 11은 도 10을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치를 학습시키는 과정을 설명하기 위한 순서도이다.
도 3는 도 2의 S220 단계를 설명하기 위한 도면이다.
도 4는 도 2의 S230 단계를 설명하기 위한 순서도이다.
도 5는 도 2의 S230 단계를 설명하기 위한 도면이다.
도 6은 도 2의 S240 단계를 설명하기 위한 순서도이다.
도 7은 도 2의 S240 단계를 설명하기 위한 도면이다.
도 8은 도 2의 S250 단계를 설명하기 위한 순서도이다.
도 9는 도 2의 S250 단계를 설명하기 위한 도면이다.
도 10은 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치를 이용한 복수 장르의 멀티트랙 음악 생성 방법을 설명하기 위한 순서도이다.
도 11은 도 10을 설명하기 위한 도면이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시 예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
그러면 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
이하에서는 도 1을 이용하여 본 발명의 실시예에 따른 생성적 적대 신경망에 기반한 멀티트랙 음악 생성 장치(100)의 구성을 설명한다.
도 1은 본 발명의 실시예에 따른 생성적 적대 신경망에 기반한 멀티트랙 음악 생성 장치의 구성을 설명하기 위한 도면이다.
도 1에서 도시한 바와 같이, 본 발명의 실시예에 따른 생성적 적대 신경망에 기반한 멀티트랙 음악 생성 장치(100)는 헤드 정보 추출부(110), 헤드 정보 생성기 학습부(120), 인코더 및 디코더 학습부(130), 마디 생성기 학습부(140), 생성부(150), 추출부(160) 및 제어부(170)를 포함한다.
먼저, 헤드 정보 추출부(110)는 멀티트랙을 포함한 미디(MIDI) 파일을 입력받으면 전처리기를 이용하여 미디 파일의 멀티트랙으로부터 제1 헤드 정보를 추출한다.
여기서, 멀티트랙은 드럼 트랙, 피아노 트랙, 베이스 트랙, 기타 트랙 중에서 적어도 하나를 포함한다.
그리고, 헤드 정보 추출부(110)는 미디 파일의 드럼 트랙, 피아노 트랙, 베이스 트랙, 기타 트랙 각각을 전처리기에 입력하여 각 트랙에 대응하는 제1 헤드 정보를 추출한다.
다음으로, 헤드 정보 생성기 학습부(120)는 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 생성적 적대 신경망(Generative Adversarial Networks, 이하 "GAN"로 명명한다.) 기반의 헤드 정보 생성기 학습모델의 생성자의 입력데이터로 설정하고, 제2 헤드 정보를 상기 헤드 정보 생성기 학습모델의 생성자의 출력데이터로 설정한다.
그리고, 헤드 정보 생성기 학습부(120)는 제1 헤드 정보와 제2 헤드 정보의 진위 여부를 판별자를 통해 판별하여 헤드 정보 생성기 학습모델을 학습시킨다.
즉, 헤드 정보 생성기 학습부(120)는 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 헤드 정보 생성기 학습모델에 적용하여 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 기반으로 하는 제2 헤드 정보를 출력한다.
그리고, 헤드 정보 생성기 학습부(120)는 제1 헤드 정보 또는 제2 헤드 정보를 헤드 정보 생성기 학습모델의 판별자의 입력데이터로 설정하고, 제1 헤드 정보 및 제2 헤드 정보의 진위 여부를 헤드 정보 생성기 학습모델의 판별자의 출력데이터로 설정한다.
그 다음, 헤드 정보 생성기 학습부(120)는 제1 헤드 정보 및 제2 헤드 정보의 진위 여부를 판별하도록 헤드 정보 생성기 학습모델을 학습시킨다.
다음으로, 인코더 및 디코더 학습부(130)는 제1 헤드 정보 및 연속적 n개 마디 정보를 인코더의 입력데이터로 설정하고, 제1 헤드 특징 정보 및 n개 마디 특징 정보를 인코더의 출력 데이터로 설정한다.
그리고, 인코더 및 디코더 학습부(130)는 제1 헤드 특징 정보 및 n개 마디 특징 정보를 디코더의 입력데이터로 설정하고, n개 마디 복원 정보, 트랙 종류 및 장르 종류를 디코더의 출력데이터로 설정한다.
이때, 인코더 및 디코더 학습부(130)는 멀티트랙으로부터 추출된 n개 마디 정보 및 n개 마디 복원 정보, 트랙 종류 및 장르 종류의 차이를 산출하여 인코더 및 디코더를 학습시킨다.
더욱 자세하게는, 인코더 및 디코더 학습부(130)는 멀티트랙으로부터 각 트랙 마다 연속적 n개 마디 정보를 추출하여 제1 헤드 정보 및 연속적 n개 마디 정보를 인코더에 적용하여 제1 헤드 특징 정보 및 n개 마디 특징 정보를 출력한다.
여기서, 인코더 및 디코더 학습부(130)는 제1 헤드 특징 정보 및 n개 마디 특징 정보를 디코더에 적용하여 n개 마디 복원 정보를 출력하고, 멀티트랙으로부터 추출된 실제 n개 마디 정보와 n개 마디 복원 정보를 비교하여 차이를 산출하도록 인코더 및 디코더를 학습시킨다.
그리고, 인코더 및 디코더 학습부(130)는 미디 파일의 정답 트랙 및 장르 라벨 조건 벡터를 디코더의 학습용 정답 데이터로 설정하고, 제1 헤드 특징 정보 및 n개 마디 특징 정보를 디코더에 적용하여 복원 트랙의 종류 및 장르 조건 벡터를 생성한다.
그 다음, 인코더 및 디코더 학습부(130)는 정답 트랙 및 장르 라벨 조건 벡터와 복원 트랙 및 장르 라벨 조건 벡터의 차이를 산출하도록 인코더 및 디코더를 더 학습시킨다.
다음으로, 마디 생성기 학습부(140)는 n개 마디 특징 정보, 트랙 및 장르 라벨 조건 벡터, 마디 순서를 결합하여 GAN 기반의 마디 생성기 학습모델의 생성자의 입력데이터로 설정하고, 제1 마디를 마디 생성기 학습모델의 생성자의 출력데이터로 설정한다.
그리고, 마디 생성기 학습부(140)는 멀티트랙으로부터 각 트랙별로 제2 마디를 추출한 상태에서 제1 마디 및 제2 마디의 진위 여부를 판별하여 마디 생성기 학습모델을 학습시킨다.
즉, 마디 생성기 학습부(140)는 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 헤드 정보 생성기 학습모델에 적용하여 제2 헤드 정보를 출력하고, 제2 헤드 정보를 인코더에 입력하여 제2 헤드 특징 정보 및 n개 마디 특징 정보를 출력한다.
그 다음, 마디 생성기 학습부(140)는 n개 마디 특징 정보와 트랙 및 장르 라벨 조건 벡터, 마디 순서를 결합하여 마디 생성기 학습모델에 적용하여 제1 마디를 출력한다.
그리고, 마디 생성기 학습부(140)는 미디 파일의 멀티트랙으로부터 각각의 트랙에 대응하는 제2 마디를 추출한 상태에서 제1 마디와 제2 마디를 마디 생성기 학습모델의 판별자에 적용하여 제1 마디 및 제2 마디의 진위 여부를 판단하도록 마디 생성기 학습모델을 학습시키며, 연속적인 제1 마디를 붙여서 제1 트랙을 생성한다.
다음으로, 생성부(150)는 음악 생성 대상이 되는 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 기 학습된 헤드 정보 생성기 학습모델에 적용하여 헤드 정보를 생성한다.
이때, 생성부(150)는 헤드 정보 생성기 학습부(120)에서 기 학습된 헤드 정보 생성기 학습모델을 통해 음악 생성 대상이 되는 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터 기반의 헤드 정보를 생성할 수 있다.
다음으로, 추출부(160)는 헤드 정보를 기 학습된 인코더에 적용하여 헤드 특징 정보 및 n개 마디 특징 정보를 추출한다.
이때, 추출부(160)는 인코더 및 디코더 학습부(130)에서 기 학습된 인코더를 이용하여 노이즈 벡터 기반의 헤드 정보로부터 헤드 특징 정보 및 n개 마디 특징 정보를 추출한다.
다음으로, 제어부(170)는 헤드 특징 정보 및 n개 마디 특징 정보와 트랙 및 장르 라벨 조건 벡터, 마디 순서를 결합하여 기 학습된 마디 생성기 학습모델의 생성자에 적용하여 사용자가 기 지정한 장르의 음악을 마디 단위로 생성한다.
이때, 장르는 힙합, 발라드, 댄스, 전통 음악, 클래식, 레게, pop, 포크 등을 포함할 수 있다.
이하에서는 도 2 내지 도 9를 이용하여 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치(100)를 학습시키는 과정에 대하여 설명한다.
도 2는 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치를 학습시키는 과정을 설명하기 위한 순서도이다.
먼저, 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치(100)는 멀티트랙을 포함한 미디(MIDI) 파일을 입력받는다(S210).
이때, 멀티트랙은 드럼 트랙, 피아노 트랙, 베이스 트랙, 기타 트랙을 포함한다.
다음으로, 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치(100)는 전처리기를 이용하여 미디 파일의 멀티트랙으로부터 제1 헤드 정보를 추출한다(S220).
도 3는 도 2의 S220 단계를 설명하기 위한 도면이다.
도 3에서 도시한 바와 같이, 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치(100)는 멀티트랙으로부터 드럼 트랙(Tracki D), 피아노 트랙(Tracki P), 베이스 트랙(Tracki B), 기타 트랙(Tracki G) 중에서 적어도 하나를 추출한다.
여기서, 미디 파일은 멀티트랙으로 구성되어 드럼 트랙(Tracki D), 피아노 트랙(Tracki P), 베이스 트랙(Tracki B), 기타 트랙(Tracki G)으로 분류되고, 각각의 트랙은 복수의 마디로 구성될 수 있다.
그리고, 멀티트랙 음악 생성 장치(100)는 전처리기를 통해 각 트랙에 대응하는 제1 헤드 정보(Hi D, Hi P, Hi B, Hi G)를 추출한다.
이때, 헤드 정보는 평균 피치, 메인 스케일(Main Scale), 최대 피치, 최소 피치, 평균 지속시간 등 통계적인 특징을 포함한다.
즉, 멀티트랙 음악 생성 장치(100)는 드럼 트랙(Tracki D), 피아노 트랙(Tracki P), 베이스 트랙(Tracki B), 기타 트랙(Tracki G)을 포함하는 복수의 트랙 각각을 전처리기에 적용하여 각 트랙에 대응하는 제1 헤드 정보(Hi D, Hi P, Hi B, Hi G)를 추출한다.
다음으로, 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치(100)는 제1 헤드 정보를 이용하여 헤드 정보 생성기 학습모델을 학습시킨다(S230).
이때, 멀티트랙 음악 생성 장치(100)는 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 GAN 기반의 헤드 정보 생성기 학습모델의 생성자의 입력데이터로 설정하고, 제2 헤드 정보를 헤드 정보 생성기 학습모델의 생성자의 출력데이터로 설정한다.
그리고, 멀티트랙 음악 생성 장치(100)는 제1 헤드 정보 및 제2 헤드 정보의 진위 여부를 판별자를 통해 판별하여 헤드 정보 생성기 학습모델을 학습시킨다.
도 4는 도 2의 S230 단계를 설명하기 위한 순서도이고, 도 5는 도 2의 S230 단계를 설명하기 위한 도면이다.
도 4에서 도시한 바와 같이, 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치(100)는 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 헤드 정보 생성기 학습모델에 적용하여 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 기반으로 하는 제2 헤드 정보를 출력한다(S231).
더욱 자세하게는, 도 5에서 도시한 바와 같이, 멀티트랙 음악 생성 장치(100)는 노이즈 벡터(n)와 트랙(tD, tP, tB, tG) 및 장르(g) 라벨 조건 벡터를 헤드 정보 생성기의 생성자(GR)에 적용하여 노이즈 벡터 기반의 제2 헤드 정보(H'D, H'P, H'B, H'G)를 생성한다.
그리고, 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치(100)는 제1 헤드 정보 및 제2 헤드 정보를 헤드 정보 생성기 학습모델의 판별자의 입력데이터로 설정하고, 제1 헤드 정보 및 제2 헤드 정보의 진위 여부를 헤드 정보 생성기 학습모델의 판별자의 출력데이터로 설정한다(S232).
여기서, 도 5와 같이, 멀티트랙 음악 생성 장치(100)는 생성된 제2 헤드 정보(H'D, H'P, H'B, H'G)와 S210 단계에서 추출된 제1 헤드 정보(Hi D, Hi P, Hi B, Hi G)를 판별자(DR)에 적용하여 제1 헤드 정보 및 제2 헤드 정보의 진위 여부를 출력한다.
이때, 멀티트랙 음악 생성 장치(100)는 제1 헤드 정보 및 제2 헤드 정보의 진위 여부를 판별하도록 헤드 정보 생성기 학습모델을 학습시킨다.
여기서, 도 5에서 도시한 바와 같이, 멀티트랙 음악 생성 장치(100)는 제2 헤드 정보의 진위 여부에 대하여 진위율을 산출하여 판별하도록 헤드 정보 생성기 학습모델을 학습시킬 수 있다.
더욱 자세하게는, 멀티트랙 음악 생성 장치(100)는 진위율이 1에 수렴할수록 제1 헤드 정보(Hi D, Hi P, Hi B, Hi G)와 제2 헤드 정보(H'D, H'P, H'B, H'G)가 유사한 것으로 판단할 수 있다.
즉, 헤드 정보 생성기 학습모델은 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 헤드 정보 생성기 학습모델에 적용하여 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 기반으로 하는 제2 헤드 정보를 출력하고, 제1 헤드 정보 및 제2 헤드 정보를 헤드 정보 생성기 학습모델의 판별자에 적용하여 제1 헤드 정보 및 제2 헤드 정보의 진위 여부를 출력하며, 제1 헤드 정보 및 제2 헤드 정보의 진위 여부를 판별하도록 학습된다.
다음으로, 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치(100)는 멀티트랙으로부터 각 트랙별로 연속적 n개 마디 정보를 추출한 상태에서 제1 헤드 정보를 이용하여 인코더 및 디코더를 학습시킨다(S240).
여기서, 멀티트랙 음악 생성 장치(100)는 제1 헤드 정보 및 연속적 n개 마디 정보를 인코더의 입력데이터로 설정하고, 제1 헤드 특징 정보 및 n개 마디 특징 정보를 인코더의 출력 데이터로 설정한다.
그리고, 멀티트랙 음악 생성 장치(100)는 제1 헤드 특징 정보 및 n개 마디 특징 정보를 디코더의 입력데이터로 설정하고, n개 마디 복원 정보, 트랙 종류 및 장르 종류를 디코더의 출력데이터로 설정한다.
그 다음, 멀티트랙 음악 생성 장치(100)는 멀티트랙으로부터 추출된 n개 마디 정보 및 n개 마디 복원 정보, 트랙 종류 및 장르 종류의 차이를 산출하여 인코더 및 디코더를 학습시킨다.
도 6은 도 2의 S240 단계를 설명하기 위한 순서도이고, 도 7은 도 2의 S240 단계를 설명하기 위한 도면이다.
도 6에서 도시한 바와 같이, 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치(100)는 멀티트랙으로부터 각 트랙 마다 연속적 n개 마디 정보를 추출한다(S241).
이때, 멀티트랙은 드럼 트랙, 피아노 트랙, 베이스 트랙, 기타 트랙 각각에 대하여 연속적 n개 마디 정보를 포함할 수 있다.
그 다음, 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치(100)는 제1 헤드 정보 및 연속적 n개 마디 정보를 인코더에 적용하여 제1 헤드 특징 정보 및 n개 마디 특징 정보를 출력한다(S242).
더욱 자세하게는, 도 7에서 도시한 바와 같이, 멀티트랙 음악 생성 장치(100)는 S210 단계에서 추출한 제1 헤드 정보(Hi D, Hi P, Hi B, Hi G)를 인코더에 적용하여 압축된 특징 정보(hH E, hi E)를 추출한다.
이때, 특징 정보(hH E, hi E)는 제1 헤드 특징 정보 및 n개 마디 특징 정보를 포함할 수 있다.
그 다음, 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치(100)는 제1 헤드 특징 정보 및 n개 마디 특징 정보를 디코더에 적용하여 n개 마디 복원 정보, 트랙 종류 및 장르 종류를 출력한다(S243).
더욱 자세하게는, 도 7과 같이, 멀티트랙 음악 생성 장치(100)는 제1 헤드 특징 정보 및 n개 마디 특징 정보를 포함하는 특징 정보(hH E, hi E)를 디코더에 적용하여 n개 마디 복원 정보, 트랙 종류 및 장르 종류를 추출한다.
그 다음, 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치(100)는 멀티트랙으로부터 추출된 n개 마디 정보 및 n개 마디 복원 정보, 트랙 종류 및 장르 종류의 차이를 산출하도록 인코더 및 디코더를 학습시킨다(S244).
더욱 자세하게는, 도 7과 같이, 멀티트랙 음악 생성 장치(100)는 제1 헤드 복원 정보 및 n개 마디 복원 정보를 덴스(Dense) 레이어에 적용하여 제n번째 마디 정보(di,n, pi,n, bi,n, gi,n)를 복원한다.
여기서 di,n은 i번째 드럼 트랙의 n번째 마디이고, pi,n은 i번째 피아노 트랙의 n번째 마디이며, bi,n은 i번째 베이스 트랙의 n번째 마디이고, gi,n은 i번째 기타 트랙의 n번째 마디이다.
그리고, n번째 마디는 1번째 마디부터 8번째 마디까지 구성되어 있는 걸로 가정한다.
예를 들어, 멀티트랙 음악 생성 장치(100)는 제1 헤드 정보(Hi D, Hi P, Hi B, Hi G)를 덴스 레이어에 적용하여 i번째 드럼 트랙, 피아노 트랙, 베이스 트랙, 기타 트랙 각각에 대응하는 1번째 마디 정보(di,1, pi,1, bi,1, gi,1)를 포함하는 제1 마디 복원 정보를 생성할 수 있다.
그리고, 멀티트랙 음악 생성 장치(100)는 제1 마디 복원 정보(di,1, pi,1, bi,1, gi,1)를 인코더를 통해 압축된 특징 정보(h1 E)를 추출하고, 특징 정보(h1 E)를 디코더에 적용하여 복원된 제2 마디 복원 정보(h2 D)를 추출한다.
그 다음, 멀티트랙 음악 생성 장치(100)는 복원된 제2 마디 복원 정보를 덴스 레이어에 적용하여 i번째 드럼 트랙, 피아노 트랙, 베이스 트랙, 기타 트랙 각각에 대응하는 2번째 마디를 포함하는 제2 마디 정보(di,2, pi,2, bi,2, gi,2)를 생성한다.
이와 동일한 방법으로 멀티트랙 음악 생성 장치(100)는 인코더, 디코더 및 덴스 레이어를 이용하여 i번째 드럼 트랙, i번째 피아노 트랙, i번째 베이스 트랙, i번째 기타 트랙의 8번째 마디를 포함하는 제8 마디 정보(di,8, pi,8, bi,8, gi,8)를 생성한다.
그리고, 멀티트랙 음악 생성 장치(100)는 생성된 제1 마디 정보부터 제8 마디 정보 각각에 대하여 미디 파일의 실제 마디 정보와 비교하여 생성된 마디 정보에 대한 진위 여부를 판단한다.
예를 들어, 멀티트랙 음악 생성 장치(100)는 미디 파일에서의 i번째 드럼 트랙, i번째 피아노 트랙, i번째 베이스 트랙, i번째 기타 트랙의 1번째 마디를 포함하는 실제 마디 정보와 덴스 레이어로부터 생성된 i번째 드럼 트랙, 피아노 트랙, 베이스 트랙, 기타 트랙 각각에 대응하는 1번째 마디 정보(di,1, pi,1, bi,1, gi,1)를 포함하는 제1 마디 정보와 비교하여 제1 마디 정보와 실제 마디 정보의 차이를 산출한다.
그리고, 멀티트랙 음악 생성 장치(100)는 미디 파일에서의 i번째 드럼 트랙, i번째 피아노 트랙, i번째 베이스 트랙, i번째 기타 트랙의 2번째 마디를 포함하는 실제 마디 정보와 덴스 레이어로부터 복원된 제2 마디 정보와 비교하여 제2 마디 정보와 실제 마디 정보의 차이를 산출한다.
이와 동일한 방법으로, 멀티트랙 음악 생성 장치(100)는 생성된 제1 마디 정보에서 제8 마디 정보까지를 실제 미디 파일에서의 마디 정보와 비교하여 진위 여부를 판별할 수 있다.
그리고, 멀티트랙 음악 생성 장치(100)는 미디 파일의 정답 트랙 및 장르 라벨 조건 벡터를 디코더의 학습용 정답 데이터로 설정하고, 제1 헤드 특징 정보 및 n개 마디 특징 정보를 디코더에 적용하여 복원 트랙 및 장르 라벨 조건 벡터를 생성한다.
이때, 멀티트랙 음악 생성 장치(100)는 정답 트랙 및 장르 라벨 조건 벡터와 복원 트랙 및 장르 라벨 조건 벡터의 차이를 산출하도록 인코더 및 디코더를 더 학습시킨다.
즉, 멀티트랙 음악 생성 장치(100)는 멀티트랙으로부터 추출된 n개 마디 정보 및 n개 마디 복원 정보, 트랙 종류 및 장르 종류의 차이를 산출하도록 인코더 및 디코더를 학습시킨다.
다음으로, 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치(100)는 n개 마디 특징 정보, 트랙 및 장르 라벨 조건 벡터, 마디 순서를 결합하여 GAN 기반의 마디 생성기 학습모델을 학습시킨다(S250).
이때, 멀티트랙 음악 생성 장치(100)는 n개 마디 특징 정보, 트랙 및 장르 라벨 조건 벡터, 마디 순서를 결합하여 GAN 기반의 마디 생성기 학습모델의 생성자의 입력데이터로 설정하고, 제1 마디를 마디 생성기 학습모델의 생성자의 출력데이터로 설정한다.
그리고, 멀티트랙으로부터 각 트랙별로 제2 마디를 추출한 상태에서 멀티트랙 음악 생성 장치(100)는 제1 마디 및 제2 마디의 진위 여부를 판별하여 마디 생성기 학습모델을 학습시킨다.
도 8은 도 2의 S250 단계를 설명하기 위한 순서도이고, 도 9는 도 2의 S250 단계를 설명하기 위한 도면이다.
더욱 자세하게는, 도 8에서 도시한 바와 같이, 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치(100)는 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 헤드 정보 생성기 학습모델에 적용하여 제2 헤드 정보를 출력한다(S251).
여기서, 도 9에서 도시한 바와 같이, 멀티트랙 음악 생성 장치(100)는 노이즈 벡터(n)와 트랙(tD, tP, tB, tG) 및 장르(g) 라벨 조건 벡터를 기 학습된 헤드 정보 생성기 학습모델에 적용하여 제2 헤드 정보(Hi D, Hi P, Hi B, Hi G)를 생성한다.
즉, 멀티트랙 음악 생성 장치(100)는 드럼 트랙, 피아노 트랙, 베이스 트랙, 기타 트랙 각각에 대응하는 제2 헤드 정보(Hi D, Hi P, Hi B, Hi G)를 출력할 수 있다.
그 다음, 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치(100)는 제2 헤드 정보(Hi D, Hi P, Hi B, Hi G)를 인코더에 적용하여 제2 헤드 특징 정보 및 n개 마디 특징 정보를 출력한다(S252).
이때, 도 9와 같이, 멀티트랙 음악 생성 장치(100)는 드럼 트랙에 대응하는 헤드 정보(Hi D) 및 마디 정보(di,n)에 대한 [h1 D, …, h8 D]의 특징 정보를 추출하고, 피아노 트랙에 대응하는 헤드 정보(Hi P) 및 마디 정보(pi,n)에 대한 [h1 P, …, h8 P]의 특징 정보를 추출한다.
그리고, 멀티트랙 음악 생성 장치(100)는 베이스 트랙에 대응하는 헤드 정보(Hi B) 및 마디 정보(bi,n)에 대한 [h1 B, …, h8 B]의 특징 정보를 추출하고, 멜로디 트랙에 대응하는 헤드 정보(Hi G) 및 마디 정보(gi,n)에 대한 [h1 G, …, h8 G]의 특징 정보를 추출한다.
그 다음, 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치(100)는 n개 마디 특징 정보와 트랙 및 장르 라벨 조건 벡터, 마디 순서를 결합하여 마디 생성기 학습모델에 적용하여 제1 마디를 출력한다(S253).
여기서, 멀티트랙 음악 생성 장치(100)는 제2 헤드 정보에 대한 특징 정보를 마디 순서(p1, p2, …, p3), 트랙 라벨 조건 벡터(tD, tP, tB, tG), 장르 라벨 조건 벡터 (g)와 결합한다.
그리고, 멀티트랙 음악 생성 장치(100)는 결합된 특징 정보를 마디 생성기 학습모델의 생성자(Gbar)에 적용하여 제1 마디를 출력한다.
이때, 제1 마디는 드럼 트랙에 대응하는 마디(bar1'D, bar2'D, …, bar8'D), 피아노 트랙에 대응하는 마디(bar1'P, bar2'P, …, bar8'P), 베이스 트랙에 대응하는 마디(bar1'B, bar2'B, …, bar8'B), 기타 트랙에 대응하는 마디(bar1'G, bar2'G, …, bar8'G)를 포함한다.
그 다음, 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치(100)는 미디 파일의 멀티트랙으로부터 각각의 트랙에 대응하는 제2 마디를 추출한 상태에서 제1 마디와 제2 마디를 마디 생성기 학습모델의 판별자(Dbar)에 적용하여 제1 마디 및 제2 마디의 진위 여부를 판단하도록 마디 생성기를 학습시킨다(S254).
이때, 도 9에서 도시한 바와 같이, 제1 마디 단위의 트랙은 실제 미디 파일로부터 드럼 트랙에 대응하는 마디(bar1 D, bar2 D, …, bar8 D), 피아노 트랙에 대응하는 마디(bar1 C, bar2 C, …, bar8 C), 베이스 트랙에 대응하는 마디(bar1 B, bar2 B, …, bar8 B), 기타 트랙에 대응하는 마디(bar1 G, bar2 G, …, bar8 G)을 포함한다.
즉, 마디 생성기 학습모델은 n개 마디 특징 정보와 트랙 및 장르 라벨 조건 벡터, 마디 순서를 결합하여 마디 생성기 학습모델에 입력하여 제1 마디를 출력하고, 제1 마디와 미디 파일로부터 추출된 제2 마디를 마디 생성기 학습모델의 판별자에 적용하여 제1 마디 및 제2 마디의 진위 여부를 판단하도록 학습된다.
그 다음, 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치(100)는 연속적인 제1 마디를 붙여서 제1 트랙을 생성한다(S255).
즉, 멀티트랙 음악 생성 장치(100)는 연속적으로 출력되는 제n마디를 붙여서 제1 트랙을 생성할 수 있다.
이하에서는 도 10을 이용하여 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치를 이용하여 복수 장르의 멀티트랙 음악을 생성하는 방법에 대하여 설명한다.
도 10은 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치를 이용한 복수 장르의 멀티트랙 음악 생성 방법을 설명하기 위한 순서도이고, 도 11은 도 10을 설명하기 위한 도면이다.
먼저, 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치(100)는 음악 생성 대상이 되는 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 기 학습된 헤드 정보 생성기 학습모델에 적용하여 헤드 정보를 생성한다(S1010).
도 11에서 도시한 바와 같이, 멀티트랙 음악 생성 장치(100)는 도 2의 S230 단계를 통해 기 학습된 헤드 정보 생성기 학습모델을 이용하여 노이즈 벡터(n)와 트랙 및 장르 라벨 조건 벡터(tD, tP, tB, tG)로부터 헤드 정보(HD, HP, HB, HG)를 출력한다.
이때, 자세한 내용은 도 2의 S230 단계에서 이미 설명하였는 바, 중복된 설명은 생략한다.
다음으로, 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치(100)는 헤드 정보를 기 학습된 인코더에 적용하여 헤드 특징 정보 및 n개 마디 특징 정보를 추출한다(S1020).
도 11에서 도시한 바와 같이, 멀티트랙 음악 생성 장치(100)는 도 2의 S240 단계를 통해 기 학습된 인코더를 이용하여 트랙별 각각의 헤드 정보 및 마디 정보에 대응하는 헤드 특징 정보 및 마디 특징 정보를 추출한다.
이때, 자세한 내용은 도 2의 S240 단계에서 이미 설명하였는 바, 중복된 설명은 생략한다.
다음으로, 본 발명의 실시예에 따른 멀티트랙 음악 생성 장치(100)는 헤드 특징 정보 및 n개 마디 특징 정보와 트랙 및 장르 라벨 조건 벡터, 마디 순서를 결합하여 기 학습된 마디 생성기 학습모델의 생성자에 적용하여 사용자가 기 지정한 장르의 음악을 마디 단위로 생성한다(S1030).
도 11에서 도시한 바와 같이, 멀티트랙 음악 생성 장치(100)는 도 2의 S250 단계에서 기 학습된 마디 생성기 학습모델을 이용하여 마디 단위의 음악을 생성한다.
이때, 음악의 장르는 사용자에 의해 지정될 수 있다.
그리고, 자세한 내용은 도 2의 S250 단계에서 이미 설명하였는 바, 중복된 설명은 생략한다.
이와 같이 본 발명의 실시예에 따르면, 다양한 장르 및 다양한 트랙으로 학습모델을 학습시키므로, 음악을 다양하게 생성할 수 있고, GAN 알고리즘 기반의 학습모델을 통해 한 곡의 음악을 생성시킬 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.
100: 멀티트랙 음악 생성 장치,
110: 헤드 정보 추출부,
120: 헤드 정보 생성기 학습부,
130: 인코더 및 디코더 학습부,
140: 마디 생성기 학습부,
150: 생성부,
160: 추출부,
170: 제어부
110: 헤드 정보 추출부,
120: 헤드 정보 생성기 학습부,
130: 인코더 및 디코더 학습부,
140: 마디 생성기 학습부,
150: 생성부,
160: 추출부,
170: 제어부
Claims (10)
- 멀티트랙 음악 생성 장치를 이용한 복수 장르의 멀티트랙 음악 생성 방법에 있어서,
멀티트랙을 포함한 미디(MIDI) 파일을 입력받으면, 전처리기를 이용하여 상기 미디 파일의 멀티트랙으로부터 제1 헤드 정보를 추출하는 단계,
노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 GAN 기반의 헤드 정보 생성기 학습모델의 생성자의 입력데이터로 설정하고, 제2 헤드 정보를 헤드 정보 생성기 학습모델의 생성자의 출력데이터로 설정하며, 상기 제1 헤드 정보 및 제2 헤드 정보의 진위 여부를 판별자를 통해 판별하여 헤드 정보 생성기 학습모델을 학습시키는 단계,
상기 멀티트랙으로부터 각 트랙별로 연속적 n개 마디 정보를 추출한 상태에서, 상기 제1 헤드 정보 및 연속적 n개 마디 정보를 인코더의 입력데이터로 설정하고, 제1 헤드 특징 정보 및 n개 마디 특징 정보를 인코더의 출력 데이터로 설정하며, 제1 헤드 특징 정보 및 n개 마디 특징 정보를 디코더의 입력데이터로 설정하고, n개 마디 복원 정보, 트랙 종류 및 장르 종류를 디코더의 출력데이터로 설정하며, 상기 멀티트랙으로부터 추출된 n개 마디 정보 및 n개 마디 복원 정보, 트랙 종류 및 장르 종류의 차이를 산출하여 인코더 및 디코더를 학습시키는 단계,
상기 n개 마디 특징 정보, 트랙 및 장르 라벨 조건 벡터, 마디 순서를 결합하여 GAN 기반의 마디 생성기 학습모델의 생성자의 입력데이터로 설정하고, 제1 마디를 마디 생성기 학습모델의 생성자의 출력데이터로 설정하고, 멀티트랙으로부터 각 트랙별로 제2 마디를 추출한 상태에서, 상기 제1 마디 및 제2 마디의 진위 여부를 판별하여 마디 생성기 학습모델을 학습시키는 단계,
음악 생성 대상이 되는 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 상기 기 학습된 헤드 정보 생성기 학습모델에 적용하여 헤드 정보를 생성하는 단계,
상기 헤드 정보를 상기 기 학습된 인코더에 적용하여 헤드 특징 정보 및 n개 마디 특징 정보를 추출하는 단계, 그리고
상기 헤드 특징 정보 및 n개 마디 특징 정보와 트랙 및 장르 라벨 조건 벡터, 마디 순서를 결합하여 상기 기 학습된 마디 생성기 학습모델의 생성자에 적용하여 사용자가 기 지정한 장르의 음악을 마디 단위로 생성하는 단계를 포함하는 복수 장르의 멀티트랙 음악 생성 방법. - 제1항에 있어서,
상기 전처리기를 이용하여 미디 파일의 멀티트랙으로부터 제1 헤드 정보를 추출하는 단계는,
음악 장르가 분류된 미디 파일을 입력 받는 단계,
상기 멀티트랙으로부터 드럼 트랙, 피아노 트랙, 베이스 트랙, 기타 트랙 중에서 적어도 하나를 추출하는 단계, 그리고
상기 복수의 트랙 각각을 전처리기에 적용하여 각 트랙에 대응하는 제1 헤드 정보를 추출하는 단계를 포함하는 복수 장르의 멀티 트랙 음악 생성 방법. - 제1항에 있어서,
상기 헤드 정보 생성기 학습모델을 학습시키는 단계는,
노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 헤드 정보 생성기 학습모델에 적용하여 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 기반으로 하는 제2 헤드 정보를 출력하는 단계, 그리고
상기 제1 헤드 정보 및 제2 헤드 정보를 헤드 정보 생성기 학습모델의 판별자의 입력데이터로 설정하고, 상기 제1 헤드 정보 및 제2 헤드 정보의 진위 여부를 헤드 정보 생성기 학습모델의 판별자의 출력데이터로 설정하는 단계,
상기 제1 헤드 정보 및 제2 헤드 정보의 진위 여부를 판별하도록 헤드 정보 생성기 학습모델을 학습시키는 단계를 포함하는 복수 장르의 멀티 트랙 음악 생성 방법. - 제1항에 있어서,
상기 인코더 및 디코더를 학습시키는 단계는,
상기 미디 파일의 정답 트랙 및 장르 라벨 조건 벡터를 디코더의 학습용 정답 데이터로 설정하고, 상기 제1 헤드 특징 정보 및 n개 마디 특징 정보를 디코더에 적용하여 복원 트랙 및 장르 라벨 조건 벡터를 생성하며, 상기 정답 트랙 및 장르 라벨 조건 벡터와 복원 트랙 및 장르 라벨 조건 벡터의 차이를 산출하도록 상기 인코더 및 디코더를 더 학습시키는 복수 장르의 멀티 트랙 음악 생성 방법. - 제1항에 있어서,
상기 마디 생성기를 학습시키는 단계는,
노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 상기 헤드 정보 생성기 학습모델에 적용하여 제2 헤드 정보를 출력하는 단계,
상기 제2 헤드 정보를 상기 인코더에 입력하여 제2 헤드 특징 정보 및 n개 마디 특징 정보를 출력하는 단계,
상기 n개 마디 특징 정보와 트랙 및 장르 라벨 조건 벡터, 마디 순서를 결합하여 상기 마디 생성기 학습모델에 적용하여 제1 마디를 출력하는 단계,
상기 미디 파일의 멀티트랙으로부터 각각의 트랙에 대응하는 제2 마디를 추출한 상태에서, 상기 제1 마디와 제2 마디를 상기 마디 생성기 학습모델의 판별자에 적용하여 상기 제1 마디 및 제2 마디의 진위 여부를 판단하도록 상기 마디 생성기를 학습시키는 단계, 그리고
연속적인 제1 마디를 붙여서 제1 트랙을 생성하는 단계를 포함하는 복수 장르의 멀티 트랙 음악 생성 방법. - 생성적 적대 신경망에 기반한 멀티트랙 음악 생성 장치에 있어서,
멀티트랙을 포함한 미디(MIDI) 파일을 입력받으면, 전처리기를 이용하여 상기 미디 파일의 멀티트랙으로부터 제1 헤드 정보를 추출하는 헤드 정보 추출부,
노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 GAN 기반의 헤드 정보 생성기 학습모델의 생성자의 입력데이터로 설정하고, 제2 헤드 정보를 상기 헤드 정보 생성기 학습모델의 생성자의 출력데이터로 설정하며, 상기 제1 헤드 정보와 제2 헤드 정보의 진위 여부를 판별자를 통해 판별하여 헤드 정보 생성기 학습모델을 학습시키는 헤드 정보 생성기 학습부,
상기 멀티트랙으로부터 각 트랙별로 연속적 n개 마디 정보를 추출한 상태에서, 상기 제1 헤드 정보 및 연속적 n개 마디 정보를 인코더의 입력데이터로 설정하고, 제1 헤드 특징 정보 및 n개 마디 특징 정보를 인코더의 출력 데이터로 설정하며, 제1 헤드 특징 정보 및 n개 마디 특징 정보를 디코더의 입력데이터로 설정하고, n개 마디 복원 정보, 트랙 종류 및 장르 종류를 디코더의 출력데이터로 설정하며, 상기 멀티트랙으로부터 추출된 n개 마디 정보 및 n개 마디 복원 정보, 트랙 종류 및 장르 종류의 차이를 산출하여 인코더 및 디코더를 학습시키는 인코더 및 디코더 학습부,
상기 n개 마디 특징 정보, 트랙 및 장르 라벨 조건 벡터, 마디 순서를 결합하여 GAN 기반의 마디 생성기 학습모델의 생성자의 입력데이터로 설정하고, 제1 마디를 마디 생성기 학습모델의 생성자의 출력데이터로 설정하고, 멀티트랙으로부터 각 트랙별로 제2 마디를 추출한 상태에서, 상기 제1 마디 및 제2 마디의 진위 여부를 판별하여 마디 생성기 학습모델을 학습시키는 마디 생성기 학습부,
음악 생성 대상이 되는 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 상기 기 학습된 헤드 정보 생성기 학습모델에 적용하여 헤드 정보를 생성하는 생성부,
상기 헤드 정보를 상기 기 학습된 인코더에 적용하여 헤드 특징 정보 및 n개 마디 특징 정보를 추출하는 추출부, 그리고
상기 n개 마디 특징 정보와 트랙 및 장르 라벨 조건 벡터, 마디 순서를 결합하여 상기 기 학습된 마디 생성기 학습모델의 생성자에 적용하여 사용자가 기 지정한 장르의 음악을 마디 단위로 생성하는 제어부를 포함하는 복수 장르 멀티트랙 음악 생성 장치. - 제6항에 있어서,
상기 헤드 정보 추출부는,
음악 장르가 분류된 미디(MIDI) 파일을 입력받고, 상기 멀티트랙으로부터 드럼 트랙, 피아노 트랙, 베이스 트랙, 기타 트랙 중에서 적어도 하나를 추출하며, 상기 복수의 트랙 각각을 전처리기에 적용하여 각 트랙에 대응하는 제1 헤드 정보를 추출하는 멀티 트랙 음악 생성 장치. - 제6항에 있어서,
상기 헤드 정보 생성기 학습부는,
노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 헤드 정보 생성기 학습모델에 적용하여 노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 기반으로 하는 제2 헤드 정보를 출력하고, 상기 제1 헤드 정보 및 제2 헤드 정보를 헤드 정보 생성기 학습모델의 판별자의 입력데이터로 설정하고, 상기 제1 헤드 정보 및 제2 헤드 정보의 진위 여부를 헤드 정보 생성기 학습모델의 판별자의 출력데이터로 설정하며, 상기 제1 헤드 정보 및 제2 헤드 정보의 진위 여부를 판별하도록 헤드 정보 생성기 학습모델을 학습시키는 멀티 트랙 음악 생성 장치. - 제6항에 있어서,
상기 인코더 및 디코더 학습부는,
상기 미디 파일의 정답 트랙 및 장르 라벨 조건 벡터를 디코더의 학습용 정답 데이터로 설정하고, 상기 제1 헤드 특징 정보 및 n개 마디 특징 정보를 디코더에 적용하여 복원 트랙 및 장르 라벨 조건 벡터를 생성하며, 상기 정답 트랙 및 장르 라벨 조건 벡터와 복원 트랙 및 장르 라벨 조건 벡터의 차이를 산출하도록 상기 인코더 및 디코더를 더 학습시키는 멀티 트랙 음악 생성 장치. - 제6항에 있어서,
상기 마디 생성기 학습부는,
노이즈 벡터와 트랙 및 장르 라벨 조건 벡터를 상기 헤드 정보 생성기 학습모델에 적용하여 제2 헤드 정보를 출력하고, 상기 제2 헤드 정보를 상기 인코더에 적용하여 제2 헤드 특징 정보 및 n개 마디 특징 정보를 출력하며, 상기 n개 마디 특징 정보와 트랙 및 장르 라벨 조건 벡터, 마디 순서를 결합하여 상기 마디 생성기 학습모델에 적용하여 제1 마디를 출력하고, 상기 미디 파일의 멀티트랙으로부터 각각의 트랙에 대응하는 제2 마디를 추출한 상태에서, 상기 제1 마디와 제2 마디를 상기 마디 생성기 학습모델의 판별자에 적용하여 상기 제1 마디 및 제2 마디의 진위 여부를 판단하도록 상기 마디 생성기를 학습시키며, 연속적인 제1 마디를 붙여서 제1 트랙을 생성하는 멀티 트랙 음악 생성 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220018941A KR102605724B1 (ko) | 2022-02-14 | 2022-02-14 | 생성적 적대 신경망에 기반한 멀티트랙 음악 생성 장치 및 그것을 이용한 복수 장르의 멀티트랙 음악 생성 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220018941A KR102605724B1 (ko) | 2022-02-14 | 2022-02-14 | 생성적 적대 신경망에 기반한 멀티트랙 음악 생성 장치 및 그것을 이용한 복수 장르의 멀티트랙 음악 생성 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230123043A KR20230123043A (ko) | 2023-08-23 |
KR102605724B1 true KR102605724B1 (ko) | 2023-11-24 |
Family
ID=87849116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220018941A KR102605724B1 (ko) | 2022-02-14 | 2022-02-14 | 생성적 적대 신경망에 기반한 멀티트랙 음악 생성 장치 및 그것을 이용한 복수 장르의 멀티트랙 음악 생성 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102605724B1 (ko) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101982345B1 (ko) * | 2017-07-21 | 2019-05-24 | 주식회사 마인드셋 | 인공지능을 이용한 음악 생성 장치 및 방법 |
-
2022
- 2022-02-14 KR KR1020220018941A patent/KR102605724B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20230123043A (ko) | 2023-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Huang et al. | Pop music transformer: Beat-based modeling and generation of expressive pop piano compositions | |
Jeong et al. | VirtuosoNet: A Hierarchical RNN-based System for Modeling Expressive Piano Performance. | |
US7034217B2 (en) | Automatic music continuation method and device | |
KR101854706B1 (ko) | 인공 신경망을 이용한 자동 작곡 방법 및 그 기록 매체 | |
Zhou et al. | BandNet: A neural network-based, multi-instrument Beatles-style MIDI music composition machine | |
Yadav et al. | A Lightweight Deep Learning‐Based Approach for Jazz Music Generation in MIDI Format | |
McDermott et al. | An executable graph representation for evolutionary generative music | |
Lu et al. | Meloform: Generating melody with musical form based on expert systems and neural networks | |
Sajad et al. | Music generation for novices using Recurrent Neural Network (RNN) | |
WO2024058484A1 (ko) | 악보 코드 ai판별 알고리즘 기반 코드 생성 시스템 | |
KR102605724B1 (ko) | 생성적 적대 신경망에 기반한 멀티트랙 음악 생성 장치 및 그것을 이용한 복수 장르의 멀티트랙 음악 생성 방법 | |
Wiriyachaiporn et al. | Algorithmic music composition comparison | |
Okumura et al. | Laminae: A stochastic modeling-based autonomous performance rendering system that elucidates performer characteristics. | |
Lo | Evolving cellular automata for music composition with trainable fitness functions | |
KR101934057B1 (ko) | 계층적 인공 신경망을 이용한 자동 작곡 방법 및 그 기록 매체 | |
Raphael | Synthesizing musical accompaniments with Bayesian belief networks | |
Kataoka et al. | Music information retrieval system using complex-valued recurrent neural networks | |
Malandro | Composer's Assistant: An Interactive Transformer for Multi-Track MIDI Infilling | |
Adhikary et al. | Automatic Music Generation of Indian Classical Music based on Raga | |
Hori et al. | Jazz piano trio synthesizing system based on hmm and dnn | |
Cyriac et al. | Application of LSTM model for western music composition | |
Kazi et al. | Various artificial intelligence techniques for automated melody generation | |
Mansoori et al. | A systematic survey on music composition using artificial intelligence | |
KR102227415B1 (ko) | 복선율 음악 생성 방법, 장치, 및 시스템 | |
Chan et al. | Automatic composition of themed mood pieces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |