KR101795706B1 - Method and recording medium for automatic composition using artificial neural network - Google Patents
Method and recording medium for automatic composition using artificial neural network Download PDFInfo
- Publication number
- KR101795706B1 KR101795706B1 KR1020160007882A KR20160007882A KR101795706B1 KR 101795706 B1 KR101795706 B1 KR 101795706B1 KR 1020160007882 A KR1020160007882 A KR 1020160007882A KR 20160007882 A KR20160007882 A KR 20160007882A KR 101795706 B1 KR101795706 B1 KR 101795706B1
- Authority
- KR
- South Korea
- Prior art keywords
- beat
- neural network
- artificial neural
- learning
- time series
- Prior art date
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 150
- 238000000034 method Methods 0.000 title claims abstract description 143
- 239000000203 mixture Substances 0.000 title claims abstract description 32
- 238000012805 post-processing Methods 0.000 claims abstract description 20
- 230000002708 enhancing effect Effects 0.000 claims abstract description 6
- 238000012545 processing Methods 0.000 claims description 45
- 238000012937 correction Methods 0.000 claims description 24
- 238000010009 beating Methods 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 4
- 238000011161 development Methods 0.000 claims description 4
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 claims 2
- YTAHJIFKAKIKAV-XNMGPUDCSA-N [(1R)-3-morpholin-4-yl-1-phenylpropyl] N-[(3S)-2-oxo-5-phenyl-1,3-dihydro-1,4-benzodiazepin-3-yl]carbamate Chemical compound O=C1[C@H](N=C(C2=C(N1)C=CC=C2)C1=CC=CC=C1)NC(O[C@H](CCN1CCOCC1)C1=CC=CC=C1)=O YTAHJIFKAKIKAV-XNMGPUDCSA-N 0.000 claims 1
- 230000008569 process Effects 0.000 description 26
- 230000033764 rhythmic process Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 11
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 244000124765 Salsola kali Species 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000007786 learning performance Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10G—REPRESENTATION OF MUSIC; RECORDING MUSIC IN NOTATION FORM; ACCESSORIES FOR MUSIC OR MUSICAL INSTRUMENTS NOT OTHERWISE PROVIDED FOR, e.g. SUPPORTS
- G10G3/00—Recording music in notation form, e.g. recording the mechanical operation of a musical instrument
- G10G3/04—Recording music in notation form, e.g. recording the mechanical operation of a musical instrument using electrical means
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1807—Speech classification or search using natural language modelling using prosody or stress
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Auxiliary Devices For Music (AREA)
Abstract
The present invention relates to an automatic composition method using an artificial neural network capable of automatically generating an entire music piece using an artificial neural network and further outputting a composition result at an actual composer level, and a recording medium therefor.
According to another aspect of the present invention, there is provided an automatic composing method using an artificial neural network, comprising: generating time series data by converting a plurality of notes and beats constituting a music to be learned by an artificial neural network into numerical form; Learning the artificial neural network using the time series data; Inputting time series data corresponding to a part of a piece of music to be composed by the artificial neural network (hereinafter referred to as 'introduced music') into the artificial neural network; And outputting a new piece of music by the artificial neural network by generating a remaining piece of music following the inputted piece of introduction music.
The automatic composition method using the artificial neural network according to the present invention further includes a step of post-processing the beat and harmony of the output new music piece, And enhancing the beat and melody of the music.
Description
The present invention relates to an automatic composing method, and more particularly, to an automatic composing method using an artificial neural network capable of automatically creating a new song by learning a song using an artificial neural network and newly adding an initial melody to the learned neural network, And relates to the recording medium.
Attempts to automatically compose music using a computer have been around for a long time. These studies have been classified as algorithmic compositions, and most of the methods developed in the field of artificial intelligence have been used, as can be seen from the purpose of composition.
The first method is to create an algorithm that performs automatic composing based on grammar, rule based, case based. It is based on grammar that it is applied to composition by simulating writing through grammar in language. The rule is based on creating rules that generate melodies and creating songs based on them. Based on the case, the existing song is databaseed by each measure, and the composition is composed by using the measure in the existing song.
As a second method, there is an optimization technique. The optimization technique that is mainly used in composition is evolutionary algorithm (Evolutionary Algorithms). In particular, the genetic programming that expresses an object as a tree is a very useful technique in composition because it is composed hierarchically from the sound to the syllable, and from the syllable to the syllable. However, the biggest problem with the optimization method is that it is difficult to evaluate the object. The evolution of a short piece expressed as an object must be properly assessed to make it more musically appropriate to express a better piece.
However, it is very difficult for a computer to evaluate a song by itself. So the average person uses a lot of methods to evaluate each object, but it is very tedious and hard work for people to evaluate very many objects from tens to hundreds of generations. Also, evaluation of music is very subjective and it is difficult to present a consistent standard. In order to mitigate the difficulty of the evaluation of fitness, some researches are performed to evaluate the music through learning function of artificial neural network. However, it is very difficult to ensure that the evaluation of the music of the learned neural network is performed properly.
A third way is by machine learning. Machine learning is an artificial neural network that is representative of a computer learning data given to itself. The artificial neural network learns the given data and can output the same or similar data as the learned data.
In the artificial neural network method, a song is output by learning an existing song, and thus a song having a feeling similar to that of a song written relatively by the composer is outputted. However, because there are many repetitive parts of the song, it is difficult to learn the song and it takes a very long time. In addition, the method of learning and outputting one song is problematic in that the outputted music is very similar to the existing music, and it is difficult to determine how to learn by some criteria when learning a plurality of songs.
Another example of machine learning is using a Markov chain. In Korea, there is an example of performing composition using Hyper Network, which is a type of machine learning tool.
However, such conventional methods are not enough to generate a music having a natural feel at the composer level as a method of simulating a part of performing a composition or exploring the possibilities.
In addition, there is almost no way to automatically generate and compose the entire music including the remaining melody, beat, and harmony just by generating a part of the melody or beat.
SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and it is an object of the present invention to provide an apparatus and method for automatically generating a music piece including a new melody, a beat and a harmony using an artificial neural network, And an object of the present invention is to provide an automatic composing method using an artificial neural network capable of outputting a more realistic composition result by applying a Mars progression and a recording medium therefor.
Another main object of the present invention is to provide an automatic composition method using an artificial neural network capable of producing a music piece with a high degree of melody and rhythm by improving the melody and rhythm, .
It is another object of the present invention to ultimately create a new song from a random initial value without learning an existing song.
According to another aspect of the present invention, there is provided an automatic composition method using an artificial neural network, comprising: converting a plurality of notes and a beat constituting a song to be learned by an artificial neural network (hereinafter referred to as a first learning song) Generating time series data based on the time series data; Learning the artificial neural network using the time series data; Inputting time series data corresponding to a part of a piece of music to be composed by the artificial neural network (hereinafter referred to as 'introduced music') into the artificial neural network; And outputting a new piece of music by the artificial neural network by generating a remaining piece of music following the inputted piece of introduction music.
The automatic composition method using the artificial neural network according to the present invention performs learning through a plurality of pieces of learning data generated using time series data in the artificial neural network learning and inputs the classification information of the melody to be learned additionally, .
The automatic composing method using the artificial neural network of the present invention is characterized by post-processing the beat and harmony of the output new music.
Further, the automatic composition method using the artificial neural network of the present invention further includes the step of enhancing the beat and melody of the post-processed new music.
According to the automatic composing method and the recording medium using the artificial neural network according to the present invention, it is possible to automatically generate the entire music including the new melody, beat and harmony using the artificial neural network.
In addition, it is possible to create a natural song at the level of the actual composer while having a feeling of a learning song, and further improve the beat and melody to a higher level, thereby realizing repeatability as in popular music. There is an effect of solving the problem of having too much feeling of the existing music which is the biggest disadvantage of the method.
In particular, when composing a piece of music after learning with one piece of music, the generated song may have a similar feeling to the learning song, resulting in a future plagiarism problem. However, when the multiple music learning method of the present invention is followed, It is possible to prevent the problem of plagiarism in advance.
1 is a block flow diagram illustrating a process flow of an automatic composition method using an artificial neural network according to the present invention;
FIG. 2 is an example of the first learning music of the present invention, which is a piece of music of the song 'Roly-Poly' of 'Singer Tiara'.
FIG. 3 is a diagram showing a learning pattern of an artificial neural network according to the present invention, and an example of learning data generation and learning process therefor.
4 is a block flow diagram illustrating the detailed steps of the Mars post-processing step according to the present invention;
FIG. 5 is a block flow chart illustrating a specific process flow of the formation candidate generation step according to the present invention. FIG.
FIG. 6 is a block flow diagram illustrating a specific process flow of the Mars selection step for each segment according to the present invention; FIG.
Fig. 7 is a test example showing the actual composition result outputted according to the method of steps S10 to S60 of the present invention. Fig.
Figure 8 is a block flow diagram illustrating a specific process flow of the beat and melody enhancement steps according to the present invention;
9 is a conceptual diagram illustrating an artificial neural network learning method according to an embodiment of the present invention.
10 (a), 10 (b) and 10 (c) are conceptual diagrams showing an artificial neural network learning method according to various embodiments of the present invention.
FIG. 11 shows a piece of a piece of music that the artificial neural network of the present invention learned and composed two songs "Roly-Poly" of "Singer Tiara" and "Send You" of "Singer Yoon Do Hyun".
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises" or "having" and the like refer to the presence of stated features, integers, steps, operations, elements, components, or combinations thereof, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.
Also, in this specification, the terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
In the following, preferred embodiments, advantages and features of the present invention will be described in detail with reference to the accompanying drawings.
1 is a block flow diagram illustrating a process flow of an automatic composition method using an artificial neural network according to the present invention. Referring to FIG. 1, an automatic composition method using an artificial neural network according to the present invention includes a step of digitizing a specific melody (step S10), a step of generating a time series data (step S20), an artificial neural network learning step (Step S30), a lead-in time series data input step (step S40), and a new song output step (step S50).
The automatic composing method using the artificial neural network according to the present invention is characterized in that learning is performed through a plurality of learning data S21 generated using the time series data of step 2 (S20) in the artificial neural network learning of step 3 (S30) (S22), and further performs a learning step (S30) by additionally inputting the division information of the melody to be learned (S22), and postprocessing the beat and harmony of the new song output through the step 5 (Step 6 (S60)).
Furthermore, the automatic composition method using the artificial neural network of the present invention is further characterized in that it further includes a step of enhancing the beat and melody of the post-processed new music (step S70).
As an alternative embodiment, the automatic composing method using the artificial neural network of the present invention may omit the learning step of the artificial neural network. In this case, the number of steps of the specific melody (step 1 (S10) 4 (S40)) may be omitted.
In other words, instead of learning the neural network, instead of learning the neural network, instead of randomly putting the initial melody, or randomly using the neural network, instead of learning the neural network, instead of outputting the rest of the composition by composing the initial melody into the neural network after learning the existing music on the neural network It is a method to generate a beat and process from step 'S60'. This way, you can create a new song without learning the existing song. However, in this case, since the existing music is not learned, more sophisticated melody / beat processing and more sophisticated melody / beat enhancement are performed to produce meaningful results.
Hereinafter, preferred embodiments according to the respective steps will be described in more detail.
≪ Step 1 (S10)
Step 1 (S10) of the present invention includes a step of converting a plurality of notes and a beat constituting a melody of a corresponding song (hereinafter, referred to as 'first learning song') into a numeric form when a music to be learned by the artificial neural network is selected to be.
Here, the music to be learned by the artificial neural network is an existing music, and the genre is not particularly limited. For example, if the melody of the automatically composed music desired by the user desires a feeling similar to the 'A' song corresponding to the song, the artificial neural network can learn the song 'A' of the song. Furthermore, if the melody of the automatically composed music desired by the user desires to have a feeling of well-combined feeling of various songs (for example, a song 'A' and a pop song 'B'), the song 'A' and the pop song 'B' This can be the song to learn.
The number type conversion of the first learning song will be described in detail as follows. In order to learn the melody of the predetermined music piece in the artificial neural network, the notes (specifically, the 'height' of the musical notes), the comma and the beat constituting the melody of the first learning music are represented by numbers.
First, a note (i.e., a height of a note) can be represented by a number with respect to all the octaves of 1 to 7, but it is assumed that only two to four octaves commonly used in music are used in the present invention. In the above case, there are a total of twelve notes such as' degrees, degrees #, #, #, #, #, #, #, #, #, Quot ;, and " 12 ", respectively.
For example, two octaves of 'DO' are '01', 'D0', '02', 'L' is '03', 'L #' is '04' '06', 'Pa #' is '07', 'Sol' is '08', 'Sol #' is '09', 'La' is '10' Can be expressed as '12'.
In the present invention, since three octaves are used, the notes of each octave can be converted into a number from '01' to '36'.
On the other hand, there are not only notes but also commas in the music. Therefore, the comma must also be expressed in numbers. If a note has a comma, it is configured to use a number that is not used in the note to separate the note from the comma.
For example, in the present invention, a note is configured to express a note using a number from '01' to '36', and a comma is configured to be converted using a number greater than '36', for example, a number '37' Separate the commas. Therefore, the artificial neural network can perform learning by dividing the number of '36' into a comma when performing the learning of step 30.
Next, the beat has "1/16, 2/16, 4/16, 8/16, 16/16" based on the 16th note, and "1, 2, 4 , 8, 16 ". (2 + 1) = 3 beats. "If a point is on the 4 beats," (4 + 2) = 6 beats. "If the beats on the 8 beats are" (8 + 4) = 12 beats ". (4 + 2 + 1) = 7 beats "when there are two points on four beats and" (8 + 4 + 2) = 14 beats "when two beats on eight beats do. However, since most popular songs only use half a beat with a single dot, we usually use 8 beats of "1, 2, 3, 4, 6, 8, 12, If you use only 8 beats in this way, you can represent each beat with a number from 1 to 8.
Meanwhile, the time series data of the present invention can distinguish a note from a comma through a number expressed differently. When the beat information represented by a numeral is added to the corresponding note or comma, the beat note of the corresponding note, the comma beat of the corresponding comma Information becomes available. Thus, there is no need for another separate number to distinguish the note and comma beats.
However, it is also possible to configure it to separate the note and comma beats by the following method. In this case, the note rhythm further expresses a first digit (e.g., '1') in place of the '10', and a comma rhythm represents a second digit (e.g., 0 ').
For example, '♪' is the number '1' of the note rhythm, so it can be converted to the number '14', and ' In case of beat, it can be converted to '02'.
In the above case, the artificial neural network distinguishes between the musical note and the comma beats through a numeral (i.e., a first number or a second numeral) in which a numeral of a numeral representing a beat is expressed You can proceed.
≪ Step 2 (S20)
The step 2 (S20) of the present invention is a step of generating time series data in which numbered notes, a comma, and a beat are arranged according to the time series sequence of the first learning songs through the conversion process of the
Accordingly, when the process of
The time series data of the notes is learned in a first artificial neural network for notes, and the time series data is learned in an artificial neural network (second artificial neural network) for beats separated from the first artificial neural network.
In one embodiment of the present invention, note-time series data and beat time series data are configured to be learned in two artificial neural networks, respectively. However, if necessary, two kinds of time series data may be combined to be learned by one artificial neural network Of course it is.
2 is an example of the first learning song of the present invention, and is a part of the score of the song 'Roly-Poly' of 'Singer Tiara'. This song is within the note range from the lowest note '2 octaves' to the highest note '4 octaves less'. When there is a synthesized note based on the main score of 'Roly-Poly', it is numbered as one representative sound. A time series data conversion example of the two songs will be described as follows. The notes may first be converted to note time series data of [15 18 18 18 18 17 15 18 18 18 18 17], and the beats may be converted into beat time series data of [12 12 12 12 14 14 12 12 12 14 14] . When converted to including a traversal, a total of 360 time series data is generated including notes and commas.
≪ Step 2-1 (S21) >
The artificial neural network performs learning based on note time series data and beat time series data generated in step 2 (S20). Before such learning, time series data is divided into a plurality of learning data Lt; / RTI >
The pattern for generating learning data is as follows. The time series data input / output learning pattern is as follows. First time series data from 'first' to 'N' is input to the artificial neural network and 'N + 1' th time series data is output to generate first learning data.
Then, the second learning data is generated by inputting the time series data from the second time to the (N + 1) th time into the artificial neural network and outputting the (N + 2) th time series data.
Then, the third learning data is generated by inputting the time series data from the 'third' to the 'N + 2' th to the artificial neural network and outputting 'N + 3' th time series data.
Then, by repeating the above-mentioned pattern for generating the n-th learning data by inputting the time series data from the n-th to the N + (n-1) th to the artificial neural network and outputting the N + A plurality of learning data is generated.
FIG. 3 is an example showing a learning pattern of the artificial neural network according to the present invention, and a process of generating and learning the learning data. Referring to FIG. 3, a method of generating a plurality of learning data through time series data will be described in detail
In the embodiment of FIG. 3, two artificial neural networks are used to generate learning data and to learn notes, commas, and beats based on the data. Specifically, the artificial neural network includes a feedforward neural network (FNN) Network).
The structure of the neural network is configured to have 10 input nodes, 20 intermediate nodes, and 1 output node in both neural networks. An input / output learning pattern is created using the time series data representing the tune to be learned, and a plurality of training data (TD: Training Data) can be generated through iteration.
More specifically, when the first to tenth time series data (# 01 to # 10) are input, the learning pattern is the first learning pattern in which the 11th time series data (# 11) is output, (TD # 1) is generated.
In the second learning pattern, the first time-series data of the first learning data generated by the first learning pattern is excluded, and the second to the 11th time-series data (# 02 to # 11) (# 12) is output, and second learning data (TD # 02) is generated.
When a learning pattern of this type is repeated, for example, a total of 90 learning data is generated by using a neural network having 10 input nodes in a song having 100 time series data.
≪ Step 3 (S30) >
Step 3 (S30) of the present invention is a step of learning an artificial neural network using time series data. Specifically, when the above-described step 2-1 (S21) is performed, learning
In the case of FIG. 3, the learning is performed using an error back propagation algorithm, and the maximum learning number is set not to exceed 1,000,000 times. However, the learning can be terminated when the termination condition such as no more learning before that or the total learning error value falls below a specific value is satisfied.
Artificial neural networks can learn learning data provided by input / output given adequate structure and learning rate and sufficient learning time. However, if there is data that can not be learned in the learning data, there may arise a problem that proper learning can not be performed even if a sufficient time learning process is performed (for example, the maximum number of learning times is reached).
Here, the data that can not be learned is a case in which learning data giving different outputs for the same input is given. In this case, the neural network can not determine which of the two outputs to learn to output, but can learn to shift to one side or back and forth between the two outputs, so that even if a lot of learning time is given, .
This is because the time series learning data obtained by transforming the music differently from the general learning data is caused by the occurrence of the time series data repeated in the characteristics of the music. In other words, there are many melodies that are generally repeated in a song, and in particular, a repeat melody is repeated several times over a repeat. The reason why such a repetitive melody is a problem is that a lot of learning data for generating different outputs for the same input side data in the neural network learning data occur.
In such a case, the neural network needs to learn various other outputs for the same input, so it can not converge to a specific value and the learning moves back and forth. As a result, even if the number of learning is performed, Occurs.
≪ Step 2-2 (S22) >
Step 2-2 (S22) of the present invention is for solving the problem of occurrence of a lot of repeated time series data due to the characteristics of the music as described above. In learning of the artificial neural network, time series data (Hereinafter, referred to as " segment classification information ") for distinguishing the segments of a song.
In other words, 'segment classification information' refers to information to be inserted into the same note or rhythm, such as a note or beat, to distinguish the other notes or beats following the rhythm.
By additionally adding the nodal information of the time series data currently being learned to the time series data consisting of only the notes and the beats, it is possible to learn other outputs using the nodal classification information even in the learning data having the same note or beat.
In this way, at least one or more clause classification information must be provided to distinguish the nodes. However, when the number of notes or beats input at one time in the learning data is large, it is difficult to learn to classify the output into one learning data.
In order to solve the above problem, it is preferable that the information for classifying the nodes, that is, the number of the class classification information is enlarged and inputted. If the number of segmentation information is enlarged as described above, the same method is applied through a predetermined rule.
However, the learning can be smoothly performed only if the similarity degree is very low between the segmentation information. If we increase the number of nodal classification information for smooth learning in repeated learning data and input the degree of similarity between the nodal classification information, the neural network can perform learning quickly without any problem even in repeated learning data.
However, because of the increased input to the nodal segment, the learning time of one learning data as a whole increases. Therefore, do not increase the number of section information.
It is preferable to input more than 40 bar section information in order to assure the bar section classification. However, it is preferable that the repeatability of the bar section and the degree of similarity between the bar section information are The number may vary depending on whether or not there is any.
As a result, since the artificial neural network learns based on the nodal information to be input through step 2-2, the input can be classified even if the time series data of the music to be learned is the same. It is not necessary to have a specific value for the input of the nodal classification information, but it is only necessary to input different inputs (that is, different numbers for each node) for each node. For example, 40 numbers can be randomly generated and used as input for sorting information.
≪ Step 4 (S40), Step 5 (S50) >
Step 4 (S40) of the present invention is a step of composing a lead-in portion of a new piece of music and inputting the time-series data thereof into the artificial neural network.
When a person composes a new piece of music (that is, a piece of music to be composed by the artificial neural network) (hereinafter, referred to as an "introduced piece") to convert the time series data into time series data and inputs it into the artificial neural network, The artificial neural network outputs a new song based on the input time series data of the introduced music (S50).
Here, the time series data converted for the introduced tune also refers to the notes and the tempo constituting the introduced tune are converted into numerical form.
If the input tune is the beginning of a new tune, the artificial neural network outputs the new tune following the input tune series data as a start melody (S50).
If the learned artificial neural network is sufficiently learned, put 10 initial notes, a comma, and a beat in the same way as the learned song, and output the remaining notes, comma, and beat in the same way as the original learned song. You can create 10 new initial notes, a comma, and a new beat differently, putting them into the beginning, and automatically generate the remaining notes, comma, and beat. This gives a new melody. A new song composed in this way has a similar melody feel to the learned song but produces a different melody.
However, since a music piece to be newly generated by the artificial neural network is based on the learning of the neural network, it is possible to generate a result that is incompatible with the music theory (for example, beat, Mars, etc.). Therefore, the melody produced by the neural network needs to be further processed in accordance with the music theory.
≪ Step 6 (S60)
Step 6 (S60) of the present invention is a step of post-processing the new music created through step S50 (S50) so as to conform to the music theory. Specifically, the process is divided into post-tone processing and post-conversion processing.
In the post-processing step according to the present invention, the first thing to be post-processed is the beat, and the beat must be modified to produce a measure for each measure. The post-beat processing is a modification of the artificial neural network, which is performed when the beat of the notes output by the artificial neural network fails to form a sufficient measure. For example, one word should be a whole number of notes ('1' on the 16th note and '16' on our notation). If the measure of a measure is 18, subtract 2 and set it to 16 Method. Hereinafter, a specific algorithm of the post-tone processing method will be described.
(1) First algorithm
The first algorithm for post-processing of the present invention is a method for post-processing a beat by maintaining the number of notes or commas output by the artificial neural network, that is, the number of beats, And to perform the second step upon failure of the post-processing of the beats according to the first step.
In the first step of the first algorithm of the present invention, in each of the beats constituting the to-be-processed object node (that is, the node for which the beats in excess of the provided node are exceeded) d ') is subtracted from the smallest beats (the first beat), and if the beats (' 1a 'beat-d' beat) minus 'd' are present in the beat group, .
If the beats subtracted by 'd' are not in the beat group, 'd' is subtracted from the next beat (second beat) relative to the first beat, If the beats ('2a-beat-d' beat) subtracted by 'd' are present in the beat group, the beat-after-processing for the corresponding beat is completed.
If the rhyme subtracted by 'd' is not present in the rhythm group, the same process is performed on the next smaller rhythm than the second rhyme.
If it is not possible to complete the post-beating process even if all beats constituting the subject-to-be-processed are performed in the above-described manner, the second step is performed.
For reference, the 'use beat group' refers to a type of beats that can be used by the artificial neural network in the automatic composition by the artificial neural network of the present invention, and the type of the beats constituting the used beat groups can be set by a user.
For example, if a note is set on the basis of a sixteenth note / comma, the used note group is designated as a group of '1,2,3,4,6,8,12,16' beats (hereinafter referred to as 'first group') .
For example, if the song is a 4/4 beat, the used beat group is the same as the
The second step of the first algorithm of the present invention is a method of generating a beat combination to create a measure having a 'sequence of beats' among the beats constituting the subject to be processed.
Here, the 'order of the beat size' is configured to satisfy the order of the beat size even if the size of the modified beat is the same.
When generating the beat combination, it is configured to generate the combination using the selected beat in the use beat group described above.
For example, if the beat constituting the subject to be processed after the beat is '1,2,3,6,8', the beats (d) overflowing the prepared beat (16 beat) 3 + 6 + 8 (= 20)) - 16) ', even if a total of' 4 'is subtracted from at least one beat of' 1,2,3,6,8 ' , 6,8 'while maintaining the order of magnitudes of the beat groups (for example, the first group).
In this case, subtracting '2' from '8' which is the last beat of '1,2,3,6,8' and '6' after the last beat of beat '1,2,3,4,6' Processing can be completed while maintaining the size order of the post-processing beat number '1, 2, 3, 6, 8', and each beat satisfies the used beat group (the first group) do.
For reference, if the measure target segment is composed of '1,2,3,6,8' beats, and the measure minus the overdue measure (d) is, for example, 1,1,3,3,8 'Beats, it is treated as satisfying the order of' beat size 'even in this case. This is because, as described above, the 'order of beat size' of the present invention is configured to satisfy the order of the beat size even if the sizes of the modified beat are the same.
(2) The second algorithm
The second algorithm for post-processing of the present invention is a method for post-processing the beat by reducing the number of notes or commas output by the artificial neural network. The first step is first performed in detail, and the first step The second step is performed in case of failure of the post-beating processing.
In the first step of the second algorithm of the present invention, after excluding the last rhythm in the target rhythm of the rhythm after processing, the 'lack rhythm' (hereinafter referred to as 'n'), which occurs due to excluding the last rhythm, Is added to the largest beat (the first beat), and if the beat (plus' 1b '+ n' beat) by 'n' is present in the beat group, the beat processing for the beat is completed. Here, the largest beat (the first beat) refers to the largest beat in the section excluding the last beat.
If it is determined that the first beat time plus the nth beat time is not included in the current beat time group, the second beat time is added by n, If there is a beat ('2b' + n ') added by' n 'in the beat group, the beat after beat for that beat is completed.
If the number of beats added by 'n' ('2b' + n 'beats) is not within the beat group, the same process is performed for the next beat smaller than the second beat.
If it is not possible to complete the post-beating process even if all beats constituting the subject-to-be-processed are performed in the above-described manner, the second step is performed.
In the second step of the second algorithm of the present invention, after excluding the last rhythm in the target rhythm of the rhythm after the rhythm, the rhythm of the rhythm after the last rhythm is excluded, To create a beat combination to create.
Here, the 'order of the beat size' is configured to satisfy the order of the beat size even if the size of the modified beat is the same.
When generating the beat combination, it is configured to generate the combination using the selected beat in the use beat group described above.
For example, assuming that the rhythm constituting the subject to be subjected to the rhythm processing is' 1, 2, 3, 6, 8 'and the corresponding rhythm is'
(N), which is generated due to excluding the last beat ('8'), which is composed of '1, 2, 3, 6' 'Becomes a' 4 'beat.
In this case, if '2' is added to the second beat of '1,2,3,6' and '3' is added to the third beat and '2' is added to the fourth beat, '6' , '1, 3, 4, 8', so that it is possible to make a measure while keeping the size order of the pre-processed beat '1,2,3,6' (The first group).
For reference, if the measure target segment is composed of '1,2,3,6' beats, and the measure of adding the insufficient measure (n) is, for example, '2,2,4,8' In this case, it is also deemed that the order of the beat size is satisfied. This is because, as described above, the 'order of beat size' of the present invention is configured to satisfy the order of the beat size even if the sizes of the modified beat are the same.
It is a matter of course that the second step of the first algorithm described above can be replaced with the second step of the second algorithm, and likewise, the second step of the second algorithm can be replaced with the second step of the first algorithm.
Also, when reducing the amount of beat 'd' overflowing in the first algorithm, one beat is added by 'a' and another beat is reduced by 'b' (ba = d) It is also possible to include it. Similarly, in the second algorithm, when increasing the insufficient beat 'n', one beat is subtracted by 'a' and the other beat by 'b' (ab = n) It may be included in the case.
In conclusion, the method of creating a node is to add the nodes created in the artificial neural network one after another, and then divide the node into sixteen segments if the segment meets one of the sixteen segments. If the segment exceeds sixteen segments, There are a variety of methods (subtracting one beat, subtracting two beats, adding one beat and subtracting another beat), and there is a way to match the 16 beats. There are a number of ways to add as much beat as you like (how to add from one beat, how to add from two beats, how to add to one beat and subtract from other beats).
FIG. 4 is a block flow chart showing the detailed steps of the post-processing step according to the present invention, FIG. 5 is a block flow chart showing a specific processing flow of the formation candidate generation step according to the present invention, FIG. And FIG. 12 is a block flow chart showing a specific process flow of the Mars selection step for each node.
Hereinafter, with reference to FIG. 4 to FIG. 6, the post-conversion treatment of the present invention will be described in detail.
The post-conversion process according to the present invention includes a step S100 of generating a candidate for a harmonic generation, a step S12 for selecting a harmony for each node, and a step S11 for modifying the melody.
(1) Mars candidate generation step (S100)
Referring to FIG. 5, in the step S100 of generating a candidate for a harmony of the present invention, a melody generated in the artificial neural network is divided into groups to generate a harmony candidate group. S101).
Then, the lowest note is sequentially designated as the root note (S102), and the interval between the remaining notes is obtained (S103). For example, if there are three notes in a clause, the spacing between the remaining notes is obtained when each note is root. At this time, the tone lower than the root is converted to the upper tone by the potential method. For example, if there are three notes in a clause, each note is represented by '1, 5, 8', and the middle note '5' ) And the last note (8) is the perfect triad (5th degree) with the root note (+7 in intervals). As a result, the root is 'C', so it becomes 'C Major' chord. If the middle note is '5', it becomes '5, 8, 12' and becomes a triple chord, resulting in 'E minor' chord.
In this way, the harmony (S104) is obtained with all the notes as the root. If you can not define major and minor, put both major and minor as candidates. When all the determined chords are stored, a candidate of Mars is formed for each of the nodes (S105).
Experimental results show that when there are 3 ~ 4 or more notes in each node, 5 ~ 8 of them are generated as Mars candidates.
(2) Mars selection step for each node (S110)
Referring to FIG. 6, the Mars selection step S110 for each of the nodes according to the present invention is a step for selecting Mars for each node so that a specific code combination is developed on the basis of the selected candidates for each node.
Here, the 'development of a specific code combination of Mars' means a change of Mars according to each segment, and it is possible to use at least one of various kinds of Mars progress codes used in various genre composition fields.
According to one embodiment, the development of a specific code combination may be a money chord. In the following description, the 'development of a specific code combination' will be described based on the use of a money code.
In Money Chord, Mars is performed by four segments. The priority of the progress of the conversion used in the present invention is four types. Fundamentally, the money chord means that the root-mean difference of each node occurs as 'I-V-vi-IV'. In other words, if 'I' is set, it means that the root is changed to 'Do-Sol-la-par', so that 'vi' is expressed in lower case in the middle, which indicates that the chord is a minor chord .
As a result, step S110 is a step S112 for determining whether or not there is a code that proceeds in order of the money chord through the comparison of the root difference of each node (S111) with respect to the candidates of candidates generated in the generation of the candidates for Mars, If there is a combination of codes proceeding in the order of the money code as a result of the comparison of the root difference, the final combination is determined and stored (S113).
However, five to eight candidates of Mars are generated in the generation of Mars candidates, but the candidates of Mars having the code combinations that do not match the order of money code progression may occur. In this case, a money code error tolerance range close to the Money chord is set, and if there is a code combination in the error tolerance range, the money code error tolerance range is configured to be matched once.
In other words, when there is a slight difference from the Money chord, if the code combination is within the allowable range, it is determined that it is determined and stored as matching the money code. In this case, it is necessary to modify the melody so as to match the Money chord in the melody modification step S12, which is the next step.
(3) Melody correction step (S120)
The melody modification step (S120) of the present invention is a step of modifying the melody of the tune outputted in step 'S50', centering on the finally determined code.
Specifically, the melody created in the artificial neural network is corrected based on the final determined Mars for each node. For example, in order to match the progress of the Money chord, if a Mars combination that is not matched in the Mars candidate group is selected, that is, if there is a combination of codes within the above-described 'error tolerance range', the melody Modify the whole.
Also, according to the type of Mars, 'Major' and 'minor' to perform melody modification. Eventually, the melody output from the artificial neural network will be converted into a melody corresponding to the progression of the Money chord, and the final song will be completed with the melody according to the new chord progression while having the feeling of the previously learned song.
Fig. 7 is a test example showing the actual composition result outputted according to the method of steps S10 to S60 described above. For reference, the automatic composition of FIG. 7 used 'Raleigh-Poly' of 'Singer' Tiara as a learning song, and it was confirmed that the corresponding song was completely learned.
After learning, the first 10 notes and beats were added to the new song to output a new song. At this time, the post-processing method according to the Money chord described in the step 'S60' was applied, and the Mars was determined and the melody was also corrected and output. The money chord was not matched and a new section was created with a new melody. The final determined code was applied to all the bars. On the other hand, songs created automatically can be output to a file in MusicXML notation.
As can be seen from the musical note of FIG. 7, the melody of the existing song 'Raleigh-poly' was similar to the melody, and a new song could be produced. In addition, the application of Money chord showed that the process progresses similar to that written by the composer.
As shown in the result of FIG. 7, the method of learning an existing song using the artificial neural network and creating a new song has a lot of the feeling of the existing song in the newly created song. In order to avoid this, a certain amount of melody can be removed if the starting melody is set differently from the existing melody. In addition, if the matching condition in the progress of Mars and post - processing is relaxed, the melody modification according to the final determined Mars will be moderated to some extent and can be mitigated to some extent.
More preferably, if the artificial neural network learns not only a single music but also a plurality of music pieces, a final melody that is not biased to a specific music may be generated to alleviate the problem. Especially, according to the way of learning various songs, it is advantageous that artificial neural network maintains the feeling of each song to some extent. In other words, when composing after learning several songs, it is possible to produce a harmonized final product with various songs.
On the other hand, in order to further improve the musicality of the composition, it is necessary to upgrade the beat or melody to a higher level.
Hereinafter, a method of enhancing the beat and melody post-processing and a method of learning various songs will be described.
≪ Step 7 (S70)
Step 7 (S70) of the present invention is a step for further enhancing the musicality of the music created according to the process of steps 'S10' to 'S60' by upgrading the beat and melody of the post-processed new music.
The song created through the rhythm and post-harmonization process of step 'S60' produces a substantial level of music, but the repeatability is not as clear as in popular music. That is, in most cases, almost new melodies and beats are composed from the beginning to the end. By solving the beat and melody in step S70, such limitations can be solved.
FIG. 8 is a block flow diagram illustrating a specific process flow of the beat and melody enhancement steps according to the present invention. Referring to FIG. 8, the beat enhancement and the melody enhancement are operations for re-adjusting the post-processed beat and harmony to a frequently occurring pattern.
Specifically, in the beat advancement method, several frequent patterns are counted in the beats per bar, and then sorted and classified according to the order (S71).
Then, an upper N ranking among the sorted statistical ranks is selected (S72), and a nodal correction is performed based on the selected N ranks (S73)
Here, the upper N rank can be designated by the user, for example, several rankings can be designated. In the case of the statistics according to each node, only patterns that completely coincide with each other are classified into one pattern, or a tolerance range of about ± n is set, and if the pattern falls within the tolerance range, A pattern may be classified into one pattern, or a pattern statistic may be calculated by combining two methods.
In addition, when the pattern statistic is calculated by combining the two methods, the pattern N is calculated in such a manner that a higher weight or a higher priority is given to the 'patterns completely matching each other' It can be configured to select a ranking.
In the case of the nodal correction step S73, it is possible to perform the nodal correction through any one of the two methods, preferably as the step of adjusting the nodeless parts.
The first method calculates a difference from each beat pattern in the N-th rank with respect to the nondegraded node (hereinafter, referred to as a "correction target node"), (That is, any one of the upper N positions).
Here, the difference calculation between the upper N rank and the correction target node may be configured to be performed using the number of numbers per numeral or the degree of similarity of numerical values in the time series data in which the beat or the note is represented by numerals.
If there is a plurality of smallest differences, it is possible to select one of them in a random manner to change the correction target node.
In the second method, after calculating the difference from each beat pattern in the N-rank with respect to the correction target segment, the correction target segment is changed only one at a time with the smallest difference (that is, any of the top N positions) Method.
In this case, when the change of one correction target node (hereinafter, referred to as 'first correction target node') is completed, the first correction target node is included, and the statistics and sorting of each node of step 'S71' After re-running the process, re-rank the top N ranking among the sorted statistical rankings.
After calculating the difference between the process of step S73, that is, the process of step S73, with respect to the re-selected upper N rank, that is, the difference between the another target N and the N rank, only the smallest difference is changed one at a time .
By repeating this method a number of times, it is possible to recalibrate the post-processed rhythm and melody to a frequently generated pattern, thereby realizing repeatability as in popular music.
The melody enhancement method can be performed in the same manner as the above-mentioned beat enhancement method. However, in the method of increasing the number of beats, several frequently occurring patterns are statistically analyzed in 'beats' according to each of the bars, while in the melody enhancement method, several frequent patterns in 'melody' The process proceeds according to the steps 'S72' and 'S73'.
Hereinafter, a method of learning a plurality of songs will be described in detail. FIG. 9 is a conceptual diagram illustrating an artificial neural network learning method according to an embodiment of the present invention, and FIGS. 10 (a), (b) and (c) illustrate an artificial neural network learning method according to various embodiments of the present invention It is a conceptual diagram.
In the first method, as shown in FIG. 9, after learning the first song as the basic song at 100%, the remaining songs are partially learned. This can give the first song the effect of adding the feel of another song. In order to adjust the degree of learning, the mean square error (MSE), which is one of the neural network learning performance indexes, is used in the present invention.
The second method is to learn the songs to be learned one after another by one epoch as shown in Fig. 10 (a). At this time, if you have a song you want to use as a basis, you can use the method to increase the learning rate of the song. For example, as shown in FIG. 10 (b), if you want to add more weight to the 'A' song when you learn and compose both 'A' and 'B' (5: 1 in the case of FIG. 10 (b)), so that more 'A' tunes are learned and composed.
The third method is a more intensive method in the second method, in which the learning songs are divided by the nodes and alternately learned. Here, the node means a unit that learns artificial neural networks, not nodes in music.
For example, when learning two pieces of music, as shown in FIG. 10 (c), first the first segment of the first piece is learned and then the first segment of the second piece is learned. Next, learn the second bar of the first song and then learn the second bar of the second. Then repeat this method to learn all songs (ie, the first and second songs).
In the third method using the node, it is also possible to configure the node to learn more nodes of the song in order to emphasize the specific song.
FIG. 11 is a piece of music of a piece of music that the artificial neural network of the present invention learned and composed two songs "Roly-Poly" of "Singer Tiara" and "Send You" of "Singer Yoon Do Hyun". For reference, the result shown in Fig. 11 is the melody of the composition after learning two songs by the three learning methods described above.
Referring to FIG. 11, the melody notes of the songs learned in the first method have the most stable form. This is because the first song is 100% learned, so it is estimated that it is the most musical stability feeling even if the second song is added. The second and third methods showed similar results. This is because the two learning methods use a method of learning two songs in turns. However, the second method is more stable in the later part, which is due to the difference in the learning rate of the first and second songs.
The automatic composing method using the artificial neural network of the present invention explained and illustrated above can be implemented by learning a specific music existing in the zone through artificial neural network learning step S30 from digitization step S10 of a specific melody When a song is input, a new song is composed based on the learned song.
However, even if a song composed and learned from the existing song as described above is much different from the one that has been learned, it may be a copyright problem because it may show similarity in some measure.
The modified embodiment of the present invention corresponds to a method for preventing copyright problems due to the similarity of some measures.
A modified embodiment of the present invention may be modified such that the digitizing step (Step 1 (S10)) of the specific melody or the inputting time series data inputting step (Step 4 (S40)) is omitted and the remaining steps, S60), and beat and melody enhancement step (S70).
Specifically, instead of receiving the introduction song after the artificial neural network has undergone the learning step described above, the artificial neural network that has not been learned randomly generates a song or receives a randomly generated song.
When the randomly generated or inputted music is subjected to the above-described beat and harmony post-processing steps (S60), beat and melody enhancement steps (S70), the song is generated according to the music theory, .
The automatic composing method using the artificial neural network of the present invention as described and shown above is a method for automatically composing an electric / electronic device such as a computer, in which a program for executing the above-described respective functions or steps (S10 to S80) May be provided in the form of a medium.
According to the configuration of the present invention as described and shown above, it is possible to automatically generate a whole music including a new melody, beat, and harmony using an artificial neural network.
In addition, it is possible to produce a natural song at the level of an actual composer while having a feeling of a learning song, and further improve a beat or a melody to a higher level, thereby realizing repeatability as in popular music, The problem of having too much of the feeling of the original song which is the biggest disadvantage of the song was solved.
While the preferred embodiments of the present invention have been described and illustrated above using specific terms, such terms are used only for the purpose of clarifying the invention, and it is to be understood that the embodiment It will be obvious that various changes and modifications can be made without departing from the spirit and scope of the invention. Such modified embodiments should not be understood individually from the spirit and scope of the present invention, but should be regarded as being within the scope of the claims of the present invention.
Claims (24)
Generating time series data by converting a plurality of notes and beats forming a piece of music to be learned by the artificial neural network (hereinafter, referred to as a 'first learning song') into numerical form; Learning the artificial neural network using the time series data; Outputting a new music piece by the artificial neural network; And post-processing the harmony of the new song,
The step of post-
A first step of generating a harmony candidate group by dividing the melody of the new music piece by each segment; A second step of selecting a harmony for each of the nodes so that a specific combination of chords is developed on the basis of the candidate candidates generated for each node; And a third step of modifying the melody of the new song on the basis of the selected harmony,
In the first step,
A) sorting the notes in the first word from a low note to a high note;
A step (b) of calculating the interval between the lowest note of the first measure (hereinafter referred to as 'first note') and the remaining note of the first measure;
Determining a first chord on the basis of the root note of the first note and the calculated interval of step b;
Calculating a distance between the first note and the remaining note of the first note by designating a low note (hereinafter referred to as 'second note') as the root note;
A step e) of converting a tone lower than a root of the second note among the aligned notes of the step a into a higher tone by a chord disposition method;
Determining a second chord based on the root of the second note and the calculated interval of step d;
Calculating an interval between the first note and the remaining note of the first note by designating a low note (hereinafter referred to as 'the N-th note') as the root note;
A step (h) of converting an aligned note of the step (a) to a higher note by a chord disposition method;
Determining a Nth chord based on the Nth negative root and the calculated interval of step g;
A step j for storing the first chord, the second chord, and the N th harmony to generate a first harmony candidate group;
A step k of generating the second group of harmonic candidates by performing the steps a to j with respect to the first, second and Nth notes of the second node in place of the first node; And
And a step (l) of performing the steps (a) to (j) for the N-th node by replacing the first node to generate the candidate group of the N-th node,
Wherein the step b, the step d, and the step g calculate the interval using a number representing the note of the time series data.
Further comprising the step of inputting time series data corresponding to a part of a piece of music to be composed by the artificial neural network (hereinafter, referred to as 'introduced music') into the artificial neural network,
Wherein the outputting of the new music is performed by the artificial neural network to generate a remaining piece of music following the inputted music piece to output the new music piece.
The second step comprises:
Comparing the root candidate difference group generated by the first step with the root difference group for each node to search for a code matching with the development of the specific combination of the specific code;
And if there is a matching code combination as a result of the search, storing the combined code combination as a final harmonic.
In the second step,
If there is an unmatched code combination as a result of the search, setting an error tolerance range based on the specific code combination, storing the code combination within the error tolerance range,
In the third step,
And correcting the code combination within the error tolerance to the final harmonic.
Wherein the specific code combination in the second step is a Money Chord.
Wherein the step of learning the artificial neural network using the time-
A first step of generating first learning data by inputting time series data from 'first' to 'N' th to the artificial neural network and outputting 'N + 1' th time series data;
A second step of generating second learning data by inputting time series data from 'second' to 'N + 1' th to the artificial neural network and outputting 'N + 2' th time series data;
A third step of generating third learning data by inputting the time series data from the 'third' to the 'N + 2' th to the artificial neural network and outputting 'N + 3' th time series data; And
and an n-th step of generating n-th learning data by inputting the time series data from the n-th to the N + (n-1) th to the artificial neural network and outputting the N + ,
Wherein learning data generated in each of the steps is applied to the artificial neural network to learn the artificial neural network.
Wherein the artificial neural network further inputs information (hereinafter, referred to as " segment classification information ") for classifying a segment of a song into time series data constituting the learning data when learning the respective learning data. Automatic Composition Method Using Neural Network.
Wherein the node identification information is represented by a different number for each node.
Further comprising enhancing the beat or melody of the new song,
Advancing the beat or melody comprises:
A first step of counting several frequently occurring beat patterns or melody patterns in the beat or melody according to each of the bars and sorting the beat patterns or the melody patterns according to the ratings; A second step of selecting an upper N rank among the sorted statistical orders through the first step; And a third step of correcting the node that is not ranked in the upper N rank (hereinafter, referred to as a 'correction target node') using the selected N rank,
In the third step,
Calculating a difference from each beat pattern or melody pattern in the N ranking with respect to the correction target segment, and then changing the corresponding correction target segment to any one of the N positions having the smallest difference from the corresponding correction target segment Automatic Composition Method Using Artificial Neural Network.
In the third step,
Calculating a difference between each beat pattern or melody pattern in the N ranking for all the correction target nodes, and then changing all the correction target nodes at once.
In the third step,
Calculating a difference between each of the beat patterns or the melody pattern in the N ranking for one correction target node (hereinafter, referred to as a first correction target node) to change the first correction target node; And
And performs the correction for the another correction target node by redoing the first 'and the second' steps including the corrected first correction target node. Using automatic composing method.
Wherein the 'calculating the difference' is performed by using a number of digits or a numerical value of each numeral in the time series data in which a beat or a note is represented by a number.
The generating of the time series data may include generating a time series data by converting a plurality of notes and beats constituting at least one other learning song into numerals in addition to the first learning songs,
Wherein the learning of the artificial neural network using the time series data comprises learning the artificial neural network using time series data for the first learning song and time series data for at least another one of the learning songs Automatic Composition Method Using Artificial Neural Network.
Wherein the step of learning the artificial neural network comprises:
The method of claim 1, further comprising the steps of: learning the first learning song at a rate of 100%; learning at least a part of the at least one learning song; or alternately learning the first learning song and the another at least one learning song by one epoch Or alternately assigning a higher ratio to one of the first learning song and the another at least one learning song and alternately learning the first learning song and the at least one other learning song The method according to claim 1, wherein the music is divided into a plurality of segments.
Further comprising a beat after-processing step of correcting the beat with a measure having a beat exceeding a beat with respect to the beat of the new track (hereinafter referred to as " exceeding measure "),
Wherein the step of post-
A first processing step of subtracting a beat (hereinafter, referred to as 'd') exceeding the excess node from the provided node at the smallest one among the respective beats constituting the excess node (hereinafter, referred to as '1a'
(Artificial neural network) in which the artificial neural network subtracts 'd' from the first processing step in a beat group (hereinafter, referred to as 'use beat group' A second processing step of judging whether or not there is a second processing step;
As a result of the determination in the second processing step, if there is present, the post-processing of the excess node is completed, and if it is not present, the next small beat (hereinafter referred to as' A third processing step of subtracting the first processing step from the second processing step; And
A fourth processing step of discriminating whether or not a beats ('2a-beat-d' beat) subtracted by 'd' in the third processing step exists in the use beat group; And
And a fifth processing step of, if a result of the fourth processing step is determined to be complete, completing the beat back processing on the excess node, if present.
As a result of discriminating whether or not each of the corresponding beats is present in the used tempo group after subtracting the amount of 'd' from all the tempos constituting the excess clause, all of the beats subtracted by 'd' If not present,
Further comprising a beat finish processing step of selecting a beat in the use beat group and generating a beat combination for creating the feared segment while maintaining the size order of each beat constituting the excess node, ≪ / RTI >
Further comprising a beat after-processing step of correcting the beat with a measure having a beat exceeding a beat with respect to the beat of the new track (hereinafter referred to as " exceeding measure "),
Wherein the step of post-
A first processing step of excluding the last beats of each beat constituting the excess section;
A second processing step of adding, in the largest beat (first b-th beat) after the first processing step, as much as the lack of beat (hereinafter referred to as 'n') relative to the equipped nodal occurring due to the first processing step;
In the second processing step, the artificial neural network inserts a beat ('1b' + n 'beat) added by' n 'in a beat group (hereinafter referred to as' beat group' A third processing step of judging whether or not there exists a second processing step;
As a result of the discrimination in the third processing step, if there is present, the post-processing of the excess node is completed, and if it is not present, the processing is completed by the number n of the next big beat (hereinafter referred to as' A fourth processing step of adding the second processing step; And
A fifth processing step of determining whether or not there is a beat ('2b' + n ') added by the' n 'in the fourth processing step in the used beat group; And
And a sixth processing step of, if a result of the fifth processing step is determined to be complete, completing the post-beating processing on the excess node, if present.
As a result of discriminating whether or not each of the corresponding beats is present in the used tempo group after adding the above 'n' to all the remaining beats except for the last beats constituting the excess section, If all of the beats are not present in the used beat group,
Further comprising a beat finish processing step of selecting a beat in the use beat group and generating a beat combination for creating the prepared bar while maintaining the size order of the remaining beats except the last beat of the excess node, An automatic composing method using an artificial neural network.
Wherein the number of notes and the number of beats converted into the number form are represented by different numbers, respectively.
Wherein the time series data further includes a comma converted into a number form,
Wherein the comma is converted into a number that does not overlap with the numbers representing the musical note.
The time series data is divided into time series data of notes converted into numerals and beat time series data obtained by converting the time series to a number format,
Wherein the musical note time series data is learned in a first artificial neural network and the beat time series data is learned in a second artificial neural network which is distinguished from the first artificial neural network.
Wherein the artificial neural network is composed of a feedforward neural network (FNN) having one output.
Wherein the introduction song is a start melody of a piece to be composed by the artificial neural network.
A recording medium that can be read by an electric / electronic apparatus having recorded thereon a program for executing any one of the methods selected from the items 1 to 23.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160007882A KR101795706B1 (en) | 2016-01-22 | 2016-01-22 | Method and recording medium for automatic composition using artificial neural network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160007882A KR101795706B1 (en) | 2016-01-22 | 2016-01-22 | Method and recording medium for automatic composition using artificial neural network |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170088451A KR20170088451A (en) | 2017-08-02 |
KR101795706B1 true KR101795706B1 (en) | 2017-11-09 |
Family
ID=59651769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160007882A KR101795706B1 (en) | 2016-01-22 | 2016-01-22 | Method and recording medium for automatic composition using artificial neural network |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101795706B1 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101934057B1 (en) * | 2017-09-08 | 2019-04-08 | 한성대학교 산학협력단 | Method and recording medium for automatic composition using hierarchical artificial neural networks |
CN107644630B (en) * | 2017-09-28 | 2020-07-28 | 北京灵动音科技有限公司 | Melody generation method and device based on neural network and storage medium |
KR102497415B1 (en) * | 2021-08-03 | 2023-02-08 | 계명대학교 산학협력단 | Apparatus for composing music based blockchain and control method thereof and computer program recorded on computer readable recording medium |
KR102621033B1 (en) * | 2021-11-15 | 2024-01-05 | 한성대학교 산학협력단 | Method for generating a song with note embedding and bar embedding and the system thereof |
KR102560394B1 (en) * | 2022-09-15 | 2023-07-28 | (주)더바통 | Chord generation system based on music score chord ai discrimination algorithm |
-
2016
- 2016-01-22 KR KR1020160007882A patent/KR101795706B1/en active IP Right Grant
Non-Patent Citations (2)
Title |
---|
Debora C. Correa et al., ‘Neural network based systems for computer-aided musical composition: Supervised x Unsupervised learning’, Proceeding SAC '08, pp.1738~1742, 2008.* |
조제민 외 3명, ‘자동작곡시스템 구현을 위한 인공신경망의 학습방법’, 정보처리학회논문지, 소프트웨어 및 데이터공학, 제3권, 제8호, pp.315~320, 2014년 8월.* |
Also Published As
Publication number | Publication date |
---|---|
KR20170088451A (en) | 2017-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101795706B1 (en) | Method and recording medium for automatic composition using artificial neural network | |
KR101854706B1 (en) | Method and recording medium for automatic composition using artificial neural network | |
CN111630590B (en) | Method for generating music data | |
WO2021062423A1 (en) | Computing orders of modeled expectation across features of media | |
CN111583891A (en) | Automatic musical note vector composing system and method based on context information | |
Zhou et al. | BandNet: A neural network-based, multi-instrument Beatles-style MIDI music composition machine | |
Alfonseca et al. | A simple genetic algorithm for music generation by means of algorithmic information theory | |
Padilla et al. | Generation of two-voice imitative counterpoint from statistical models | |
Lo | Evolving cellular automata for music composition with trainable fitness functions | |
KR101934057B1 (en) | Method and recording medium for automatic composition using hierarchical artificial neural networks | |
Kunimatsu et al. | A music composition model with genetic programming-a case study of chord progression and bassline | |
Wassermann et al. | Automated harmonization of bass lines from Bach chorales: a hybrid approach | |
KR20170128070A (en) | Chord composition method based on recurrent neural network | |
Liu et al. | Fusing Flamenco and Argentine Tango by evolutionary composition | |
US20190189100A1 (en) | Method and apparatus for analyzing characteristics of music information | |
Oliwa | Genetic algorithms and the abc music notation language for rock music composition | |
Roig et al. | A non-homogeneous beat-based harmony Markov model | |
KR20170128072A (en) | Music composition method based on free order markov chain and bayes inference | |
Mohanty et al. | Temporally conditioning of generative adversarial networks with lstm for music generation | |
Kurniawati et al. | Multilayer perceptron for symbolic Indonesian music generation | |
Alfonseca et al. | Evolving computer-generated music by means of the normalized compression distance | |
CN104464702B (en) | Harmony accompaniment generation method based on genetic algorithm | |
Mo et al. | A music generation model for robotic composers | |
KR102149773B1 (en) | Deep learning based compositional drum pattern generating apparatus and method therefor | |
Kim et al. | Evolutionary hypernetworks for learning to generate music from examples |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |