Electronic instruments, including hardware-based and software-based musical instruments, offer an unlimited palette of expressive sounds. However, a performer's ability to access and control these sounds is limited by the music performance controllers through which the performer interfaces with the electronic instruments.
Many music performance controllers provide piano-style keys as note triggers. While well-suited for triggering percussive and plucked sounds, such controllers provide limited or no facility for controlling the expression of sounds once they are triggered. For example, common to all acoustic wind and bowed-string instruments is the performer's ability to continuously control each note's volume, pitch (e.g., as in a vibrato or a slide from one note to another), and timbre (bite pressure on the reed, or bow angle or bow position). It is often desired to have similar control of volume, pitch, and timbre when emulating wind and bowed-string instruments as well as when generating other emulative and non-emulative (e.g., synthetic) sounds.
Many piano-type controllers include additional controls, e.g., pitch-bend wheels, modulation wheels, foot pedals, breath controllers and pressure and/or aftertouch, to control the expression of a sound. With the exception of pressure/aftertouch, these ancillary controllers can be awkward to use as they are separated from the finger that determines which note to play. In other words, to modulate the volume, pitch, and timbre of a sound requires at least one hand, foot or mouth in addition to the hand used to select a note to be played. For example, one could control volume with pressure (channel or key), pitch with a pitch-bend wheel, and timbre with a foot pedal. However, it can be very awkward to control the expression of sound using two or three separate controllers.
Another problem with requiring more than one hand to play a note expressively is that the techniques that work (more or less well) for one note do not scale to two or more notes. For example, when three notes are sounding, it is not usually possible to modulate the volume, pitch or timbre of one of the notes without affecting the others. For another example, one cannot normally use a pitch wheel to slide from an A-minor (ACE) chord to a C-major (CEG) chord since the A-C slide is three semitones and the C-E slide is four semitones. One cannot normally apply a vibrato to a melody note without applying it to a concurrently sounding accompaniment chord.
In order to control expression polyphonically, that is, independently control the expression of more than one note at a time, the finger that plays the note can also control expression. For polyphonic multi-dimensional note expression, the finger that plays the note should control multiple (two or more) axes of expression for that note.
One approach to polyphonic multi-dimensional note expression is to provide a multi-dimensional sensor for each of plural note triggers. However, the large number of multi-dimensional sensors required for such a controller to have a wide (several octaves) note range can be costly. Furthermore, controllers that use a separate sensor for each note are not well-suited to controlling continuous slides from one note to another.
Another approach to polyphonic multi-dimensional note expression is to use a continuous multi-touch sensor to detect and track finger position. In order to provide the precision required for musical expression, many positions on the multi-touch sensor would have to be resolved, e.g., by scanning them sequentially. This scanning would have to be repeated frequently enough to track motion. Also, a touch would cover many positions that would have to be resolved to provide sufficiently fine tracking for musical expression purposes; accordingly, some sort of centroid determination or other mathematical processing would be required to identify a single position for each touch at any given time.
While such processing is readily performed on smartphone and tablet touchscreens, the cost can become excessive when scaled to surfaces sufficiently large for two-handed playing of a musical instrument. Furthermore, most touchscreens do not sense finger pressure, which is important for controlling a musical note's volume over time, and those few touchscreens that do sense pressure do so with insufficient pressure range for musical purposes.
Accordingly, what is needed is a cost-effective music performance controller with polyphonic multi-dimensional note expression.
In accordance with the present invention, a polyphonic multi-dimensional controller includes a sensor with sensing layers, each including force-sensing potentiometers (FSPs). One layer includes “row” FSPs extending in an x-direction, while the other layer includes “column” FSPs extending in a y-direction. The row FSPs serve as wipers for the column FSPs and vice versa. Collectively the FSPs define single touch zones (STZs), each STZ intersecting a row FSP and intersecting a column FSP. When an STZ surface is touched, the respective row FSP and the respective column FSP contact each other to make an electrical connection that can be used to detect the presence of the touch, the force of the touch, and the x and, in some embodiments, the y position of the touch.
At most one touch can be detected within an STZ at any given time. Even if a performer manages to touch an STZ at two different positions, only one touch is detected (hence the “single” in “single-touch zone”). The STZs are scanned to determine which ones, if any, are touched. Fine position, e.g., in x and y dimensions, need only be determined for the STZs that are touched. There is no need to scan individual fine positions or to identify fine positions using centroid analysis or the like. As a result, processing requirements and associated manufacturing costs are greatly reduced.
A polyphonic multi-dimensional controller (PMC) 100 is shown, in
Herein, a “polyphonic multi-dimensional controller” or “PMC” is a controller designed for the performance of music that provides for polyphonic multi-axis note expression. That is, at least two dimensions of expression can be controlled independently per note independently for at least two notes. For example, the following four parameters could be varied independently of each other: the volume of note A, the pitch of note A, the volume of note B, and the pitch of note B. For a three-axis example, the following six parameters could be controlled independently: the volume of note A, the pitch of note A, the timbre of note A, the volume of note B, the pitch of note B, and the timbre of note B.
PMC 100 includes a tactile membrane 114, a body 116, and a top panel 118; top panel 118 clamps tactile membrane 114 in position within body 116. Tactile membrane 114 is divided into tactile rows 120 and tactile columns 122. Rows 120 and columns 122 intersect to define a grid 124 of tactile cells 126. In addition, tactile membrane 114 includes buttons 128, which protrude through respective apertures 130 in top panel 118.
PMC 100 is highly configurable so that different assignments of notes to cells and of performance gestures to musical parameters can be employed. In one default configuration, cells are assigned to musical notes. The notes assigned to cells increase chromatically from left to right within an row. By default, the notes increase by musical fourths interval (five musical semitones) from front to rear within a column, but any interval may be configured. Depending on the instrument being controlled, striking a cell harder or softer can affect the loudness of a triggered sound.
Likewise, the loudness of a sustaining sound can be adjusted by varying the z-axis force applied to the cell. Touches that move left and/or right within a row can cause the pitch of a sustaining note to change. Movement of a touch left and or right across column boundaries within a row can cause the pitch to slide continuously from note to note. Wiggling a touch within a cell can effect a vibrato. Front-rear (y-axis) movement of a touch within a cell can be used to adjust timbre. If multiple cells are touched concurrently, each note produced can be controlled independently of the others as expected of a polyphonic multi-dimensional controller.
The ability to continuously vary the values of three musical parameters, such as loudness, pitch, and timbre, for each of plural notes independently is referred to herein as “polyphonic 3-axis note expression”. The means by which PMC 100 implements polyphonic 3-axis note expression is described below. In some embodiments, polyphonic 2-axis note expression is implemented, e.g., by omitting either x-axis or y-axis control.
PMC 100 is connected to computer 110 via a single cable 106, e.g., a USB cable. Music commands 104, in the form of Musical Instrument Digital Interface (MIDI) data, are communicated from PMC 100 to computer 110 via cable 106. PMC 100 provides a channel-per-note mode in which notes are distributed over plural MIDI channels round-robin style. In effect, each note has its own channel and all the parameters available to that channel are then, in effect, associated with a single note. Thus, polyphonic three-axis note expression is readily achieved as common monophonic controls can be used to express each note. Alternative embodiments use more advanced music command protocols, such as Open Sound Control (OSC), that provide for polyphonic three-axis per-note expression.
In addition, power for operating PMC 100 is provided from computer 110 to PMC 100 via cable 106. An advantage of PMC 100 over some PMCs is that its power requirements are low enough that it can be powered using USB 2.0 bus power. In fact, much of the power consumed by PMC 100 is due to the LEDs rather than the force and position sensing which only requires about 185 milliamps. As a result, only one cable is required for PMC 100 (despite the presence of LEDs which consume most of the power), as opposed to two or more for PMCs requiring a separate power supply. In some embodiments, a power supply input and MIDI (Music Instrument Digital Interface) 5/180° DIN (Deutsches Institut für Normung, the German national standards organization) output are provided so that PMC 100 can be used to control electronic instruments and interfaces employing standard MIDI connectors. In alternative embodiments, other power and data communications solutions are employed.
Tactile membrane 114 is the top layer of a multi-layer structure including a sensor 200, a controller circuit board 202, and a light-emitting diode (LED) circuit board 204, as shown in
Substrate sublayers 212 and 222 can be sheets of transparent mylar. Fixed-resistance sublayers 214 and 220 can be fixed-resistance ink printed in a pattern on the respective substrate sublayers. Force-sensitive resistance sublayers 216 and 218 can be force-sensitive resistive ink printed onto the respective fixed-resistance sublayers 214 and 220.
Resistive sublayers 218 and 220 of lower sensing layer 210 are printed in rows to define respective row FSPs 302 (
Touching a cell 126 causes the corresponding row FSP 302 and the corresponding column FSP 304 to connect electrically within the corresponding STZ 224 (
Thus, the fine x and y positions of a touch can be determined from potentiometer readings in the touched STZ. In addition, z-axis force of the touch can be determined as the combined resistance through the FSR layers 216 and 218 in the touched STZ. This resistance decreases with the force of the touch. The velocity of an initial touch can be determined by differences in pressure taken over a short series of pressure measurements.
As noted above, cells 126 of tactile membrane 114, shown in
Separator 208 is a plastic frame in which longitudinally (x-dimension) extending ribs 308 define longitudinally extending apertures 310 that align with row FSPs 302 and tactile rows 120. In the absence of a touch, separator ribs 308 maintain separation and electrical isolation of sensing layers 206 and 210. When a cell 126 is touched, sensing layers 206 and 210 can contact through an aperture 310. Ribs 308 are, in effect, dead zones that prevent continuous tracking between cells of a column. On the other hand, elongated apertures 310 permit continuous tracking of touches moving between cells 126 of a tactile row 120. As a result, motion between cells in a row can be interpreted as continuous changes in pitch, while motion between cells in a column typically results in newly triggered notes. In an alternative embodiment, sensing layers are separated by spacer dots instead of the disclosed spacer.
Upper sensing layer 206 includes conductive pads 312 at the front and rear of each of column FSPs 304 and 306. Lower sensing layer 210 includes conductive pads 314 at the left and right ends of each of row FSPs 302. Conductive pads 312 and 314 are used to apply voltages or for reading voltages across rows 302 and columns 304 and 306, as explained below in connection with the description of controller circuit board 202.
Controller circuit board 202 has conductive pads 316 along its left and right sides. Conductive tape (not shown) is used to electrically connect pads 316 to respective pads 314 along the left and right sides of lower sensing layer 210. Circuit board 202 has conductive pads 318 along its front and rear sides. Conductive tape is used to electrically connect pads 318 to respective pads 312 along the front and rear sides of upper sensing layer 206. In an alternative embodiment, small flat flexible connectors are used instead of conductive tape. Connections on the sensing layers are forced together by the pressure of screws holding top panel 118 down.
Lower sensing layer 210 is longer than upper sensing layer 206 so that upper sensing layer 206 does not occlude the pads 316 on lower sensing layer 210. This facilitates making and breaking the connections with circuit board 202. Similarly, upper sensing layer 206 is wider than lower sensing layer 210 to make it easier to make and break the connections between circuit board 202 and upper sensing layer 206.
LED circuit board 204 includes an array 320 of RGB LEDs 322 (
Sensor 200 is controlled and monitored by controller circuit board 202, as indicated in
Touch history 404 stores time-stamped values for fine x position, fine y position, and z force. Typically, the last three sets of values for each touch are stored in touch history 404. Touch history 404 can be used to determine changes in touch data. For example, an increase in z-force can occur as a cell is being triggered; in such a case, the z-force change rate can be translated into velocity information to accompany a note-ON message. The velocity information may then, for example, be used to determine the initial volume of a newly triggered sound.
Touch history 404 is also used to distinguish initial touch detections versus continuation touch detections. When a touch is detected, it may either be the first time the touch is detected or the touch may have been detected previously. Initial touch detections are typically used to trigger new sounds, while continuation touch detections are typically used to modify a previously triggered sound without retriggering it.
If the previous scan indicated no touch for the cell for which a current touch is detected, this would suggest an initial touch as opposed to a continuation touch. However, a complication arises since a touch detected in a first cell may be detected later in a second cell due to a slide, e.g., between adjacent cells within a row. Therefore, fine x data may have to be considered to distinguish one touch followed by a separate touch from a sliding touch. For example, if the fine x history data indicates that a touch in an adjacent cell was near or approaching the boundary, then the current touch, depending on its fine x position, may be interpreted as a sliding continuation rather than a new touch. In addition, the touch history can determine when a non-detection represents a note-OFF event, a slide-off, or a null event.
So that touch history 404 can be used to distinguish initial and continuation touches and to determine rates of force change, a processor 410 of circuit board 202 time stamps and records in touch history 404 x, y, and z parameter values for the last three or more detections of each touch. When a new touch is detected, it is entered into touch history 404. An identity (Touch ID) for the touch is stored, along with an STZ ID for the STZ selected when the touch was first detected. The time-stamped original x, y, and z values are stored in association with the Touch ID and the STZ ID.
Upon subsequent detections of a touch, touch history 404 is updated by adding the new data. When the capacity available for a touch is reached, older data for a touch may be deleted to make room for more recent data. When a touch is released, the data for the touch can be deleted from touch history 404 to make room for data representing a new touch. For PMC 100, up to approximately 50 touches can be tracked at once; other embodiments have different limits on the number of touches that can be tracked concurrently.
Controller circuit board 202 includes processor 410 for executing instructions of control program 408 in accordance with configuration settings 406. Control program 408 controls high-speed analog switches 412, which provide for high-speed (compared to mechanical switches) routing of analog signals. Switches 412 include row and column select switches 414, axis select switches 416, and an analog-to-digital converter (ADC) pull-up switch 418. ADC pull-up switch 418 selectively couples an input 428 of an analog-to-digital converter (ADC) 420 to a pull-up resistor 422, which is coupled to power-level voltage 424. Row and column select switches 414 selectively couple individual STZs to axis-select switches 416. Axis select switches 416 selectively couple a selected STZ to power 424, ground 426, or a signal input 428 to ADC 420.
In operation, two-hundred eight (208) STZs are repeatedly scanned for touches. Scanning proceeds one STZ at a time in a raster progression from the front left across each row ending at the rear right STZ. Touch detections result in touch data to be stored in touch history 404, touch data is converted to music commands transmitted via power and communications interface 430. Interface 430, which can be a USB 2.0 or higher interface, can receive power for PMC 100. The operation of switches 412 during the scanning is described below with reference to, for expository purposes, 3×3 arrays of STZs.
Whereas row and column select switches 414 are used to select among STZs 224, axis-select switches 416 and ADC pull-up switch 418 are used to select which axis is to be evaluated. When configured as shown in
Axis-select switches 416 include a left-row axis-select switch 510, a right-row axis-select switch 512, a front-column axis-select switch 514, and a rear-column axis-select switch 516. In the z-axis configuration of
When there is a touch at the selected STZ, nodes A and B are in contact and are electrically connected. This establishes a current path from power (+) 424 through pull-up resistor 422, fixed resistance 214, force-sensing resistance 216, force-sensing resistance 218, and a voltage-divided lower fixed resistance 220 to ground 426. As a result of this current, there is a voltage drop at pull-up resistor 422, so that the voltage at ADC input 428 is lower than power (+). This lower voltage is interpreted as a detection of a touch and the amount that the voltage is lower than power is used to determine the force of the touch.
The voltage associated with a touch can be sampled repeatedly (two, three or more times) to determine a rate of change of force. This rate of change can be interpreted as a velocity, e.g., of the initial touch. A corresponding velocity command can be sent, e.g., with a note-on command to an electronic sound generator, which might, for example, adjust the volume of a sound based on the velocity. Thus, the z-axis configuration is sufficient to: 1) detect touches; 2) determine the force associated with each touch; and 3) determine the rate of change of force associated with each touch. In effect, the z-axis configuration permits polyphonic key pressure, that is, polyphonic 1-axis note expression. To attain polyphonic 3-axis note expression, precise tracking along x and y axes is employed.
When a touch is detected, processor 410 knows which row is selected and which column is selected. The selected column corresponds to the gross x position of the touch. The selected row corresponds to the gross y position of the touch. In other words, the array position of the selected STZ is known, so the detected touch is within the area of the corresponding STZ. However, to provide for slides, vibratos, precise control of timbre, and other articulations, x-position and y-position must be tracked with greater precision.
Some alternative embodiments incorporate diodes to address n-key rollover that can apply to matrix switches. Due to n-key rollover, in the illustrated embodiment, one cannot play a cell that exists at the fourth corner of a rectangle for which three cells are already pressed. The illustrated embodiments provide alternative cells for most notes, so the rectangular cell combination is easily avoided.
The circuit equivalent for x-axis configuration 600 is shown in
Note that the same sensor element, e.g., the front row FSP, is used to measure the fine x position for all STZs in the row. If there are two or more touches on the same row, the fine position of each touch will be read independently of the others as the respective STZs are selected. Likewise, all STZs of a column share the same column FSP 304 for determining the fine y position of a touch. The fact that all STZs of a row share the same sensor element for determining fine x position and all STZs of a column share the same sensor element for determining y position contributes to the simplicity and cost-effectiveness of PMC 100.
The y-axis read is analogous to the x-axis read, but rotated 90″. In summary, to precisely determine the y position associated with a detected touch, the y-axis configuration 700 of
The resulting voltage divider configuration is shown in
Row FSPs 302 and column FSPs 304 provide analog voltage outputs that respectively correspond to fine x-position along a row 120 and fine y-position along a column 122 (
The power requirements for three-dimensional tracking are quite minimal. For the z-axis configuration 500 of
For the vast majority of STZs that are untouched during any given scan, there is only one reading per scan. This keeps scan durations low and scan repetition rates high. This, in turn, provides high temporal resolution and more accuracy for tracking touch motion. Brute-force scanning alternatives require more processing power to achieve comparable temporal resolutions.
The described approach to scanning STZs is “hierarchical” in the sense that first gross (semitone) x and y position is determined as a function of the column and row of the STZ that is selected when a touch is detected. Then, only for the STZs for which a touch has been detected in the current scan, fine x and fine y position are determined.
Hierarchical scanning is employed in a scanning process 800 of
At 805, straddle touches are detected and resolved. A “straddle touch” is a touch that crosses a cell boundary so as to result in two or more detections for a single touch. Due to the presence of the ribs 308 of separator 208, inter-row straddles are infrequent. However, inter-column intra-row straddles are certainly possible. The challenge is to distinguish cases in which two adjacent detections result from two touches from those that result from a single straddle touch.
To distinguish an inter-column intra-row straddle touch from separate touches of adjacent cells, the fine x-position data can be used. For example, if the fine x-position data indicates that touch detections for adjacent cells are both very close to the same cell boundary, then the two detections may be interpreted as a straddle touch. In that case, one of the detections may be treated as the true detection; the other detection is then discarded. On the other hand, if at least one of the two fine x-positions is remote from the common cell boundary, then the detections may be considered separate. In that case, both touch detections result in updates to the touch history and result in music commands. An alternative embodiment uses a different spacer that allows inter-row straddles.
At 806, current and history data are used to characterize touches. A touch detection can represent an initial touch or a continuation touch. A continuation touch may be detected in the original STZ for the touch (same-cell touch) or a different STZ than the original touch, e.g., due to a slide. The scan rate is chosen such that tracking is effectively continuous, so that a touch slides at most to an adjacent cell between successive scans. Thus, a touch that resulted in a detection in the previous scan will, unless it has been released, appear during the current scan either in the same cell or an adjacent cell.
If a touch is identified as an initial touch, note-on and velocity data may be sent at 807. In some configurations, fine position data may be sent as well. For example, if initial position is configured to be “unquantized” initial fine position data may be sent, e.g., resulting in a non-zero pitch bend as the note is triggered. At 808, the new touch provides a new entry (touch ID, cell ID, x, y, z1, z2, z3 data) in touch history 404.
If the touch is identified as a continuation touch, the original cell at which the touch originally was detected is identified from the touch history at 809. At 810, expression data is sent in relation to the original note. At 811, the touch history is updated with the new x, y, and z expression data.
If no touch is detected for a cell that resulted in a touch the previous scan, it may be that the touch was released. In that case, a note off command may be sent at 812. In an alternative embodiment, a release velocity command may be sent along with the note-off command. Once a touch has been released, it can be deleted at 813 from the touch history. However, the lack of a touch in the same cell may be the result of a slide off the older cell. In the latter case, the fine x-positions of the previous and later touch will be close to the same inter-column boundary. Accordingly, fine position data may be used to distinguish a slide-off from a release.
If the STZs are scanned sequentially left to right along a row, then the data for the STZ to the left will have been acquired by the time the data for the current STZ has been acquired. Therefore, data regarding the STZ to the left is available for interpreting the data for the current STZ. However, the data for the STZ to the right is acquired after the current STZ, so some interpretations of the current STZ data must wait until the data for the next STZ is collected.
Accordingly, a scan process 900 can be pipelined as shown in
Once sensor data has been collected at 912 for STZ 902, all the data required for interpreting the data collected at 911 for STZ 901 is available. Accordingly, interpretation of the sensor data for STZ 901 can be taken at 921, right after the sensor data for STZ 902 has been collected at 912. Any action to be taken based on the interpretation can proceed immediately after the interpretation. The interpretation at 921 can be concurrent with the sensor data acquisition 913 for STZ 903. Thus, interpretation and action 922 for STB 902 can occur after sensor data acquisition 913.
Once the sensor data for STZ 903 has been collected, the sensor data for STZ 902 can be interpreted and appropriate actions taken. If STZ 903 is not the end of a row, then interpretation at 923 must wait until the sensor data for the next STZ in the row is acquired. For the last STZ of a row, interpretation can proceed as soon as the respective sensor data is collected. In that case, sensor data collection can continue with the first STZ of the next row. Some interpretations are dependent. For example, if for STZ 901, it is determined that a touch has resulted from a leftward slide from STZ 902, then it can be assumed that a non-touch detection at STZ 902 is due to the same leftward slide.
As noted above, PMC 100 includes a circuit board 204 with an array 320 of multi-color LEDs. In PMC 100, these are arranged on a circuit board that is separate from the main circuit board. In an alternative embodiment, the LEDs are mounted on the main circuit board. For example, the LEDs can be bottom mounted to a main circuit board containing holes for the LED light to shine upward through the circuit board.
In PMC 100, the LEDs are arranged in an array 320 so that each LED 322 is aligned with a respective cell of tactile membrane 114. So that light emitted by the LEDs can reach tactile membrane 114, holes are formed in circuit board 202. Also, unprinted (or punched out) areas within the sensing layers serve as windows 702 (
The display can be used for a variety of purposes. In-scale notes can be illuminated, while off-scale notes are not. In other words, the LED lighting can serve the function of the coloring of the black and white keys on a piano. However, unlike a piano, the illumination can be configured in different ways for different scales. Also, a different color can be used to indicate the “C” or other root note within each musical octave. The lights can also indicate configuration settings. For example, buttons 128 can provide access to configuration pages. The lights can indicate configuration settings, provide alphanumeric information, and graphical information (e.g., for volume levels and transpose settings). For many purposes, the performer need not refer to a computer screen or other display separate from the playing surface for configuring PMC 100.
While the importance of three-dimensional expression has been emphasized, there are also embodiments with two-dimensional expression. In two-dimensional embodiments, the dimension used to measure force is referred to as the “z-dimension” and the dimension along which fine position is measured is referred to as the “x dimension”.
Relative to some multi-touch sensor PMCs, PMC 100 requires lower processing power due to the use of FSPs that define STZs; in part due to the lower processing power required, PMC 100 is more economical to manufacture than alternatives. In addition, PMC 100 integrates an informative and entertaining display into the playing surface, whereas other PMCs forego a display or require extra space for a separate display. One use of the display is to make finger positions clearly visible even in dim or dark conditions; other PMCs may be difficult to play in the absence of strong ambient light.
Relative to PMCs that use separate sensors for each note, PMC 100 uses a single multi-touch sensor to yield lower manufacturing costs. In addition, PMC 100 offers the ability to implement pitch slides such that the pitch that sounds intuitively matches the pitch of the note at the slide position. For example, a slide from an A up to a C is performed by sliding a finger from contact with a cell that triggered the A to a cell that, if triggered would trigger the C. This feature is not typically implemented where separate sensors are used for each note.
Relative to most other music performance controllers, PMC 100 offers the ability to control three axes of expression of a note using the same finger that triggered the note. This is not only intuitive, but makes it easy to perform the expression polyphonically. That is, three axes of expression can be controlled for each of plural concurrently played notes.
Other features include the availability of a large number, e.g., 200, note triggers in a lightweight compact form factor. The large number of note triggers provides for a wide note range and for note redundancy; note redundancy offers a performer choices in how to finger chords. In addition, chords can be transposed without changing the relative finger positions, unlike, for example, a piano-style controller for which a E major chord requires a different relative fingering than a C major chord.
Herein, a “music performance controller” is a device designed to control in real time a virtual, electronic, or other musical instrument based on a musician's performance gestures. Herein, a “polyphonic multi-dimensional controller” or “PMC” is a music performance controller with two or more axes of expression for two or more concurrently sounding notes.
Herein, a “force-sensing potentiometer” or “FSP” is a potentiometer or at least a resistance portion of a potentiometer that senses force. The FSPs disclosed herein sense force in a (z) dimension orthogonal to an (x or y) dimension along which position is measured using a voltage divider property of a potentiometer. The disclosed FSPs are constituted by printing force-sensing resistance strips on respective fixed resistance strips.
Herein, “single-touch zone” or “STZ” refers to a volume that can be used to detect a touch but that cannot spatially distinguish touches. Herein, a “cell” is the touchable surface or membrane of an STZ. In the illustrated embodiments, the cells and STZs are arranged in rows and columns.
Herein, a “music command” is a command that, according to a communications protocol, e.g., the MIDI protocol, is to be interpreted in a manner that affects music being output by a virtual, electronic, or acoustic musical instrument. Herein, a “dimension” is a direction in space. An “axis” is a direction through a point. Each axis defines a dimension that is shared by parallel axes. The “z” (spatial) dimension is the force dimension; if there are two other spatial dimensions, they are referred to as the “x” and “y” dimensions. If there is only one other dimension, it is referred to as the “x dimension”.
The present invention provides for a wide variety of physical configurations. For example, the number of rows and columns of cells and STZs can vary from embodiment to embodiment. Also, the rows and columns need not be orthogonal to each other. Also, various sizes, shapes, and arrangements can be used. For example, PMC 1000,
Number | Name | Date | Kind |
---|---|---|---|
4353552 | Pepper, Jr. | Oct 1982 | A |
4810992 | Eventoff | Mar 1989 | A |
4852443 | Duncan | Aug 1989 | A |
6703552 | Haken | Mar 2004 | B2 |
7408108 | Ludwig | Aug 2008 | B2 |
7902450 | Haken | Mar 2011 | B2 |
8266971 | Jones | Sep 2012 | B1 |
8934088 | Lambert | Jan 2015 | B2 |
9130572 | Tanaka | Sep 2015 | B2 |
9390697 | Takegawa | Jul 2016 | B2 |
9459160 | Shaw | Oct 2016 | B2 |
20020134223 | Wesley | Sep 2002 | A1 |
20060123982 | Christensen | Jun 2006 | A1 |
20070198926 | Joguet | Aug 2007 | A1 |
20070240560 | Plamondon | Oct 2007 | A1 |
20080028920 | Sullivan | Feb 2008 | A1 |
20110167992 | Eventoff | Jul 2011 | A1 |
20120166947 | Miwa | Jun 2012 | A1 |
20120174735 | Little | Jul 2012 | A1 |
20120247308 | Tsai | Oct 2012 | A1 |
20130152768 | Rapp | Jun 2013 | A1 |
20130340598 | Marquez | Dec 2013 | A1 |
20140083279 | Little | Mar 2014 | A1 |
20150262559 | Beck | Sep 2015 | A1 |
20160078854 | Eventoff | Mar 2016 | A1 |
20160124559 | Linn | May 2016 | A1 |
20160307553 | Yu | Oct 2016 | A1 |
20160314774 | Borman | Oct 2016 | A1 |
Number | Date | Country | |
---|---|---|---|
20160124559 A1 | May 2016 | US |
Number | Date | Country | |
---|---|---|---|
62075414 | Nov 2014 | US |