The present disclosure relates to electronic keyboard musical instruments and, more particularly, to a modulating keyboard with a relative transposition mechanism for electronic keyboard musical instruments.
A conventional keyboard of an electronic keyboard musical instrument includes twelve keys (seven white longer keys and five black shorter keys) in a particular arrangement, for playing the twelve notes of the Western musical scale. The white keys are the seven notes of the C major scale (C, D, E, F, G, A, B), and the black keys represent the notes that are not part of the C major scale (i.e., C#/D flat, D#/E flat, F#/G flat, G#/A flat, A#/B flat). This pattern of white and black keys repeats at the interval of an octave. This type of keyboard has been used on the overwhelming majority of keyboard musical instruments for the past 300 years.
When one plays a conventional keyboard, each key signature on the keyboard appears as a unique series of notes. Because each key signature is unique, creative and seamless movement between keys while playing requires a level of theoretical and keyboard playing technical mastery that few people have ever achieved.
The conventional solution to this problem is the use of direct transposition. Direct transposition changes each and every note on the keyboard by a selected interval. While direct transposition does change the key signature, it may also create difficulties for the player. When the player plays a melodic line and uses direct transposition, the entire line will shift by that interval; thus making it challenging to transpose and play a stepwise melody.
Accordingly, there is a need for improved keyboards and transposition mechanisms that solve these and other problems.
Aspects of the present disclosure relate to a modulating keyboard having a relative transposition mechanism in an electronic keyboard musical instrument. An electronic keyboard musical instrument includes a keyboard and a modulator system coupled to the keyboard. The keyboard includes a plurality of first keys alternating with a plurality of second keys. The modulator system is configured to assign note values to each of the first keys and the second keys such that, for each key signature, notes associated with the key signature are assigned to the plurality of first keys and notes not in the key signature are assigned to the plurality of second keys. The relative transposition of the instrument only shifts the notes that the current key signature and target key signature do not have in common. This allows a player to play melodies that move through key signature changes seamlessly while constantly maintaining the intuitiveness and ease of fingering a single scale.
Aspects of the present invention also relate to methods and non-transitory computer readable storage medium for transposing an electronic keyboard. The method includes assigning, by a microcontroller coupled to the electronic keyboard, for a current key signature, note values to each of a plurality of first keys of the electronic keyboard, such that notes associated with the current key signature are assigned to the plurality of first keys. The electronic keyboard includes the plurality of first keys alternating with a plurality of second keys. The method further includes assigning, by the microcontroller, for the current key signature, note values to each of the plurality of second keys of the electronic keyboard, such that notes not in the key signature are assigned to the plurality of second keys. The method further includes receiving a selection indicating a transposition to a target key signature; and modifying, by the microcontroller, responsive to the selection, note values assigned to each of the first keys and the second keys according to a relative transposition mapping, to shift one or more notes that the current key signature and the target key signature do not have in common, and such that notes associated with the target key signature are assigned to the plurality of first keys.
Aspects of the present disclosure relate to a modulating keyboard of an electronic keyboard musical instrument having alternating first and second keys. The instrument includes a modulation mechanism that performs a relative transposition process, such that notes in each key signature are assigned to the first keys and notes outside of the key signature are assigned to the second keys. The second keys of the keyboard are also configured to indicate, to a player, positions of one or more notes in a scale of the key signature, and a playability of any the second keys based on the key signature.
The term “standard keyboard” refers to a conventional keyboard manual comprised of twelve keys (seven white keys and five black keys) per octave for playing the twelve notes of the Western scale, that has been used on the overwhelming majority of keyboard instruments for the past 300 years. In each octave portion of the conventional (“standard”) keyboard, there are two instances where two of the white keys are arranged next to each other, without any black keys therebetween.
The term “modulating keyboard” refers to a keyboard instrument according to the present disclosure that features fourteen keys per octave with alternating equally sized and spaced large (white) and small (clear) keys.
The term “direct transposition” refers to the transposition of each note on the keyboard by the same interval.
The term “current key signature” refers to the key signature being used prior to direct or relative transposition.
The term “target key signature” refers to the key signature being modulated to as a result of transposition.
The term “relative transposition” refers to transposition according to the present disclosure, where the transposition of notes not shared by the current and the target key signatures are transposed by no more than one semi tone up or down to achieve the target key signature.
The term “MIDI generator” refers to a computer chip that is the source of all Musical Instrument Digital Interface (MIDI) note “on”, MIDI note “off” and velocity MIDI messages. The MIDI generator also represents all key switches (i.e., on/off).
The term “modulator system” refers to a mechanism including hardware, software or a combination thereof which interprets the output of the MIDI generator, modifies the MIDI generator output to accommodate the modulating keyboard and to induce the phenomenon that is relative transposition.
The term “unison” refers to the condition where the key signature is C major and the root tone is the unity key. The unison condition may occur when the modulating keyboard is turned on, reset, or, as a result of more than one modulation causing the key signature to return to C major and the root tone is the Unity Key.
The term “omicron” refers to a small key on the modulating keyboard to the left of the tonic of the current key signature, which indicates the position of the tonic but does not produce a sound.
The term “omega” refers to a small key on the modulating keyboard to the left of the subdominant of the current key signature, which indicates the position of the subdominant but does not produce a sound.
The term “unity key” refers to a key in the middle of the modulating keyboard which may be marked by dots (or other indications) on the instrument case which indicates a C note at the time the modulating keyboard is turned on.
The term “stretch function” refers to a function by which two values are added (beta and epsilon) to the standard 12 note octave to create a 14 note octave (C14) upon which all subsequent relative modulations are based. In some examples, the stretch function translates C14 MIDI note values into corresponding (e.g., synonymous) twelve note octave MIDI note values.
The term “beta” refers to a first of two note values added to the standard 12 note octave during the stretch function to accommodate relative transposition.
The term “epsilon” refers to a second of two note values added to the standard 12 note octave during the stretch function to accommodate relative transposition.
The term “C14” refers to the fourteen note scale (A, A#, B, Beta, C, C#, D, D#, E, Epsilon, F, F#, G, G#) that is created by the stretch function, by adding two values (beta and epsilon) to the 12 tone/note western octave and used during relative transposition.
The term “group number” refers to a number used to ensure stepwise relative transposition, by converting the starting value (SV) of each key's switch into a group number value (GNV). The conversion to GNV, for each key, may be determined as: (SV+(Group Number×2))=GNV. The determination of GNV is desirable to ensure stepwise modulation, whenever the group position extends above 11 or goes below 0 back onto itself. Without determining the group number and GNV, a modulation such as C# (group position 0) to F# (group position 11) would result in a transposition where the value of each key could move by more than 1 semitone.
The term “group position” refers to a change in the key signature played by all the white keys on the modulating keyboard. In an example embodiment, there may be twelve (12) group positions numbered (0-11). Each group position may have an associated unique formula (i.e., a mapping), that may interpret the GNV of each key's switch and convert the value by one semitone to achieve a desired target key signature. Together the group position and the group number create a near infinite number of keyboard layouts for each possible transposition. Without group position the modulating keyboard may only play in the key of C. Without the group number, there would only be twelve (12) keyboard layouts; and a modulation such as C# (Group Position 0) to F# (Group Position 11) would result in a transposition where the value of each key could move by more than 1 semitone.
Referring to
Keyboard 100 may include first keys 104 and second keys 106 that alternate with first keys 104. As shown further in
In modulating keyboard 100, first keys 104 may be assigned note values representing all notes in a current key signature (regardless of whether the notes are flatted or sharped). Second keys 106 may be assigned note values that are not part of the current key signature. In this manner, all key signatures containing flats and/or sharps may be played solely on the first keys 104, as if the key signature were C major. For example, see
Two of second keys 106, in each octave, may be configured to indicate note position in a scale of a current key signature to the player (e.g., omicron 302, omega 304 shown in
In the description herein, first keys 104 are also referred to as “white” keys. It is understood that first keys 104 configured as white keys represents an example embodiment, and that first keys 104 may be configured in any suitable color and/or material. In the description herein, second keys 106 are also referred to as “clear” keys. Second keys 106 configured as clear keys represent an example embodiment for indicating note position to a user for various key signatures. It is understood that second keys 106 may be of any suitable transparency, translucency and/or material in order to indicate note position/note playability to a player. In some examples, one position key may be used to indicate a note position to the player. In some examples, position keys 302, 304 may be configured to be illuminated (or flash, etc.) while the remaining second keys 306 may be configured to remain clear (or illuminated in a constant color, etc.). In general, position keys 302, 304 may be configured to indicate a non-playability of keys 302, 304 for the current key signature as well as tonic and subdominant position, whereas remaining keys 306 among second keys 106 may indicate a playability of keys 306 for the current key signature, by any suitable mechanism.
Modulating keyboard 100 may resemble the standard keyboard normally found on pianos, organs and other electronic keyboard instruments in that keyboard 100 includes both large keys 104 (traditionally these keys are white in color) and small keys 106 (traditionally these keys are black in color). Modulating keyboard 100, however, alternates equally between first (e.g., larger) keys 104 and second (e.g., smaller) keys 106 across the entire key bed. This arrangement results in fourteen keys in each octave, as opposed to twelve for the standard keyboard (See
In some examples, and in contrast to a standard keyboard, all first and second keys 104, 106 on modulating keyboard 100 may be equally spaced, with second keys 106 having a non-rectangular shape. In one non-limiting example, second keys 106 may taper towards the middle (i.e., forming an hourglass shape). Accordingly, the stem of each first key 104 may widen where second keys 106 taper. First keys 104 may be white, while second keys 106 may be clear (e.g., such that position keys 302, 304 may be configured to remain clear to indicate note position). It is understood that the hourglass shape of second keys 106 shown in
The size and shape of keys 104, 106 on modulating keyboard 100 may be designed so that the width of an octave is the same (or similar) on keyboard 100 as on a standard keyboard. Keys 104, 106 (e.g., size, shape) may also be designed so that the feel and playability of both keyboards (i.e., keyboard 100 and a standard keyboard) are similar, with several notable differences.
In keyboard 100, all major scales, or any mode thereof, may primarily be played on first keys 104. In other words, the fingering for playing a C major scale on a standard keyboard may be used to play all scales and modes, even upon modulating to a different key signature. To orient the player to their position in the current key signature, two second keys that are immediately to the left of the tonic (omicron 302), and immediately to the left of the subdominant (omega 304) scale degrees may remain clear and not produce a note value. These keys 302, 304 may remain clear because no tone exists between the leading tone and the tonic or between the median and the subdominant in the Western 12 tone octave, and no sound would be produced when either of these two keys 302, 304 is played. All of the other second keys 106 may be configured to be illuminated in a darker color, giving the player the impression that they are looking at and playing a standard keyboard.
For example, as shown in
Referring to
MIDI generator 202 may be electronically coupled to each of first and second keys 104, 106, and may generate a MIDI message associated with each key. For example, depressing or releasing one or more of first and second keys 104, 106 may cause MIDI generator 202 to generate a MIDI message associated with the key(s) 104, 106. (Activation of a key and release of a key are typically considered to be separate events with respect to MIDI messages). The MIDI message may be used to indicate musical performance information for a particular key. A MIDI message may include, for example, note “on,” note “off,” and note velocity information. A MIDI note “on” message typically includes a numerical value indicating which note should be output (i.e., sounded). In general, a MIDI message includes an eight-bit status byte that is generally followed by one or two data bytes.
Modulator system 204 may be electronically coupled to MIDI generator 202, key indication controller 206, relative modulation user interface 208, MIDI I/O interface 214 and memory 216. Modulator system 204 may receive MIDI messages from MIDI generator 202 associated with first and second keys 104, 106, and may convert the content of the received MIDI messages according to a relative transposition mapping, based on a (current or target) key signature. The key signature may be received from a player via relative modulation user interface 208, and/or via a remote MIDI device (not shown) via MIDI I/O interface 214.
Modulator system 204 may determine the mapping based on one or more predetermined relative transposition mapping tables 218 stored in memory 216. Example mapping tables 218 are described further below and shown in Table 2. Modulator system 204 may also apply a stretching function, described below, to convert note values associated with the C14 scale of keyboard 100 to a twelve note scale associated with standard keyboards and that is recognized by MIDI generator 202. Modulator system 204 generates output MIDI message(s) that represent note values for first and second keys 104, 106 based on the relative transposition. The note values for second keys 106 may include null values for position keys 302, 304. The output MIDI message(s) may be output to remote MIDI device(s) (not shown) via MIDI I/O interface 214. A remote MIDI device may, for example, translate the output MIDI message(s) to note values and output instrument sound values corresponding to the note values.
Modulator system 204 may also be configured to communicate with key indication controller 206, a current key signature and/or target key signature. Key indication controller 206 may activate/deactivate particular position/playability indicators corresponding to second keys 106, based on the key signature. The indicators (e.g., light sources such as light emitting diodes (LEDs)) may be disposed on, within or proximate to second keys 106. In some examples, second keys 106 may be configured from a semiconductor material, for example, which may cause second keys 106 themselves to be illuminated when activated.
Relative modulation selection interface 208 may include any suitable interface for receiving key signature selections from a player. Interface 208 may also include any suitable display for indicating key signature selection to the player. Interface 208 may include one or more key signature buttons 210 for directly selecting a key signature. In one example, key signature buttons 210 may include twelve buttons with a corresponding note name associated with a respective key signature. In some examples, key signature buttons 210 may include one or more buttons and a display to sequentially select among the twelve key signatures. Interface 208 may include one or more intervallic buttons 212. In one example, intervallic buttons 212 may include eleven intervallic buttons representing the eleven possible intervallic movements that can be made from any given key. In some examples, intervallic buttons 210 may include one or more buttons and a display to sequentially select among the eleven possible intervallic movements. In some examples, interface 208 may include a dedicated transposition input (DTI) interface 220 for directly selecting a key signature. DTI interface 220 may be configured to operate similarly to key signature button(s) 210, except that DTI interface 220 may be configured to receive a key signature selection via MIDI message(s) received from an external MIDI driver. For example, when a MIDI driver sends a MIDI message containing the note C to DTI interface 220 (via MIDI I/O interface 214), modulator system 204 may determine, from the received message, that a key signature selection of C is requested. Key signature button(s) 210 and intervallic button(s) may represent any suitable selection mechanism, including push buttons, a touch pad, toggle switches, an interactive display, etc.
MIDI I/O interface 214 may be coupled to modulator system 204 and may include one or more MIDI input ports, one or more MIDI output ports or combination thereof, suitable for receiving or transmitting MIDI information, including MIDI messages. MIDI I/O interface 214 may also include a transposition MIDI input port (e.g., DTI interface 220) for remotely inducing a relative transposition to instrument 200.
Memory 216 may include, for example, without being limited to, at least one of a read-only memory (ROM), a random access memory (RAM), a flash memory, a dynamic RAM (DRAM) and a static RAM (SRAM), storing computer-readable instructions executable by one or more components of instrument 200 (such as modulator system 204). In general, memory 216 may include any suitable non-transitory computer readable storage medium storing computer-readable instructions executable by components of instrument 200 (including modulator system 204) for performing the operations described herein. Although not shown, instrument 200 may include a processing device which may include, without being limited to, a microcontroller, a microprocessor, a central processing unit, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) and/or a digital signal processor (DSP). The processing device may be configured to execute processing logic for performing the operations described herein.
Some portions of the above description describe the embodiments in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations are commonly used by those skilled in the data processing arts to convey the substance of their work effectively to others skilled in the art. These operations, while described functionally, computationally, or logically, are understood to be implemented by computer programs or equivalent electrical circuits, microcontrollers, microcode, or the like. It is understood that MIDI generator 202, modulator system 204, key indication controller 206, relative modulation user interface 208, MIDI I/O interface 214 and non-transitory memory 216 may include any specially-configured hardware, specialized software, firmware or any combination thereof for performing the functions described herein. In some examples, MIDI generator 202, modulator system 204, key controller 206, MIDI I/O interface 214 and memory 216 storing relative transposition mapping tables 218 may be implemented by a specially configured microcontroller (such as shown in
Referring next to
Those skilled in the art will appreciate that electronic musical keyboard instrument 200 may be configured with more or less components to conduct the methods described herein with reference to
Referring to
In general, modulator system 204 may assign, for each octave, note values to first keys 104, note values to second keys 306 and null values to position keys 302, 304 according to one or more relative transposition mapping tables 218 (also referred to herein as C14 tables). In an example embodiment, the initial key signature state may be C major. In some examples, the initial key signature state may be set when instrument 200 is turned on and/or reset.
In an example embodiment, MIDI generator 202 may assign every switch in keyboard 100 a value from a C14 table 218. For example, a leftmost switch may be assigned a C14 value that corresponds to a note in C major (e.g., a C value such as 14 or 28) and every subsequent switch may be assigned a C14 value that is one greater than the note value assignment of the previous switch. The C14 value held by each switch at this point may be referred to as its starting value (SV). In some examples, the initial key signature state may be assigned a group number of 0 and a group position of 5, associated with C Major (discussed further below with respect to
At step 408, an instruction may be sent from modulator system 204 to key indication controller 206 indicating a non-playability of the two null keys (i.e., position keys 302, 306). At step 410, key indication controller 206 may cause position keys 304, 306 to display a non-playability indication, responsive to the instruction. For example, as discussed above, position keys 302, 304, may remain clear (or illuminated) while remaining keys 306 are illuminated a darker color (or remain clear). In general, key indication controller 206 may control light sources associated with each of second keys 106 to indicate a non-playability of position keys 302, 304 and a playability of remaining second keys 306.
At step 412, modulator system 204 may receive one or more MIDI messages from MIDI generator 202 corresponding to one or more keys 104, 106. At step 414, modulator system 204 may convert note value(s) in the received MIDI message(s) to corresponding assigned note values and/or null values based on the first keys 104 and/or second keys 106 indicated in the MIDI message(s). At step 416, MIDI system 204 may output one or more MIDI messages, for example, via MIDI I/O interface 214, with the converted note value(s). Steps 412-416 may be repeated. In this manner, MIDI messages of modulating keyboard 100 having a C14 octave configuration may be converted to a MIDI messages associated with twelve note octave note values.
A player of modulating keyboard 100 may at any time change the key signature being played, via interface 208, to any of the eleven other key signatures not currently in use (twenty two if relative minor key signatures are included (without including the relative minor of the current key)). The relative transposition of modulator system 204 may function by only changing the notes that are not shared by the current key signature and the target key signature. Modulator system 204 may causes position keys 302, 304 before the tonic and the 4th scale degree of the key to, for example, remain clear, thereby orienting the player to where they are in the current scale. For example, using relative transposition to change key from C to Eb would change first keys 104 that played E, A and B to play Eb, Ab and Bb, respectively. Modulator system 204 would also cause second keys behind each of the Eb and Ab assigned keys 104 to remain clear, thereby showing the position of the new tonic.
Referring next to
To determine the group number value, the current group number is multiplied by 2 and added to the SV held by each key switch. The value held by each switch at this point is the group number value, where SV+(Group Number×2))=GNV. For example, when the SV of a switch is 64 and the group number is −1, −1 is multiplied by 2. The resulting −2 is then added to 64, such that the GNV is 62.
At step 424, modulator system 204 may determine, for each key 104, 106 of keyboard 100, a group position value for the target key signature, based on a predetermined formula that interprets the GNV for each switch and changes the value by one semitone to achieve the target key signature. Examples of group position value formulas are shown in
The group number value of each switch (to obtain the target key signature) may be changed based on the group position value. As discussed above, twelve group positions may be assigned (one for each key signature). Each of the twelve group positions may be associated with a unique predefined formula. The predefined formulas (i.e., mappings) may identify the group position value used to modify the group number value, so that each switch that utilizes a first key 104 contains a note value that is in the key signature associated with the target group position. In some examples, steps 422 and 424 may be combined into one step that uses predetermined formulas (i.e., relative transposition mapping tables 218) that performs relative transposition while at the same time maintaining stepwise relative transposition, described further below.
At step 426, modulator system 204 may convert, for each key 104, 106 of keyboard 100, the group position value (determined in step 424) to an output MIDI note value or a null value, based on a stretch function. The output MIDI note value is provided in the MIDI message sent to an external device from MIDI I/O interface 215, and represents the MIDI value for the note in the MIDI message that is output when a corresponding switch of keyboard 100 is depressed.
Modulator system 204, via the stretch function, may determine whether second keys 106, for each octave, output a note value or a null value by comparing the group position value to at least one predetermined threshold (or predetermined limits). When modulator system 204 determines that the group position value exceeds the predetermined threshold(s) (limits), the stretch function may identify these keys as omicron 304 and omega 304, and a null value (or no value) may be assigned to keys 302, 304. Key indication controller 206 may also receive an instruction to indicate a non-playability for keys 302, 306. In this manner, keys 302, 204 may signal to the player that the keys 302, 304 have not been assigned note values, and keys 302, 304 may not produce a MIDI message having a note value when depressed.
At step 428, modulator system 204 may repeat steps 408-416 (
In some examples, the group number value and group position value (steps 422 and 424) may be determined dependent upon whether key signature button(s) 210 or intervallic button(s) 214 are utilized.
For example, intervallic button(s) 212 may each have an associated value:
When a selection is received via intervallic button 212, the corresponding associated value may be added to the current group position, and relative transposition may be performed based on the modified group position (i.e., modified group position=current group position+intervallic button associated value).
The group number may change when the group position goes above 11 or below 0. This is because there are only 12 Group Positions (0-11) and they operate similar to a wheel (e.g., a circle of key signatures). Thus, when the group position goes above eleven, the group number goes up by a value of 1. When the group position goes below 0, the group number goes down by a value 1. For example, when the current group position is 10 and the “Down a Minor 3rd” (+3) button is selected, the target group position becomes 2 and the group number goes up by 1. Likewise, when the group position is 1 and the “Down a Major 3rd” button (−4) is selected, the target group position becomes 9 and the group number goes down by 1.
Similarly, each key signature button(s) 210 may have corresponding assigned values. In one example, the assigned values for key signature button(s) 210 may include:
In an example, the group number may be modified first. For example, when the value of the current group position (GP) minus the assigned value of the selected key signature button (KSB) is greater than 6 (i.e., GP−KSB>6), the group number goes up by a value of 1 (i.e., the target group number=current group number+1). When the value of the current group position minus the assigned value of the selected key signature button is less than −6 (i.e., GP−KSB<−6), the group number goes down 1 (i.e., the target group number=current group number−1). When the value of the current group position minus the value of the assigned value of the selected key signature button is equal to 6 or −6, or is between 6 and −6, the group number does not change.
Then, the assigned value of the selected key signature button 212 replaces the current value of the group position (to become the value of the target group position).
Selections received from DTI interface 220 may cause modulator system 204 to operate similarly as for requests via key signature button 210.
Relative transposition may be achieved, by modulator system 204, by assigning each possible modulation a unique formula that is applied to the current key signature. Each formula may be used in order to relatively transpose it to a requested target key signature. These formulas ensure that the notes that are changed during each relative transposition may only change by one semitone either up or down. The formulas may be stored as part of relative transposition mapping tables 218.
As discussed above, modulating keyboard 100 may include fourteen keys within an octave, where two of second keys 106, the one immediately before the tonic, omicron 302, and the one immediately before the subdominant, omega 304, may not be illuminated and do not produce a tone. In order to accommodate MIDI generator 202 having twelve switches in an octave, modulator system 204 may apply a stretching conversion formula to the value of MIDI notes coming from MIDI generator 202.
The stretch conversion formula may be as follows: The value of the MIDI message received is divided by 14. The value returned by this equation is rounded down and then defined as X. If the remainder of this equation is zero (“0”) or ≧4, then X is multiplied by −2. If the remainder equals 5, then X is undefined. If the remainder is ≧6 or ≦12, then X is multiplied by −2 and 1 is subtracted from that value. If the remainder of the equation equals 13, then X is undefined (i.e., a null value). The result is then added by modulator system 204 to the MIDI value received in the MIDI message from MIDI generator 202 the relative transposition proceeds, as described below.
For example, if the MIDI value received by modulator system 204 is 54, modulator system 204 may divide 54 by 14, returning the result 3.8571428. The resulting value may be rounded down to 3. Modulator system 204 determines the remainder of 54 divided by 14 and returns 12. Because 12 is ≦12, the number 3 is multiplied by −2 and subtracted by 1, for a value of −7. Modulator system 204 adds the −7 value to 54, thus changing the MIDI message from 54 to 47.
In another example embodiment, modulator system 204 may translate C14 values obtained from a predetermined C14 table 218 stored in memory 216, such as the C14 Table shown in
The C14 value may be compared to X and Y limits, such as the limits shown in Table 1. When the C14 value is equal to limits X or Y, or falls between these limits, the corresponding Z value may be added to the C14 value, to produce the corresponding 12 note octave MIDI value. When the C-14 value is equal to any of the values corresponding to omicron or omega, the stretch function may return a null value and the corresponding key will not produce a note value. An example 12 note scale MIDI note value table is shown in
In this example, Values: 5, 19, 33, 47, 61, 75, 89, 103, 117, 131 and 145 may return a null value for omicron. Values: 13, 27, 41, 55, 69, 83, 97, 111, 125 and 139 may return a null value for omega.
Modulator system 204 may determine the relative modulation based on mapping tables 218 stored in memory 216. Modulator system 204 may assign each of all possible key signatures to a respective signature number. The signature number may correspond to the key signature's position on the circle of fifths (e.g., relative to C major). The C major key signature may be assigned signature number 0. Key signatures to the right of C major may be assigned incrementally increasing positive signature numbers. Key signatures to the left of C major may be assigned incrementally decreasing negative signature numbers.
For example, to the right: G=1, D=2, A=3, E=4, B=5, F#1=6, C#=7, Ab=8 . . . etc.
To the left: F=−1, Bb=−2, Eb=−3, Ab=−4, Db=−5, F#2=−6, B=−7, E=−8 . . . etc.
In another example embodiment, all 12 possible key signatures may be assigned a group position. Values associated with each group position may be: C#=0, G#=1, D#=2, A#=3, F=4, C=5, G=6, D=7, A=8, E=9, B=10 and F#=11.
In one example, instrument 200 may start in the key of C major when it is first turned on or reset (which is assigned the signature number 0 (or group position 5). Every signature number (or group position) may be mapped (i.e., associated with) a unique formula that, when active, will change the value of the MIDI notes to relatively transpose the keyboard to the target key signature.
Relative transposition may be accomplished with instrument in several different ways. The first two may occur by player input via relative modulation user interface 208. A third method of relative transposition may occur via an input MIDI signal via MIDI I/O interface 214.
For example, a first way to request relative transposition on instrument 200 may include selection via one of key signature buttons 210 (e.g., selection of one of twelve buttons having a key signature note name located on instrument 200, such as behind keyboard 100). Selection of key signature button(s) 210 may transpose keyboard 100 to the indicated key signature.
A second example way to request relative transposition may include selection via one of intervallic button(s) (e.g., selection of one of eleven intervallic buttons representing one out of the eleven possible intervallic movements from any given key located on instrument 200, such as behind keyboard 100). Selection of intervallic button(s) 212 may cause modulator system 204 to relatively transpose keyboard 100 from the current key by the selected interval. Because the transposition is relative, modulating down a major 2nd is the same as modulating up a minor 7th, so these two intervals will share the same button 212, and so on. An example list of formulas for each intervallic relative transposition is shown in Table 2.
In keyboard 100, the position of the tonic note (assigned to a first key 104 within an octave) may remain the same or may change as the key signature changes. For example, large intervallic movement between current and target key signatures may cause the tonic of the target key signature to be assigned to a different first key 104 in portion 102.
In general, the relative modulation function may be configured to cause as little change/movement as possible in keyboard 100 layout (e.g., no key may change more than one semi-tone during any modulation). Otherwise, variation in keyboard layout would defeat the intended purpose of relative modulation to be more fluid than direct modulation (where keys can change by several whole tones during any one modulation). In some examples, however, small shifts of keyboard layout may occur during some modulations.
For example, when the cumulative signature number (described above) exceeds 6 or decreases below −6, the layout of keyboard 100 may shift by one first key 104 either higher (due to a negative change) or lower (due to a positive change). In general, this variation may occur when the cumulative signature number passes a multiple of 6 or −6, and it can continue to occur if the modulation continues in the same direction around the circle of fifths.
The first example, detailed in
The second example, shown in
An example third way to relatively transpose modulating keyboard 100 may include sending a MIDI signal to DTI interface 220 via MIDI I/O interface 214. This would allow remote devices such as sequencers and other MIDI drivers to induce a relative transposition change to instrument 200. For example, if a MIDI driver is coupled to the transposition MIDI input, and the D key is selected on the driver, the selection may cause instrument 200 to relatively transpose to D major, or to a target key programmed to occur at a certain time triggered by a sequencer.
In some examples, when modulating keyboard 100 transposes relatively, light sources in second keys 106 may indicate where the tonic and subdominant scale degrees of the target key signature are positioned. For example, moving from the key of C major to the key of D major would cause the light source immediately to the left of the C first key to turn on and the light immediately to the left of the D first key to turn off showing that D is now the tonic. Also, first keys 104 that once played F and C (when keyboard 100 was in C major) will now play F# and C# (in the D major key signature) respectively.
Systems and methods of the present disclosure may include and/or may be implemented by one or more specialized computers or other suitable components including specialized hardware and/or software components. For purposes of this disclosure, a specialized computer may be a programmable machine capable of performing arithmetic and/or logical operations and specially programmed to perform the functions described herein. In some embodiments, computers may comprise microcontrollers, processors, memories, data storage devices, and/or other commonly known or novel components. These components may be connected physically or through network or wireless links. Computers may also comprise software which may direct the operations of the aforementioned components. Computers may be referred to with terms that are commonly used by those of ordinary skill in the relevant arts, such as servers, personal computers (PCs), mobile devices, and other terms. It will be understood by those of ordinary skill that those terms used herein are interchangeable, and any special purpose computer capable of performing the described functions may be used.
Computers may be linked to one another via one or more networks. A network may be any plurality of completely or partially interconnected computers wherein some or all of the computers are able to communicate with one another. It will be understood by those of ordinary skill that connections between computers may be wired in some cases (e.g., via wired Transmission Control Protocol (TCP) connection or other wired connection) and/or may be wireless (e.g., via a WiFi network connection). Any connection through which at least two computers may exchange data can be the basis of a network. Furthermore, separate networks may be able to be interconnected such that one or more computers within one network may communicate with one or more computers in another network. In such a case, the plurality of separate networks may optionally be considered to be a single network.
The term “computer” shall refer to any electronic device or devices, including those having capabilities to be utilized in connection with an electronic musical keyboard instrument, such as any device capable of receiving, transmitting, processing and/or using data and information. The computer may comprise, for example, a microcontroller, a processor, a microprocessor, a personal computer, such as a laptop, tablet, desktop or workstation, a server, an electronic wired or wireless device, such as for example, a cellular telephone, a personal digital assistant, a smartphone, a personal media player device, a gaming system, a wearable device, an electronic book reader, a set-top box, an application specific device or any other computing and/or communication device.
The term “computer-readable storage medium” should be taken to include a single medium or multiple media that store one or more sets of instructions. The term “computer-readable storage medium” shall also be taken to include any medium that is capable of storing or encoding a set of instructions for execution by the machine and that causes the machine to perform any one or more of the methodologies of the present disclosure.
Example computer system 1000 may include processing device 1002, memory 1006, data storage device 1010, one or more communication interfaces 1012, one or more output devices 1014, user interface 1016 and one or more input devices 1018, which may communicate with each other via data and control bus 1020.
Processing device 1002 may include, without being limited to, a microcontroller, a microprocessor, a central processing unit, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP) and/or a network processor. Processing device 1002 may be configured to execute processing logic 1004 for performing the operations described herein. In general, processing device 1002 may include any suitable special-purpose processing device specially programmed with processing logic 1004 to perform the operations described herein.
Memory 1006 may include, for example, without being limited to, at least one of a read-only memory (ROM), a random access memory (RAM), a flash memory, a dynamic RAM (DRAM) and a static RAM (SRAM), storing computer-readable instructions 1008 executable by processing device 1002. In general, memory 1006 may include any suitable non-transitory computer readable storage medium storing computer-readable instructions 1008 executable by processing device 1002 for performing the operations described herein. Although one memory device 1008 is illustrated in
Computer system 1000 may include communication interface device 1012, for direct communication with other computers (including wired and/or wireless communication) and/or for communication with a network. The term “network” shall refer to any type of network or networks, including those capable of being utilized in connection with the electronic musical keyboard instrument 200 described herein, such as, for example, any public and/or private networks, including, for instance, the internet, an intranet, or an extranet, any wired or wireless networks (e.g., local area networks, cellular networks, satellite networks) or combinations thereof. Communication interface device 1012 may include, for example, one or more communication ports and a network controller for facilitating communications with one or more other computing devices via the communication port(s). The communication port(s) may support communications using any of a variety of protocols. In some examples, communication interface(s) 1012 may include MIDI I/O interface 214 (
In some examples, computer system 1000 may include one or more output devices 1014. In some examples, output device(s)_1014 may include a key indication driver for controlling the indication(s) of second keys 306 of keyboard 100 (
In some examples, computer system 1000 may include user interface 1016 to select various user interface options (such as those that may be used to control relative transposition in connection with
In some examples, computer system 1000 may include one or more input devices 1018, which may be configured to communicate with external devices. In some examples, input device(s) 1018 may include an interface for receiving input signals from modulating keyboard 100 (
In some examples, computer system 1000 may include data storage device 1010 storing instructions (e.g., software) for performing any one or more of the functions described herein. Data storage device 1010 may include any suitable non-transitory computer-readable storage medium, including, without being limited to, solid-state memories, optical media and magnetic media.
While the present disclosure has been discussed in terms of certain embodiments, it should be appreciated that the present disclosure is not so limited. The embodiments are explained herein by way of example, and there are numerous modifications, variations and other embodiments that may be employed that would still be within the scope of the present disclosure.
Number | Date | Country | |
---|---|---|---|
62370503 | Aug 2016 | US |