Methods and devices that automatically generates melodies are described in literature and are, for example, used in mobile phones for ringtones, in toys and in digital musical instruments. Distinguishing for these, is that they do not generate melodies that are perceived as appealing enough to be used to a great extent, and companies in a need of generating melodies are forced to pay fees to musicians and composers.
One known such method for melody generation is described in Machine Musicianship (Robert Rowe) p. 208-209, where tones are generated randomly within a so-called tendency mask, i.e. an interval of pitches. However, the described method is quite simplistic and only creates melodies with a very modest degree of enjoyableness.
In the same book, p. 305-306, is also described a slightly more complex variety of the above method, where successive pitches are selected according to the statistics of Brownian Movement, though still with the requirement that they are positioned within a given interval. This method doesn't create melodies of any higher degree of enjoyableness either.
Hence, one purpose of the invention is to provide a melody generator, and a method for such a melody generator that creates melodies that are perceived as more appealing than those that are created with known technology for melody generators.
These, and other purposes are reached through a melody generator according to the characterising parts of the independent claims.
The invention relates to a method and a device for automatic generation of melodies, comprising a series of successive steps, and a device capable of executing these steps. Each step corresponds to the smallest note duration value used by the melody generator. From one step to a following, one or more new parameter values are generated, and these are designated to be sent to a unit emitting sound according to these parameter values representing e.g. note pitch, or to be saved in e.g. a MIDI file. The parameters may include a new note pitch, a window width, a life span for the window width, a window offset and a life span for the window offset, where the new note pitch is selected according to a given probability distribution within the interval of note pitches given by the note pitch in a previous step, the window width and the window offset.
The melody generator generates a series of note values relating to note pitch, note duration and other parameters used for creating a melody. The selection of note values is made in successive steps, where each step corresponds to the shortest note duration value used by the generator. In the preferred embodiment, selections are made by random choice from a table of possible values according to a probability distribution decided by assigning each value a specific probability.
The values of all the parameters used by the melody generator may be changed at any time during the creation of a melody, as may also the tables of probability distributions for the values. To achieve this, a life span parameter is created as soon as a parameter is allotted a new value. This life span value decides the number of forthcoming steps that the new parameter value will be valid. When the life span of the parameter has run out, a new parameter value and new life span is selected.
To generate the pitch of the notes, the melody generator is initialized by selecting a starting pitch within a predefined interval corresponding to the available pitch interval of a given instrument. If the MIDI standard is used, which is common in the context, each pitch position is described as an integer, and with this way of defining note pitch, the available pitch interval for piano could be e.g. 24-84. Furthermore, the parameters window width, window offset and the life span of these parameters are initialized by selecting values for them. These values may be selected among e.g. the values 3, 5, 7, 9, respectively −4, −2 −1, 0, 1, 2 or 4 respectively 1, 2, 3, 4, 5, 6, 7.
For each new step in the generation of a melody, an interval of selectable pitches is calculated using the parameters window width and window offset, so that all the selectable pitches are within an interval that is as wide, expressed in e.g. MIDI pitch positions, as is indicated by the window width and centered around the pitch of the previous note plus the parameter value window offset. Another way of expressing this is stating that all the selectable pitches are between
the pitch of the previous note+window offset−½ window width
and
the pitch of the previous note+window offset+½ window width
This means that if the parameter value window offset is zero, the previous note pitch is placed in the middle of the interval of selectable pitches, while with a positive or negative window offset value, the interval is placed asymmetrically relative to the previous note pitch and the interval may not include this.
Pitches within this interval are assigned a probability value between zero and 100% in such a way that the combined probability for all the pitches is 100% after appropriate weighting. How these probabilities are distributed is ruled by the musical style desired for the generated melody.
When the available pitches have been calculated and each pitch within the interval has been assigned a probability, a pitch is selected with a probability corresponding to its assigned probability value. The note with the selected pitch is sent to a suitable instrument that can generate an actual tone, typically a digital, MIDI controlled, musical instrument. Subsequently, the described cycle is begun anew.
Initially, before step 1, illustrated in
Below the keys is shown the possible interval within which a new pitch can be selected, and here it is stretching from pitch 62 to pitch 64 (both inclusive), which gives an interval of possible pitches of three, i.e. corresponding to the initially set value of the window width. The mean value of the available pitches is one pitch step higher than the previous pitch, i.e. in accordance with the parameter value for the window offset being just one.
On the keys possible to select according to the window width and window offset, probability values are indicated within circles. A random generator is used, and here selects a next pitch of 64, which will be indicated with an arrow above the keys in
In
In
Number | Date | Country | Kind |
---|---|---|---|
0600243-0 | Feb 2006 | SE | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/SE2007/000018 | 1/12/2007 | WO | 00 | 8/1/2008 |