KR102661964B1 - Chord generation method and apparatus - Google Patents

Chord generation method and apparatus Download PDF

Info

Publication number
KR102661964B1
KR102661964B1 KR1020210169492A KR20210169492A KR102661964B1 KR 102661964 B1 KR102661964 B1 KR 102661964B1 KR 1020210169492 A KR1020210169492 A KR 1020210169492A KR 20210169492 A KR20210169492 A KR 20210169492A KR 102661964 B1 KR102661964 B1 KR 102661964B1
Authority
KR
South Korea
Prior art keywords
chord
beat intensity
basic
intensity value
value
Prior art date
Application number
KR1020210169492A
Other languages
Korean (ko)
Other versions
KR20230081441A (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 KR1020210169492A priority Critical patent/KR102661964B1/en
Publication of KR20230081441A publication Critical patent/KR20230081441A/en
Application granted granted Critical
Publication of KR102661964B1 publication Critical patent/KR102661964B1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/38Chord
    • G10H1/383Chord detection and/or recognition, e.g. for correction, or automatic bass generation
    • 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
    • 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/031Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
    • G10H2210/081Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for automatic key or tonality recognition, e.g. using musical rules or a knowledge base
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/101Music Composition or musical creation; Tools or processes therefor
    • G10H2210/145Composing rules, e.g. harmonic or musical rules, for use in automatic composition; Rule generation algorithms therefor
    • 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/325Musical pitch modification
    • G10H2210/331Note pitch correction, i.e. modifying a note pitch or replacing it by the closest one in a given scale
    • G10H2210/335Chord correction, i.e. modifying one or several notes within a chord, e.g. to correct wrong fingering or to improve harmony
    • 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/571Chords; Chord sequences
    • G10H2210/576Chord progression

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

화음생성방법 및 그 장치가 개시된다. 화음생성장치는 적어도 하나 이상의 마디에 적어도 하나 이상의 기본코드를 포함하는 악보를 입력받고, 악보에 기 정의된 박자강도값 배열을 배치하고 적어도 하나 이상의 박자강도값을 선택하여 더한 총합이 제1 제어값이 되도록 하는 박자강도값의 제1 위치를 임의로 선택한 후 제1 위치에 해당하는 기본코드에 온음계의 음을 추가하고, 박자강도값 배열에서 적어도 하나 이상의 박자강도값을 선택하여 더한 총합이 제2 제어값이 되도록 하는 박자강도값의 제2 위치를 임의로 선택하고, 제2 위치에 해당하는 기본코드에 반음계의 음을 추가한다.A chord generation method and device are disclosed. The chord generating device receives sheet music including at least one basic code in at least one measure, arranges an array of predefined beat intensity values in the score, selects at least one beat intensity value, and the total sum is the first control value. After arbitrarily selecting the first position of the beat intensity value so that Randomly select the second position of the beat intensity value, and add a chromatic note to the basic chord corresponding to the second position.

Description

화음생성방법 및 그 장치{Chord generation method and apparatus}Chord generation method and apparatus}

본 발명의 실시 예는 화음(chord)을 생성하는 방법 및 장치에 관한 것이다.Embodiments of the present invention relate to a method and device for generating chords.

작곡을 위해서는 각 마디에 적어도 하나 이상의 코드(Chord) 배열이 필요하다. 각 키(key)에 해당하는 기본코드(Diatonic Chords)가 존재하며 이들 기본코드를 이용하여 작곡하는 다양한 작곡 이론이 존재한다. 그러나 기본코드를 이용하는 작곡 이론의 적용만으로는 복잡하고 세련된 코드의 악보를 만드는데 한계가 있다. In order to compose, at least one chord arrangement is required for each measure. There are basic chords (diatonic chords) corresponding to each key, and there are various composition theories for composing music using these basic chords. However, there are limits to creating scores with complex and sophisticated codes simply by applying composition theory using basic codes.

본 발명의 실시 예가 이루고자 하는 기술적 과제는, 기본코드를 기반으로 이를 조작하여 복잡하고 세련된 코드로 리하모니제이션(reharmonization)할 수 있는 화음생성방법 및 그 장치를 제공하는 데 있다. The technical problem to be achieved by the embodiments of the present invention is to provide a chord generation method and device that can manipulate the basic chords and reharmonize them into complex and sophisticated chords.

상기의 기술적 과제를 달성하기 위한, 본 발명의 실시 예에 따른 화음생성방법의 일 예는, 적어도 하나 이상의 마디에 적어도 하나 이상의 기본코드를 포함하는 악보를 입력받는 단계; 상기 악보에 기 정의된 박자강도값 배열을 배치하고 적어도 하나 이상의 박자강도값을 선택하여 더한 총합이 제1 제어값이 되도록 하는 박자강도값의 제1 위치를 임의로 선택하는 단계; 상기 제1 위치에 해당하는 기본코드에 온음계의 음을 추가하는 단계; 상기 박자강도값 배열에서 적어도 하나 이상의 박자강도값을 선택하여 더한 총합이 제2 제어값이 되도록 하는 박자강도값의 제2 위치를 임의로 선택하는 단계; 및 상기 제2 위치에 해당하는 기본코드에 반음계의 음을 추가하는 단계;를 포함한다.In order to achieve the above technical problem, an example of a chord generation method according to an embodiment of the present invention includes the steps of receiving sheet music including at least one basic code in at least one measure; Arranging a predefined beat intensity value array in the score, selecting at least one beat intensity value, and arbitrarily selecting a first position of the beat intensity value such that the sum added becomes a first control value; adding a diatonic note to the basic chord corresponding to the first position; Selecting at least one beat intensity value from the array of beat intensity values and arbitrarily selecting a second position of the beat intensity value such that the added sum becomes a second control value; and adding a chromatic note to the basic chord corresponding to the second position.

상기의 기술적 과제를 달성하기 위한, 본 발명의 실시 예에 따른 화음생성장치의 일 예는, 적어도 하나 이상의 마디에 적어도 하나 이상의 기본코드를 포함하는 악보를 입력받는 악보입력부; 상기 악보에 기 정의된 박자강도값 배열을 배치하고 적어도 하나 이상의 박자강도값을 더한 총합이 제1 제어값이 되도록 하는 박자강도값의 제1 위치를 임의로 선택하는 제1 위치파악부; 상기 제1 위치에 해당하는 기본코드에 온음계의 음을 추가하는 제1 음추가부; 상기 박자강도값 배열에서 적어도 하나 이상의 박자강도값을 더한 총합의 제2 제어값이 되도록 하는 박자강도값의 제2 위치를 임의로 선택하는 제2 위치파악부; 및 상기 제2 위치에 해당하는 기본코드에 반음계의 음을 추가하는 제2 음추가부;를 포함한다.In order to achieve the above technical problem, an example of a chord generating device according to an embodiment of the present invention includes: a score input unit that receives score including at least one basic code in at least one measure; a first positioning unit that arranges an array of predefined beat intensity values in the score and arbitrarily selects a first position of the beat intensity value such that the sum of at least one beat intensity value becomes a first control value; a first tone addition unit that adds a diatonic tone to the basic code corresponding to the first position; a second position determination unit that randomly selects a second position of the beat intensity value to become a second control value of the sum of at least one beat intensity value in the beat intensity value array; and a second tone addition unit that adds a chromatic tone to the basic code corresponding to the second position.

본 발명의 실시 예에 따르면, 기본코드가 주어지면 이를 적절히 변형하여 사용자가 원하는 복잡하고 세련된 코드를 만들 수 있다. According to an embodiment of the present invention, when a basic code is given, it is possible to create a complex and sophisticated code desired by the user by appropriately modifying it.

