KR20100037955A - 자동음악 작곡 방법 - Google Patents

자동음악 작곡 방법 Download PDF

Info

Publication number
KR20100037955A
KR20100037955A KR1020080097314A KR20080097314A KR20100037955A KR 20100037955 A KR20100037955 A KR 20100037955A KR 1020080097314 A KR1020080097314 A KR 1020080097314A KR 20080097314 A KR20080097314 A KR 20080097314A KR 20100037955 A KR20100037955 A KR 20100037955A
Authority
KR
South Korea
Prior art keywords
tone
keytone
beat
preset
tones
Prior art date
Application number
KR1020080097314A
Other languages
English (en)
Inventor
이경의
이재호
Original Assignee
이경의
이재호
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이경의, 이재호 filed Critical 이경의
Priority to KR1020080097314A priority Critical patent/KR20100037955A/ko
Priority to PCT/KR2008/005844 priority patent/WO2010038916A1/en
Publication of KR20100037955A publication Critical patent/KR20100037955A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H5/00Instruments in which the tones are generated by means of electronic generators
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0008Associated control or indicating means
    • G10H1/0025Automatic or semi-automatic music composition, e.g. producing random music, applying rules from music theory or modifying a musical piece
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/38Chord
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/101Music Composition or musical creation; Tools or processes therefor
    • G10H2210/111Automatic composing, i.e. using predefined musical rules

Abstract

자동음악 작곡 방법이 개시된다. 본 발명의 실시예에 따른 자동음악 작곡방법은 작곡될 음악곡을 구성하며, 일정한 마디수를 가지는 최소구성단위의 각각의 마디에 대응되는 코드를 결정하는 단계, 상기 코드와 매치레벨 0에 해당하는 톤(tone, 음높이)을 의미하는 키톤을 적어도 하나 이상 생성하여 상기 코드에 대응시키는 단계, 상기 키톤을 경유하여 진행하는 멜로디를 생성하기 위하여, 상기 키톤과 다음 코드의 키톤 사이에 연주되는 톤들을 의미하는 진행톤과 이러한 진행톤들의 집합인 톤경로를 생성하는 단계, 상기 최소구성단위에서 상기 키톤과 상기 진행톤들을 연주할 위치를 지정하기 위한 박자들과, 상기 박자들 중 어느 박자에 상기 키톤이 대응되고, 상기 키톤에 대응되는 박자 이외의 나머지 박자들의 어디에 상기 진행톤들이 대응될 것인지에 대한 정보를 가지는 박자프리셋을 결정하는 단계, 및 상기 박자프리셋을 참조하여 상기 키톤과 상기 진행톤들을 대응되는 박자에 일대일 대응시켜 연주가 가능한 최소구성단위를 완성시키는 단계를 구비한다.

Description

