The present invention relates to a melody generator according to the preamble of the independent claims.
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 | Feb 2006 | SE | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/SE2007/000018 | 1/12/2007 | WO | 00 | 8/1/2008 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2007/091938 | 8/16/2007 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
4399731 | Aoki | Aug 1983 | A |
4926737 | Minamitaka | May 1990 | A |
4982643 | Minamitaka | Jan 1991 | A |
5003860 | Minamitaka | Apr 1991 | A |
5099740 | Minamitaka | Mar 1992 | A |
5218153 | Minamitaka | Jun 1993 | A |
5375501 | Okuda | Dec 1994 | A |
5425297 | Young, Jr. | Jun 1995 | A |
5451709 | Minamitaka | Sep 1995 | A |
5486647 | Kay et al. | Jan 1996 | A |
5496962 | Meier et al. | Mar 1996 | A |
5627335 | Rigopulos et al. | May 1997 | A |
5679913 | Bruti et al. | Oct 1997 | A |
5705761 | Minamitaka | Jan 1998 | A |
5736663 | Aoki et al. | Apr 1998 | A |
5990407 | Gannon | Nov 1999 | A |
6051770 | Milburn et al. | Apr 2000 | A |
6075193 | Aoki et al. | Jun 2000 | A |
6103964 | Kay | Aug 2000 | A |
6121532 | Kay | Sep 2000 | A |
6124543 | Aoki | Sep 2000 | A |
6143971 | Aoki et al. | Nov 2000 | A |
6226606 | Acero et al. | May 2001 | B1 |
6252152 | Aoki et al. | Jun 2001 | B1 |
6297439 | Browne | Oct 2001 | B1 |
6384310 | Aoki et al. | May 2002 | B2 |
6392134 | Aoki | May 2002 | B2 |
6472591 | Aoki et al. | Oct 2002 | B2 |
6506969 | Baron | Jan 2003 | B1 |
6541691 | Tolonen et al. | Apr 2003 | B2 |
6576828 | Aoki et al. | Jun 2003 | B2 |
6608249 | Georges | Aug 2003 | B2 |
6639141 | Kay | Oct 2003 | B2 |
6740802 | Browne, Jr. | May 2004 | B1 |
6746246 | Cliff | Jun 2004 | B2 |
6756533 | Aoki | Jun 2004 | B2 |
6791021 | Aoki | Sep 2004 | B2 |
6822153 | Comair et al. | Nov 2004 | B2 |
6984781 | Mazzoni | Jan 2006 | B2 |
7053291 | Villa | May 2006 | B1 |
7102069 | Georges | Sep 2006 | B2 |
7169996 | Georges et al. | Jan 2007 | B2 |
7169997 | Kay | Jan 2007 | B2 |
7183478 | Swearingen | Feb 2007 | B1 |
7319185 | Wieder | Jan 2008 | B1 |
7335834 | Gayama | Feb 2008 | B2 |
7342166 | Kay | Mar 2008 | B2 |
RE40543 | Aoki et al. | Oct 2008 | E |
7491878 | Orr | Feb 2009 | B2 |
7498504 | Bourgeois | Mar 2009 | B2 |
20020000156 | Nishimoto et al. | Jan 2002 | A1 |
20020002897 | Pachet et al. | Jan 2002 | A1 |
20020007720 | Aoki et al. | Jan 2002 | A1 |
20020011145 | Aoki | Jan 2002 | A1 |
20020117045 | Mita et al. | Aug 2002 | A1 |
20020134219 | Aoki | Sep 2002 | A1 |
20030188625 | Tucmandl | Oct 2003 | A1 |
20040089136 | Georges et al. | May 2004 | A1 |
20040089138 | Georges et al. | May 2004 | A1 |
20040159213 | Eruera | Aug 2004 | A1 |
20060086235 | Mizuno | Apr 2006 | A1 |
20070186752 | Georges et al. | Aug 2007 | A1 |
20070221044 | Orr | Sep 2007 | A1 |
20080053293 | Georges et al. | Mar 2008 | A1 |
20080156176 | Edlund | Jul 2008 | A1 |
20090064851 | Morris et al. | Mar 2009 | A1 |
Number | Date | Country |
---|---|---|
1274069 | Jan 2003 | EP |
2378306 | Feb 2003 | GB |
05181408 | Jul 1993 | JP |
Number | Date | Country | |
---|---|---|---|
20090025540 A1 | Jan 2009 | US |