도 1은 본 발명의 실시 예에 따른 화음생성장치의 일 예를 도시한 도면,
도 2는 본 발명의 실시 예에 따른 화음생성방법의 일 예를 도시한 도면,
도 3은 본 발명의 실시 예에 따른 기본코드를 자동 생성하는 방법의 일 예를 도시한 도면,
도 4 및 도 5는 본 발명의 실시 예에 따른 온음계적 긴장감을 형성하는 방법의 일 예를 도시한 도면,
도 6 내지 도 8은 본 발명의 실시 에에 따른 반음계적 긴장감을 형성하는 방법의 일 예를 도시한 도면,
도 9는 본 발명의 실시 예에 따른 화음생성장치의 일 예의 구성을 도시한 도면이다.
1 is a diagram showing an example of a chord generating device according to an embodiment of the present invention;
Figure 2 is a diagram showing an example of a chord generation method according to an embodiment of the present invention;
3 is a diagram illustrating an example of a method for automatically generating a basic code according to an embodiment of the present invention;
4 and 5 are diagrams showing an example of a method for forming diatonic tension according to an embodiment of the present invention;
6 to 8 are diagrams showing an example of a method for forming chromatic tension according to an embodiment of the present invention;
Figure 9 is a diagram showing the configuration of an example of a chord generating device according to an embodiment of the present invention.

이하에서, 첨부된 도면들을 참조하여 본 발명의 실시 예에 따른 화음생성방법 및 그 장치에 대해 상세히 설명한다.Hereinafter, a chord generation method and device according to an embodiment of the present invention will be described in detail with reference to the attached drawings.

도 1은 본 발명의 실시 예에 따른 화음생성장치의 일 예를 도시한 도면이다.1 is a diagram illustrating an example of a chord generating device according to an embodiment of the present invention.

도 1을 참조하면, 화음생성장치(100)는 적어도 하나 이상의 마디에 적어도 하나 이상의 기본코드(diatonic chord)를 포함하는 악보(110)에 대하여, 기본코드에 다른 음을 추가하여 좀 더 복잡하고 세련된 코드로 꾸미는 리하모니제이션(reharmonization)(120)을 수행한다. 화음생성장치(100)는 리하모니제이션의 방법으로 온음계적 긴장감 형성과 반음계적 긴장감 형성을 이용하는데 이에 대해서는 도 2 이하에서 다시 살펴본다.Referring to FIG. 1, the chord generation device 100 adds another note to the basic chord to the score 110, which includes at least one basic chord (diatonic chord) in at least one measure, to create a more complex and sophisticated sound. Perform reharmonization (120) using code. The chord generation device 100 uses diatonic tension formation and chromatic tension formation as a reharmonization method, which will be reviewed again in FIG. 2 and below.

악보(110)에 포함되는 기본코드는 사용자가 직접 입력하거나 도 3의 방법과 같이 마르코프 체인(markov chain)을 이용하여 자동 생성할 수 있다. 리하모니제이션을 위한 악보(110)는 한 마디로 구성되거나 4마디로 구성되는 등 실시 예에 따라 포함되는 마디의 수는 다양하게 변형될 수 있다. 기본코드는 하나의 마디에 하나씩 부여되거나 하나의 마디에 복수 개 부여될 수 있다. 다른 실시 예로, 악보는 복수의 마디를 포함하고, 각 마디에 포함되는 기본코드의 수는 서로 다를 수 있다. 예를 들어, 첫 번째 마디에는 하나의 기본코드가 부여되고 두 번째 마디에는 두 개의 기본코드가 부여되는 등 마디마다 부여되는 기본코드의 수는 서로 다를 수 있다. 다만, 이하에서는 설명의 편의를 위하여 악보는 4개의 마디에 각각 하나의 기본코드가 부여된 경우를 가정하여 설명한다.The basic code included in the score 110 can be directly entered by the user or automatically generated using a Markov chain as in the method of FIG. 3. The number of bars included in the score 110 for reharmonization may vary depending on the embodiment, such as consisting of one bar or four bars. Basic codes can be assigned one by one to one measure, or multiple basic codes can be given to one measure. In another embodiment, the score includes a plurality of bars, and the number of basic codes included in each bar may be different. For example, the number of basic codes given to each measure may be different, such as one basic code being given to the first measure and two basic codes being given to the second measure. However, hereinafter, for convenience of explanation, the score will be explained assuming that one basic code is assigned to each of the four measures.

도 2는 본 발명의 실시 예에 따른 화음생성방법의 일 예를 도시한 도면이다.Figure 2 is a diagram showing an example of a chord generation method according to an embodiment of the present invention.

도 2를 참조하면, 화음생성장치(100)는 기본코드를 포함하는 악보를 입력받는다(S200). 기본코드를 포함한 악보는 다양한 방법으로 미리 설정되어 있을 수 있다. 다른 실시 예로, 화음생성장치는 도 3의 방법으로 기본코드를 포함하는 악보를 자동 생성할 수 있다. 기본코드를 포함하는 악보의 자동 생성에 대해서는 도 3에서 다시 살펴본다.Referring to Figure 2, the chord generating device 100 receives sheet music including a basic code (S200). Sheet music, including basic chords, can be preset in various ways. In another embodiment, the chord generating device may automatically generate sheet music including basic codes using the method of FIG. 3. The automatic generation of sheet music including basic codes is reviewed again in FIG. 3.

화음생성장치(100)는 온음계적 긴장감을 형성하도록 기본코드에 음을 추가한다(S210). 본 실시 예에서 온음계적 긴장감이란 온음계를 구성하는 7음 안에서 음을 추가하여 긴장감을 형성하는 것을 의미한다. 예를 들어, C 키(key)의 온음계의 7음은 도,레,미,파,솔,라,시이고, C 키의 으뜸화음인 C maj 코드의 구성은 도,미,솔이다. 따라서 C maj 코드에 온음계적 긴장감을 형성한다고 함은 도,미,솔 이외의 음인 레,파,라,시 중의 음을 추가하여 긴장감을 형성하는 것을 의미한다. The chord generator 100 adds notes to the basic chord to create diatonic tension (S210). In this embodiment, diatonic tension means creating tension by adding notes within the 7 notes that make up the diatonic scale. For example, the 7 notes of the diatonic scale in the key of C are do, re, mi, fa, sol, la, si, and the composition of the C maj chord, the tonic chord in the key of C, is do, mi, and sol. Therefore, creating diatonic tension in the C maj chord means creating tension by adding notes other than do, mi, and sol, such as re, fa, la, and si.

