The present invention generally relates to the field of digital music. In particular the present invention relates to being able to dynamically adjust the complexity of a chord which a user can play discrete notes and/or pitches there from on an electronic device.
Conventionally, an electronic musical instrument has pre-programmed pitches associated with each input. These pre-programmed pitches typically correspond to the pitches from the electronic instrument's acoustic counterpart. For example, someone familiar with paying an acoustic grand piano would be able to go to an electronic keyboard and immediately find the keys on the electronic keyboard which correspond to their counterparts on the acoustic grand piano and would be able to play a desired key by locating its position on the keyboard relative to the others.
A problem therefore exists that in order for someone to play an electronic keyboard as well as an acoustic piano they would need the same amount of training and practice as there is little if any difference between the playability of the two instruments. While some methods do exist of remapping the keys in such a way that a user can not make a so called ‘bad’ sound by playing a wrong not, there is little freedom in the selection of the ‘good’ notes. Players who would like to use current methods in reassigning the pitches of keys may want more or less freedom in the assignment of the pitches.
It is an object of the present invention to provide a method of adjusting the complexity of a chord.
It is a further object of the present invention to provide a computer readable medium having stored thereon a set of computer implementable instructions for carrying out the methods described herein.
Still yet, it is an object of the present invention to provide an electronic device having a processor, a user input, an audio output and a computer readable medium having stored thereon a set of computer implementable instructions for carrying out the methods described herein.
According to certain embodiments, the method includes the steps of receiving information about a chord including the key, chord type and desired chord complexity, creating an array by adding the key of the chord to progression data for the chord type, determining a set of pitches, based on the created array and desired chord complexity, from the key of the chord which correlate to the desired chord complexity, and assigning the set of pitches to a user input device which allows a user to play said set of pitches.
Examples of chord types are major chords, minor chords, augmented chords and diminished chords.
Each key may be represented by a unique numeric value. Each progression data set may be represented an array of numeric values corresponding to note positions within a scale. Creating an array for a chord may include multiplying the key numeric value by numeric values in the array.
Additionally, according to certain embodiments, the method further comprises combining a created array for a current chord with at least one created and stored array for an immediately previous chord, and determining a set of pitches for the current chord, based on the combined current and at least one immediately previous chord arrays.
According to embodiments of the present invention there is a method of adjusting the complexity of a chord. Conventionally, an electronic musical user input, such as an electronic keyboard 014, has pre-programmed pitches associated with each key. These pre-programmed pitches correspond to the pitches from their acoustic counterparts. For example, someone familiar with paying an acoustic grand piano would be able to go to an electronic keyboard and immediately find the keys on the electronic keyboard which correspond to their counterparts on the acoustic grand piano and would be able to play a desired key by locating its position on the keyboard relative to the others.
A problem therefore exists that in order for someone to play an electronic keyboard as well as an acoustic piano they would need the same amount of training and practice as there is little if any difference between the playability of the two instruments. Therefore, in accordance with examples of the present invention it is possible to reduce the skill needed by a player to play an electronic keyboard while sounding, for example, as good as possible compared to a knowledgeable acoustic player. This is in part due to the knowledgeable acoustic player knowing the notes that should be played in a given chord, e.g. which notes sound good with each other.
Examples of how to assign notes to keys and electronic input devices can be found in U.S. application Ser. No. 13/739,023 titled ‘Chord based method of assigning musical pitches to keys’ filed Nov. 1, 2013 and incorporated by reference herein in its entirety.
However, players who would like to use current methods in reassigning the pitches of keys may want more or less freedom in the assignment of the pitches. Therefore, there is herein provided a method of adjusting the complexity of a chord which therein determines the actual set of pitches which can be assigned to a user input device.
According to certain embodiments, the method includes the step of receiving information about a chord. Information can be received via a user input device by a user. For example, a user may input that they would like to play in the ‘C major’ chord. Additionally, the indication that a ‘C major’ chord is to be played may come from audio data, video data, an audio source, and audio file, a video source, a video file, a text file or a combination thereof. For example, a user may be playing along to a particular song. The song may be an audio file. The audio file may have chord data associated therewith. There may also be chord detection software which is determining chord data with an associated file, e.g. audio file, being played. The chord data may be received therefore from any of these sources. Information about the chord can include the key of the chord, e.g. C, D, E, F, and the chord type, e.g. Major, minor, augmented or diminished.
Additionally, information about the desired chord complexity of the chord to be played is received. A user might, for example, have a user interface which allows the selection and/or input of chord complexity data. One example would be a sliding scale which the user can interact with between the simplest chord and the most complex chord. An example of the simplest chord would be the three main voices of a chord. An example of the most complex chord would be all of the notes of the chromatic scale. Another example of the most complex chord would be only the notes of the chord itself. The user may input the chord complexity data by other means such as, for example, entering a discrete number or selecting from a discrete number of choices of complexity. Furthermore, the input of chord complexity data could be automated, for example in a learning software the complexity of the chord could increase over a period of time or discrete time intervals.
Based on at least a portion of the received information about the chord, the method can create an array. The array can be created by adding the key of the chord to progression data for the chord type. Then, based on the created array and desired chord complexity, a set of pitches can be determined. The determined pitches then correlate to the key of the chord and the desired chord complexity.
As described herein, notes typically refer to the base notes in music, e.g. C, C#, D, D#, E, F, F#, G, G#, A, A# & B. Similarly, one of ordinary skill in the art will recognize that these notes can be represented in alternative notation, e.g. C# is the same as Db. As described herein, pitches typically refer to discrete notes which can be played, e.g. the base note and the octave. However, pitches as described herein may be represented in their simplest form as the base note. Additionally, determining the pitches can be a one or two step process. One step being determining the base note and a second step determining the number and placement of octaves of each base note. The determining step herein may include either or both of these steps.
According to certain embodiments of the present invention, the determined set of pitches are then assigned to a user input device which allows a user to play the set of pitches. For example, the keys of an electronic keyboard 014 can be reassigned so that each corresponds only to one of the determined set of pitches. Another example would be that keys on an electronic keyboard 014 which do not correspond to one of the determined set of pitches, or base notes associated therewith, would be deactivated. E.g. such that when a player pressed a key corresponding to one of the determined pitches or corresponding base notes the electronic device would emulate a corresponding sound but if a player pressed a key corresponding to a pitch and/or base note not included in the determined pitches then the electronic device would not emulate a corresponding sound. Other examples include mapping the determined pitches to a plurality of positions on a touch screen input device.
According to certain examples of the present invention, there is a unique progression data set for each chord type (e.g. for each of Major chords, minor chords, augmented chords and diminished chords, and/or any other chord types if desired).
According to certain examples of the present invention, each key is represented by a unique numeric value. For example, the key being the representative key of a chord, i.e. for ‘C major’ the key is ‘C’ and the chord type is ‘major’. For chords in the key of ‘C’, the key ‘C’ can be associated with the number 10. Key ‘D’ may be 14, key ‘G’ may be 18 and so on.
Each progression data set can be an array. The array can be of numeric values. The numeric values can correspond to note positions within a scale. An example of such is shown in
Creating an array for a chord can include multiplying the key numeric value by numeric values in the array. An example is shown in
The desired chord complexity can also be represented by a numeric value. In the example of
As examples of the basic chord array creation and determination of notes and pitches are described above, one of ordinary skill will recognize equivalents to the decimal based numeric system which do not depart from the scope of the present invention, e.g. the use of binary or other base number numeric, alphanumeric, alphabetic or other symbolic systems. Additionally, while the examples have been shown wherein the pitches are determined by being equal to or lower than a number/symbol representing the chord complexity, other examples may include where the pitches are just lower, just higher or equal to or higher than a number/symbol representing the chord complexity.
It is further an aspect of certain embodiments of the present invention to build on the complexity of a current chord based on at least a portion of the history of chords played before. Often in music, even though a musician or composer is currently playing in one chord, their note and pitch choices are influenced by the chords which have come before. Therefore, created chord array's can be stored in a computer readable medium. They may be stored in a database for example. Additionally, combined arrays, as will be described below, can also be stored in a computer readable medium.
The determined set of pitches for a current chord can then be based on the chord complexity data as well as the combined array, in place of merely just the current chord array.
The weight factors can be fixed, e.g. the most previous created chord array may always have a weight factor of 0.5. However, the weight factor may also be dynamic and change over time. For example, right after a chord change the weight factor of the most previous created chord array may be 0.8 and it might gradually or in a step wise manner decrease over time, e.g. over the first 10 seconds of the new chord, down to a fixed weight factor, e.g. of 0.5. The weight factor may also completely decrease over time down to 0 for one or more of the previous created chord arrays. Still yet, the chord combination may include the next upcoming chord, should that data be known. In such a case the upcoming chord may have a weight factor associated with it which starts at 0 and increases over time to 1 at the time when it becomes the current chord or even at a time slightly before it becomes the current chord, e.g. between 1 ms-1000 ms before. Combinations of the examples of weight factors described herein fall within the scope of the present invention.
Additionally, as shown in the example of
Additionally, while chord information has been discussed herein in the form of key and chord type, other forms of chord information can be utilized. Information about a chord can come in the form of a plurality of notes, e.g. key independent, and/or pitches, notes with a corresponding key or keys. For example, a software or algorithm can be applied to an audio file which either determines a chord at a given time and/or a set of pitches during a given time. The information about a chord which is determined and/or the set of pitches which is determined can be used as chord information in the disclosed methods. Additionally, chord information, as discussed above, can be determined from a determined set of pitches.
It is to be understood that the embodiments of the invention disclosed are not limited to the particular structures, process steps, or materials disclosed herein, but are extended to equivalents thereof as would be recognized by those ordinarily skilled in the relevant arts. It should also be understood that terminology employed herein is used for the purpose of describing particular embodiments only and is not intended to be limiting.
Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment.
As used herein, a plurality of items, structural elements, compositional elements, and/or materials may be presented in a common list for convenience. However, these lists should be construed as though each member of the list is individually identified as a separate and unique member. Thus, no individual member of such list should be construed as a de facto equivalent of any other member of the same list solely based on their presentation in a common group without indications to the contrary. In addition, various embodiments and example of the present invention may be referred to herein along with alternatives for the various components thereof. It is understood that such embodiments, examples, and alternatives are not to be construed as de facto equivalents of one another, but are to be considered as separate and autonomous representations of the present invention.
Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided, such as examples of lengths, widths, shapes, etc., to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.
While the forgoing examples are illustrative of the principles of the present invention in one or more particular applications, it will be apparent to those of ordinary skill in the art that numerous modifications in form, usage and details of implementation can be made without the exercise of inventive faculty, and without departing from the principles and concepts of the invention. Accordingly, it is not intended that the invention be limited, except as by the claims set forth below.
Number | Date | Country | Kind |
---|---|---|---|
20145268 | Mar 2014 | FI | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/FI2015/050191 | 3/20/2015 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2015/140412 | 9/24/2015 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5639977 | Hesnan | Jun 1997 | A |
6657115 | Egorov | Dec 2003 | B1 |
7109407 | Hasegawa | Sep 2006 | B2 |
7288711 | Hasegawa | Oct 2007 | B2 |
7521619 | Salter | Apr 2009 | B2 |
8269094 | Buskies | Sep 2012 | B2 |
8759658 | Buskies | Jun 2014 | B2 |
8802955 | Bergman | Aug 2014 | B2 |
8912421 | Tanaka | Dec 2014 | B2 |
9418645 | Little | Aug 2016 | B2 |
20030051595 | Hasegawa | Mar 2003 | A1 |
20060027080 | Schultz | Feb 2006 | A1 |
20060201311 | Hasegawa | Sep 2006 | A1 |
20090151547 | Kobayashi | Jun 2009 | A1 |
20110011246 | Buskies | Jan 2011 | A1 |
20130205977 | Buskies | Aug 2013 | A1 |
20140196592 | Bergman | Jul 2014 | A1 |
20160140944 | Bergman | May 2016 | A1 |
20160365077 | Bergman | Dec 2016 | A1 |
Number | Date | Country |
---|---|---|
1416470 | May 2004 | EP |
Number | Date | Country | |
---|---|---|---|
20160365077 A1 | Dec 2016 | US |