The present invention relates to a hardware and software system for adding multiple touch sensitivity to a plano-style keyboard and a method of generating sounds from the keyboard.
Over the past decades, a great many electronic music controllers have been developed, but few approach the ubiquity of the plano-style keyboard. The keyboard's versatility and its large number of skilled performers ensure that it will maintain a prominent place in digital musical performance for the foreseeable future.
The keyboard is by nature a discrete interface; on acoustic plano as well as on most MIDI keyboards, notes are defined solely by onset and release, giving the performer limited control over their shape. Although certain MIDI keyboards are equipped with after-touch (key pressure) sensitivity, this arrangement tends to lack nuance and flexibility. On these keyboards, a key must be completely pressed before after-touch can be used, so after-touch cannot control articulation. After-touch is also difficult to use in rapid passage work, and control is limited to a single dimension. Though some keyboards also provide continuous control through external knobs, wheels or sliders, these lack the immediacy and expressivity of control through the keyboard itself.
It would therefore be beneficial to provide a keyboard that provides nuanced and flexible control of musical sounds from within the keyboard mechanism itself.
Briefly, the present invention provides a musical keyboard touch sensor pad comprising a plurality of integrated touch sensors disposed in an array. The plurality of integrated touch sensors represent a keyboard key. A processor is electronically coupled to the plurality of integrated touch sensors. The processor is programmed to receive input from several of the plurality of integrated touch sensors and to generate a sound signal based on the input from the several of the plurality of integrated touch sensors. The sound signal is variable based on the number in the plurality and the location of the plurality in the array.
Further, the present invention provides a musical keyboard comprises a plurality of keys and an integrated sensor array disposed on each of the plurality of keys. A controller is electronically coupled to each of the integrated sensor arrays by a communication bus. The controller has an audio signal output.
Additionally, the present invention provides a method of generating a sound from a plano-style key comprising the steps of placing a sensor array on the key, the sensor being comprised of a plurality of integrated sensors, the sensor array being electronically coupled to a processor; receiving an impact on the key such that at least one of the plurality of the integrated sensors are struck; transmitting an electronic input signal to the processor based on the location and type of the strike on the at least one of the plurality of the integrated sensors; and generating an electronic sound signal from the controller based on the electronic input signal.
Also, the present invention provides a method of displaying information relating to the location of a finger on a plano keyboard. The method comprises the steps of placing a sensor array on the key, the sensor array being comprised of a plurality of integrated sensors, the sensor array being electronically coupled to a processor; receiving an impact on the key such that at least one of the plurality of integrated sensors are struck; transmitting a sensor signal from each of the at least one of the plurality of integrated sensors to the processor; and transmitting a processor signal to a display, wherein the display displays the location and the size of the impact based on the electronic signal.
The accompanying drawings, which are incorporated herein and constitute part of this specification, illustrate the presently preferred embodiments of the invention, and, together with the general description given above and the detailed description given below, serve to explain the features of the invention. In the drawings:
In the drawings, like numerals indicate like elements throughout. Certain terminology is used herein for convenience only and is not to be taken as a limitation on the present invention. The term “longitudinal” refers to a direction along the line between a free end of a plano key and a connected end of the plano key. The term “lateral” refers to a direction along the line perpendicular to the longitudinal direction, from one side of the plano key to the other side of the plano key, between adjacent plano keys. Further, the term “simultaneous strikes” may refer to a plurality of fingers striking a key simultaneously as well as a plurality of fingers simultaneously engaging a key. The terminology includes the words specifically mentioned, derivatives thereof and words of similar import. The embodiments illustrated below are not intended to be exhaustive or to limit the invention to the precise form disclosed. These embodiments are chosen and described to best explain the principle of the invention and its application and practical use and to enable others skilled in the art to best utilize the invention.
The present invention augments a traditional musical keyboard key by generating novel sounds based on various key striking and movement iterations. The present invention adds touch sensitivity to the keyboard and creates an interface capable of continuous, expressive control that provides a performer with detailed, continuous control over the pitch of musical notes. For example, a traditional keyboard limits a performer to 12 discrete pitches within each octave; by contrast, a violin player has no such limitations and can even adjust the pitch of the note over time for expressive purposes (e.g. vibrato or pitch bends). Touch sensitivity on the keys of the present invention can be used to make keyboard capable of continuously controlling pitch. Such control can take several forms such as, for example the location of a performer's initial touch on the key can select between subtly different pitches, wherein a touch on the front half of the key plays a note in normal tuning, while a touch on the back half of the same key plays a note a quarter tone higher. Alternatively, finger motions on the keyboard after a note has been played can alter the pitch of the note. For example, moving the finger back and forth on the key surface can create vibrato, or a slide from the front to the back of the key can bend the pitch of the note either up or down.
Additionally, the present invention can be used as a teaching tool to assist in detecting fingering of keys. Such detection can determine whether a student is properly fingering the keys and aid a teacher in instructing the student on the proper manner to finger the keys to generate a desired sound. Staff
In an exemplary embodiment, sounds are generated from struck keyboard keys based on the position and size of up to three touches on each key. Touch position on each black key is sent along a single front-to-back, or longitudinal, direction; and white touches are sensed along a longitudinal direction on the narrow back portion and along the longitudinal direction and a lateral direction, perpendicular to the longitudinal direction, along the wider front portion of each key. Referring to the figures in general, a multi-touch musical keyboard system 99 according to an exemplary embodiment of the present invention is shown.
Referring specifically to
As shown in
In an exemplary embodiment, each key is scanned 125 times per second. This two-layer protocol (octave controllers 102, 112 and controller board 120) imposes only modest demands on keys 50, 50′, 70 themselves, which ultimately allows the connection of a large number of keys 50, 50′, 72 controller board 120.
The host computer processes raw data from each key to extract higher-level features, including the addition and removal of touches on the key, motion and resizing of existing touches, and multi-finger gestures including pinches and slides. A “pinch” is a change in distance between two fingers (closer or farther). A “slide” is two fingers moving together up or down a key, with consistent spacing between the fingers.
In an exemplary embodiment, each key 50, 50′, 70 uses a Cyprus Semiconductor CapSense controller, manufactured by Cyprus Semiconductor Corporation, located in San Jose, Calif. The controllers are mounted on circuit board 54, 74 with a plurality of capacitive sensor pads 52, 72. Exemplary capacitive sensor pads 52, 72 are part of their respective board 54, 74. In one embodiment, sensor pads 52, 72 may be copper etched into board 54, 74, although those skilled in the art will recognize that any conductive material, including conductive ink, may be used.
In an exemplary embodiment, each white key 50, 50′ uses 25 sensor pads 52 arranged in a two-dimensional array along the longitudinal and lateral directions of white key 50, 50′, while each black key 70 uses 17 sensor pads 72 arranged in a one-dimensional array only along the longitudinal direction of black key 70. Each pad 52, 72 forms a capacitor with respect to free space and the ground plane internal to the circuit board. A finger on or near the sensor surface increases its capacitance, which the controller reads as a 10-bit value. On startup of the keyboard, each controller 120 reads baseline values for each sensor pad with no finger present, subtracting these baseline values from subsequent readings. No electrical contact is required between the performer's finger and the capacitive sensors, and, unlike resistive touch sensors, no pressure is required.
On the wider, lower, part of the white keys, shown in an enlarged view of key 50′ in
where Is≦k≦If defines a range of sensor indices and the Ck represents capacitance values. Touch size (contact area) is proportional to the sum of all sensors in a group according to the formula:
Raw centroid and size values are scaled on a 0-1 range for later processing. Multiple independent touches can be sensed as long as their spacing exceeds the distance between adjacent sensor pads 72. In an exemplary embodiment, the distance is 4.75 mm for black keys 70 and 6.6 mm for white keys 50, 50′. Centroid calculations are performed on a CapSense controller. In an exemplary embodiment, a limit of 3 touches per key is chosen to provide a reasonable cap on calculation time. Those skilled in the art, however, will recognize that more or less than 3 touches per key can be used. In an exemplary embodiment, a complete sensor scanning calculation centroids takes approximately 4 milliseconds. Calculated longitudinal spatial resolution on black keys 70 is 0.8 millimeters. On white keys 50, 50′, resolution is 0.11 millimeters in the longitudinal direction and 0.09 millimeters in the lateral direction.
Referring back to
In an exemplary embodiment, up to 8 octaves of keys 50, 50′, 70 can be managed by a single host controller 120, although only two octaves 100, 110 are shown in
Host controller 120 appears to the computer as a USB communication class (CDC) device, which is natively supported by all major operating systems. Alternatively, host controller 120 may be similarly be implemented as a USB MIDI device. Parsing software reads the incoming frames of test data, producing Open Sound Control messages reflecting both raw touch values and higher-level gestural features. OSC is a network communication protocol for control of musical systems and is available at www.opensoundcontrol.org. OSC messages can be sent to any port on the computer or on a network (not shown), allowing connection to a broad array of synthesis software, such as for example SuperCollider, Max/MSP, Csound. The software further allows OSC messages to be converted to MIDI messages, allowing control of any MIDI-compatible hardware or software synthesizer.
For each key 50, 50′, 70, transmitted OSC frames contain the octave and pitch class, the position and size of up to three touches (range 0-1, or −1 when not active), and, for white keys 50, 50′, a single horizontal position (−1 if the touch is not on the wide front part of the key). In an exemplary embodiment, the inventive device measures the longitudinal location of up to three touches and a single horizontal position.
Horizontal position sensing on white keys 50, 50′ allows the keyboard to emulate a ribbon controller in that a touch can be tracked as the touch slides laterally across multiple keys 50, 50′. When the touch reaches the outer edge of one key 50, a new touch will register at the adjacent edge of the next key 50′. The system software stitches these touches together in a dedicated OSC “sweep” message containing a continuous location on the keyboard as well as information on the keys 50, 50′ currently sensing the sweep. This mode of interaction is particularly well-suited for musical interactions based on glissandos or heavy pitch vibrato, although slide messages can also be mapped to any continuous control application.
Data arrives at octave controller 100, 110 from the keys 50, 50′, 70 as a series of discrete frames, but to provide expressive control over the musical process, the frames are stitched together into a continuous picture of the performer's gestural interaction with the keyboard. As illustrated
Some exemplary applications of system 99 are presently described. System 99 uses Csound software to create a virtual instrument which simulates a plucked string using the Karplus-Strong algorithm. Csound software is a sound design, music synthesis and signal processing system software released under the GNU Lesser General Public License by the Music and Cognition Group of the M.I.T. Media Laboratory.
On many acoustic string instruments, including the guitar, harp, and violin, performer directly manipulate the instruments strings to produce a sound. By contrast, a pianist interacts with the plano strings through a mechanical abstraction: a key press activates a series of levers, which caused a hammer to strike the strings. This mechanical system limits the degrees of freedom available to the pianist. Whereas a guitarist can vary the pluck location along the length of the guitar, as well as the strength, angle, and plucking object, the pianist only controls a single dimension, that being the velocity of the hammer, which is determined by the velocity of the present of a particular key.
The present invention allows a user to perform with expressive dimensions similar to those available to players of plucked string instruments, as discussed immediately above. This feature is the compass by mapping dimensions of key touch to parameters of a physically-modeled digital synthesizer. In an exemplary embodiment, a theoretical position of touch along the key maps to the pluck location along a virtual string and the contact area maps to the size of the object used to pluck the string. For example, the timbre of a synthesized pluck depends heavily on the initial conditions of a virtual string. System 99 uses touch location and type size, which is measured at the time of note onset, and control the location and sharpness of the pluck. Specifically, the string's initial position is given by two cubic segments, meaning that the string's displacement before and after the pluck point is modeled by a cubic polynomial, as shown
Additionally, system 99 uses the Modartt PianoTeq synthesis software (available at www.pianoteq.com), which allows all major mechanical parameters to be dynamically assigned by MIDI control change messages. Key velocity controls the volume of the note. Vertical touch position on the key at onset is mapped to a hammer strike point within a constrained range around a default location, giving the pianist more control over the timbre of each note while ensuring sensible musical results. Such size maps to hammer hardness (e.g., smaller touches produced a harder hammer). These mappings provide keyboard player intuitive sense of interacting directly with the plano strings.
System 99 provides different features when multiple fingers are involved in striking/engaging a single key. In an exemplary embodiment, mapping of a note played with two fingers increases the unison with of the plano strings in proportion to the distance between the touches, which creates a “honky-tonk plano” effect when the fingers are widely spaced.
Additionally, the width between the two fingers modulates the impedance of the bridge, which affects note decay. Widely spaced fingers create an unusually long sustain, and closely spaced fingers create notes with a clipped, muted quality.
In another exemplary use of system 99, a Csound instrument is formed in which a harmonically-rich pulse waveform is passed through a resonant low-pass filter, similar to many classic analog synthesizer topologies. As shown
System 99 can also be used to generate different timbres, or musical instrument sounds. On each key press, the number of fingers on the key selects between one of three different types of instruments. Incoming MIDI Note On messages (part of the MIDI specification (available at www.midi.org), which indicate a note should begin (e.g. when a key is pressed)) are routed to one of three MIDI channels depending on how many fingers are currently on the corresponding key. MIDI Note Off messages are sent all three channels to avoid notes inadvertently remaining on after the key has been released. For example, as shown in
In addition to using system 99 to generate novel sounds and sound patterns, touch location information generated by system 99 may also allow automatic detection of plano fingering patterns. Because the thumb and pinky fingers do not extend as far as the three middle fingers, keys played with these fingers tend to be touched nearer to the front edge of the key. Also, the thumb, on account of its flatter angle with respect to the keys, may also produce a larger contact area in many situations. Contact area allows an additional dimension of control over each note played on key 50, 50′, 70. These observations, coupled with the knowledge of the mechanics and limitations of the human hand, allow for the automatic extraction of fingering patterns from touch data, which can be used during the training of a novice plano player. Additionally, contact area can be used to estimate certain gestural features of keyboard playing. For example, many plano teachers consider it important to play with rounded (curved) fingers, such that the fingertips, rather than the flat surfaces of the fingers, contact the keys. Contact area sensing can be used to evaluate whether the pianist plays this way.
In an exemplary embodiment, referring back to
System 99 can be used by itself with an acoustic or electronic plano or in conjunction with an electromagnetic plano string actuation assembly 200, which is shown in
Reference herein to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments necessarily mutually exclusive of other embodiments. The same applies to the term “implementation.”
As used in this application, the word “exemplary” is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs. Rather, use of the word exemplary is intended to present concepts in a concrete fashion.
Additionally, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless specified otherwise, or clear from context, “X employs A or B” is intended to mean any of the natural inclusive permutations. That is, if X employs A; X employs B; or X employs both A and B, then “X employs A or B” is satisfied under any of the foregoing instances. In addition, the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form.
Moreover, the terms “system,” “component,” “module,” “interface,”, “model” or the like are generally intended to refer to a computer-related entity, either hardware, a combination of hardware and software, software, or software in execution. For example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a controller and the controller can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers.
Although the subject matter described herein may be described in the context of illustrative implementations to process one or more computing application features/operations for a computing application having user-interactive components the subject matter is not limited to these particular embodiments. Rather, the techniques described herein can be applied to any suitable type of user-interactive component execution management methods, systems, platforms, and/or apparatus.
While the exemplary embodiments of the present invention have been described with respect to processes of circuits, including possible implementation as a single integrated circuit, a multi-chip module, a single card, or a multi-card circuit pack, the present invention is not so limited. As would be apparent to one skilled in the art, various functions of circuit elements may also be implemented as processing blocks in a software program. Such software may be employed in, for example, a digital signal processor, micro-controller, or general purpose computer.
The present invention can be embodied in the form of methods and apparatuses for practicing those methods. The present invention can also be embodied in the form of program code embodied in tangible media, such as magnetic recording media, optical recording media, solid state memory, floppy diskettes, CD-ROMs, hard drives, or any other machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. The present invention can also be embodied in the form of program code, for example, whether stored in a storage medium, loaded into and/or executed by a machine, or transmitted over some transmission medium or carrier, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. When implemented on a general-purpose processor, the program code segments combine with the processor to provide a unique device that operates analogously to specific logic circuits. The present invention can also be embodied in the form of a bitstream or other sequence of signal values electrically or optically transmitted through a medium, stored magnetic-field variations in a magnetic recording medium, etc., generated using a method and/or an apparatus of the present invention.
Unless explicitly stated otherwise, each numerical value and range should be interpreted as being approximate as if the word “about” or “approximately” preceded the value of the value or range.
The use of figure numbers and/or figure reference labels in the claims is intended to identify one or more possible embodiments of the claimed subject matter in order to facilitate the interpretation of the claims. Such use is not to be construed as necessarily limiting the scope of those claims to the embodiments shown in the corresponding figures.
It should be understood that the steps of the exemplary methods set forth herein are not necessarily required to be performed in the order described, and the order of the steps of such methods should be understood to be merely exemplary. Likewise, additional steps may be included in such methods, and certain steps may be omitted or combined, in methods consistent with various embodiments of the present invention.
Although the elements in the following method claims, if any, are recited in a particular sequence with corresponding labeling, unless the claim recitations otherwise imply a particular sequence for implementing some or all of those elements, those elements are not necessarily intended to be limited to being implemented in that particular sequence.
As used herein in reference to an element and a standard, the term “compatible” means that the element communicates with other elements in a manner wholly or partially specified by the standard, and would be recognized by other elements as sufficiently capable of communicating with the other elements in the manner specified by the standard. The compatible element does not need to operate internally in a manner specified by the standard.
Also for purposes of this description, the terms “couple,” “coupling,” “coupled,” “connect,” “connecting,” or “connected” refer to any manner known in the art or later developed in which energy is allowed to be transferred between two or more elements, and the interposition of one or more additional elements is contemplated, although not required. Conversely, the terms “directly coupled,” “directly connected,” etc., imply the absence of such additional elements.
It will be appreciated by those skilled in the art that changes could be made to the embodiments described above without departing from the broad inventive concept thereof. It is understood, therefore, that this invention is not limited to the particular embodiments disclosed, but it is intended to cover modifications within the spirit and scope of the present invention as defined by the appended claims.
The present application claims priority from U.S. Provisional Patent Application Ser. No. 61/505,273, filed on Jul. 7, 2011, which is incorporated herein by reference in its entirety.
This invention was made with government support under Contract No. 0937060 awarded by the National Science Foundation. The government has certain rights in the invention.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US2012/045649 | 7/6/2012 | WO | 00 | 11/20/2013 |
Number | Date | Country | |
---|---|---|---|
61505273 | Jul 2011 | US |