일 실시 예로, 화음생성장치(100)는 온음계적 긴장감 형성을 위한 방법으로 악보에 기 정의된 박자강도값 배열을 배치하고 적어도 하나 이상의 박자강도값을 선택하여 더한 총합이 제1 제어값(즉, 온음계적 긴장감의 양)이 되도록 하는 박자강도값의 제1 위치를 임의로 선택하고, 제1 위치에 해당하는 기본코드에 온음계의 음을 추가할 수 있다. 온음계의 긴장감 형성에 대한 구체적인 방법에 대해서는 도 4에서 다시 살펴본다.In one embodiment, the chord generation device 100 arranges an array of predefined beat intensity values in the score as a method for forming diatonic tension, selects at least one beat intensity value, and the total sum added is the first control value (i.e. The first position of the beat intensity value that creates the amount of diatonic tension can be arbitrarily selected, and a diatonic note can be added to the basic chord corresponding to the first position. The specific method for forming tension in the diatonic scale is reviewed again in Figure 4.

화음생성장치(100)는 반음계적 긴장감을 형성하도록 기본코드에 음을 추가한다(S220). 본 실시 예에서 반음계적 긴장감이란 온음계의 7음 밖의 음을 추가하여 긴장감을 형성하는 것을 의미한다. 예를 들어, C 키의 C maj 코드에 반음계적 긴장감을 형성한다고 함은 C maj 코드에 온음계의 7음에 포함되지 않은 시 플랫(b)을 추가하여 긴장감을 형성하는 것을 의미한다. The chord generator 100 adds notes to the basic chord to create chromatic tension (S220). In this embodiment, chromatic tension means creating tension by adding notes outside the 7th note of the diatonic scale. For example, creating chromatic tension in the C maj chord in the key of C means creating tension by adding a poetry flat (b), which is not included in the 7th note of the diatonic scale, to the C maj chord.

일 실시 예로, 화음생성장치(100)는 반음계적 긴장감 형성을 위한 방법으로 악보에 기 정의된 박자강도값 배열을 배치하고 적어도 하나 이상의 박자강도값을 선택하여 더한 총합이 제2 제어값이 되도록 하는 박자강도값의 제2 위치를 임의로 선택하고, 제2 위치에 해당하는 기본코드에 반음계의 음을 추가한다. 반음계적 긴장감 형성에 대한 구체적인 방법에 대해서는 도 6에서 다시 살펴본다.As an example, the chord generation device 100 arranges an array of predefined beat intensity values in the score as a method for forming chromatic tension, selects at least one beat intensity value, and sets the added sum to be the second control value. The second position of the beat intensity value is randomly selected, and a chromatic note is added to the basic chord corresponding to the second position. The specific method for forming chromatic tension is reviewed again in Figure 6.

본 실시 예는 온음계적 긴장감 형성(S210) 후에 반음계적 긴장감 형성(S220)을 수행하는 방법을 제시하고 있으나, 그 순서는 실시 예에 따라 변형될 수 있다. 예를 들어, 화음생성장치(100)는 반음계적 긴장감 형성(S220) 후에 온음계적 긴장감 형성(S210)을 수행할 수 있다.This embodiment presents a method of performing chromatic tension formation (S220) after diatonic tension formation (S210), but the order may be modified depending on the embodiment. For example, the chord generating device 100 may perform diatonic tension formation (S210) after chromatic tension formation (S220).

도 3은 본 발명의 실시 예에 따른 기본코드를 자동 생성하는 방법의 일 예를 도시한 도면이다.Figure 3 is a diagram illustrating an example of a method for automatically generating a basic code according to an embodiment of the present invention.

도 3을 참조하면, 화음생성장치(100)는 화음을 구성하는 토닉(tonic), 서브도미넌트(sub dominant), 도미넌트(dominant)를 각각 나타내는 노드(350,320,330)와 각 노드(350,320,330) 사이의 링크에 가중치를 부여한 마르코프 체인(MarKov chain)을 이용하여 원하는 개수의 기본코드를 순차적으로 생성할 수 있다. Referring to FIG. 3, the chord generating device 100 includes nodes 350, 320, and 330 representing the tonic, subdominant, and dominant elements that make up the chord, respectively, and links between the nodes 350, 320, and 330. A desired number of basic codes can be sequentially generated using a weighted Markov chain.

본 실시 예는 각 키(key)에 대한 복수 개의 기본코드(diatonic chord)를 일반화시켜 각 키의 기본코드를 로마숫자 형태(I,II, III ...)로 표시한다. 각 키에 대한 토닉-서브도미넌트-도미넌트는 I-II-III, III-IV-V, VI-VI-VII 등의 구조를 가지므로, 토닉노드(350)는 각 키의 으뜸화음인 I,III,VI 코드를 포함하고, 서브도미넌트 노드(320)는 II, IV, VI 코드를 포함하고, 도미넌트 노드(330)는 II,V,VII 노드를 포함한다. 각 키의 기본코드를 로마숫자로 표현하는 것은 작곡분야에서 일반적으로 표현법이므로 이에 대한 구체적인 설명은 생략한다.This embodiment generalizes a plurality of basic codes (diatonic chords) for each key and displays the basic codes of each key in the form of Roman numerals (I, II, III...). Since the tonic-subdominant-dominant for each key has a structure of I-II-III, III-IV-V, VI-VI-VII, etc., the tonic node 350 is the tonic chord of each key, I, III. ,Contains VI codes, the subdominant node 320 includes II, IV, and VI codes, and the dominant node 330 includes II, V, and VII nodes. Expressing the basic code of each key with Roman numerals is a common method of expression in the field of composition, so a detailed explanation of this will be omitted.

각 노드(350,320,330)의 링크에 부여된 가중치는 각 노드에 연결된 두 개의 노드로 진행할 확률을 나타낸다. 예를 들어, 토닉 노드(350)에서 서브 도미넌트 노드(320)로 진행할 확률은 0.4(즉 40%), 도미너트 노드(330) 진행할 확률은 0.5(50%), 토닉 노드(350) 그 자체를 반복할 확률은 0.1(10%)이다. The weight given to the link of each node (350, 320, 330) represents the probability of progressing to the two nodes connected to each node. For example, the probability of proceeding from the tonic node 350 to the sub-dominant node 320 is 0.4 (i.e. 40%), the probability of proceeding to the dominant node 330 is 0.5 (50%), and the probability of proceeding from the tonic node 350 itself is 0.4 (i.e. 40%). The probability of repetition is 0.1 (10%).

화음생성장치(100)는 마르코프 체인에 따라 각 노드에서 다음노드(또는 자신 노드)로 진행하고 그 다음노드에 다시 다음노드를 확률에 따라 진행하면서 기본코드를 생성한다. 예를 들어, 화음생성장치(100)는 토닉 노드(350)에서 I 코드를 선택한 후 확률에 따라 자신(350), 서브도미넌트 노드(320) 또는 도미넌트 노드(330)로 진행한다. 만약 서브도미넌트 노드(320)로 진행하였다면, 화음생성장치(100)는 토닉 노드(350)의 코드 I에 해당하는 서브도미넌트인 코드 II를 선택한다. 이와 같은 방법으로 반복 진행하면서 악보에 필요한 복수 개의 기본코드를 생성하여 악보의 각 마디에 배치할 수 있다. 마르코프 체인에 따라 진행하는 방법 그 자체는 이미 널리 알려진 방법으로 이에 대한 추가적인 설명은 생략한다.The chord generator 100 generates a basic code by proceeding from each node to the next node (or its own node) according to a Markov chain and then to the next node according to probability. For example, the chord generator 100 selects the I code from the tonic node 350 and then proceeds to itself 350, the subdominant node 320, or the dominant node 330 according to probability. If the process proceeds to the subdominant node 320, the chord generator 100 selects code II, which is the subdominant corresponding to code I of the tonic node 350. By repeating this method, a plurality of basic codes required for the score can be generated and placed in each measure of the score. The method of proceeding according to the Markov chain itself is already widely known, so further explanation will be omitted.

도 4 및 도 5는 본 발명의 실시 예에 따른 온음계적 긴장감을 형성하는 방법의 일 예를 도시한 도면이다.Figures 4 and 5 are diagrams showing an example of a method for forming diatonic tension according to an embodiment of the present invention.

도 4를 참조하면, 화음생성장치(100)는 기 정의된 박자강도값의 배열(410)을 악보에 배치한다. 본 실시 예의 박자강도값의 배열(410)은 4박자를 기준으로 강-약-중간-약의 형태를 숫자로 나타낸 값이다. 예를 들어, 강-약-중간-약의 박자강도값은 8(강)-4(약)-6(중간)-2(약), 4-2-3-1, 5-3-4-2, 4-2-3-1 등 다양한 숫자 조합으로 표현될 수 있다. 박자가 4박자가 아닌 6박자인 경우에는 강-약-약-중간-약-약의 형태를 숫자로 나타내는 다양한 값의 조합으로 박자강도값 배열을 만들 수 있다. 화음생성장치(100)는 박자별 박자강도값 배열을 미리 정의하여 저장할 수 있다. 본 실시 예를 포함한 이하의 실시 예는 설명의 편의를 위하여 도 4에 도시된 4박자의 박자강도값 배열(410)을 기준으로 설명한다. 박자강도값 배열(410)에 표시되는 박자강도값은 본 실시 예에 한정되는 것은 아니며 실시 예에 따라 다양하게 변형되어 사용될 수 있다. Referring to FIG. 4, the chord generating device 100 arranges an array 410 of predefined beat intensity values in the score. The array 410 of beat intensity values in this embodiment is a value that represents the form of strong-weak-medium-weak in numbers based on 4 beats. For example, the beat strength values of strong-weak-medium-weak are 8(strong)-4(weak)-6(medium)-2(weak), 4-2-3-1, 5-3-4- It can be expressed in various number combinations such as 2, 4-2-3-1, etc. If the beat is 6 beats rather than 4 beats, an array of beat intensity values can be created by combining various values representing the form of strong-weak-weak-medium-weak-weak with numbers. The chord generation device 100 can predefine and store an array of beat intensity values for each beat. For convenience of explanation, the following embodiments, including this embodiment, will be described based on the four-beat beat intensity value array 410 shown in FIG. 4. The beat intensity value displayed in the beat intensity value array 410 is not limited to this embodiment and may be used in various modifications depending on the embodiment.

화음생성장치(100)는 악보를 박자 단위 또는 박자의 배수 단위로 나누어 박자강도값을 배열할 수 있다. 예를 들어, 화음생성장치(100)는 4박자의 기본코드 악보(400)를 기준으로 하나의 마디에 4개의 박자값을 배열할 수 있다. 본 실시 예의 경우, 첫 번째 마디에는 8-4-6-2의 박자강도값이 부여되고, 두 번째 마디에는 4-2-3-1의 박자강도값이 배열된다. 다른 실시 예로, 4박자의 마디에 8개의 박자강도값이 배열될 수도 있다. 즉 박자의 정수 배의 개수만큼 박자강도값이 배열될 수 있다. 악보가 복수 개의 마디로 구성되고, 박자강도값 배열이 악보보다 짧으면 박자강도값 배열을 반복하여 적용할 수 있다.The chord generation device 100 can arrange beat intensity values by dividing the score into beat units or multiple beat units. For example, the chord generating device 100 may arrange four beat values in one measure based on the basic chord score 400 of 4 beats. In the case of this embodiment, the first measure is assigned a beat intensity value of 8-4-6-2, and the second measure is assigned a beat intensity value of 4-2-3-1. As another example, eight beat intensity values may be arranged in bars of four beats. That is, the beat intensity values can be arranged as many times as the integer number of beats. If the score consists of multiple bars and the beat intensity value array is shorter than the score, the beat intensity value array can be applied repeatedly.

화음생성장치(100)는 제1 제어값(420)(즉, 온음계적 긴장감의 양)에 따라 온음계적 긴장감을 적용할 범위를 선택한다. 제1 제어값(420)은 임의로 설정되거나 화음생성장치에 미리 정의되어 있거나 또는 도 9와 같이 사용자로부터 입력받을 수 있다. 제1 제어값(420)의 범위는 악보에 적용된 박자강도값 배열(410)에 포함된 박자강도값의 총합의 범위 내이다. 본 실시 예에서 4마디의 악보(400)에 배열된 박자강도값 배열(410)의 총합은 55(=8+4+6+2+4+2+3+1+6+3+4+2+4+2+3+1)이므로, 제1 제어값(420)은 1~55 사이일 수 있다. 제1 제어값(420)이 0이면, 온음계적 긴장감을 적용하지 않음을 나타낸다.The chord generation device 100 selects a range to apply diatonic tension according to the first control value 420 (i.e., the amount of diatonic tension). The first control value 420 can be arbitrarily set, predefined in the chord generating device, or input from the user as shown in FIG. 9. The range of the first control value 420 is within the range of the total of the beat intensity values included in the beat intensity value array 410 applied to the score. In this embodiment, the total of the beat intensity value array 410 arranged in the 4-measure score 400 is 55 (=8+4+6+2+4+2+3+1+6+3+4+2 +4+2+3+1), so the first control value 420 may be between 1 and 55. If the first control value 420 is 0, it indicates that diatonic tension is not applied.

화음생성장치(100)는 박자강도값 배열(410)에서 임의의 위치의 박자강도값을 선택하여 더한 총합이 제1 제어값(420)이 되도록 박자강도값의 위치를 선택한다. 예를 들어, 제1 제어값(420)이 14인 경우에, 화음생성장치(100)는 박자강도값 배열(410)에서 적어도 하나 이상의 박자강도값을 임의로 선택하여 14가 되는 조합을 찾는다. 선택된 박자강도값을 더한 총합이 14가 되도록 하는 다양한 박자강도값 조합이 존재할 수 있다. 본 실시 예는 박자강도값 배열(410)에서 첫 번째 칸(412)의 8과 아홉 번째 칸(414)의 6이 선택된 경우를 가정하여 설명한다.The chord generating device 100 selects a beat intensity value at an arbitrary position in the beat intensity value array 410 and selects the location of the beat intensity value so that the total sum becomes the first control value 420. For example, when the first control value 420 is 14, the chord generating device 100 randomly selects at least one beat intensity value from the beat intensity value array 410 and finds a combination that results in 14. There may be various combinations of beat intensity values such that the total of the selected beat intensity values is 14. This embodiment will be described assuming that 8 in the first column 412 and 6 in the ninth column 414 are selected in the beat intensity value array 410.

화음생성장치(100)는 박자강도값 배열(410)에서 선택된 박자강도값(412,414)의 위치에 해당하는 기본코드를 온음계적 긴장감을 형성할 기본코드의 구간을 선택한다. 본 실시 예는 박자강도값 배열(410)에서 선택된 박자강도값이 존재하는 첫 번째 마디(422)와 세 번째 마디(424)의 기본코드 I, V가 온음계적 긴장감을 적용할 대상이 된다. 선택된 박자강도값(412,414)의 위치에 따라 온음계적 긴장갑을 적용한 구간은 마디 전체가 아닌 마디의 일부일 수 있다. 예를 들어, 선택된 박자강도값이 박자강도값의 세 번째 칸이며, 온음계적 긴장감을 적용한 구간은 첫 번째 마디의 3~4번째 박자 구간의 기본코드이다. The chord generating device 100 selects a section of the basic chord that will form diatonic tension by using the basic chord corresponding to the position of the beat intensity values 412 and 414 selected in the beat intensity value array 410. In this embodiment, the basic codes I and V of the first measure 422 and the third measure 424, where the beat intensity value selected from the beat intensity value array 410 exists, are the targets to which diatonic tension is applied. Depending on the location of the selected beat intensity value (412, 414), the section to which diatonic tension armor is applied may be a part of the measure, not the entire measure. For example, the selected beat intensity value is the third column of the beat intensity value, and the section to which diatonic tension is applied is the basic code of the 3rd to 4th beat section of the first measure.

화음생성장치(100)는 기본코드에 온음계적 긴장감 적용을 위한 온음계의 음을 추가한다. 본 실시 예에서 온음계적 긴장감 적용 대상 기본코드가 I,V 이므로 화음생성장치(100)는 기본코드 I,V에 각각 온음계의 음을 추가한다. 이때 화음생성장치(100)는 각 기본코드 I,V에 추가 가능한 온음계의 음에서 임의로 선택하여 추가할 수 있다. 다른 실시 예로, 화음생성장치(100)는 음의 위치를 결정하는 깊이값에 해당하는 제2 제어값에 따라 각 기본코드에 추가할 음의 위치를 결정할 수 있다. 제2 제어값은 임의로 설정되거나 화음생성장치에 미리 정의되어 있거나 또는 도 9와 같이 사용자로부터 입력받을 수 있다.The chord generating device 100 adds diatonic notes to apply diatonic tension to the basic chord. In this embodiment, since the basic codes to which diatonic tension is applied are I and V, the chord generation device 100 adds diatonic notes to the basic codes I and V, respectively. At this time, the chord generation device 100 can arbitrarily select and add notes from the diatonic scale that can be added to each basic code I and V. In another embodiment, the chord generating device 100 may determine the position of a note to be added to each basic chord according to a second control value corresponding to a depth value that determines the position of the note. The second control value can be arbitrarily set, predefined in the chord generating device, or input from the user as shown in FIG. 9.

화음생성장치(100)는 도 5와 같이 각 기본코드에 대하여 깊이값과 음 추가 위치 사이의 맵핑관계를 정의한 테이블(500)을 참조하여 기본코드에 추가할 음의 위치를 파악할 수 있다. 도 5를 참조하면, 테이블(500)은 7개의 기본코드(510)와 3단계의 깊이값(520)에 따라 추가할 음의 위치를 정의하고 있다. 도 5의 테이블(500)은 본 실시 예의 이해를 돕기 위한 하나의 예일 뿐 각 기본코드(510)에 대하여 깊이값의 단계(520)에 따른 추가 음의 위치는 다양하게 정의될 수 있다.The chord generating device 100 can determine the position of the note to be added to the basic code by referring to the table 500 that defines the mapping relationship between the depth value and the note addition position for each basic code, as shown in FIG. 5. Referring to FIG. 5, the table 500 defines the positions of notes to be added according to seven basic codes 510 and three levels of depth values 520. The table 500 in FIG. 5 is only an example to help understand the present embodiment, and for each basic code 510, the position of additional sounds according to the level 520 of the depth value may be defined in various ways.

깊이값을 나타내는 제2 제어값이 2이면, 화음생성장치(100)는 첫 번째 마디의 기본코드인 I과 제2 제어값인 2를 기초로 도 5의 테이블(500)을 참조하여 추가 음의 위치 '9'를 파악한다. 그리고 화음생성장치(100)는 기본코드 I에 9도의 음을 추가하여 I9의 코드를 첫 번째 마디의 코드로 생성한다. 동일한 방법으로, 화음생성장치(100)는 세 번째 마디의 기본코드인 V와 제2 제어값인 2를 기초로 도 5의 테이블(500)을 참조하여 추가 음의 위치 '9'를 파악한다. 이에 따라 화음생성장치(100)는 세 번째 마디의 기본코드 V를 V9로 변형한다.If the second control value representing the depth value is 2, the chord generating device 100 generates an additional sound by referring to the table 500 in FIG. 5 based on I, the basic code of the first measure, and 2, the second control value. Identify location '9'. Then, the chord generation device 100 adds a 9th note to the basic chord I and generates the chord I9 as the chord of the first measure. In the same way, the chord generating device 100 determines the position of the additional note '9' by referring to the table 500 of FIG. 5 based on V, the basic code of the third measure, and 2, the second control value. Accordingly, the chord generating device 100 transforms the basic code V of the third measure into V9.

도 6 내지 도 8은 본 발명의 실시 에에 따른 반음계적 긴장감을 형성하는 방법의 일 예를 도시한 도면이다.Figures 6 to 8 are diagrams showing an example of a method for forming chromatic tension according to an embodiment of the present invention.

도 6을 참조하면, 화음생성장치(100)는 악보에 박자강도값의 배열을 배치한다. 본 실시 예는 도 4에서 화음생성장치가 악보의 기본코드에 온음계적 긴장감을 적용한 후에 반음계적 긴장감을 적용하는 경우를 가정하여 설명한다. 즉, 기본 악보의 I-VI-V-I의 기본코드는 온음계적 긴장감 형성을 통해 I9-VI-V9-I(600)로 변형되었다.Referring to FIG. 6, the chord generating device 100 arranges an array of beat intensity values in the score. This embodiment will be described assuming that the chord generating device in FIG. 4 applies diatonic tension to the basic chords of the score and then applies chromatic tension. In other words, the basic chord of I-VI-V-I in the basic score was transformed into I9-VI-V9-I (600) through the formation of diatonic tension.

화음생성장치(100)는 제3 제어값(반음계적 긴장감 형성의 양)에 따라 반음계적 긴장감을 적용한 범위를 선택한다. 제3 제어값은 임의로 설정되거나 화음생성장치에 미리 정의되어 있거나 또는 도 9와 같이 사용자로부터 입력받을 수 있다. 제3 제어값은 도 4에서 설명한 제1 제어값과 박자강도값 배열(610)의 총합의 범위 내에서 선택되고, 박자강도값 배열(610)에서 선택한 박자강도값을 더한 총합이 제3 제어값이 되도록 박자강도값의 위치를 임의 선택한다. 박자강도값의 위치를 임의 선택하는 방법은 도 4에서 설명한 방법과 동일하다. The chord generation device 100 selects the range to which chromatic tension is applied according to the third control value (amount of chromatic tension formation). The third control value can be arbitrarily set, predefined in the chord generating device, or input from the user as shown in FIG. 9. The third control value is selected within the range of the sum of the first control value described in FIG. 4 and the beat intensity value array 610, and the sum of the beat intensity values selected in the beat intensity value array 610 is the third control value. The location of the beat intensity value is randomly selected so that this happens. The method of randomly selecting the location of the beat intensity value is the same as the method described in FIG. 4.

본 실시 예는 제3 제어값이 9이고, 박자강도값 배열(610)에서 총합이 제3 제어값인 9가 되도록 임의로 선택한 결과가 박자강도값 배열의 3번째 칸(612)과 7번째 칸(614)인 경우이다. 따라서 화음생성장치(100)는 반음계적 긴장감을 적용할 대상으로 첫 번째 마디의 3~4번째 박자 구간(612)의 I9와 두 번째 마디의 3~4번째 박자 구간(624)의 VI를 선택한다. 도 4의 경우에 선택된 박자강도값이 모두 마디의 시작 부분이므로 온음계적 긴장감이 적용되는 구간은 마디 전체이지만, 도 6의 실시 예에서 선택된 박자강도값(612,614)의 위치는 마디의 중간 부분이므로 반음계적 긴장감이 적용되는 구간은 선택된 박자강도값부터 마디의 끝까지이다. 즉, 온음계적 긴장감이나 반음계적 긴장감이 적용되는 구간은 선택된 박자강도값의 위치부터 해당 위치의 코드가 변경되기 전까지의 구간이다. In this embodiment, the third control value is 9, and the result of arbitrarily selecting the total in the beat intensity value array 610 to be 9, which is the third control value, is in the 3rd column 612 and the 7th column of the beat intensity value array (612). 614). Therefore, the chord generator 100 selects I9 of the 3rd to 4th beat section (612) of the first measure and VI of the 3rd to 4th beat section (624) of the second measure as the object to which chromatic tension is applied. . In the case of FIG. 4, the selected beat intensity values are all at the beginning of the measure, so the section to which diatonic tension is applied is the entire measure. However, in the embodiment of FIG. 6, the location of the selected beat intensity values 612 and 614 is in the middle of the measure, so it is chromatic. The section where positive tension is applied is from the selected beat strength value to the end of the measure. In other words, the section where diatonic tension or chromatic tension is applied is the section from the location of the selected beat intensity value until the chord at that location is changed.