자동음악 작곡 방법{Automatic musical composition method}
본 발명은 자동 음악 작곡 방법에 관한 것으로서, 특히 컴퓨터 등의 사용자 단말기로부터 발생되는 타이핑 신호에 따라 음악이 자동으로 작곡되는 자동음악 작곡방법에 관한 것이다.
최근 전자 메일의 사용, 휴대폰을 이용한 문자 메시지의 전송등 인터넷의 발달로 인터넷을 이용한 통신수단의 사용이 급격히 증가하고 있다. 또한, 블로그와 같이 인터넷 상의 가상 공간에 자신의 일상이나 생각들을 기재하고 자신만의 공간을 꾸미는 사람들이 증가하고 있다.
이와 같은 인터넷상의 공간들은 보통 배경음악을 가지고 있다. 하지만, 배경음악을 사용자가 직접 작곡하거나 편집하여 인터넷상의 공간에 올리는 것은 아니며 이미 완성된 음악을 다운로드 받아 사용한다. 특히, 저작권이 중요시되고 있는 현시대에서 타인의 음악을 함부로 다운로드 받아 배경음악으로 사용하는 것은 인터넷 상에서 큰 문제가 될 여지가 있다.
한편, 음악 작곡은 떠오른 악상을 악기로 연주하면서 악보에 기록하는 과정이다. 그러나, 일반적으로 작곡은 음악에 대한 비전문가인 일반인들에게는 쉽지 않 은 일이다. 예를 들어, 떠오른 악상을 악기를 이용하여 악보에 기입하는 것은 전문적인 연주 능력이 있거나 작곡 능력이 있어야 한다.
따라서, 컴퓨터나 핸드폰, PDA 등 이에 상응하는 전자장치를 이용하여 누구라도 기본적인 것만 익히면 쉽게 스스로 음악을 작곡할 수 있는 방법이 있다면 작곡된 음악을 자신의 블로그 등의 배경음악으로 한다거나 할 때 저작권 문제를 피할 수 있을 것이다.
또한, 상기의 전자장치의 자판을 두드릴 때 마다 자동으로 음악을 작곡할 수 있다면, 핸드폰의 문자 메시지 전송이나 컴퓨터에서 메일 등의 작성시 자연스럽게 음악이 생성될 수 있고, 생성된 음악을 바로 전송할 수 있어 많은 인터넷 사용자들에게 또 하나의 즐거움을 선사할 수 있을 것이다.
본 발명이 이루고자하는 기술적 과제는 컴퓨터 등의 전자장치를 이용하여 간단한 사용방법만 익히면 사용자가 쉽게 음악을 작곡할 수 있는 컴퓨터를 이용한 자동음악 작곡 방법과 상기 자동음악 작곡방법을 컴퓨터등의 단말기로부터 발생되는 타이핑 신호에 연동시킨 자동음악 작곡방법을 제공하는데 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 실시예에 따른 자동 음악 작곡 방법은 작곡될 음악곡을 구성하며, 일정한 마디수를 가지는 최소구성단위의 각각의 마디에 대응되는 코드를 결정하는 단계; 상기 코드와 매치레벨 0에 해당하는 톤(tone, 음높이)을 의미하는 키톤을 적어도 하나 이상 생성하여 상기 코드에 대응시키는 단계; 상기 키톤을 경유하여 진행하는 멜로디를 생성하기 위하여, 상기 키톤과 다음 코드의 키톤 사이에 연주되는 톤들을 의미하는 진행톤과 이러한 진행톤들의 집합인 톤경로를 생성하는 단계; 상기 최소구성단위에서 상기 키톤과 상기 진행톤들을 연주할 위치를 지정하기 위한 박자들과, 상기 박자들 중 어느 박자에 상기 키톤이 대응되고, 상기 키톤에 대응되는 박자 이외의 나머지 박자들의 어디에 상기 진행톤들이 대응될 것인지에 대한 정보를 가지는 박자프리셋을 결정하는 단계; 및 상기 박자프리셋을 참조하여 상기 키톤과 상기 진행톤들을 대응되는 박자에 일대일 대응시켜 연주가 가능한 최소구성단위를 완성시키는 단계를 구비한다.
상기 완성시키는 단계 이후에, 상기 코드를 결정하는 단계부터 상기 박자프 리셋을 결정하는 단계를 반복하여 새로운 최소구성단위를 완성시켜 상기 작곡될 음악곡을 구성하는 전체 구성을 완성시키는 단계를 더 구비한다.
상기 키톤을 생성하여 상기 코드에 대응시키는 단계는, 상기 최소구성단위의 코드에 대응되는 키톤들의 가능한 경우를 표시한 키톤 데이터 테이블로부터 선택된다.
상기 키톤은 외부입력신호에 응답하여 출력될 수 있고, 상기 외부입력신호는 소정의 단말기를 타이핑(typing) 할 때 발생하는 타이핑 신호이며, 만일 상기 외부입력신호가 입력되는 시점이 상기 키톤이 연주되기로 미리 설정된 시점과 동일하면 미리 설정된 상기 키톤의 벨라서티(velocity)보다 더 큰 벨라서티를 가지도록 상기 키톤이 연주된다.
상기 키톤을 생성하여 상기 코드에 대응시키는 단계는, 세로축에 키톤의 음높이가 배열되고, 가로축에 각각의 마디에 대응되는 코드가 배열되며 키톤의 높이수준을 표현하는 연속적인 그래프가 그려지는 키톤설계그래프를 이용하며, 가로축의 임의의 코드에 대응되는 그래프상의 키톤의 음높이가 선택되고, 선택된 음높이가 상기 임의의 코드와 매치레벨 0이면 선택된 음높이가 키톤으로 선택되며, 선택된 음높이가 상기 임의의 코드와 매치레벨 0이 아니면 선택된 음높이에서 가장 가까우면서 상기 임의의 코드와 매치레벨 0이 되는 음높이가 키톤으로 선택된다.
상기 톤경로를 생성하는 단계는, 상기 톤경로가 하나 이상의 상기 진행톤으로 구성되며, 이전코드와 이에 대응하는 키톤 및 다음코드와 이에 대응하는 키톤을 고려하여 이전 키톤으로부터 다음 키톤으로 가능한 진행톤들을 개수별로 모두 설계 해 놓은 톤경로 라이브러리로부터 선택된다.
상기 진행톤은 외부입력신호에 응답하여 출력될 수 있고, 상기 외부입력신호는 소정의 단말기를 타이핑(typing) 할 때 발생하는 타이핑 신호이며, 첫번째 입력되는 외부입력신호에 응답하여 첫번째 진행톤이 발생되면 두번째 진행톤은 상기 톤경로 라이브러리에서 상기 첫번째 진행톤을 기준으로 다음에 선택될 진행톤이 결정된다.
상기 외부입력신호가 일정시간 이상 입력되지 않으면 다음 코드 대신 음악 종결용 코드가 생성되어 연주된다.
상기 톤경로를 생성하는 단계는, 세로축에 음높이가 배열되고, 가로축에 이전 코드와 다음코드 사이에 들어갈 박자가 배열되며 톤의 높이수준을 표현하는 연속적인 그래프가 그려지는 톤경로설계그래프를 이용하며, 가로축의 임의의 박자에 대응되는 그래프상의 톤의 음높이가 선택되고, 선택된 음높이가 상기 이전 코드와 매치레벨 0 또는 1이면 선택된 음높이가 상기 진행톤으로 선택되며, 선택된 음높이가 상기 이전 코드와 매치레벨 0 또는 1이 아니면 선택된 음높이에서 가장 가까우면서 상기 이전 코드와 매치레벨 0이 되는 음높이가 상기 진행톤으로 선택된다.
상기 박자프리셋은, 박자가 연주되는 부분은 1로 표시하고 박자가 연주되지 않는 부분은 0으로 표시되며, 상기 키톤이 대응될 수 있는 박자의 위치와 상기 진행톤이 대응될 수 있는 박자의 위치가 표시된 표로 만들어진 데이터베이스이다.
상기 박자프리셋은 이전에 연주된 키톤 또는 진행톤과 동일한 높이의 톤을 한번 더 연주하는 반복톤을 박자가 연주되는 부분에 대응되는 위치에 더 구비한다.
본 발명에 따른 자동음악 작곡방법은 컴퓨터 등의 전자장치를 이용하여 쉽게 음악을 작곡할 수 있어 사용자가 자신의 블로그나 홈페이지 등 원하는 곳에 저작권 등의 법률적인 문제 없이 음악을 이용할 수 있는 장점이 있다.
또한, 핸드폰이나 컴퓨터의 자판을 두드릴 때 발생되는 타이핑 신호에 연동하여 음악을 작곡할 수 있어, 메일 송부나 핸드폰 문자 메세지를 이용하는 경우 사용자가 작곡된 음악을 메일이나 문자 메세지와 함께 송부할 수 있어 사용자에게 또 다른 즐거움을 줄 수 있는 장점이 있다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
본 발명의 실시예에 따른 자동음악 작곡방법은 자동으로 음악을 작곡하는 부분 중 메인 멜로디를 스스로 작곡하는 방법에 초점이 맞추어져 있다. 특히, 본 발명의 실시예에 따른 자동음악 작곡방법은 크게 박자와 음정이 함께 완전한 형태로 자동 생성되는 형태와, 순차적 음정의 순서만을 생성시켜 외부입력신호(타이핑 신호)가 만들어낸 박자에 대응하게 만드는 형태를 모두 가질 수 있다.
본 발명의 실시예에 따른 자동음악 작곡방법은 컴퓨터나 핸드폰,PDA 등의 전자장치에 구현된 후 사용자의 키톤, 진행톤, 및 박자의 선택에 따라 다양한 음악이 작곡될 수 있고 재생될 수 있다.
또한, 본 발명의 실시예에 따른 자동음악 작곡방법은 사용자가 컴퓨터나 핸드폰 등의 문자판을 타이핑하는 경우 발생되는 타이핑 신호에 응답하여, 음악이 작곡될 수 있으며 발생된 음악이 재생, 녹음될 수 있다.
본 발명의 실시예는 컴퓨터나 핸드폰에 연결된 자판에만 한정되는 것이 아니며, 자판을 두들겨서 신호를 보낼수 있는 모든 장치에 적용될 수 있다. 또한, 블로그나 싸이 등 인터넷상의 개인 공간뿐만 아니라 전자 메일이나 핸드폰을 이용한 문자 메세지 전송 등 자판을 눌러 글을 올리거나 쓸 수 있는 웹 사이트에 본 발명의 실시예를 적용시킴으로써 메일 전송이나 문자 메시지 전송시 또는 인터넷상의 개인 공간에 글을 올림과 동시에 음악이 나오도록 할 수 있다.
이하에서, 본 발명의 실시예에 따른 자동음악 작곡방법을 설명하는데 필요한 용어를 먼저 설명하기로 한다.
먼저, "키"(key, 조성)는 음악 전체 또는 일부에 걸쳐 음높이들의 질서의 기준이 되는 체계로서 화성학에서의 조성과 같은 개념이다. 예를 들어, 음악에서 일반적으로 "다장조", "C Major"라고 표현하는 것들을 의미한다. 이하에서는 다장조(C Major:가온다 를 으뜸음으로 하는 체계)의 키를 기준으로 설명한다
"코드"(chord, 화성)는 음악의 각 마디 혹은 부분에 적용되어 변해가는 화음의 성질(예 : Cmaj, Dmin, E7, Fmaj,...)로서, 화성학에서의 화성과 같은 개념이 나, 본 발명의 실시예에 따른 자동음악 작곡방법이 화음을 구성하는 개별 음들을 정의함으로써 코드를 정의할 수도 있다.
이하에서는 다장조(C Major)의 키를 기준으로 설명하며, 자동음악 작곡방법이 별도로 정의하지 않는 한 일반적인 음악에서 사용하는 코드들의 정의를 사용한다.
"음이름"은 음조직의 각 음을 높이에 따라 구별하여 결정한 고유한 이름으로 여기서는 다음과 같은 순서로 12개의 기호를 사용한다
[ C , C# , D , D# , E , F , F# , G , G# , A , A# , B ]
"계이름"은 특정한 키의 음계를 기준으로 그 키의 으뜸음으로부터 상대적으로 붙여진 이름으로, 음악에서의 계이름과 같은 개념이며, 다음과 같은 순서로 12개의 기호를 사용한다.
[ 도 , 도# , 레 , 레# , 미 , 파 , 파# , 솔 , 솔# , 라 , 라# , 시 ]
다장조(C Major)에 해당하는 키에서 도의 계이름을 갖는 높이의 음이름은 C이며, 라장조(D Major)에 해당하는 키에서 도의 계이름을 갖는 높이의 음이름은 D이다.
여기서는 위의 음이름과 계이름의 순서를 동일하게 하며, 혼동을 피하기 위하여 다장조의 키를 기준으로 설명한다.
"옥타브"는 12반음의 차이에 해당하는 두 음간의 관계 혹은 그 사이의 범위로서, 일반적으로 쓰이는 음악에서의 옥타브와 같은 개념이다. 한 옥타브 차이의 두 음은 같은 음이름을 가지며, 주파수 비율이 1:2인 관계를 가진다.
벨라서티(velocity)는 본 발명의 실시예에 따른 자동음악 작곡방법이 출력하는 음들의 개별적인 세기로서 컴퓨터음악에서의 벨라서티(velocity)와 동일한 의미이다.
"톤"(tone, 음높이)은 음악에서 특정 단음의 고유한 음높이로서 고유한 수 또는 기호를 부여하여 정의한다. 현재 보편적으로 사용되고 있는 음의 높이의 표현방법이 도 1(a)에 도시된다.
도 1(a)를 참조하면, "가온다"에 해당하는 톤을 계이름"C"와 옥타브의 번호 4를 붙여 "C4"라 정의하고, 한 옥타브 내에서는 음이름을 바꾸고, 매 옥타브마다 순차적인 번호를 조합하여 표현한다. 즉, B2보다 한 옥타브 높은 톤은 B3이며, B2보다 한 반음 높은 톤은 C3가 된다.
도 1(b)는 본 발명의 실시예에 따른 자동음악 작곡방법에서 사용하는 음의 높이의 표현방법을 설명하는 도면이다.
본 발명의 실시예에 따른 자동음악 작곡방법에서는 개별적인 음들을 정의, 인식 및 처리하기 위하여 필요한 음에 도 1(b)에 도시된것과 같이 특정음을 기준으로 일련번호를 부여한다
이 때, C4 가 아닌 C3, 혹은 C5 등 같은 음이름을 가진 다른 음을 기준으로 일련번호를 부여함으로써 악기의 특성에 맞도록 옥타브 단위로 원하는 음역대를 만들 수 있다. 또한 다른 음이름을 가진 음(예 : E)을 기준으로 일련번호를 부여하면 그음을 으뜸음으로 하는 키(예 : E Major)의 음악을 만들게 된다.
이렇게 최초 정의 부분에서 다른 음을 기준으로 일련번호를 부여하는 방법은 보통의C4를 기준으로 부여한 일련번호로 작곡된 음을 출력할 때 최종 출력단계에서 다른 높이로 정의된 음을 출력하는 방법과 동일한 원리이다.
"멜로디"는 톤의 시간에 따른 흐름으로, 본 발명의 실시예에 따른 자동음악 작곡 방법에서는 각각의 톤, 음이름, 혹은 계이름을 그의 출현순서에 따라"_"로 구분하여 표기한다.
예를 들어 C4를 기준으로 한다면 "도_레_미_파_솔" 또는 "C4_D4_E4_F4_G4" 또는 "0_2_4_5_7"의 형태로 표현된다.
"매치레벨"은 본 발명의 실시예에 따른 자동음악 작곡방법에서 해당 톤이 생성된 시점에서의 곡의 코드를 참조하여 그 톤이 코드에 얼마나 부합되는가를 판단하여 부여하는 속성을 의미한다.
모든 톤은 특정한 코드에 대한 매치레벨을 가진다. C4부터 B4에 해당하는 한 옥타브를 기준으로 매치레벨을 부여하는 원칙은 다음과 같다.
"매치레벨 0" 은 해당하는 톤이 해당 코드의 화음을 구성하는 개별 음들과 같은 음이름을 가지거나, 현재의 음악적 흐름에서 중심적인 역할을 한다고 자동음악 작곡방법이 판단한 경우이다.
예를들어, Cmaj 코드는 C, E, G 음의 화음으로 정의하여 0, 4, 7번 톤은 매치레벨 0을 가진다. Fmaj 코드는 F, A, C 음의 화음으로 정의하여 0, 5, 9번 톤은 매치레벨 0을 가진다.
Fmaj 코드에서 G음 또한 중심적인 역할을 한다고 지정할 때 0, 5, 7, 9 번이 매치레벨 0을 가질 수 있다. 이것은 F, G, A, C로 이루어진 Fadd9코드를 정의하는 것과 같다.
"매치레벨1"은 매치레벨 0에 해당하지 않으나, 온음계적 음계에서 사용될 수 있거나 음악의 흐름에서 자연스럽게 필요한 음이라고 판단될 때를 의미한다. 예를 들어, Cmaj 코드에서 2, 5, 9, 11번 톤은 매치레벨 1을 가지며, Fmaj 코드에서 2, 4, 7, 11번 톤은 매치레벨 1을 가진다.
"매치레벨2"는 매치레벨 0이나 1에 해당하지 않고, 일반적으로 해당 코드에서 연주되었을 때 불협음이 되거나 음악의 흐름에서 필요없다고 판단된 때를 의미한다. 예를 들어, Cmaj 코드에서 1, 3, 6, 8, 10번 톤은 매치레벨 2를 가지며, Fmaj 코드에서 1, 3, 6, 8, 10번 톤은 매치레벨 2를 가진다.
일반적으로 각 코드별 매치레벨은 다음의 표 1과 같이 규정되며, 여기서 규정되지 않은, 일반적으로 음악에서 사용되는 다른 코드들도 위의 규칙에 의해 다음과 같은 형식으로 적용될 수 있다.
표1의 각 코드에서 매치레벨0 또는 1로 정의되지 않은 톤은 매치레벨2에 해당한다. 표1의 매치레벨에 해당하는 수(톤)는 0부터 11번까지의 한 옥타브 내에서의 값이며, 한 옥타브의 톤간격에 해당하는 12 또는 그의 정수배에 해당하는 값을 가감하여 얻은 수에 해당하는 톤은 모두 같은 음이름과 매치레벨을 갖는다.
예를 들어, Cmaj 코드의 매치레벨0인 0, 4, 7 뿐 아니라 12, 16, 19, 또는 24,28,31, 또는 -12, -8, -5 등의 톤들도 역시 매치레벨0의 톤이 된다.
Figure 112008069436415-PAT00001
도 2는 본 발명의 실시예에 따른 자동 음악 작곡 방법을 설명하는 플로우 차트이다.
도 2를 참조하면, 본 발명의 실시예에 따른 자동 음악 작곡 방법(100)은 작곡될 음악곡을 구성하며, 일정한 마디수를 가지는 최소구성단위의 각각의 마디에 대응되는 코드를 결정하는 110 단계, 상기 코드와 매치레벨 0에 해당하는 톤(tone, 음높이)을 의미하는 키톤을 적어도 하나 이상 생성하여 상기 코드에 대응시키는 120 단계, 상기 키톤을 경유하여 진행하는 멜로디를 생성하기 위하여, 상기 키톤과 다음 코드의 키톤 사이에 연주되는 톤들을 의미하는 진행톤과 이러한 진행톤들의 집합인 톤경로를 생성하는 130 단계, 상기 최소구성단위에서 상기 키톤과 상기 진행톤들을 연주할 위치를 지정하기 위한 박자들과, 상기 박자들 중 어느 박자에 상기 키톤이 대응되고, 상기 키톤에 대응되는 박자 이외의 나머지 박자들의 어디에 상기 진행톤들이 대응될 것인지에 대한 정보를 가지는 박자프리셋을 결정하는 140 단계 및 상기 박자프리셋을 참조하여 상기 키톤과 상기 진행톤들을 대응되는 박자에 일대일 대응시켜 연주가 가능한 최소구성단위를 완성시키는 150 단계를 구비한다.
도 2에 도시되지는 아니하였으나, 상기 완성시키는 150 단계 이후에, 상기 코드를 결정하는 110 단계부터 상기 박자프리셋을 결정하는 140 단계를 반복하여 새로운 최소구성단위를 완성시켜 상기 작곡될 음악곡을 구성하는 전체 구성을 완성시키는 단계를 더 구비할 수 있다.
먼저, 작곡될 음악곡을 구성하며, 일정한 마디수를 가지는 최소구성단위의 각각의 마디에 대응되는 코드를 결정하는 110 단계에 대해서 설명한다.
본 발명의 실시예에 따른 자동음악 작곡방법(100)은 곡 단위의 제작을 기본적인 목표로 한다. 여기서, "구성"이란 일반적으로 음악에서 사용되고 있는 곡의 구성을 의미한다. 하나의 곡의 구성을 음악에서 A (a+a') + B(b+b') + A'(a+a'') 등과같이 표현할 때, 자동음악 작곡방법(100)이 생성하는 하나의 곡을 이루고 있는 가장 큰 구성요소(A, B 등과같이)를 1차구성단위라고 칭한다. 1차구성단위는 다시 2차구성단위(a , a' 등)들로 나뉠 수 있다. 매 구성단위는 그것을 이루고 있는 하위구성단위들의 집합으로 규정될 수 있다. 또한 하나의 곡 전체는 0차구성단위라고 할 수 있다.
자동음악 작곡방법(100)이 구성을 나누는 이유는 곡 전체를 기준으로 특정한 역할(도입, 전개, 절정 등)을 담당하는 부분을 구분하고, 유사한 구성단위들을 재귀, 반복, 또는 자기유사적 형태로 변형하는 등의 기능을 구현하기 위함이다.
위와 같이 하위 구성단위로 내려가면서 자동음악 작곡방법(100)이 더 이상의 하위구성단위개념을 두지 않는 구성단위를 최소구성단위라고 칭힌다. 최소구성단위는 고유한 길이(마디의 수가 2개 혹은 4개 등), 코드진행 등과, 자동음악 작곡방법(100)이 생성해내는 고유한 특성들을 포함한다.
도 3은 구성프리셋의 하나의 예를 설명하는 도면이다.
각각의 상위로부터 하위로 각 구성단위의 번호를 나열하면 최소구성단위의 고유번호가 된다.
한 개의 구성단위는 여러 개의 코드로 구성된다. C장조의 키(조)를 기준으로 간단한 코드구성의 예를 들면 Cmaj 로부터 시작하여 Cmaj 로 끝나는 음악을 가정할 수 있다.
Cmaj-Amin-Dmin-Gmaj-Cmaj(end) 여기서, Cmaj(end) 는 Cmaj중에서 곡의 귀결에 사용된 코드를 별도로 구분하기 위한 코드이다.
이와 같은 코드의 진행들은 다양한 음악의 장르에서 빈번하게 사용되고 있으나, 그러한 코드의 흐름을 따라서 만들어진 박자와 음정, 기타 요소들의 조합이 각인시키는 느낌이 다양하게 변화할 수 있으므로 각자의 유일성을 가질 수 있다.
그러므로 위와 같은 코드흐름에 고유성을 인정받기 위해 코드흐름 자체를 생성하는 노력은 배제하고, 위와같이 설계된 코드흐름, 또는 그들의 조합을 사용할 수 있다.
미리 준비된 코드진행들은 느낌에 따라 사용자들에 의해 선택될 수도 있다. 사용자들은 컴퓨터등에 저장된 자동음악 작곡방법(100)에 의해서 미리 설계된 코드들이 라이브러리 형태로 제공되면 그 중에서 하나 또는 그 이상을 선택할 수 있다. 사용자의 선택방법은 컴퓨터등의 디스플레이부분에 표시된 코드들을 사용자가 직접 선택하는 방법이 이용될 수 있으며 이 이외에도 다양한 방법이 이용될 수 있다.
각각의 코드는 일반적인 음악에서 사용되고 있는 코드의 이름이다. 반음계의 음높이로 표현되는 톤넘버를 적용시켜 한 옥타브 내의 코드의 구성요소를 보면 다음과 같다.
Cmaj:0,4,7, Amin:0,4,9, Dmin:2,5,9, Gmaj:2,7,11, Cmaj(end):0,4,7
자동음악 작곡방법(100) 음정이 코드의 진행에서 어떻게 부합하는가의 정도를 매치레벨의 개념으로 정의할 수 있다. 매치레벨 0은 위에서처럼 코드의 기본 구성성분, 또는 거기에 더해 음악의 흐름에서 그에 준하는 역할을 할 수 있다고 미리 판단되어진 톤이 해당 되며 다음과 같이 정의될 수 있다.
Cmaj:0,4,7, Amin:0,4,7,9, Dmin:1,2,5,7,9, Gmaj:2,5,7,11, Cmaj(end):0
음악 내의 모든 해당 마디에서 매치레벨1로만 이루어져 있는 음악은 듣기 힘들 정도로 부자연스럽다. 그러나 매치레벨0인 톤이 분명히, 그것도 여러 번씩 출현함에도 각인효과가 떨어지는 것은 멜로디의 톤들의 역할이 구분되어져 있지 않고, 규칙적인 패턴을 활용하기 힘들기 때문이다.
자동음악 작곡방법(100)이 생성하는 멜로디의 흐름에서 음악적 안정감과, 각인효과를 구현하는 방법은 첫째로, 해당 코드의 매치레벨0에 해당되는 톤을 적어도 하나 이상 지정, 그 마디의 "키톤"으로 정의하여 다른 톤과 차별화를 시켜 코드와의 조화를 추구하고, 둘째로, 음정구조 또는 박자 등의 속성, 혹은 그들의 조합을 규칙적으로 반복시키는데 있다.
여기서는 매 코드에 하나의 키톤만을 생성한다. 키톤 차별화의 방법은 키톤이 연주되는 시간적 길이, 연주되는 세기(벨로서티), 연주되는 위치(박자), 키톤이 아닌 톤들과의 결합방법 등의 방법을 조합하여 구현하게 된다. 자동음악 작곡방법(100)에서 키톤은 연주되는 시간동안 자신이 포함된 멜로디가 해당코드에 조화되도록 만들어져 있고, 그 코드에 현재 수렴한다는 느낌을 인지시키는 역할을 하고, 나머지 톤들은 그런 키톤을 거점으로 하여 다음 마디의 키톤에 이르기까지의 흐름의 형태를 키톤과 함께 각인시키는 역할을 한다.
그러므로 자동음악 작곡방법(100)에서 생성되는 멜로디는 매 코드에 적어도 하나씩 지정되는 키톤과, 해당 키톤으로부터 다음코드의 키톤을 연주하기 위해 중간에 연주되는 톤(진행톤)들의 순서('톤경로'라고 칭힌다)로 이루어져 있고, 이들 키톤과 진행톤이, 별도로 생성된 박자집합(박자프리셋)에 톤 하나에 한박자씩 일대일로 대응되어 멜로디를 생성하게 된다.
그렇게 될 경우 멜로디의 진행은 매 마디에서 적어도 하나 이상의 키톤을 가지고, 그 키톤을 강조할 수 있는 형태로 설계된 박자를 할애함으로써 멜로디가 그러한 키톤을 중점적으로 경유하여 진행하는 특징을 가지게 된다.
키톤은 각 코드진행에 따라 경로와 관계없이 미리 정해질 수 있다. 연주중 키톤은 다음 한마디에 해당하는 키톤만 그때그때 생성해나갈 수도 있고, 곡 전체에 대한 모든 마디의 키톤을 미리 생성해놓고 시작할 수 있다. 키톤 사이의 경로를 만들기 위해서는 두개의 키톤값만 있으면 되므로 어떤 방법이든 상관없다.
이하에서는 키톤을 적어도 하나 이상 생성하여 코드에 대응시키는 120 단계에 대해서 상세히 설명된다.
키톤을 생성하는 방법 중 하나로서, 키톤을 생성하여 상기 코드에 대응시키는 120 단계는, 최소구성단위의 코드에 대응되는 키톤들의 가능한 경우를 표시한 키톤 데이터 테이블로부터 선택될 수 있다.
도 4는 작성된 키톤 데이터 테이블의 예를 나타내는 도면이다.
키톤 데이터 테이블에 의한 키톤 생성 방법은 최소구성단위별로 키톤의 흐름 전체를 데이터화 시키는 방법이다. 도 4에서, Cmaj Amin Fmaj Gmaj 로 이어지는 전형적인 코드흐름을 가지는 하나의 최소구성단위(여기서는 4마디로 이루어져 있다고 가정한다.)에 해당하는 키톤들의 가능한 흐름들을 나열한 것이다.
이렇게 매 코드 진행별 키톤의 흐름을 설계해놓으면, 보다 자연스러운 키톤 흐름을 유도할 수 있고, 같은 키톤셋을 사용한 최소구성단위들간의 유사성을 구현할 수 있다. 같은 키톤셋의 사용으로 같은 키톤의 흐름을 갖고 있더라도 중간의 톤의 경로와 박자의 조합에 의해 수많은 다른 멜로디가 구현 가능하다.
다른 키톤 생성방법으로서 외부신호 매칭방식이 이용될 수 있다. 자동음악 작곡방법(100)이 컴퓨터나 핸드폰 등의 단말기의 입력신호에 연계되는 경우, 단말기에 입력된 신호를 해석하여 키톤 데이터 테이블에서 가능한 키톤 리스트중 하나를 선택하게 하는 방식이다. 단말기 버튼마다 미리 일련번호를 설정해놓고 그 일련번호를 키톤 데이터 테이블에 설계된 키톤에 매칭시키거나, 단말기에 의해서 작성된 글의 숫자화 된 형태를 이용하여 키톤 데이터 테이블의 키톤에 매칭 시키는 등 다양한 외부신호 매칭방법이 있을 수 있다.
도 5는 모바일 단말기상의 숫자버튼에 키톤을 매칭 시키는 방법을 설명하는 도면이다.
곡중 키톤이 요구되는 마디의 코드에 맞게, 눌려진 버튼에 따라 해당 키톤이 선택된다. 0,#,* 등의 버튼은 추가적으로 많이 사용되는 키톤에 배정할 수 있고, 버튼이 눌려지는 횟수가 곡에 필요한 키톤의 수에 모자라면 기존의 버튼입력을 반복하여 적용할 수 있다.
또한, 상기 키톤을 생성하여 상기 코드에 대응시키는 120 단계는, 세로축에 키톤의 음높이가 배열되고, 가로축에 각각의 마디에 대응되는 코드가 배열되며 키톤의 높이수준을 표현하는 연속적인 그래프가 그려지는 키톤설계그래프를 이용하며, 가로축의 임의의 코드에 대응되는 그래프상의 키톤의 음높이가 선택되고, 선택된 음높이가 상기 임의의 코드와 매치레벨 0이면 선택된 음높이가 키톤으로 선택되며, 선택된 음높이가 상기 임의의 코드와 매치레벨 0이 아니면 선택된 음높이에서 가장 가까우면서 상기 임의의 코드와 매치레벨 0이 되는 음높이가 키톤으로 선택될 수 있다.
이 방법은 키톤설계 그래프 적용방법이라고 할 수 있다. 곡 전체 또는 곡의 일부(구성단위)에 걸쳐 전체적인 키톤의 높이수준을 기록한 그래프형태를 참조하여, 가장 근접한 키톤의 흐름을 추출하는 방식이다.
키톤의 높이가 음악에서 해당부분의 고조되는 정도를 어느 정도 반영한다고 보았을 때 전체적인 높낮이의 경향을 통해 곡중 고조되는 정도를 미리 설계한 다음 반영하는 방식이다. 이는 키톤 데이터 테이블의 설계방식과 비슷하지만, 키톤 데이터 테이블의 설계는 하나의 코드진행을 위해 수많은 키톤 셋이 존재하는 만큼 방대한 설계의 양이 필요하나, 형태그래프는 어떠한 코드진행을 가진 어떠한 길이의 구성단위에도 사용할 수 있고, 설계가 직관적이며, 그래프 자체의 전체적인 변형 등이 용이하다.
도 6은 간단한 형태의 키톤설계그래프 적용방법을 설명하는 도면이다.
도 6에서, 그래프는 다섯개의 마디에 걸쳐서 키톤의 높이수준을 표현하는 연속적인 그래프이다. 그래프(1)은 처음 0에서 시작해서 연속적으로 증가하여 마디4의 첫박자 시점에 16에 다다른 후 변화가 없도록 설계되어있다.
Cmaj-Amin-Fmaj-Gmaj-Cmaj로 이루어지는 하나의 코드진행을 대입하면 각각의 코드에 하나의 키톤이 필요하므로 자동음악 작곡방법(100)은 위의 키톤설계그래프를 참조한다. 예를 들어 마디2의 첫번째 박자에 키톤이 필요하면 해당 부분의 그래프의 세로값은 8이다.
박자 설계에 따라 첫번째 박자에 키톤이 오지 않을 수도 있으나, 박자설계 이전에 미리 키톤의 흐름을 모두 만들어야 할 경우에는 기본적으로 첫번째 박자에 키톤이 오는것으로 가정해야 한다.
8이라는 값으로부터 가장 가까운 Fmaj 코드의 키톤은 9이므로 키톤으로 9를 선택한다.(키톤으로 사용가능한, 매치레벨0인 톤을 0,5,9 로 규정하였을 경우이다.) 위와 같은 키톤설계 그래프는 어떠한 형태로든 제작될 수 있다. 설계자가 펜으로 그리거나, 수학적인 함수를 사용할 수도 있고, 다른 많은 음악들의 음량이나 높이수준을 분석하여 그래프형태로 가져올 수도 있다.
그렇게 제작된 벡터형태의 그래프는 사용자나 컴퓨터 등에 저장된 자동음악 작곡방법 프로그램의 판단 하에 다양하게 변형하여 사용될 수 있다. 가령 도 6의 그래프는 5개 마디의 구성단위를 위해 사용되었으나, 같은 그래프의 형태가 곡전체에 걸쳐 사용될 수도 있다. 그러면 곡은 낮은 키톤으로부터 시작해 아주 서서히 톤들의 흐름이 높아지는 성질을 가질 수 있다.
또한 같은 길이의 구성단위에 사용되더라도 위의 그래프의 형태를 보다 완만하거나 급격한 형태로 가공할 수도 있다. 가령, 도 6의 그래프를가지고, 0으로부터의 차이값을 절반으로 줄인 완만한 형태의 그래프(2)를 만들 수 있다
다음으로, 톤경로를 생성하는 방법에 대해서 설명한다.
매 코드마다 키톤이 생성되었다면, 그 키톤을 경유하여 진행하는 멜로디를 생성하기 위하여 키톤 사이에 삽입되는 톤들을 생성해야 한다. 이렇게 키톤 사이에 들어가는 톤들을 진행톤이라고 칭하고, 그러한 진행톤들의 집합을 톤경로라고 칭한다. 진행톤 하나짜리 톤경로에서부터 진행톤 일곱개로 이루어진 톤경로도 있을 수 있다.
진행톤은 실제 연주될 때 연이어 연주되는 톤들의 집합이고, 매치레벨 0, 1의 톤이 섞일 수 있는 등 키톤과는 성격이 상이하나 키톤과 생성방법은 많은 부분 공유할 수 있다.
즉, 상기 톤경로를 생성하는 130 단계는, 상기 톤경로가 하나 이상의 상기 진행톤으로 구성되며, 이전코드와 이에 대응하는 키톤 및 다음코드와 이에 대응하는 키톤을 고려하여 이전 키톤으로부터 다음 키톤으로 가능한 진행톤들을 개수별로 모두 설계해 놓은 톤경로 라이브러리로부터 선택될 수 있다.
이전코드와 키톤, 다음코드와 키톤 모두를 고려하여 이전 키톤으로부터 다음 키톤으로 이르는 가능하거나 어울리는 멜로디를 진행톤의 개수별로 모두 설계해 놓은 다음 하나를 선택하는 방법이다.
도 7은 톤경로 라이브러리 설계를 설명하는 도면이다.
도 7을 참조하면, Gmaj 에서Cmaj 코드로 이동할 때의 각각의 이전 키톤과 목적 키톤을 기준으로 톤 갯수별로 톤경로를 설계해놓은 일부분이다. 여기서 사용된 모든 톤의 범위는 -5부터 16까지이며, 이전 키톤 -5에서 다음 키톤 -5로 이르는 경로부터 설계가 시작되었고, 진행톤 한개짜리와 두개짜리, 세개짜리까지 설계가 되어있다.
각 톤들간의 구분은 언더바("_")로 한다. 자동음악 작곡방법(100)에서는 키톤과 진행톤, 혹은 진행톤들 사이에서 같은 톤이 연속으로 나오는 부분을 고려하지 않고, 항상 차이가 있는 부분만을 고려한다. 이렇게 설계된 톤경로들은 기본적으로, 그리고 추가적으로 다음과 같은 속성을 가질 수 있다.
즉, 이전코드와 키톤, 목적코드와 키톤, 진행톤의 개수(도 7에서는 1~3개), 민요풍, 발라드풍, 특정악기의 연주용 성격등, 기타 음악적으로 설계자가 부여하여 저장한 속성을 가질 수 있다.
이렇게 코드와 키톤들이 결정되어있는 상태에서 도 7의 톤경로 라이브러리를 참조하면 해당 키톤들에 맞게 설계된 톤경로들 중 하나를 선택할 수 있다. 선택방법은 일단 자동음악 작곡방법의 박자생성부분이나 구성생성부분에서 요구하는 조건에 부합하는 톤경로를 선택하되, 무작위로 선택할 수도 있다.
톤경로를 생성하는 다른 방법으로서, 온음계적 진행형태를 이용한 설계방식을 이용할 수 있다. 자동음악 작곡방법(100)은 기본적으로 조옮김이나 다양한 코드의 사용을 위해 톤넘버를 칭할 때 반음계를 사용하나, 톤의 진행형태를 다루기 위해서 해당 코드 내의 온음계를 사용하기도 한다.
다음 표2는 Cmaj 키의 반음계톤 0부터 12까지의 한옥타브내 반음계와 온음계톤넘버의 관계이다.
Figure 112008069436415-PAT00002
온음계톤은 1톤차이가 때로는 한 반음, 때로는 두 반음으로 일정치 않으나, 자동음악 작곡방법(100)에서 온음계로 계산할 때에는 그러한 차이를 고려하지 않고 1톤차이로만 계산한다. 진행톤은 자신이 속한 코드에서 매치레벨 0과 1에 해당하는 톤들로만 이루어져 있는데, 이것은 바로 해당 코드의 온음계에 해당하는 톤들과 같으므로, 온음계톤으로만 진행톤을 설계해도 무관하다.
Cmaj 코드의 키톤 2(반음계로는4) 에서 Gmaj 코드의 키톤 1(반음계로는2)로 넘어가는 톤경로를 만든다고 가정했을 때, 진행형태는 이전키톤과 다음키톤의 상대적인 톤차이만을 고려한다.
다시말해, 이전키톤으로부터 다음키톤은 1만큼 내려간것만을 고려하게 된다. 그러므로 톤경로가 3_4 가 적용되어 연주된다면 양쪽 키톤을 모두 포함해 2_3_4_1 이 연주되는 셈인데, 이를 이전키톤을 기준으로한 차이값만으로 표기한다면 0_1_2_-1 이 되는 셈이다.
이렇게 처음키톤을 기준으로 진행톤들이 어떠한 차이값으로 진행하여 다음키톤의 차이값으로 향해가는지에 대한 데이터를 진행형태라 칭한다. 여기서는 온음계를 기준으로 계산하므로 온음계적 진행형태라 한다.
위에서 예를 든 진행형태는 이전키톤에서 시작한 후 두개의 경로톤이 계속 증가한 후 한꺼번에 이전키톤보다도 낮은 다음키톤으로 내려간 양상을 보인다. 이러한 거시적인 양상을 구분해놓은 것을 진행형태군이라 칭한다.
0_1_2_-1
0_2_3_-1
0_1_2_-2
0_2_4_-1
등은 모두 같은 진행형태군에 속한 진행형태로 설계될 수 있다. 진행형태군을 구분짓는요소는 양쪽 키톤의 차이, 톤이 올라가다 내려가기 시작하는 최고점, 또는 내려가다 올라가는 최저점의 각각의 톤차이정도, 위치 및 횟수이다.
위의 진행형태군은 이전키톤으로부터 다음키톤이 1 내지 2톤 낮고, 이전키톤에 대해 계속 1 내지 2톤씩 증가하여, 두번째 경로톤에 유일한 최고점이 형성되어있는 부분이 공통적이므로 하나의 진행형태군으로 정의될 수 있는 것이다.
위에서처럼 온음계적인 진행형태를 이전키톤으로부터 목적키톤의 차이값에 따라서 설계해놓으면, 해당하는 양쪽키톤의 차이값(위에서는 -1)을 갖는 진행형태들 중 하나를 선택하여 적용할 수 있다.
예를들어 0_1_2_-1 은 5에서 4로의 키톤진행에 적용하면 6_7의 톤경로를 얻을 수 있고, 7에서 6으로의 키톤진행에 적용하면 8_9 의 톤경로를 얻을 수 있다.
이렇게 설계된 진행형태는 코드진행과 키톤들을 고려하지 않고, 오로지 이전키톤으로부터 다음키톤으로의 차이값만 일치하면 톤경로를 생성할 수 있기 때문에 설계가 간편하고, 추후 필요에 따라 비슷한 진행형태를 반복시키는 기능을 구현할 수 있다. 이렇게 설계해놓은 진행형태 역시 자주 사용되는 정도들이 따로 수치화되어 확률분배에 의해 선택될 수 있다.
또 다른 방법으로서, 상기 톤경로를 생성하는 130 단계는, 키톤 설계그래프를 이용하는 방법과 유사한 방법을 이용하여 톤경로를 생성할 수 있다.
즉, 세로축에 음높이가 배열되고, 가로축에 이전 코드와 다음코드 사이에 들어갈 박자가 배열되며 톤의 높이수준을 표현하는 연속적인 그래프가 그려지는 톤경로설계그래프를 이용하며, 가로축의 임의의 박자에 대응되는 그래프상의 톤의 음높이가 선택되고, 선택된 음높이가 상기 이전 코드와 매치레벨 0 또는 1이면 선택된 음높이가 상기 진행톤으로 선택되며, 선택된 음높이가 상기 이전 코드와 매치레벨 0 또는 1이 아니면 선택된 음높이에서 가장 가까우면서 상기 이전 코드와 매치레벨 0 또는 1이 되는 음높이가 상기 진행톤으로 선택될 수 있다.
다음으로 박자생성 방법에 대해서 설명한다.
먼저 박자프리셋을 정의한다. 박자프리셋은 상기 최소구성단위에서 상기 키톤과 상기 진행톤들을 연주할 위치를 지정하기 위한 박자들과, 상기 박자들 중 어느 박자에 상기 키톤이 대응되고, 상기 키톤에 대응되는 박자 이외의 나머지 박자들의 어디에 상기 진행톤들이 대응될 것인지에 대한 정보를 가진다.
그리고, 상기 박자프리셋은 박자가 연주되는 부분은 1로 표시하고 박자가 연주되지 않는 부분은 0으로 표시되며, 상기 키톤이 대응될 수 있는 박자의 위치와 상기 진행톤이 대응될 수 있는 박자의 위치가 표시된 표로 만들어진 데이터베이스이다.
자동음악 작곡방법에서 박자에 관한 데이터는 이전에 생성해 놓은 키톤 및 진행톤들을 연주할 위치를 지정해준다. 자동음악 작곡방법(100)은 곡의 초기에 곡 전반에 박자의 설정을 입력받거나 생성한다. 일반적으로 4/4박자의 곡이고, 박자내 최소구성단위(표현가능한 가장 짧은 박자)가 8분음표일 경우, 한마디에 최대 8개의 박자가 연주될 수 있다.
기본적인 박자의 종류는 2진법의 개념으로 0과 1의 위치로 간략하게 표현할 수 있다. 박자가 연주되는 부분을 1로 표기하면 2진수로 00000000 에서부터 11111111 까지 총 256가지의 다른 조합으로 한 마디 안의 박자를 모두 구분할 수 있다.
도 8은 이진법을 활용한 박자 구분을 설명하는 도면이다.
도 8에서 0번은 아무런 박자도 연주되지 않는 마디이고, 11111111(256)번은 모든 박자가 연주되는 박자를 가진 마디이다. 이렇게 연주될 수 있는 박자를 1로, 연주되지 않는 부분을 0으로 표기하면서, 박자의 연주 부분 중 하나의 박자에 키톤을 배정하면(K로 표기) 나머지 박자들에 진행톤들을 배정할 수 있다.
이와 같이, 박자의 어느 부분에 어떤 역할이 들어가는지의 정보가 함께 들어있도록 규약해놓은 것을 박자프리셋이라고 칭한다
도 9는 8개의 박자가 한 마디에 들어가고, 키톤이 연주되는 형태의 박자프리셋의 일례를 설명하는 도면이다.
도 9에서, 매 마디에 각각의 코드가 주어진다고 가정한다. 마디의 번호는 0부터 시작하고, 박자카운트는 모두 8개이므로 0부터 7까지를 반복한다.
도 9에서, 모든 마디는 맨 첫(0번)박자에 키톤이 한번 연주되고, 나머지 모든 박자는 연주되지 않는다. 그러므로 이러한 박자프리셋에는 진행톤들이 들어갈 자리도 없고, 톤경로를 생성할 필요도 없게 된다.
위와 같이 키톤이 연주되는 시간이 매우 길어지면 음악적으로 멜로디는 단순해지지만 해당 코드에 강하게 수렴되는 안정감을 더할 수 있다. 키톤은 원칙적으로 마디의 첫 박자에 재생되는 것이 기본이지만 나머지 어느 부분에서도 재생될 수 있다.
도 10은 키톤의 박자쉬프트가 +2인 경우를 설명하는 도면이다.
도 10에서, 박자의 첫 부분에는 아무 연주도 없이 비워놨다가, 바로 이어서 진행톤 하나, 키톤 하나가 연주된 후 다음 마디까지 지속된다. 키톤이 마디의 0번째 박자에 맞지도 않고, 중간에 키톤이 아닌 진행톤이 하나 삽입되어있으나 시간적으로 키톤은 다음 마디가 시작될 때까지 많은 시간이 지속 되므로 역시 안정적으로 멜로디가 코드에 수렴되는 느낌을 얻을 수 있다.
도10에서 키톤은 기본위치에서 두박자 이후인 +2번 박자에서 연주되었다. 이렇게 키톤이 기본박자인 마디의 첫박자에서 어긋나는 정도를 키톤의 박자 쉬프트라고 칭한다.
또한 위의 표에서 톤경로는 진행톤 하나만으로 이루어져있다. 이처럼 톤경로를 이루는 진행톤의 개수는 0이 될 수도 있고 1이상이 될 수도 있다. 한 개의 박자프리셋에서 키톤을 제외한 다른톤들의 집합을 박자경로라 칭한다.
그러나 키톤은 항상 코드마다 하나씩은 생성되어야 한다. 심지어는 키톤이 여타 이유로 연주되지 않아야 할 사유가 발생하더라도, 그것은 키톤의 재생시 벨라서티를 0으로 줄이는 식의 후처리에서도 키톤을 묵음화시키는 것이 가능하다.
키톤은 도 10에서처럼 기본박자위치인 0번 박자에서 뒤로 밀리기만 하지 않고, 이전 마디에서 미리 나올 수도 있다. 즉 키톤 박자쉬프트는 +가 아니라 -가 될 수도 있다.
도 11은 키톤 박자쉬프트값이 -1인 한가지 박자프리셋을 반복시킨 결과를 설명하는 도면이다.
도 11에서는 진행톤 두개와 키톤 하나로 이루어진 박자프리셋이 반복되고 있다. 여기서 키톤은 그것이 현재 속해 있는 마디의 코드에 해당하는 키톤이 아니라, 그 다음 마디의 키톤이 미리 나온 것이다. 0번 마디의 키톤은 이미 재생된 상태로 음악이 시작되었다.
0번 마디의 마지막 7번 박자에, 다음 마디인 1번 마디에 해당하는 키톤이 배정되어있다. 키톤은 이전 마디의 배경음악이 미처 끝나기도 전에 연주되는 셈이지만, 키톤이 연주된 직후 바로 다음 마디가 시작된다. 그리고 그 다음 마디의 최초 다섯개의 박자는 0으로 비워져 있다.
이렇게, 키톤의 원래 기본 값인, 다음 마디의 첫(0번)박자는 비워져 있지만 멜로디의 흐름상 키톤이 그자리에서 연주된 것과 별반 다르지 않게 인식된다. 그러므로 마지막 연주된 키톤은 다음의 진행톤이 연주되기 전까지, 곧이어 나오는 자신의 코드와 함께 마치 자신이 기본위치에서 연주된 것인양, 연주되는 중요위치와 시간을 충분히 할애 받음으로써 해당코드에서 멜로디가 자신의 키톤에 중점적으로 수렴하는 효과를 가질 수 있다.
설명된 바와 같이, 키톤은 해당하는 코드가 할당된 마디 내에서만 연주될 수 있는 것이 아니고, 그 이전마디에서 미리 연주될 수도 있다. 일반적으로 현재의 설정에서 키톤 박자쉬프트 값은 -3 과 3 사이가 적당하다. 키톤 박자쉬프트값이 -3인 경우, 2번 마디의 키톤은 그 이전 1번 마디의 5번 박자에 미리 연주된다.
이렇게 키톤이 미리 연주될 경우, 1번 마디의 마지막까지는 물론, 키톤이 원래 해당된 2번 마디의 첫박자까지는 무조건 비워져 있어야 한다. 그래야 마지막으로 재생된 키톤이 자신이 원래 속한 2번 마디의 초반에까지 지속되어 멜로디를 수렴시키는 효과를 가질 수 있다.
그리고 그 이후에 2번 마디에 경로톤이 재생될 경우, 그 경로톤들은 직전에 연주된 키톤이 2번 마디에서 충분히 멜로디를 자신의 톤으로 수렴시키는 키톤의 역할을 방해하지 않는 형태로 등장해야 한다.
그러한 방법에는 다음의 두가지가 있다. 물론 필수적으로 2번 마디의 첫박은 비워져있어야 한다.
1. 이전 키톤이 오래 유지되도록 한참의 공백 후에 출현하는 방법(보통 이전마디의 처음 네박자를 비우면 여기에 해당된다)
이 방법의 경우 진행톤들은 시간적으로 그 다음 키톤의 위치 쪽으로 치우쳐져 있으므로, 이전 키톤과의 연결이 그리 중요하지 않고, 다음 키톤과 밀접하게 연이어 연주되고, 다음 키톤을 직접적으로 유도한다.
이것을 꾸밈형 박자경로라고 칭한다. 특이하게도 이러한 꾸밈형 박자경로는 추후 톤경로를 대입하는 단계에서, 이전톤을 고려하지 않고 해당 톤만을 고려하고 설계된 톤경로를 사용할 수도 있다.
2. 간격이 비교적 일정하고 위치가 고르게 분포되어, 이전 키톤과 연결하여 재생하여도 자연스럽게 이어지도록 느껴지게 설계하는 방법
이 방법은 이전 키톤의 출현 이후 많은 박자를 비우지 않는 대신, 이전 박자를 포함한 하나의 리듬으로 인식될 수 있는 형태의 박자로서, 이전 키톤과 다음 키톤의 중간에 비교적 고르게 분포되는 경향을 보인다. 이것을 연결형 박자경로라고 칭한다.
도 12는 각기 다른 박자프리셋들로 연결되는 형태를 설명하는 도면이다.
도 12에서 0번 마디의 키톤은 기본위치인 박자쉬프트0, 즉 마디의 첫박에 연주되었고, 진행톤 하나를 거친 후 1번 마디의 키톤이 -1 쉬프트되어 미리 연주된다. 그리고는 1번 마디로 넘어와서 0번과 1번 두개의 박자를 비워놓고 다시 진행톤 세개를 거친 후 2번 마디의 기본위치에 키톤을 재생한다.
1번 마디에서 1번 키톤과 2번 키톤을 이어주는 경로인 세개의 진행톤은 비록 이전 키톤의 재생시간을 그리 많이 비워두지 않고 2번 박자에서부터 시작하지만, 일정한 간격으로 반복되면서 어느 한 톤이 중점적인 역할을 하는 것을 피한 채 다음 키톤에 이르는 다리역할만을 하고 있다. 그래서 마치 2번 키톤이 기본위치인 2번 마디 0박자에 재생되었다고 가정해도 2번 마디는 일정한 간격으로 네개의 톤이 재생되는 셈이다. 이는 전형적인 연결형 박자경로의 예이다.
도 13은 잘못된 연결형 박자경로 구현의 예를 설명하는 도면이다.
도 12의 1번마디의 진행톤이 도 13에서처럼 연주된다고 가정하면 도 13에서처럼 1번마디의 2번박자에 재생된 첫 진행톤은 그 위치나 길이가 다른 두개의 진행톤들과 차별화되어있기 때문에 마치 1번마디의 키톤이 +2 쉬프트되어 재생된듯 강조되어있고, 게다가 1번마디의 키톤으로 규정될 수 있는 톤이 아닐 확률이 높으므로, 해당 멜로디는 원래 의도된 키톤이 아닌 다른 톤을 중점적으로 경유하게 된다.
다시 말하면 세개의 진행톤중 첫번째는 연결형경로처럼 있으면서 두번째와 세번째는 꾸밈형경로처럼 위치해있는 셈이다. 위와 같은 박자경로는 음악적으로 불가능한 것은 아니나 비교적 연결형 또는 꾸밈형 박자경로의 역할에 충실한 박자경로들보다 쓰임새가 적다. 만일 도 13의 1번마디에서 문제의 그 첫번째 진행톤에 해당하는 높이의 음이 해당 코드에서 중심적인 역할을 해도 문제없다고 생각하는 설계자라면 해당하는 톤을, 1번마디에 해당하는 코드의 매치레벨 설계시, 매치레벨 0에 포함시켜넣은 채 적당한 출현확률을 부여하면 된다.
그런데 여기서 재생되지 않는부분인 0, 진행톤을 위한1, 키톤을 위한 K 이외에, 진행톤이나 키톤에 상관없이, 또한 그것이 언제였건 간에 마지막으로 재생된 높이의 톤을 무조건 한번 더 연주하는 역할을 가진 박자프리셋 요소를 생각할 수 있다. 이를 반복톤이라고 칭하고 r로 표기한다.
반복톤은 키톤과, 키톤 사이의 톤경로를 생성해내는 일체의 과정에 전혀 개입하지 않고, 박자프리셋을 생성하는 단계에서만 삽입된다. 그러므로 키톤과 진행톤을 생성할 때에는 같은 톤이 두번 나오는 경우를 고려하지 않고 항상 변화가 있는 톤의 변화를 만들며, 이렇게 생성된 톤경로와 키톤이, 반복톤을 포함하는 박자프리셋에 대입되면, 같은 톤이 두번 연속해서 나오는 부분이 박자중에 포함되어 있어 하나의 고유한 형태로 인식된다.
도 14는 반복톤이 포함된 한가지 종류의 박자프리셋이 반복되는 것을 설명하는 도면이다.
도 14의 예1에서는 이전마디의 두개의 경로톤들 중 마지막 박자에 사용된 경로톤을 다음마디의 첫박자에서 반복하고, 그에 이어서 바로 키톤이(+1박자쉬프트)나온다. 그러므로 반복톤은 하나의 진행톤처럼 활용되었다. 실제로는 두개의 진행톤으로 구성된 톤경로가 사용되어 각각의 1로 표시된 박자에 대입되지만, 반복톤이 특정 위치에 추가되면서, 마치 세개의 진행톤으로 구성된 톤경로가 사용되어진 것과 같은 결과를 얻을 수 있다.
반대로 생각하면, 박자프리셋에서는 이전 키톤에서 현재의 키톤에 이르기까지 세개의 톤을 배치했지만 실제로 톤경로는 두개의 진행톤으로 구성된 것이 필요하게 되는 것이다.
도 14의 예2에서는 이전마디의 마지막에 진행톤 두개가 나오는 것은 동일하나 키톤의 기본위치에 바로 키톤이 나온 후 한박자 띄고 바로 반복톤이 나왔다. 그 반복톤이 있는 자리에 다른 진행톤이 있었다면 이는 그 도 13의 예에서처럼 키톤의 역할을 방해하는 결과를 가져올 수도 있다.
그러나 도 14의 예2에서는 그자리에 나온 반복톤의 높이가 키톤과 같으므로, 키톤의 역할을 오히려 강조하는 역할을 한다. 그리고 실제 키톤이 +2만큼 쉬프트되어 2번박자에 재생이 된것과 동일한 역할을 할 수도 있다. 그러므로 본 발명의 실시예에 따른 자동음악 작곡방법(100)에서는 이것을 실제의 키톤처럼 취급한다.
도 14의 예3에서는 예2에서 나온 반복톤의 위치가 뒤로 바뀌었는데, 이때는 비록 키톤 이후에 나온 반복톤이라 키톤과 높이가 같다고 하더라도 키톤을 강조하거나 대신할 수 있는 위치에 있지 않고, 마치 세개의 연이은 진행톤들의 일부처럼 행동하므로 진행톤의 역할을 하고있다.
반복톤이 출현하는 장소나 횟수는 제한이 없다. 이러한 반복톤을 적절히, 혹은 규칙적으로사용하면 박자와 음정의 패턴이 더욱 특징있게 구성된다.
이렇게 한 마디에서 키톤이 연주될 수 있는 위치는 박자쉬프트값에 따라 앞뒤로 변할 수 있고, 거기에 다양한 박자의 경로들이 결합되어있는 것이 박자프리셋이므로, 하나의 박자프리셋의 범위는 하나의 마디의 범위와 정확히 일치할 수 없다. 자동음악 작곡방법(100)이 박자프리셋의 범위를 설정하는 방법은 크게 세가지로 나뉜다.
1. 이전키톤이 나오고나서, 처음으로 나오는 톤을 포함해 시작점으로 하고, 현재의 키톤(혹은 키톤역할의 반복톤)이 나온 시점까지를 프리셋의 범위로 보는 방법이다. 이것은 꾸밈형박자경로의 설계에 유리하고, 이러한 방식으로 구분된 박자프리셋을 키톤종결형 박자프리셋이라 칭한다
2. 현재의 키톤을 포함해 시작점으로 하고 다음 키톤이 나오기 직전까지를 프리셋의 범위로 보는 방법이다. 이것은 연결형박자경로의 설계에 유리하고, 이러한 방식으로 구분된 박자프리셋을 키톤개시형 박자프리셋이라 칭한다.
3. 다양한 박자쉬프트값을 갖는 키톤을 별도로 구분하고, 그 사이에 들어갈 수 있는 진행톤들과 반복톤들의 조합을 박자프리셋으로 구분하여, 그 두가지를 번갈아 생성시킨다.
이전키톤과 다음키톤의 쉬프트값들을 모두 참조하여 그 안에 삽입될 프리셋을 선택하는 방법으로, 박자프리셋에는 키톤이 포함되지 않으며, 이를 키톤독립형 박자프리셋이라 칭한다.
모든 박자프리셋은 그 구분범위에따라 위에서처럼 키톤종결형, 키톤개시형, 키톤독립형 의 세가지로 나뉘고, 이 분류와는 상관없이, 그 안에 포함된 박자경로의 성격에 따라 꾸밈형박자프리셋, 연결형박자프리셋 의 두가지로 나뉜다..
1.키톤 종결형 박자프리셋 설계(키톤연주직후를 경계로 삼는 방법)
키톤종결형은 매 키톤이 연주된 직후를 각각의 박자프리셋의 경계로 설정한 것이므로 이전 키톤의 출현 이후부터 현재키톤에 이르기까지의 박자경로를 모두 포함하기 때문에 그 키톤이 본래 속한 코드의 마디보다 보통 앞쪽으로 치우치는 경향을 보인다. 이러한 키톤종결형박자프리셋은 경로박자가 키톤으로 연결되는 형태를 다양하고 의도된대로 설계할 수 있는 대신, 그 프리셋의 마지막 톤인 키톤이 연주된 후, 다음 박자프리셋의 처음 경로톤이 연결되는 형태를 미리예측해야할 필요가 있다.
도 15는 키톤종결형 박자프리셋 설계의 예이다.
도15에는 연주되지 않는다는 표시인 "0"은 편의를 위하여 생략되었다.
도 15를 참조하면, 프리셋들은 이전마디와 본마디 두 마디에 걸친 범위 내에서 다양하게 분포될 수 있다. 위의 박자카운트 0에 해당하는 열이 키톤의 기본위치이다. 맨 마지막에 등장하는 박자는 모두 키톤으로 정의되어있다. 전체 톤의 개수가 한 개인 프리셋은 키톤 하나로 이루어져있고, 두개인 것은 한톤짜리 톤경로와 키톤 하나, 그리고 세개인 것은 두톤짜리 톤경로와 키톤하나 이런식으로 설계될 수 있다.
여기서 전체톤의 개수가 두개인 것을 예로들면 1,k 의 순으로 두개의 톤이 위치해 있으나, 이 1과 k 가 있는 위치에 순서대로 r,k 또는 k,r 로 대치시킬 수 있다.
r,k로 대치할 경우 진행톤 대신 이전프리셋의 마지막 톤(키톤종결형이므로 이전키톤)을 한번 더 재생하고 이번 키톤을 재생하게 되고, k,r로 대체할 경우 키톤은 원래 의도했던 자리에서 (반복톤에 의해)나오되, 그 전에도 키톤을 경로위치에서 먼저 연주해주고 연주하는 결과를 가져온다. 어떠한 경우에도 원래 의도했던 키톤의 위치에 키톤이 연주되고, 의도했던 개수의 톤이 의도한 위치에 연주되는 결과는 변함이 없다.
전체톤의 개수가 세개인 프리셋도 마찬가지로 1,1,k로 구성되어있는 구조는 다음과같이 대체될 수 있다.
1,1,k : 일반적인 경우
r,1,k
1,r,k
r,r,k
1,k,r
r,k,r
k,r,r
이렇게 구성이 되어도 원래 의도했던 키톤의 위치에 키톤이 연주되고, 의도했던 개수의 톤이 의도한 위치에 연주되는 것이다.
이렇게 원래의 진행톤과 키톤으로 만들어진 박자프리셋이 반복톤을 포함하는 형태로 파생된 프리셋은 고유의 톤흐름 구조를 가지고, 원래의 프리셋과는 다른 느낌을 가지며, 필요한 경로톤의 개수도 서로 다르므로, ACM에서는 톤들의 출현위치는 같지만 서로 다른 프리셋으로 구분하여 인식한다.
이와 같은 키톤종결형 박자프리셋은 전형적으로 꾸밈형박자경로를 사용하기 유리하나, 때에 따라 연결형박자경로를 가질수도 있다. 도 15에서 2톤짜리프리셋중 첫번째와 네번째, 3톤짜리 프리셋중 첫번째와 네번째 등은 연결형박자경로의 성격을 많이 가지고 있다. 이렇게 준비된 박자프리셋은 다양한 속성을 가지고 있다.
키톤종결형 박자프리셋으로부터 확인할 수 있는 음악적 특성, 즉 키톤종결형 박자프리셋의 속성은 다음과 같다
톤들의 개수와 위치분포 확인가능- 박자프리셋 내의 톤경로가 몇개의 진행톤으로 이루어져있는가와 그 진행톤들이 어느어느 박자와 매칭되어 있는가 하는 특유의 박자 구조를 확인할 수 있다.
반복톤의 대체구조 확인가능-도14에서 보듯이, 반복톤이 어디어디에 들어가있는가를 확인할 수 있다.
마지막 톤(키톤)의 박자쉬프트 값 확인가능- 앞서 설명된대로, 원래 키톤이 있어야 할 박자에서 얼마나 어긋나 있는지를 확인할 수 있다.
처음톤의 박자번호 확인가능- 키톤종결형 박자프리셋에서는 첫 진행톤이 해당 마디의 몇번째 박자에서 시작하는가를 나타내는 수치를 확인할 수 있다. 즉, 도 15에서 보면, 가령 3톤짜리 첫번째 프리셋은 왼쪽의 이전마디의 3번박자(키톤이 원래 배정된 오른쪽 마디로 따지면 -5번)에 첫 진행톤이 있는 것을 알 수 있다.
기타 주관적으로 부여할 수 있는 성격- 연결형박자경로와 꾸밈형박자경로 중 어느 한쪽으로 치우친 정도, 이전프리셋의 키톤 박자쉬프트 값에 따른 출현가능여부나 어울리는 정도 등을 확인할 수 있다.
다양한 프리셋은 그의 반복톤대체구조를 포함해 다양한 속성들이 내포된 형태로 미리 설계될 수 있고, 그중의 하나씩을 채택하여 진행톤들과 키톤을 대입시켜나가면 연속된 멜로디가 구성된다.
이처럼 키톤종결형 박자프리셋들을 연결할 때, 꾸밈형박자경로를 가진 프리셋이 다음에 올 경우에는 이전프리셋의 키톤박자쉬프트값이 얼마든간에 한참 떨어진 후 새로운 프리셋의 박자가 시작된다고 볼 수 있으므로 상관없지만, 연결형박자경로를 가진 프리셋이 뒤에 올 경우에는 이전프리셋의 키톤박자쉬프트값을 고려해야 할 필요가 있다.
가령 이전 프리셋의 마지막 박자(키톤박자)가 이전마디의 세번째 박자일경우 (즉, 이전프리셋의 키톤박자쉬프트값이 +2) 일경우, 다음에 올 프리셋의 구조가 이전마디의 세번째 박자위치를 포함해, 그이전의위치에서부터 시작(주로 연결형박자경로를 가진경우)하는 프리셋은 불가능하다.
도 16은 연결되는 박자프리셋의 범위 충돌의 예를 설명하는 도면이다.
도 16의 예1에서 1번박자프리셋은 0번마디의 6번박자에서 시작해서 1번마디의 2번박자까지 연주하고 끝나는데, 예2에 있는 2번박자프리셋이 그 다음에 올 경우 1번마디의 2번박자부분이 겹치게 된다. 그러므로 2번박자프리셋을 선택할 때에는 이전 박자프리셋과 영역이 겹치지 않는 프리셋을 선택해야 한다.
또한 그 연결이 가능하다 하더라도 그 흐름이 자연스러워야 하므로, 이전의 키톤박자쉬프트값에 따라, 그뒤에 연결이 자연스러운 키톤종결형프리셋을 미리 정해두고, 그중에서 선택하는것이 좋다.
일반적으로 연결형 경로박자로 이루어진 박자프리셋(연결형박자프리셋)만을 나열하면 부자연스러운 멜로디가 될 확률이 높다. 적어도 키톤을 유지하고있는 시간은 주기적으로 등장해야 한다. 그러므로 연결형박자프리셋이 한두번 나온 이후에는 꾸밈형박자프리셋 등을 통해, 이전 연결형박자프리셋의 마지막 키톤의 지속시간을 연장시켜주는 것이 좋다.
키톤개시형 박자프리셋을 활용하는 방법은 키톤종결형 박자프리셋을 활용하는 방법과 아주 유사하다. 키톤개시형 박자프리셋은 키톤박자쉬프트범위내에서 연주된 키톤을 시작으로, 다음 키톤으로 연결되기 직전까지의 박자경로들을 포함하므로 대체적으로 해당 마디의 범위와 비슷한 범위를 가진다. 키톤개시형 박자프리셋은 키톤으로부터 시작한 박자가 다음 키톤까지 자연스럽게 이어지도록 유도하는 연결형 경로박자를 활용하기 유리하지만, 역시 꾸밈형 경로박자를 구현할 수도 있다.마찬가지로, 키톤개시형 박자프리셋을 활용할 때의 주의점도 비슷하다.
이전박자프리셋이 너무 늦게 끝나고(거의 마디의 마지막 박자까지 연주), 다음 박자프리셋의 키톤박자쉬프트가 (-) 일경우에는 두 박자프리셋의 영역이 중첩되므로 사용될 수 없다. 또한 이후에 오는 프리셋의 첫번째 톤인 키톤과의 자연스러운 연결도 고려하여 선택되어야 한다.
키톤개시형 박자프리셋으로부터 확인할 수 있는 음악적 특성, 즉 키톤종결형 박자프리셋의 속성은 다음과 같다
톤들의 개수와 위치분포 확인가능- 박자프리셋 내의 톤경로가 몇개의 진행톤으로 이루어져있는가와 그 진행톤들이 어느어느 박자와 매칭되어 있는가 하는 특유의 박자 구조를 확인할 수 있다.
반복톤의 대체구조 확인가능-도14에서 보듯이, 반복톤이 어디어디에 들어가있는가를 확인할 수 있다.
첫톤(키톤)의 박자쉬프트 값 확인가능- 앞서 설명된대로, 원래 키톤이 있어야 할 박자에서 얼마나 어긋나 있는지를 확인할 수 있다.
마지막톤의 박자번호 확인가능- 키톤개시형 박자프리셋에서는 최종적으로 연주되는 톤의 박자번호, 즉 해당 마디의 몇번째 박자에서 연주되는가를 나타내는 수치를 확인할 수 있다.
기타 주관적으로 부여할 수 있는 성격-연결형박자경로와 꾸밈형박자경로 중 어느 한쪽으로 치우친 정도, 이전 마지막톤의 박자번호에따른 출현가능여부나 어울리는 정도 등을 확인할 수 있다.
키톤개시형과 키톤종결형 박자프리셋은 서로 섞어가며 사용될 수도 있다.
도 17은 키톤개시형과 키톤종결형의 변환을 설명하는 도면이다.
도 17을 참조하면,
(1)키톤개시형의 진행중 키톤종결형으로의 전환- 키톤개시형 박자프리셋이 진행중에, 다음프리셋의 키톤만을 연주한 후, 남은 톤들은 버리고, 바로 진행톤부터 시작되는 새로운 키톤종결형 박자프리셋의 박자를 적용하면 된다.
(2)키톤종결형의 진행중 키톤개시형으로의 전환- 키톤종결형 박자프리셋이 진행중에, 해당 프리셋의 마지막 톤인 키톤이 연주된 것은 바로 그다음에 바뀌어 이어질 새로운 키톤개시형 프리셋의 첫톤이 연주된 것으로 간주한다. 그러므로 마지막으로 연주된 키톤종결형 박자프리셋의 키톤쉬프트값과 같은 키톤쉬프트값(도 17에서는 0)을 갖는 키톤개시형 박자프리셋을 선택하여 키톤이 연주된 후 바로 다음톤부터 연주를 시작하면 된다.
키톤개시형박자프리셋과 키톤종결형박자프리셋을 섞어가며 사용할 경우, 키톤개시형박자프리셋은 자신의 장점인 연결형박자경로를 자연스럽게 구현한 프리셋으로 준비하고, 키톤종결형 프리셋은 자신의 장점인 꾸밈형박자경로를 자연스럽게 구현한 프리셋으로 준비 한 후 사용함으로써 보다 연결형과 꾸밈형 박자경로의 특징을 살릴 수 있다.
키톤개시형과 키톤종결형 박자프리셋의 설계는 여러 박자프리셋과의 연결시 연결되는 부분의 적합성을 키톤박자쉬프트값별로 모든 프리셋에 대해 설정해줘야 한다. 키톤독립형 박자프리셋의 경우에는 그러한 앞뒤의 두 키톤들의 박자쉬프트값을 한번에 모두 고려해서 만든 프리셋으로, 프리셋간의 경계는 매 코드에 해당하는 키톤 그 자체이며, 프리셋에는 키톤을 포함하지 않는다. 그러므로 키톤은 프리셋을 선택하기 전에 모두 결정되어 키톤쉬프트값에 의해 위치가 설정되어있어야 한다.
키톤독립형박자프리셋의 경우에도 박자가 어떻게 구성되어있는가에 따라 꾸밈형인지 연결형인지로 나뉜다
도 18은 키톤독립형 박자프리셋 설계의 예를 설명하는 도면이다.
도 18을 참조하면, 위의 표에서는 각각의 이전키톤과 다음키톤의 쉬프트값에 대해 그 사이를 채우는 키톤독립형박자프리셋이 정의되어있다. 반복톤이 활용된것도 포함되어있으며, 3톤짜리를 예로 들었다. 1번프리셋의 경우 앞뒤의 키톤 모두 쉬프트값이 0이고, 전형적인 연결형박자프리셋이다. 3번프리셋의 경우 전형적인 꾸밈형박자프리셋이다. 키톤독립형 박자프리셋이 가질 수 있는 속성들은 다음과 같다.
톤들의 개수와 위치분포
반복톤의 대체구조
양쪽 두 키톤의 쉬프트값
기타 주관적으로 부여할 수 있는 성격: 연결형박자경로와 꾸밈형박자경로 중 어느 한쪽으로 치우친 정도, 이전 마지막톤의 박자번호에따른 출현가능여부나 어울리는 정도 등
자동음악 작곡방법(100)은 앞서 설명된 바와 같은 원리로 동작하는 프로그램이 컴퓨터나 핸드폰 등과 같은 모바일 장치의 메모리에 저장되고 프로세서에 의해 제어됨으로써 사용자 인터페이스를 통하여 자동으로 음악을 작곡할 수 있는 기능을 사용자에게 제공한다.
다시 정리해보면, 자동음악 작곡방법(100)은 먼저, 음악 환경을 설정한다. 환경설정은 마디당 박자의 수, 구성, 빠르기, 키(key) 등을 의미하며, 이는 전자장치의 인터페이스에서 사용자에게 그 설정을 요구하거나 프로세서에 의해서 무작위로 설정될 수도 있다.
그리고, 첫번째의 최소구성단위에 사용할 코드진행을 결정한다. 그다음 해당 코드진행에 맞는 키톤을 생성하고, 박자 프리셋에서 요구하는 성격(진행톤의 갯수)에 맞는 톤경로를 생성하며, 각 마디에 박자프리셋을 생성한다. 이때, 박자프리셋을 생성하는 것과 톤경로를 생성하는 것은 서로 순서가 바뀌어도 된다.
마지막으로, 다음 최소구성단위에 대하여 위의 단계들을 반복하여, 전체 구성에 맞는 최소구성단위들을 모두 만든다. 이렇게 최소구성단위들이, 해당하는 박자프리셋에 일대일로 키톤과 톤경로를 대입하여, 해당하는 박자에 대입된 톤을 연주한다.
생성되는 음악이 음악적 감수성에 의해 각인되게 하기 위하여 자동음악 작곡방법(100)은 다음과 같은 방식으로 반복적이고 유사한 형태의 진행을 만들 수 있다.
1. 같은 박자프리셋을 반복시키는 방법
같은 박자프리셋을 2회 이상 반복시키거나 2개 혹은 4개의 동일한 순서의 박자프리셋의 연결을 반복시키는 방법이다. 다시 말해, 1,2,4,8 마디 등 일정 갯수의 마디를 기준으로 박자프리셋의 흐름을 반복시킨다.
2. 유사한 박자프리셋을 반복하는 방법
박자프리셋 설계시 설계자가 지정해놓은 속성이 같거나, 키톤 쉬프트값, 연결형이나 꾸밈형의 경향 정도 등이 같은 프리셋으로만 선택하는 방법이다.
3. 위와 같은 방법으로 만들어진 최소구성단위 하나를 그대로 복사하여, 그 마디중 특정 일부분에서의 키톤, 박자프리셋, 톤경로들을 무작위의 다른것으로 변경하여, 유사한 최소구성단위들을 만드는 방법
본 발명의 실시예에 따른 자동음악 작곡 방법(100)은 생성되는 톤이 사용자의 단말기 입력에 대응하여 연주될 수도 있다.
이 경우, 상기 키톤은 외부입력신호에 응답하여 출력될 수 있고, 여기서, 상기 외부입력신호는 소정의 단말기를 타이핑(typing) 할 때 발생하는 타이핑 신호이다. 만일 상기 외부입력신호가 입력되는 시점이 상기 키톤이 연주되기로 미리 설정된 시점과 동일하면 미리 설정된 상기 키톤의 벨라서티(velocity)보다 더 큰 벨라서티를 가지도록 상기 키톤이 연주되도록 할 수 있다.
또한, 상기 진행톤은 외부입력신호에 응답하여 출력될 수 있고, 상기 외부입력신호는 소정의 단말기를 타이핑(typing) 할 때 발생하는 타이핑 신호이다.
이 경우, 첫번째 입력되는 외부입력신호에 응답하여 첫번째 진행톤이 발생되면 두번째 진행톤은 상기 톤경로 라이브러리에서 상기 첫번째 진행톤을 기준으로 다음에 선택될 진행톤이 결정되도록 할 수 있다.
그리고, 상기 외부입력신호가 일정시간 이상 입력되지 않으면 다음 코드 대신 음악 종결용 코드가 생성되어 연주될 수 있다.
단말기의 입력, 즉 외부입력신호에 대응하여 톤이 발생되는 방식의 경우, 컴퓨터나 핸드폰 등의 전자장치에 프로그램으로 저장되어 사용자의 간단한 설정에 의해서 자동으로 음악이 작곡되는 경우와 비교할 때, 다음과 같은 차이를 가지게 된다.
즉, 곡이 언제 끝날지에 대해 예측할 수 없다. 그리고, 톤이 언제 연주되어야 하는지 예측할 수 없다.
그러므로, 단말기의 입력에 대응하여 동작하는 경우, 최소구성단위들을 무제한 연이어 재생하는 형태로, 상위의 전체적인 구성을 참고하지 않는다. 또한 최소구성단위 내에서의 코드진행중 어느 부분에서도 연주가 종료되었을 때(사용자의 종료명령이 있는경우.) 자연스럽게 음악을 종결시키는 방법을 가지고 있어야 한다.
가령 Gmaj 코드가 연주중인 상태에서 연주 종료 명령이 입력되면 바로 다음 마디에 종결용 코드 Cmaj(end)를삽입하여 끝내고, Fmaj 코드가 연주중인 상태에서는 Gmaj 코드를 하나 더 거쳐 종결코드로 가는 등의 설정이 설계되어있어야 한다.
단말기의 입력에 대응하여 동작하는 방식에서는 다음과 같은 두가지 방식으로 입력에 연주가 반응하도록 한다.
1. 한번의 입력에 하나의 톤을 연주하도록 하는 방식
한번의 입력에 반응하여 하나의 톤을 연주하도록 하는 방법에서 멜로디의 진행을 위하여 키톤은 사용자의 입력이 없어도 연주될 수 있다. 자동음악 작곡방법(100)은 해당 코드의 배경음악과 함께 키톤을 그 기본위치(0번박자)에서 항상 연주한다. 그러다가 사용자의 입력, 즉 외부입력신호가 들어오면 해당하는 시점에서 톤을 연주한다.
그 해당하는 시점이 키톤이 재생되는 시점이라면 원래 연주하기로 되어있던 그 키톤을 더욱 세게(높은 벨라서티값을 주어) 연주하고, 그렇지 않고 진행톤이 재생될 시점에 입력이 있으면 진행톤을 만들어낸다.
사용자 입력에 의한 진행톤을 만들어내는 방법은 두가지가 있다.
(l) 진행톤수별 톤경로 파생방법
한번의 입력에 대응해 단말기의 입력에 대응하여 동작하는 방식에서는 하나의 진행톤으로 이루어진 톤경로를 선택한다. 가령 0에서 4로 이어지는 키톤 흐름에서 2라는 진행톤 하나로 이루어진 톤경로를 선택하여 연주한다.
그 후 계속 입력이 없으면 다음 키톤이 해당 시점에 연주되고, 한번의 입력이 더 있으면, 이미 연주된 2라는 진행톤으로 시작되는, 길이 2개짜리 톤경로중 하나를 톤경로 라이브러리에서 선택한다.
그러면 톤경로는 2 에서 2_5 로 변경되고, 5가 연주된다. 또 한번의 입력이 있으면 2_5로 시작하는 길이 3개짜리 톤경로중 하나를 톤경로 라이브러리에서 선택한다. 가령 2_5_7이 선택될 수 있다. 그렇게 점차 개수가 늘어갈수록 이전에 연주되었던 톤경로로 시작되는, 더 긴 길이의 톤경로를 선택해나가는 방식을 활용하면 언제 사용자의 입력이 멈추더라도 그때까지 재생된 진행톤들은 하나의 설계된 톤경로와 일치한다.
(2) 단일진행톤 추가방법
단일 진행톤 추가방법은 한번의 진행톤 위치의 입력에 대해 이전 키톤으로부터 목적 키톤으로 이르는 하나짜리 톤경로를 생성한다. 그리고 또 한번의 입력에 대응해서는 이전에 생성된 톤으로부터 다음 목적 키톤으로 이르는 또 하나의 톤경로를 생성한다. 그리고 이를 반복한다.
그러므로 키톤 이후의 첫 입력을 제외하고는, 목적톤은 항상 다음 키톤이지만, 이전톤은 키톤이 아닐 수도 있다. 그러므로 단말기의 입력에 대응하여 동작하는 방식에서 단일경로톤을 추가하는 방법은 길이 하나짜리 키톤간 톤경로를 선택하는 방법에 의해 얻을 수 없을 수도 있으므로 별도의 규칙을 적용하여 생성한다. 규칙은 다음과 같다.
첫째로,이전 톤으로부터 목적톤으로 가는 사이에 추가되는 톤은 양쪽 톤에서 멀지 않을수록 출현 확률이 크다. 둘째로, 이전톤과 다음 키톤의 어느 하나로부터 일정범위(보통 한옥타브)이상 떨어진 톤은 생성하지 않는다.
2. 전체적인 입력속도에 반응하여 박자프리셋을 선택하는 방식
사용자의 입력에 바로 반응하는 방식은 입력에 대해 연주되는 일치감은 높으나 톤이 언제 연주될지 모르는 특성상, 키톤이 멜로디에 안정감을 부여하거나 안정감 있는 박자를 활용할 수 없다.
그러므로 사용자의 입력에 어느 정도 조작감을 만족시키면서 자동음악 작곡방법(100)에서 설계된 박자프리셋을 사용하기 위해 사용자의 입력밀도에 대응시키는 방법을 사용할 수 있다.
사용자의 입력이 없으면 사용자의 단말기 입력에 대응하여 동작하는 방식에서는 키톤만을 기본박자에 연주한다. 이것은 기본박자에 키톤 하나만 있는 박자프리셋을 연주하는 것과 같다.
최근 수초간의 사용자의 입력횟수에 따라 입력의 밀도가 결정되면 그 밀도에 따라, 다음 박자프리셋을 선택할 때, 박자 경로의 길이가 그에 상응하는, 박자프리셋을 선택한다.
가령 밀도가 높을 경우, 박자경로가 길어서 많은 톤을 가진 박자프리셋이 연주되면, 전체적으로 사용자가 많은 입력을 할 때 많은 톤이 연주되는 조작감을 더할 수 있다.
좀 더 구체적으로 설명하면, 일정시간동안의 외부입력신호의 입력횟수를 측정하여 그 입력밀도를 결정하고, 입력밀도가 미리 정해진 기준값을 넘어가면 박자가 연주되는 부분이 미리 정해진 기준횟수 이상인 박자프리셋이 선택되도록 하며, 입력밀도가 기준값보다 이하이면 박자가 연주되는 부분도 기준횟수보다 적은수로 구성되는 박자프리셋이 선택되도록 하는 것이다. 여기서, 상기 기준값과 기준횟수는 자동음악 작곡방법(100)을 이용하여 음악을 작곡하는 작곡자에 의해서 미리 결정될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1(a)는 현재 보편적으로 사용되고 있는 음의 높이의 표현방법을 설명하는 도면이다.
도 1(b)는 본 발명의 실시예에 따른 자동음악 작곡방법에서 사용하는 음의 높이의 표현방법을 설명하는 도면이다.
도 2는 본 발명의 실시예에 따른 자동 음악 작곡 방법을 설명하는 플로우 차트이다.
도 3은 구성프리셋의 하나의 예를 설명하는 도면이다.
도 4는 작성된 키톤 데이터 테이블의 예를 나타내는 도면이다.
도 5는 모바일 단말기상의 숫자버튼에 키톤을 매칭 시키는 방법을 설명하는 도면이다.
도 6은 간단한 형태의 키톤설계그래프 적용방법을 설명하는 도면이다.
도 7은 톤경로 라이브러리 설계를 설명하는 도면이다.
도 8은 이진법을 활용한 박자 구분을 설명하는 도면이다.
도 9는 8개의 박자가 한 마디에 들어가고, 키톤이 연주되는 형태의 박자프리셋의 일례를 설명하는 도면이다.
도 10은 키톤의 박자쉬프트가 +2인 경우를 설명하는 도면이다.
도 11은 키톤 박자쉬프트값이 -1인 한가지 박자프리셋을 반복시킨 결과를 설명하는 도면이다.
도 12는 각기 다른 박자프리셋들로 연결되는 형태를 설명하는 도면이다.
도 13은 잘못된 연결형 박자경로 구현의 예를 설명하는 도면이다.
도 14는 반복톤이 포함된 한가지 종류의 박자프리셋이 반복되는 것을 설명하는 도면이다.
도 15는 키톤종결형 박자프리셋 설계의 예이다.
도 16은 연결되는 박자프리셋의 범위 충돌의 예를 설명하는 도면이다.
도 17은 키톤개시형과 키톤종결형의 변환을 설명하는 도면이다.
도 18은 키톤독립형 박자프리셋 설계의 예를 설명하는 도면이다.

Claims (13)

  1. 작곡될 음악곡을 구성하며, 일정한 마디수를 가지는 최소구성단위의 각각의 마디에 대응되는 코드를 결정하는 단계 ;
    상기 코드와 매치레벨 0에 해당하는 톤(tone, 음높이)을 의미하는 키톤을 적어도 하나 이상 생성하여 상기 코드에 대응시키는 단계 ;
    상기 키톤을 경유하여 진행하는 멜로디를 생성하기 위하여, 상기 키톤과 다음 코드의 키톤 사이에 연주되는 톤들을 의미하는 진행톤과 이러한 진행톤들의 집합인 톤경로를 생성하는 단계 ;
    상기 최소구성단위에서 상기 키톤과 상기 진행톤들을 연주할 위치를 지정하기 위한 박자들과, 상기 박자들 중 어느 박자에 상기 키톤이 대응되고, 상기 키톤에 대응되는 박자 이외의 나머지 박자들의 어디에 상기 진행톤들이 대응될 것인지에 대한 정보를 가지는 박자프리셋을 결정하는 단계 ; 및
    상기 박자프리셋을 참조하여 상기 키톤과 상기 진행톤들을 대응되는 박자에 일대일 대응시켜 연주가 가능한 최소구성단위를 완성시키는 단계를 구비하는 것을 특징으로 하는 자동음악 작곡방법.
  2. 제 1항에 있어서, 상기 완성시키는 단계 이후에,
    상기 코드를 결정하는 단계부터 상기 박자프리셋을 결정하는 단계를 반복하여 새로운 최소구성단위를 완성시켜 상기 작곡될 음악곡을 구성하는 전체 구성을 완성시키는 단계를 더 구비하는 것을 특징으로 하는 자동음악 작곡방법.
  3. 제 1항에 있어서, 상기 키톤을 생성하여 상기 코드에 대응시키는 단계는,
    상기 최소구성단위의 코드에 대응되는 키톤들의 가능한 경우를 표시한 키톤 데이터 테이블로부터 선택되는 것을 특징으로 하는 자동 음악 작곡 방법.
  4. 제 3항에 있어서, 상기 키톤은 외부입력신호에 응답하여 출력될 수 있고,
    상기 외부입력신호는 소정의 단말기를 타이핑(typing) 할 때 발생하는 타이핑 신호이며,
    만일 상기 외부입력신호가 입력되는 시점이 상기 키톤이 연주되기로 미리 설정된 시점과 동일하면 미리 설정된 상기 키톤의 벨라서티(velocity)보다 더 큰 벨라서티를 가지도록 상기 키톤이 연주되는 것을 특징으로 하는 자동 음악 작곡 방법.
  5. 제 1항에 있어서, 상기 키톤을 생성하여 상기 코드에 대응시키는 단계는,
    세로축에 키톤의 음높이가 배열되고, 가로축에 각각의 마디에 대응되는 코드가 배열되며 키톤의 높이수준을 표현하는 연속적인 그래프가 그려지는 키톤설계그래프를 이용하며,
    가로축의 임의의 코드에 대응되는 그래프상의 키톤의 음높이가 선택되고, 선택된 음높이가 상기 임의의 코드와 매치레벨 0이면 선택된 음높이가 키톤으로 선택 되며, 선택된 음높이가 상기 임의의 코드와 매치레벨 0이 아니면 선택된 음높이에서 가장 가까우면서 상기 임의의 코드와 매치레벨 0이 되는 음높이가 키톤으로 선택되는 것을 특징으로 하는 자동음악 작곡방법.
  6. 제 1항에 있어서, 상기 톤경로를 생성하는 단계는,
    상기 톤경로가 하나 이상의 상기 진행톤으로 구성되며,
    이전코드와 이에 대응하는 키톤 및 다음코드와 이에 대응하는 키톤을 고려하여 이전 키톤으로부터 다음 키톤으로 가능한 진행톤들을 개수별로 모두 설계해 놓은 톤경로 라이브러리로부터 선택되는 것을 특징으로 하는 자동음악 작곡방법.
  7. 제 6항에 있어서,
    상기 진행톤은 외부입력신호에 응답하여 출력될 수 있고,
    상기 외부입력신호는 소정의 단말기를 타이핑(typing) 할 때 발생하는 타이핑 신호이며,
    첫번째 입력되는 외부입력신호에 응답하여 첫번째 진행톤이 발생되면 두번째 진행톤은 상기 톤경로 라이브러리에서 상기 첫번째 진행톤을 기준으로 다음에 선택될 진행톤이 결정되는 것을 특징으로 하는 자동 음악 작곡 방법.
  8. 제 7항에 있어서, 상기 톤경로 라이브러리에서 상기 첫번째 진행톤을 기준으로 다음에 선택될 진행톤이 결정되는 것은,
    상기 첫번째 입력되는 외부입력신호 이후의 N(N은 자연수)개의 외부입력신호에 응답하여 발생되는 진행톤은 상기 첫번째 진행톤과 동일한 진행톤으로 시작하면서 N개의 진행톤이 존재하는 톤경로가 상기 톤경로 라이브러리에서 선택되어 연주되는 것을 특징으로 하는 자동음악 작곡방법.
  9. 제 7항에 있어서, 상기 외부입력신호가 일정시간 이상 입력되지 않으면 다음 코드 대신 음악 종결용 코드가 생성되어 연주되는 것을 특징으로 하는 자동음악 작곡방법.
  10. 제 1항에 있어서, 상기 톤경로를 생성하는 단계는,
    세로축에 음높이가 배열되고, 가로축에 이전 코드와 다음코드 사이에 들어갈 박자가 배열되며 톤의 높이수준을 표현하는 연속적인 그래프가 그려지는 톤경로설계그래프를 이용하며,
    가로축의 임의의 박자에 대응되는 그래프상의 톤의 음높이가 선택되고, 선택된 음높이가 상기 이전 코드와 매치레벨 0 또는 1이면 선택된 음높이가 상기 진행톤으로 선택되며, 선택된 음높이가 상기 이전 코드와 매치레벨 0 또는 1이 아니면 선택된 음높이에서 가장 가까우면서 상기 이전 코드와 매치레벨 0이 되는 음높이가 상기 진행톤으로 선택되는 것을 특징으로 하는 자동음악 작곡방법.
  11. 제 1항에 있어서, 상기 박자프리셋은,
    박자가 연주되는 부분은 1로 표시하고 박자가 연주되지 않는 부분은 0으로 표시되며, 상기 키톤이 대응될 수 있는 박자의 위치와 상기 진행톤이 대응될 수 있는 박자의 위치가 표시된 표들로 구성된 데이터베이스인 것을 특징으로 하는 자동음악 작곡방법.
  12. 제 11항에 있어서, 상기 박자프리셋은,
    이전에 연주된 키톤 또는 진행톤과 동일한 높이의 톤을 한번 더 연주하는 반복톤을 박자가 연주되는 부분에 대응되는 위치에 더 구비하는 것을 특징으로 하는 자동음악 작곡방법.
  13. 제 12항에 있어서,
    상기 박자프리셋은 외부입력신호에 응답하여 선택될 수 있고,
    상기 외부입력신호는 소정의 단말기를 타이핑(typing) 할 때 발생하는 타이핑 신호이며,
    일정시간동안의 상기 외부입력신호의 입력횟수를 측정하여 그 입력밀도가 기준값을 넘어가면 박자가 연주되는 부분이 기준횟수 이상인 박자프리셋이 선택되고,
    상기 기준값과 기준횟수는 자동음악을 작곡하는 작곡자에 의해서 결정되는 것을 특징으로 하는 자동음악 작곡방법.
KR1020080097314A 2008-10-02 2008-10-02 자동음악 작곡 방법 KR20100037955A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020080097314A KR20100037955A (ko) 2008-10-02 2008-10-02 자동음악 작곡 방법
PCT/KR2008/005844 WO2010038916A1 (en) 2008-10-02 2008-10-06 Automatic musical composition method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080097314A KR20100037955A (ko) 2008-10-02 2008-10-02 자동음악 작곡 방법

Publications (1)

Publication Number Publication Date
KR20100037955A true KR20100037955A (ko) 2010-04-12

Family

ID=42073663

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080097314A KR20100037955A (ko) 2008-10-02 2008-10-02 자동음악 작곡 방법

Country Status (2)

Country Link
KR (1) KR20100037955A (ko)
WO (1) WO2010038916A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101428456B1 (ko) * 2012-12-17 2014-08-12 조성일 사용자 맞춤형 악기교육 장치
KR101428457B1 (ko) * 2012-12-17 2014-08-12 조성일 사용자 맞춤형 악보제공 장치 및 방법
KR20160076775A (ko) 2014-12-23 2016-07-01 김성현 입력 곡 정보에 기반한 자동 작곡 프로그램 및 시스템
CN107871488A (zh) * 2016-09-28 2018-04-03 卡西欧计算机株式会社 和弦判定装置、和弦判定方法以及非暂时性记录介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104199864B (zh) * 2014-08-15 2018-10-09 北京搜狗科技发展有限公司 一种输入过程中按键音提示的方法和装置
US11132983B2 (en) 2014-08-20 2021-09-28 Steven Heckenlively Music yielder with conformance to requisites
CN111415643B (zh) * 2020-04-26 2023-07-18 Oppo广东移动通信有限公司 通知音创作方法、装置、终端设备和存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3303617B2 (ja) * 1995-08-07 2002-07-22 ヤマハ株式会社 自動作曲装置
JP3541706B2 (ja) * 1998-09-09 2004-07-14 ヤマハ株式会社 自動作曲装置および記憶媒体
KR100678095B1 (ko) * 2002-12-03 2007-02-01 삼성전자주식회사 휴대용 단말기에서 음악을 작곡하는 방법
JP4135636B2 (ja) * 2003-12-26 2008-08-20 ヤマハ株式会社 電子音楽装置およびその制御方法を実現するためのプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101428456B1 (ko) * 2012-12-17 2014-08-12 조성일 사용자 맞춤형 악기교육 장치
KR101428457B1 (ko) * 2012-12-17 2014-08-12 조성일 사용자 맞춤형 악보제공 장치 및 방법
KR20160076775A (ko) 2014-12-23 2016-07-01 김성현 입력 곡 정보에 기반한 자동 작곡 프로그램 및 시스템
CN107871488A (zh) * 2016-09-28 2018-04-03 卡西欧计算机株式会社 和弦判定装置、和弦判定方法以及非暂时性记录介质
CN107871488B (zh) * 2016-09-28 2021-12-31 卡西欧计算机株式会社 和弦判定装置、和弦判定方法以及非暂时性记录介质

Also Published As

Publication number Publication date
WO2010038916A1 (en) 2010-04-08

Similar Documents

Publication Publication Date Title
Temperley The musical language of rock
CN101800046B (zh) 一种根据音符生成midi音乐的方法和装置
KR20100037955A (ko) 자동음악 작곡 방법
US20090217805A1 (en) Music generating device and operating method thereof
JP6465136B2 (ja) 電子楽器、方法、及びプログラム
US8399757B2 (en) Automatic analysis and performance of music
KR101931087B1 (ko) 사용자 허밍 멜로디 기반 멜로디 녹음을 제공하기 위한 방법 및 이를 위한 장치
Mice et al. Super size me: Interface size, identity and embodiment in digital musical instrument design
JP2007219139A (ja) 旋律生成方式
JP2007140165A (ja) カラオケ装置およびカラオケ装置用プログラム
JP2007034115A (ja) 楽曲演奏装置および楽曲演奏システム
JP2002278548A (ja) 作詞作曲装置及びプログラム
JP2003263169A (ja) 電子楽器およびその演奏方法
KR102240872B1 (ko) 주변 환경 기반의 자동 작곡 방법 및 그 장치
KR100762079B1 (ko) 자동음악 작곡 방법 및 자동음악 작곡 시스템
JP2002278549A (ja) 作詞作曲装置及びプログラム
KR102269591B1 (ko) 자동작곡장치 및 그 방법
JP3664126B2 (ja) 自動作曲装置
JP6073618B2 (ja) カラオケ装置
JP3641955B2 (ja) 楽曲データ生成装置及びそのための記録媒体
JP6415136B2 (ja) カラオケ歌唱採点システム
Heetderks Slanted beats, enchanted communities: Pavement's early phrase rhythm as indie narrative
Khachatryan Re-Assessing Rachmaninoff's Legacy: The Piano Concertos and Evolution of His Musical Style
Reale Making the Most of an Enharmonic Seam: Pitch Respellings, Semitone Relationships, and Mode Mixture in Fiona Apple’s “Extraordinary Machine”
Yang et al. MIDI-LAB, a Powerful Visual Basic Program for Creating MIDI Music

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid