1 |
1
인공 신경망을 이용하여 곡을 자동으로 생성하는 방법으로서,상기 인공 신경망이 학습할 곡(이하, '제1 학습곡'이라 칭함)을 구성하는 다수의 음표 및 박자를 숫자 형태로 변환하여 시계열 데이터를 생성하는 단계; 상기 시계열 데이터를 이용하여 상기 인공 신경망을 학습시키는 단계; 상기 인공 신경망이 신규곡을 출력하는 단계; 및 상기 신규곡의 화성을 후처리하는 단계를 포함하고,상기 화성을 후처리하는 단계는, 상기 신규곡의 멜로디를 마디별로 구분하여 화성 후보군을 생성하는 제1 단계; 각 마디별로 생성된 화성 후보군을 대상으로 특정 코드 조합의 화성 전개가 이루어지도록 각 마디별 화성을 선정하는 제2 단계; 및 선정된 화성을 기준으로 상기 신규곡의 멜로디를 수정하는 제3 단계;를 포함하며,상기 제1 단계는, 제1 마디에 있는 음들을 낮은 음부터 높은 음 순으로 정렬하는 단계a; 상기 제1 마디의 가장 낮은 음(이하, '제1 음')을 근음으로 지정해서 상기 제1 마디의 나머지 음과의 간격을 산출하는 단계b; 상기 제1 음의 근음과 상기 단계b의 산출된 간격을 기반으로 제1 화음을 결정하는 단계c; 상기 제1 마디의 상기 제1 음 다음으로 낮은 음(이하, '제2 음')을 근음으로 지정해서 상기 제1 마디의 나머지 음과의 간격을 산출하는 단계d; 상기 단계a의 정렬된 음들 중 상기 제2 음의 근음보다 낮은 음은 화음 전위 방식으로 상위 음으로 변환하는 단계e; 상기 제2 음의 근음과 상기 단계d의 산출된 간격을 기반으로 제2 화음을 결정하는 단계f; 상기 제1 마디의 상기 제2 음 다음으로 낮은 음(이하, '제N 음')을 근음으로 지정해서 상기 제1 마디의 나머지 음과의 간격을 산출하는 단계g; 상기 단계a의 정렬된 음들 중 상기 제N 음의 근음보다 낮은 음은 화음 전위 방식으로 상위 음으로 변환하는 단계h; 상기 제N 음의 근음과 상기 단계g의 산출된 간격을 기반으로 제N 화음을 결정하는 단계i; 상기 제1 화음, 상기 제2 화음, 상기 제N 화음을 저장하여 상기 제1 마디의 화성 후보군으로 생성하는 단계j; 상기 제1 마디를 대체하여 제2 마디의 제1 음, 제2 음 및 제N 음에 대하여 상기 단계a ~ 단계j를 수행하여 상기 제2 마디의 화성 후보군으로 생성하는 단계k; 및 상기 제1 마디를 대체하여 제N 마디에 대하여 상기 단계a ~ 단계j를 수행하여 상기 제N 마디의 화성 후보군으로 생성하는 단계l;를 포함하고, 상기 단계b, 단계d 및 단계g는 상기 시계열 데이터의 상기 음표를 나타내는 숫자를 이용하여 상기 간격을 산출하는 것을 특징으로 하는 인공 신경망을 이용한 자동 작곡 방법
|
2 |
2
제1 항에 있어서,상기 인공 신경망이 작곡할 곡의 일부(이하, ‘도입곡’라 칭함)에 해당하는 시계열 데이터를 상기 인공 신경망에 입력하는 단계;를 더 포함하고,상기 신규곡을 출력하는 단계는, 상기 인공 신경망이 상기 입력된 도입곡에 이어지는 나머지 곡을 생성하여 상기 신규곡을 출력하는 것을 특징으로 하는 인공 신경망을 이용한 자동 작곡 방법
|
3 |
3
제1 항에 있어서,상기 제2 단계는, 상기 제1 단계에서 생성된 상기 화성 후보군을 대상으로 마디별 근음 차이 비교를 비교하여 상기 특정 코드 조합의 화성 전개와 일치하는 코드가 있는지 검색하는 단계; 상기 검색 결과, 일치하는 코드 조합이 있을 경우 이를 저장하여 최종 화성으로 결정하는 단계를 포함하는 것을 특징으로 하는 인공 신경망을 이용한 자동 작곡 방법
|
4 |
4
제3 항에 있어서,상기 제2 단계에서, 상기 검색 결과, 일치하지 않는 코드 조합이 있을 경우 상기 특정 코드 조합을 기준으로 오차 허용 범위를 설정하여, 상기 오차 허용 범위 내의 코드 조합이 있는 경우 이를 저장하고,상기 제3 단계는, 상기 오차 허용 범위 내의 코드 조합을 상기 최종 화성으로 수정하는 단계를 포함하는 것을 특징으로 하는 인공 신경망을 이용한 자동 작곡 방법
|
5 |
5
제1 항에 있어서,상기 제2 단계의 상기 특정 코드 조합은 머니 코드(Money Chord)인 것을 특징으로 하는 인공 신경망을 이용한 자동 작곡 방법
|
6 |
6
제1 항에 있어서,상기 시계열 데이터를 이용하여 상기 인공 신경망을 학습시키는 단계는, ‘첫 번째’부터‘N 번째’까지의 시계열 데이터를 상기 인공 신경망에 입력하여 ‘N+1 번째’ 시계열 데이터를 출력함으로써 제1 학습데이터를 생성하는 제1 단계; ‘두 번째’부터 상기‘N+1 번째’까지의 시계열 데이터를 상기 인공 신경망에 입력하여 ‘N+2 번째’ 시계열 데이터를 출력함으로써 제2 학습데이터를 생성하는 제2 단계; ‘세 번째’부터 상기‘N+2 번째' 까지의 시계열 데이터를 상기 인공 신경망에 입력하여 ‘N+3’번째 시계열 데이터를 출력함으로써 제3 학습데이터를 생성하는 제3 단계; 및 ‘n 번째’부터 ‘N+(n-1)’번째까지의 시계열 데이터를 상기 인공 신경망에 입력하여 ‘N+n’번째 시계열 데이터를 출력함으로써 제n 학습데이터를 생성하는 제n 단계;를 포함하고, 상기 각 단계에서 생성되는 학습데이터를 상기 인공 신경망에 가하여 학습시키는 것을 특징으로 하는 인공 신경망을 이용한 자동 작곡 방법
|
7 |
7
제6 항에 있어서,상기 인공 신경망이 상기 각 학습데이터를 학습시, 해당 학습데이터를 구성하는 시계열 데이터에, 곡의 마디를 구분하기 위한 정보(이하, ‘마디 구분 정보’라 칭함)를 추가적으로 입력해주는 것을 특징으로 하는 인공 신경망을 이용한 자동 작곡 방법
|
8 |
8
제7 항에 있어서,상기 마디 구분 정보는 마디별로 상이한 숫자로 표현되는 것을 특징으로 하는 인공 신경망을 이용한 자동 작곡 방법
|
9 |
9
제1 항에 있어서,상기 신규곡의 박자 또는 멜로디를 고도화하는 단계를 더 포함하고,상기 박자 또는 멜로디를 고도화하는 단계는, 마디별 박자 또는 멜로디에 있어서 수 개의 자주 발생되는 박자 패턴또는 멜로디 패턴을 통계낸 후 이를 순위별로 정렬하는 제1' 단계; 상기 제1' 단계를 통해 정렬된 통계 순위 중 상위 N 순위를 선정하는 제2' 단계; 및 상기 선정된 N 순위를 이용하여 상기 상위 N 순위에 들지 못한 마디(이하, '보정 대상 마디'라 칭함)를 보정하는 제3' 단계를 포함하고,상기 제3` 단계는, 상기 보정 대상 마디에 대하여 상기 N 순위 내의 각 박자 패턴 또는 멜로디 패턴과의 차이를 계산한 후, 해당 보정 대상 마디와 가장 차이가 작은 상기 N 순위 중 어느 하나로 상기 해당 보정 대상 마디를 변경하도록 구성되는 것을 특징으로 하는 인공 신경망을 이용한 자동 작곡 방법
|
10 |
10
제9 항에 있어서,상기 제3' 단계는,상기 모든 보정 대상 마디에 대하여 상기 N 순위 내의 각 박자 패턴 또는 멜로디 패턴과의 차이를 각각 계산한 후, 상기 모든 보정 대상 마디를 한꺼번에 변경하도록 구성되는 것을 특징으로 하는 인공 신경망을 이용한 자동 작곡 방법
|
11 |
11
제9 항에 있어서,상기 제3' 단계는,하나의 보정 대상 마디(이하, '제1 보정 대상 마디'라 칭함)에 대하여 상기 N 순위 내의 각 박자 패턴 또는 멜로디 패턴과의 차이를 계산하여 상기 제1 보정 대상 마디를 변경하는 단계; 및보정된 상기 제1 보정 대상 마디를 포함하여 상기 제1' 단계 및 상기 제2' 단계를 재수행함으로써, 또 다른 하나의 보정 대상 마디에 대하여 상기 보정을 수행하도록 구성되는 것을 특징으로 하는 인공 신경망을 이용한 자동 작곡 방법
|
12 |
12
제9 항에 있어서,상기 '차이를 계산하는 것'은 박자 또는 음표가 숫자로 표현되는 시계열 데이터에서 마디별 숫자 개수 또는 숫자 값의 유사도를 이용하여 수행하도록 구성되는 것을 특징으로 하는 인공 신경망을 이용한 자동 작곡 방법
|
13 |
13
제1 항에 있어서,상기 시계열 데이터를 생성하는 단계는, 상기 제1 학습곡 외에 또 다른 적어도 하나의 학습곡을 구성하는 다수의 음표 및 박자를 숫자 형태로 변환하여 시계열 데이터를 생성하고,상기 시계열 데이터를 이용하여 상기 인공 신경망을 학습시키는 단계는, 상기 제1 학습곡에 대한 시계열 데이터 및 상기 또 다른 적어도 하나의 학습곡에 대한 시계열 데이터를 이용하여 상기 인공 신경망을 학습시키는 것을 특징으로 하는 인공 신경망을 이용한 자동 작곡 방법
|
14 |
14
제13 항에 있어서,상기 인공 신경망을 학습시키는 단계는, 상기 제1 학습곡을 100%로 학습시킨 후 상기 또 다른 적어도 하나의 학습곡은 일부만 학습시키거나, 상기 제1 학습곡과 상기 또 다른 적어도 하나의 학습곡을 1 에폭(epoch)씩 번갈아가며 학습시키거나, 상기 제1 학습곡과 상기 또 다른 적어도 하나의 학습곡 중 어느 하나의 학습곡에 더 많은 비율을 부여하여 번갈아가며 학습시키거나, 또는 상기 제1 학습곡과 상기 또 다른 적어도 하나의 학습곡을 마디별로 나눠서 번갈아가면서 학습시키는 것을 특징으로 하는 인공 신경망을 이용한 자동 작곡 방법
|
15 |
15
제1 항에 있어서,상기 신규곡의 갖춘마디 대비 박자가 초과하는 마디(이하, '초과마디')를 갖춘마디로 보정하는 박자 후처리 단계를 더 포함하고,상기 박자 후처리 단계는, 상기 초과마디를 구성하는 각 박자들 중 가장 작은 박자(이하, '제1a 박자)에서, 상기 갖춘마디 대비 상기 초과마디가 초과하는 박자(이하, 'd')만큼을 빼는 제1 처리 단계; 상기 인공 신경망이 곡을 작곡시 사용 가능한 박자들로 지정된 박자 그룹(이하, '사용 박자 그룹') 내에, 상기 제1 처리 단계에서 상기 'd'만큼 뺀 박자('제1a 박자 - d' 박자)가 존재하는지 여부를 판별하는 제2 처리 단계; 상기 제2 처리 단계의 판별 결과, 존재하면 상기 초과마디에 대한 박자 후처리를 완료하고, 존재하지 않으면 상기 제1a 박자 대비 그 다음 작은 박자(이하, '제2a 박자')에서 상기 'd'만큼을 빼는 제3 처리 단계; 및 상기 제3 처리 단계에서 상기 'd'만큼 뺀 박자('제2a 박자 - d' 박자)가 상기 사용 박자 그룹 내에 존재하는지 여부를 판별하는 제4 처리 단계; 및 상기 제4 처리 단계의 판별 결과, 존재하면 상기 초과마디에 대한 박자 후처리를 완료하는 제5 처리 단계;를 포함하는 것을 특징으로 하는 인공 신경망을 이용한 자동 작곡 방법
|
16 |
16
제15 항에 있어서,상기 초과마디를 구성하는 모든 박자에 대하여 각각 상기 'd'만큼을 뺀 후 해당 각 박자가 상기 사용 박자 그룹 내에 존재하는지 여부를 판별한 결과, 상기 'd'만큼 뺀 박자 모두가 상기 사용 박자 그룹에 존재하지 않으면,상기 사용 박자 그룹 내에서 박자를 선택하여, 상기 초과마디를 구성하는 각 박자들의 크기 순서를 유지하면서 상기 갖춘마디를 만드는 박자 조합을 생성하는 박자 후처리 완료 단계를 더 포함하는 것을 특징으로 하는 인공 신경망을 이용한 자동 작곡 방법
|
17 |
17
제1 항에 있어서,상기 신규곡의 갖춘마디 대비 박자가 초과하는 마디(이하, '초과마디')를 갖춘마디로 보정하는 박자 후처리 단계를 더 포함하고,상기 박자 후처리 단계는, 상기 초과마디를 구성하는 각 박자들 중 마지막 박자를 제외 처리하는 제1 처리 단계; 상기 제1 처리 단계 후 가장 큰 박자(제1b 박자)에서, 상기 제1 처리 단계로 인해 발생하는 '상기 갖춘마디 대비 부족한 박자(이하, 'n')'만큼을 더하는 제2 처리 단계; 상기 인공 신경망이 곡을 작곡시 사용 가능한 박자들로 지정된 박자 그룹(이하, '사용 박자 그룹') 내에, 상기 제2 처리 단계에서 상기 'n'만큼 더한 박자('제1b 박자 + n' 박자)가 존재하는지 여부를 판별하는 제3 처리 단계; 상기 제3 처리 단계의 판별 결과, 존재하면 상기 초과마디에 대한 박자 후처리를 완료하고, 존재하지 않으면 상기 제1b 박자 대비 그 다음 큰 박자(이하, '제2b 박자')에서 상기 'n'만큼을 더하는 제4 처리 단계; 및 상기 사용 박자 그룹 내에, 상기 제4 처리 단계에서 상기 'n'만큼 더한 박자('제2b 박자 + n' 박자)가 존재하는지 여부를 판별하는 제5 처리 단계; 및 상기 제5 처리 단계의 판별 결과, 존재하면 상기 초과마디에 대한 박자 후처리를 완료하는 제6 처리 단계;를 포함하는 것을 특징으로 하는 인공 신경망을 이용한 자동 작곡 방법
|
18 |
18
제17 항에 있어서,상기 초과마디를 구성하는 박자들 중 마지막 박자를 제외한 나머지 모든 박자에 대하여 각각 상기 'n'만큼을 더한 후 해당 각 박자가 상기 사용 박자 그룹에 존재하는지 여부를 판별한 결과, 상기 'n'만큼 더한 박자 모두가 상기 사용 박자 그룹에 존재하지 않으면,상기 사용 박자 그룹 내에서 박자를 선택하여, 상기 초과마디의 상기 마지막 박자를 제외한 나머지 박자들의 크기 순서를 유지하면서 상기 갖춘마디를 만드는 박자 조합을 생성하는 박자 후처리 완료 단계를 더 포함하는 것을 특징으로 하는 인공 신경망을 이용한 자동 작곡 방법
|
19 |
19
제1 항에 있어서,상기 숫자 형태로 변환되는 상기 다수의 음표 및 박자는 각각 상이한 숫자로 표현되는 것을 특징으로 하는 인공 신경망을 이용한 자동 작곡 방법
|
20 |
20
제1 항에 있어서,상기 시계열 데이터는 숫자 형태로 변환된 쉼표를 더 포함하고,상기 쉼표는 상기 음표를 표현하는 숫자들과 중복되지 않는 숫자로 변환되는 것을 특징으로 하는 인공 신경망을 이용한 자동 작곡 방법
|
21 |
21
제1 항에 있어서,상기 시계열 데이터는, 상기 음표를 숫자 형태로 변환한 음표 시계열 데이터와, 상기 박자를 숫자 형태로 변환한 박자 시계열 데이터로 구분되고,상기 음표 시계열 데이터는 제1 인공 신경망에 학습시키고, 상기 박자 시계열 데이터는 상기 제1 인공 신경망과 구분되는 제2 인공 신경망에 학습시키도록 구성되는 것을 특징으로 인공 신경망을 이용한 자동 작곡 방법
|
22 |
22
제1 항에 있어서,상기 인공 신경망은 하나의 출력을 갖는 앞먹임 신경망(FNN: Feedforward Neural Network)으로 구성되는 것을 특징으로 인공 신경망을 이용한 자동 작곡 방법
|
23 |
23
제2 항에 있어서,상기 도입곡은 상기 인공 신경망이 작곡할 곡의 시작 멜로디인 것을 특징으로 하는 인공 신경망을 이용한 자동 작곡 방법
|
24 |
24
전기 전자 장치에,제1 항 내지 제23 항 중에서 선택된 어느 하나의 방법을 실행시키기 위한 프로그램을 기록한 전기 전자 장치로 읽을 수 있는 기록 매체
|