화음생성장치(100)는 반음계적 긴장감을 적용을 위한 박자강도값 배열의 위치(612,614)가 결정되면, 해당 박자강도값의 위치에 해당하는 기본코드에 반음계의 음을 추가하여 반음계적 긴장감을 형성한다. 만약, 박자강도값의 위치(612,614)에 해당하는 코드가 온음계적 긴장감이 적용된 경우이면 온음계적 긴장감에 따라 변형된 코드가 반음계적 긴장감 적용을 위한 코드이다. 다만 이하의 실시 예에서는 설명의 편의를 위하여 온음계적 긴장감이 적용된 코드와 적용되지 않은 코드를 통틀어 기본코드로 명시하여 설명한다. Once the positions 612 and 614 of the beat intensity value array for applying chromatic tension are determined, the chord generating device 100 adds chromatic notes to the basic chord corresponding to the position of the beat intensity value to form chromatic tension. do. If the code corresponding to the beat intensity value position (612, 614) has diatonic tension applied, the code modified according to the diatonic tension is the code for applying chromatic tension. However, in the following embodiments, for convenience of explanation, the chords to which diatonic tension is applied and the chords to which diatonic tension is not applied are collectively described as basic codes.

화음생성장치(100)는 기본코드에 임의의 반음계의 음을 추가할 수 있다. 다른 예로, 화음생성장치(100)는 제4 제어값에 따라 반음계의 음 추가 위치를 선택할 수 있다. 제4 제어값은 임의로 설정되거나 화음생성장치에 미리 정의되어 있거나 또는 도 9와 같이 사용자로부터 입력받을 수 있다. 제4 제어값에 따라 반음계의 음 추가 위치를 결정하는 방법으로 복수 개의 코드진행방법을 이용할 수 있다.The chord generating device 100 can add notes of any chromatic scale to the basic chord. As another example, the chord generating device 100 may select a position for adding notes of the chromatic scale according to the fourth control value. The fourth control value can be arbitrarily set, predefined in the chord generating device, or input from the user as shown in FIG. 9. A plurality of chord progression methods can be used as a method of determining the position of adding notes in the chromatic scale according to the fourth control value.

도 7을 참조하면, 복수 개의 코드진행방법(710)을 복수의 단계(720)에 따라 복수 개의 서로 다른 조합(700)으로 구성할 수 있다. 예를 들어, 세컨더리도미넌트(secondary dominant, S.D.), 익스텐디드도미넌트(extended dominant, E.D.), 서브스티튜트도미넌트(substitute dominant, Sub.D.) 및 모달인터체인지(modal interchange, M.I.) 등의 코드진행방법을 다양한 조합으로 묶을 수 있다. 도 7의 예는 S.D.와 E.D.를 묶은 1단계 조합, E.D., Sub.D. 및 M.I를 묶은 2단계 조합, Sub.D.와 M.I를 묶은 3단계 조합, M.I.만을 포함하는 4단계 조합을 제시하고 있으나 이는 하나의 예일 뿐 다양한 조합이 본 실시 예에 적용될 수 있다. 또한 본 실시 예는 4가지 종류의 코드진행방법을 제시하고 있으나 이는 하나의 예일 뿐 다양한 코드진행방법이 본 실시 예에 적용될 수 있다. M.I.는 기본코드의 Major 키를 minor 키로, minor 키를 Major 키로 변환하는 것으로 각 코드별 변환의 예가 도 8에 도시되어 있다. 이 외에 S.D. 등의 코드진행방법을 각 코드에 적용할 때 추가되는 반음계의 음의 위치 등은 이미 널리 알려진 작곡이론이므로 이에 대한 추가적인 설명은 생략한다.Referring to FIG. 7, a plurality of code progression methods 710 can be configured into a plurality of different combinations 700 according to a plurality of steps 720. For example, chord progressions such as secondary dominant (S.D.), extended dominant (E.D.), substitute dominant (Sub.D.), and modal interchange (M.I.). Methods can be grouped in various combinations. The example in FIG. 7 is a first-level combination of S.D. and E.D., E.D., Sub.D. and M.I., a 2-level combination combining Sub.D. and M.I., a 3-level combination including Sub.D. and M.I., and a 4-level combination including only M.I. However, this is only one example and various combinations can be applied to this embodiment. Additionally, this embodiment presents four types of code progression methods, but this is only one example and various chord progression methods can be applied to this embodiment. M.I. converts the major key of the basic code into a minor key and the minor key into a major key. An example of conversion for each code is shown in Figure 8. In addition to this, S.D. The position of the chromatic notes added when applying the chord progression method to each chord is already a widely known composition theory, so further explanation of this will be omitted.

조합 선택을 위한 제4 제어값이 1인 경우에, 화음생성장치(100)는 도 7에서 1단계 조합에 속한 코드진행방법인 S.D.와 E.D. 중에서 임의의 코드진행방법을 선택한다. 예를 들어, S.D. 코드진행방법이 선택되었다면, 화음생성장치(100)는 도 6과 같이 첫 번째 마디의 3~4번째 박자의 코드를 I9에 S.D.의 코드진행방법으로 반음계의 음을 추가하여 V7/VI로 변형한다. 동일 방법으로 화음생성장치는 두 번째 마디의 3~4번째 박자의 코드를 VI에 S.D.의 코드진행방법으로 반음계의 음을 추가하여 V7/V로 변형한다. When the fourth control value for combination selection is 1, the chord generation device 100 uses S.D. and E.D., which are chord progression methods belonging to the first stage combination in FIG. 7. Select a random chord progression method from among them. For example, S.D. If the chord progression method is selected, the chord generation device 100 transforms the chord of the 3rd to 4th beats of the first measure into V7/VI by adding a chromatic note to I9 using the chord progression method of S.D., as shown in FIG. 6. . In the same way, the chord generator transforms the chords of the 3rd and 4th beats of the second measure into V7/V by adding chromatic notes to VI using the S.D. chord progression method.

I-VI-V-I의 기본코드를 포함하는 악보는 도 4의 온음계적 긴장감과 도 6의 반음계적 긴장감 형성에 따라 I9-V7/VI-VI-VI/V-V9-I의 복잡하고 세련된 코드로 리하모니제이션된다.The score containing the basic codes of I-VI-V-I is composed of complex and sophisticated codes of I9-V7/VI-VI-VI/V-V9-I according to the formation of diatonic tension in Figure 4 and chromatic tension in Figure 6. It is reharmonized.

도 9는 본 발명의 실시 예에 따른 화음생성장치의 일 예의 구성을 도시한 도면이다.Figure 9 is a diagram showing the configuration of an example of a chord generating device according to an embodiment of the present invention.

도 9를 참조하면, 화음생성장치(100)는 사용자입력부(900), 기본코드생성부(910), 악보입력부(920), 제1 위치파악부(930), 제1 음추가부(940), 제2 위치파악부(950), 제2 음추가부(960) 및 데이터베이스(970)를 포함한다. 실시 예에 따라 기본코드생성부(910)는 생략될 수 있다. 일 실시 예로 화음생성장치(100)는 메모리, 프로세서 및 입출력장치는 포함하는 컴퓨팅 장치로 구현될 수 있다. 이 경우 각 구성은 소프트웨어로 구현되어 메모리에 탑재된 후 프로세서에 의해 수행될 수 잇다.Referring to FIG. 9, the chord generation device 100 includes a user input unit 900, a basic code generation unit 910, a music score input unit 920, a first location detection unit 930, and a first sound addition unit 940. , It includes a second positioning unit 950, a second sound adding unit 960, and a database 970. Depending on the embodiment, the basic code generator 910 may be omitted. As an example, the chord generation device 100 may be implemented as a computing device that includes a memory, a processor, and an input/output device. In this case, each configuration can be implemented as software, loaded into memory, and then performed by the processor.

사용자입력부(900)는 온음계적 긴장감과 반음계적 긴장감 형성을 위한 제1 내지 제4 제어값을 사용자로부터 입력받는다. 예를 들어, 사용자입력부(900)는 제1 내지 제4 제어값을 입력받을 수 있는 복수 개의 노브(902,904,906,908)를 포함할 수 있다. 사용자는 노브(902,904,906,908)를 조작하여 원하는 제1 내지 제4 제어값을 입력할 수 있다. The user input unit 900 receives first to fourth control values for forming diatonic tension and chromatic tension from the user. For example, the user input unit 900 may include a plurality of knobs 902, 904, 906, and 908 through which first to fourth control values can be input. The user can input desired first to fourth control values by manipulating the knobs 902, 904, 906, and 908.

기본코드생성부(910)는 악보에 필요한 복수 개의 기본코드를 자동생성한다. 예를 들어, 기본코드생성부(910)는 도 3과 같은 마르코프 체인을 이용하여 악보에 필요한 복수 개의 기본코드를 생성할 수 있다. The basic code generator 910 automatically generates a plurality of basic codes required for sheet music. For example, the basic code generator 910 can generate a plurality of basic codes required for sheet music using a Markov chain as shown in FIG. 3.

악보입력부(920)는 기본코드를 포함한 악보를 입력받는다. 악보는 미리 정의되어 있거나 기본코드생성부(910)에 의해 자동 생성될 수 있다. 예를 들어, 4마디의 악보를 생성하고자 할 경우에, 악보입력부는 기본코드생성부를 통해 생성된 4개의 기본코드를 포함하는 악보를 생성할 수 있다. 악보에 포함되는 마디의 개수나 각 마디에 포함되는 기본코드의 개수 등은 사용자로부터 입력받을 수 있다.The score input unit 920 receives score including the basic code. The score may be predefined or automatically generated by the basic code generator 910. For example, if you want to generate a score of 4 bars, the score input unit can generate a score containing 4 basic codes generated through the basic code generation unit. The number of measures included in the score or the number of basic codes included in each measure can be input from the user.

제1 위치파악부(930)는 온음계적 긴장감을 적용할 기본코드의 위치를 파악한다. 예를 들어, 제1 위치파악부(930)는 사용자입력부(900)의 제1 노브(902)를 통해 제1 제어값을 입력받는다. 제1 위치파악부(930)는 도 4의 방법으로 제1 제어값에 따라 온음계적 긴장감을 적용할 범위를 선택한다. 예를 들어, 제1 제어값이 클수록 온음계적 긴장감을 적용할 박자강도값의 위치 범위가 넓거나 또는 큰 값을 가진 박자강도값이 선택된다. The first location detection unit 930 determines the location of the basic chord to which diatonic tension is to be applied. For example, the first location detection unit 930 receives the first control value through the first knob 902 of the user input unit 900. The first position detection unit 930 selects a range to apply diatonic tension according to the first control value using the method of FIG. 4. For example, the larger the first control value, the wider the range of beat intensity values to which diatonic tension will be applied, or the beat intensity value with a larger value is selected.

제1 음추가부(940)는 제1 위치파악부(930)에서 선택된 기본코드에 온음계의 음을 추가한다. 제1 음추가부(940)는 사용자입력부(900)의 제2 노브(904)를 통해 제2 제어값을 입력받으면, 제2 제어값을 기초로 도 5의 테이블(500)을 검색하여 기본코드에 추가할 음의 위치를 파악할 수 있다. 도 4 및 도 5에 온음계적 긴장감 형성을 위한 음 추가 방법이 도시되어 있다.The first tone adding unit 940 adds a diatonic tone to the basic code selected by the first position determination unit 930. When the first sound adding unit 940 receives the second control value through the second knob 904 of the user input unit 900, it searches the table 500 of FIG. 5 based on the second control value and enters the basic code. You can identify the position of the note to be added. Figures 4 and 5 show a method of adding notes to create diatonic tension.

제2 위치파악부(950)는 반음계적 긴장감을 적용할 기본코드의 위치를 파악한다. 예를 들어, 제2 위치파악부(950)는 사용자입력부(900)는 제3 노브(906)를 통해 제3 제어값을 입력받는다. 제2 위치파악부(950)는 도 6의 방법으로 제3 제어값에 따라 반음계적 긴장감을 적용할 범위를 선택한다. 예를 들어, 제3 제어값이 클수록 반음계적 긴장감을 적용할 박자강도값의 위치 범위가 넓거나 또는 큰 값을 가진 박자강도값이 선택된다. The second location detection unit 950 determines the location of the basic chord to which chromatic tension is to be applied. For example, the second location detection unit 950 receives a third control value from the user input unit 900 through the third knob 906. The second position detection unit 950 selects a range to apply chromatic tension according to the third control value using the method of FIG. 6. For example, the larger the third control value, the wider the range of beat intensity values to which chromatic tension is applied, or the beat intensity value with a larger value is selected.

제2 음추가부(960)는 제2 위치파악부(950)에서 선택된 기본코드(및/또는 온음계적 긴장감이 적용된 코드)에 반음계의 음을 추가한다. 제2 음추가부(960)는 사용자입력부(900)는 제4 노브(908)를 통해 제4 제어값을 입력받으면, 도 7 및 도 8을 참조하여 기본코드(및/또는 온음계적 긴장감이 적용된 코드)에 적용할 반음계의 음 위치를 파악한다. 반음계적 긴장감 형성을 위한 음 추가 방법이 도 6 내지 도 8에 도시되어 있다.The second tone adding unit 960 adds a chromatic tone to the basic chord (and/or a chord to which diatonic tension is applied) selected in the second position determination unit 950. When the second sound adding unit 960 receives the fourth control value through the fourth knob 908, the user input unit 900 generates a basic chord (and/or diatonic tension applied) with reference to FIGS. 7 and 8. Identify the note position of the chromatic scale to be applied to the chord. A method of adding notes to create chromatic tension is shown in Figures 6 to 8.

데이터베이스(970)는 박자강도값 배열이나 악보 등 본 실시 예에 필요한 각종 정보를 저장한다.The database 970 stores various information necessary for this embodiment, such as an array of beat intensity values and sheet music.

본 발명의 각 실시 예는 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, SSD, 광데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.Each embodiment of the present invention can also be implemented as computer-readable code on a computer-readable recording medium. Computer-readable recording media include all types of recording devices that store data that can be read by a computer system. Examples of computer-readable recording media include ROM, RAM, CD-ROM, SSD, and optical data storage devices. Additionally, computer-readable recording media can be distributed across networked computer systems so that computer-readable code can be stored and executed in a distributed manner.

이제까지 본 발명에 대하여 그 바람직한 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far, the present invention has been examined focusing on its preferred embodiments. A person skilled in the art to which the present invention pertains will understand that the present invention may be implemented in a modified form without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments should be considered from an illustrative rather than a restrictive perspective. The scope of the present invention is indicated in the claims rather than the foregoing description, and all differences within the equivalent scope should be construed as being included in the present invention.

Claims (13)

적어도 하나 이상의 마디에 적어도 하나 이상의 기본코드를 포함하는 악보를 입력받는 단계;
상기 악보에 기 정의된 박자강도값 배열을 배치하고 적어도 하나 이상의 박자강도값을 선택하여 더한 총합이 제1 제어값이 되도록 하는 박자강도값의 제1 위치를 임의로 선택하는 단계;
상기 제1 위치에 해당하는 기본코드에 온음계의 음을 추가하는 단계;
상기 박자강도값 배열에서 적어도 하나 이상의 박자강도값을 선택하여 더한 총합이 제2 제어값이 되도록 하는 박자강도값의 제2 위치를 임의로 선택하는 단계; 및
상기 제2 위치에 해당하는 기본코드에 반음계의 음을 추가하는 단계;를 포함하는 것을 특징으로 하는 화음생성방법.
Receiving sheet music including at least one basic code in at least one measure;
Arranging a predefined beat intensity value array in the score, selecting at least one beat intensity value, and arbitrarily selecting a first position of the beat intensity value such that the sum added becomes a first control value;
adding a diatonic note to the basic chord corresponding to the first position;
Selecting at least one beat intensity value from the array of beat intensity values and arbitrarily selecting a second position of the beat intensity value such that the added sum becomes a second control value; and
A chord generation method comprising: adding a chromatic note to the basic chord corresponding to the second position.
제 1항에 있어서, 상기 악보를 입력받는 단계는,
토닉, 서브도미넌트 및 도미넌트의 세 개의 노드와 각 노드 사이의 링크의 가중치가 부여된 마르코프 체인을 이용하여 각 마디의 기본코드를 생성하는 단계;를 포함하는 것을 특징으로 하는 화음생성방법.
The method of claim 1, wherein the step of receiving the music score is:
A chord generation method comprising: generating a basic chord for each measure using a Markov chain with weights assigned to three nodes: tonic, subdominant, and dominant, and links between each node.
제 1항에 있어서,
상기 박자강도값 배열은 각 마디를 박자 또는 박자의 정수배로 구분한 영역에 순차적으로 배치하는 것을 특징으로 하는 화음생성방법.
According to clause 1,
The arrangement of beat intensity values is a chord generation method characterized in that each measure is sequentially arranged in areas divided by beats or integer multiples of beats.
제 1항에 있어서, 상기 제1 위치를 선택하는 단계는,
상기 악보에 배치된 상기 박자강도값 배열의 총합의 범위 내에서 사용자로부터 상기 제1 제어값을 입력받는 단계; 및
적어도 하나 이상의 박자강도값의 합이 상기 제1 제어값이 되는 박자강도값의 조합의 위치를 임의로 선택하는 단계;를 포함하는 것을 특징으로 하는 화음생성방법.
The method of claim 1, wherein selecting the first location comprises:
Receiving the first control value from the user within the range of the total of the beat intensity value arrays arranged in the score; and
A method for generating chords, comprising the step of randomly selecting a position of a combination of beat intensity values where the sum of at least one beat intensity value becomes the first control value.
제 1항에 있어서, 상기 온음계의 음을 추가하는 단계는,
사용자로부터 깊이값에 해당하는 제2 제어값을 수신하는 단계; 및
각 기본코드에 대하여 깊이값과 추가 음 위치 사이의 맵핑관계를 정의한 테이블을 참조하여, 상기 제1 위치에 해당하는 기본코드와 상기 제2 제어값에 대한 추가 음 위치를 파악하는 단계;를 포함하는 것을 특징으로 하는 화음생성방법.
The method of claim 1, wherein the step of adding notes of the diatonic scale includes,
Receiving a second control value corresponding to the depth value from the user; and
Referring to a table defining a mapping relationship between depth values and additional note positions for each basic code, identifying the basic code corresponding to the first position and the additional sound position for the second control value; including; A chord generation method characterized by:
제 1항에 있어서, 상기 제2 위치를 선택하는 단계는,
상기 악보에 배치된 상기 박자강도값 배열의 총합의 범위 내에서 사용자로부터 제3 제어값을 입력받는 단계; 및
적어도 하나 이상의 박자강도값의 합이 상기 제3 제어값이 되는 박자강도값의 조합의 위치를 임의로 선택하는 단계;를 포함하는 것을 특징으로 하는 화음생성방법.
The method of claim 1, wherein selecting the second location comprises:
Receiving a third control value from the user within the range of the total of the beat intensity value arrays arranged in the score; and
A method of generating chords comprising the step of randomly selecting a position of a combination of beat intensity values where the sum of at least one beat intensity value becomes the third control value.
제 1항에 있어서, 상기 반음계의 음을 추가하는 단계는,
사용자로부터 제4 제어값을 수신하는 단계;
복수 개의 코드진행방법에 대한 복수 개의 서로 다른 조합 중 상기 제4 제어값에 해당하는 조합을 선택하고, 선택한 조합 내 존재하는 코드진행방법 중 어느 하나를 임의로 선택하는 단계; 및
상기 선택된 코드진행방법을 적용하여 상기 제2 위치에 해당하는 기본코드에 반음계의 음을 추가하는 단계;를 포함하는 것을 특징으로 하는 화음생성방법.
The method of claim 1, wherein the step of adding chromatic notes includes,
Receiving a fourth control value from a user;
selecting a combination corresponding to the fourth control value among a plurality of different combinations of a plurality of chord progression methods and randomly selecting one of the chord progression methods existing in the selected combination; and
A method of generating chords comprising: adding a chromatic note to the basic chord corresponding to the second position by applying the selected chord progression method.
제 7항에 있어서,
상기 복수 개의 코드진행방법은 세컨더리도미넌트, 익스텐디드도미넌트, 서브스티튜트도미넌트 및 모달인터체인지 중 복수 개를 포함하는 것을 특징으로 하는 화음생성방법.
According to clause 7,
A chord generation method characterized in that the plurality of chord progression methods include a plurality of secondary dominant, extended dominant, subdominant, and modal interchange.
적어도 하나 이상의 마디에 적어도 하나 이상의 기본코드를 포함하는 악보를 입력받는 악보입력부;
상기 악보에 기 정의된 박자강도값 배열을 배치하고 적어도 하나 이상의 박자강도값을 더한 총합이 제1 제어값이 되도록 하는 박자강도값의 제1 위치를 임의로 선택하는 제1 위치파악부;
상기 제1 위치에 해당하는 기본코드에 온음계의 음을 추가하는 제1 음추가부;
상기 박자강도값 배열에서 적어도 하나 이상의 박자강도값을 더한 총합의 제2 제어값이 되도록 하는 박자강도값의 제2 위치를 임의로 선택하는 제2 위치파악부; 및
상기 제2 위치에 해당하는 기본코드에 반음계의 음을 추가하는 제2 음추가부;를 포함하는 것을 특징으로 하는 화음생성장치.
A score input unit that receives score including at least one basic code in at least one measure;
a first positioning unit that arranges an array of predefined beat intensity values in the score and arbitrarily selects a first position of the beat intensity value such that the sum of at least one beat intensity value becomes a first control value;
a first tone addition unit that adds a diatonic tone to the basic code corresponding to the first position;
a second position determination unit that randomly selects a second position of the beat intensity value to become a second control value of the sum of at least one beat intensity value in the beat intensity value array; and
A chord generating device comprising a second tone addition unit that adds a chromatic tone to the basic chord corresponding to the second position.
제 9항에 있어서,
토닉, 서브도미넌트 및 도미넌트의 세 개의 노드와 각 노드 사이의 링크의 가중치가 부여된 마르코프 체인을 이용하여 각 마디의 기본코드를 생성하는 기본코드생성부;를 더 포함하는 것을 특징으로 하는 화음생성장치.
According to clause 9,
A chord generating device further comprising a basic code generator that generates the basic code of each measure using three nodes of tonic, subdominant, and dominant and a Markov chain with weighted links between each node. .
제 9항에 있어서, 상기 제1 음추가부는,
각 기본코드에 대하여 깊이값과 추가 음 위치 사이의 맵핑관계를 정의한 테이블을 참조하여, 사용자로부터 입력받은 깊이값과 상기 제1 위치의 기본코드를 기초로 추가 음 위치를 파악하는 것을 특징으로 하는 화음생성장치.
The method of claim 9, wherein the first tone addition part is,
A chord characterized in that the additional note position is identified based on the depth value input from the user and the basic code of the first position by referring to a table defining the mapping relationship between the depth value and the additional note position for each basic code. generating device.
제 9항에 있어서, 상기 제2 음추가부는,
복수 개의 코드진행방법에 대한 복수 개의 서로 다른 조합에서 선택된 조합의 코드진행방법 중 어느 하나를 임의로 선택하여 적용하는 것을 특징으로 하는 화음생성장치.
The method of claim 9, wherein the second tone addition part is,
A chord generation device characterized in that one of a combination of chord progression methods selected from a plurality of different combinations of a plurality of chord progression methods is randomly selected and applied.
제 1항 내지 제 8항 중 어느 한 항에 기재된 방법을 수행하기 위한 컴퓨터 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium recording a computer program for performing the method according to any one of claims 1 to 8.
KR1020210169492A 2021-11-30 2021-11-30 Chord generation method and apparatus KR102661964B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210169492A KR102661964B1 (en) 2021-11-30 2021-11-30 Chord generation method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210169492A KR102661964B1 (en) 2021-11-30 2021-11-30 Chord generation method and apparatus

Publications (2)

Publication Number Publication Date
KR20230081441A KR20230081441A (en) 2023-06-07
KR102661964B1 true KR102661964B1 (en) 2024-05-07

Family

ID=86761292

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210169492A KR102661964B1 (en) 2021-11-30 2021-11-30 Chord generation method and apparatus

Country Status (1)

Country Link
KR (1) KR102661964B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6889420B2 (en) 2017-09-07 2021-06-18 ヤマハ株式会社 Code information extraction device, code information extraction method and code information extraction program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6889420B2 (en) 2017-09-07 2021-06-18 ヤマハ株式会社 Code information extraction device, code information extraction method and code information extraction program

Also Published As

Publication number Publication date
KR20230081441A (en) 2023-06-07

Similar Documents

Publication Publication Date Title
US7435891B2 (en) Method and system for generating musical variations directed to particular skill-levels
KR101854706B1 (en) Method and recording medium for automatic composition using artificial neural network
ES2211785T3 (en) METHOD AND SYSTEM TO CREATE A MUSICAL COMPOSITION.
Krumhansl et al. Tonal cognition
US11887566B2 (en) Method of generating music data
Antila et al. The VIS Framework: Analyzing Counterpoint in Large Datasets.
US6169239B1 (en) Method and system for visually coding a musical composition to indicate musical concepts and the level of difficulty of the musical concepts
KR102661964B1 (en) Chord generation method and apparatus
WO2002041295A1 (en) An automated music arranger
Mycka et al. Toward human-level tonal and modal melody harmonizations
Kunimatsu et al. A music composition model with genetic programming-a case study of chord progression and bassline
Franz Markov chains as tools for jazz improvisation analysis
Brown Exploring rhythmic automata
Tanaka et al. Describing global musical structures by integer programming on musical patterns
Bacon Our Musical Idiom
Vargas et al. Artificial musical pattern generation with genetic algorithms
Zhang et al. Evolving musical performance profiles using genetic algorithms with structural fitness
Geis et al. Creating melodies and baroque harmonies with ant colony optimization
Linskens et al. Music Improvisation Using Markov Chains
Manwaring MIDI explorations
Tucker Emergence and Complexity in Music
KR20090025321A (en) Level user-control system used play-note of prepared music for music simulation game
Kramann An Overtone-Based Algorithm Unifying Counterpoint and Harmonics.
Delbé et al. Asymmetric categorization in the sequential auditory domain
US20080210080A1 (en) Cheock 12 Dimension Music Code with Decoders

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right