1. Field of the Invention
The present invention relates to electronic devices and, more particularly, to touch-sensitive electronic devices.
2. Description of the Related Art
Mixing boards or consoles are known and used in sound production. The mixing boards or consoles are dedicated devices that primarily amplify and equalize signals on various channels. A mixing board or console can, for example, support a large number of channels, such as 24 or 32 channels. Users are often intimidated by the many knobs, switches and sliders that are compactly provided on the mixing board or console.
Traditionally, the knobs, switches and sliders are manually manipulated by the user of the mixing board or console. However, more recently, mixing boards or consoles have permitted some of its controls (e.g., faders, equalizers) to be automatically adjusted, such as during a playback. Furthermore, in recent years, mixing board or consoles have become more digital, such as by including a small display screen in the mixing board or console. Also, in recent years, software programs that execute on general purpose computer, such as GarageBand™ and Logic Pro 6™ from Apple Computer, Inc., permit mixing capabilities for sound productions.
Unfortunately, however, these conventional approaches do not fully satisfy user needs. For example, the traditional mixing consoles tend to be fixed and inflexible. As another example, the software applications tend to provide greater flexibility but have limitations with respect to user interaction. Thus, there is a need for improved approaches to providing digital mixing boards or consoles.
Broadly speaking, the invention relates to an electronic apparatus for media applications, such as an electronic mixing apparatus or an electronic keyboard apparatus, as well as associated methods for use of the electronic apparatus.
According to one aspect of the invention, the electronic mixing apparatus is provided on a touch screen that provides user input and display capabilities. In one embodiment, the touch screen is a multipoint touch screen so that multiple user touch inputs can be simultaneously acquired. The touch screen can display a Graphical User Interface (GUI) having mixing controls that can be selected and manipulated through user touch inputs with the touch screen. In one embodiment, the mixing controls being displayed with the GUI can be modified in real time as a user provides touch inputs with the touch screen.
Another aspect of the invention pertains to surface guides that are provided on the touch screen to assist with user input. The surface guides can be a permanent part of the touch screen or a removable part of the touch screen. In one embodiment, the surface guides can be part of an overlay sheet that can be affixed to the touch screen.
Still another aspect of the invention pertains to an electronic keyboard apparatus. The electronic keyboard apparatus (e.g., virtual keyboard) is provided on a touch-sensitive apparatus capable of simultaneously acquiring multiple user touch inputs.
The invention can be implemented in numerous ways, including as a method, system, device, apparatus, or computer readable medium. Several embodiments of the invention are discussed below.
As a touch-sensitive apparatus operating as a media mixer, one embodiment of the invention includes at least: a touch screen having a display area that also operates as a touch input area; and a plurality of media mixing controls being displayed in the display area of the touch screen and being interactive with a user through interaction with the touch input area of the touch screen.
As a method for operating a computing device having a touch screen, one embodiment of the invention includes at least the acts of: displaying a mixing console Graphical User Interface (GUI) having a plurality of GUI objects on the touch screen; determining whether at least one touch input has been detected; identifying the one or more GUI objects that are associated with the at least one touch input; determining modifications to the one or more identified GUI objects based on the at least one touch input; updating the one or more identified GUI objects of the mixing console GUI to reflect the modifications; and determining input data based on the at least one touch input and the one or more identified GUI objects.
As an electronic media mixer, one embodiment of the invention includes at least: a multi-touch touch screen capable of concurrently receiving multiple touch inputs; and a computing device operatively connected to the multi-touch touch screen. The computing device is configured to: display a mixing console Graphical User Interface (GUI) having a plurality of GUI objects on the multi-touch touch screen; determine whether at least one touch input has been detected; identify the one or more GUI objects that are associated with the at least one touch input; determine modifications to the one or more identified GUI objects based on the at least one touch input; update the one or more identified GUI objects of the mixing console GUI to reflect the modifications; and determine input data based on the at least one touch input and the one or more identified GUI objects.
As a touch-sensitive apparatus operating as an electronic keyboard, one embodiment of the invention includes at least: a touch screen having a display area that also operates as a touch input area; and a plurality of keyboard keys being displayed in the display area of the touch screen and being interactive with a user through interaction with the touch input area of the touch screen.
As a method for operating a computing device having a touch screen, one embodiment of the invention includes at least the acts of: displaying a keyboard Graphical User Interface (GUI) having a plurality of keys on the touch screen; determining whether at least one touch input has been detected; identifying the one or more keys that are associated with the at least one touch input; determining modifications to the one or more identified keys based on the at least one touch input; updating the one or more identified keys of the keyboard GUI to reflect the modifications; and determining input data based on the at least one touch input and the one or more identified keys.
Other aspects and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings which illustrate, by way of example, the principles of the invention.
The invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements, and in which:
The invention relates to an electronic apparatus for media applications, such as an electronic mixing apparatus or an electronic keyboard apparatus, as well as associated methods for use of the electronic apparatus.
According to one aspect of the invention, the electronic mixing apparatus is provided on a touch screen that provides user input and display capabilities. In one embodiment, the touch screen is a multipoint touch screen so that multiple user touch inputs can be simultaneously acquired. The touch screen can display a Graphical User Interface (GUI) having mixing controls that can be selected and manipulated through user touch inputs with the touch screen. In one embodiment, the mixing controls being displayed with the GUI can be modified in real time as a user provides touch inputs with the touch screen.
Another aspect of the invention pertains to surface guides that are provided on the touch screen to assist with user input. The surface guides can be a permanent part of the touch screen or a removable part of the touch screen. In one embodiment, the surface guides can be part of an overlay sheet that can be affixed to the touch screen.
Still another aspect of the invention pertains to an electronic keyboard apparatus. The electronic keyboard apparatus (e.g., virtual keyboard) is provided on a touch-sensitive apparatus capable of simultaneously acquiring multiple user touch inputs.
Embodiments of the invention are discussed below with reference to
The computing device 100 can be a special purpose computing device or a general purpose computing device. The size and configuration of the computing device 100 can also vary. As an example, the computing device 100 can pertain to a tablet computer which integrally combines computer components with a touch screen into a tablet-like form factor.
In any case, when the computing device 100 is operating, the touch screen 104 can display media mixing controls. For example, the computing device 100 can execute a media mixing software application that provides media mixing functionality to the computing device 100. The media mixing controls are utilized to facilitate user input of media mixing operations that are supported by the media mixing software application. Hence, the computing device 100 can be a central component of a media mixing system. The media mixing system would provide media inputs to the computing device 100 and would receive media outputs provided by the computing device 100. The touch screen 104 of the computing device 100 displays the media mixing controls on the touch screen 104. Hence, the media mixing controls are virtual controls that are graphically displayed by the touch screen 104 but are not physically present. Nevertheless, a user of the computing device 100 can interact with the media mixing controls to effectuate media mixing operations.
More particularly, as shown in
As the media mixing controls are manipulated by the user through interaction with the touch screen 104, the media mixing controls being displayed can be modified in real time. For example, as the user interacts with the dial 106 via the touch screen 104, the graphics associated with the dial 106 can be modified to indicate that the dial is effectively rotating. Similarly, by selection of one of the buttons 108, the graphics associated with the button 108 on the touch screen 104 can indicate its selection. As another example, the user manipulates the slider 112 and the graphics associated with the slider 112 can be modified as the slider 112 is manipulated. Hence, as the media mixing controls displayed by the touch screen 104 are manipulated a user, the user is essentially given immediate media feedback as to the manner by which the media mixing controls are being manipulated.
Still further, since the touch screen 104 is capable of multi-point touch sensing, a user (or a plurality of users) can simultaneously interact with more than one of the media mixing controls at any given point in time. For example, the user may concurrently manipulate one or more dials 108, buttons 108 or sliders 112, or any combination thereof. The multi-point touch screen 104 can simultaneously sense these different interactions with different media mixing controls so that the appropriate media mixing controls are able to not only be concurrently sensed but also have their graphical display modified.
In addition, the electronic mixing console 200 includes an overlay 214. The overlay 214 is designed to be placed over the touch screen 206 of the computing device 202. The overlay 214 is provided on the computing device 202 so as to render the computing device 202 more applicable to use as a mixing console. In this regard, the overlay 214 includes various surface guides. For example, as shown in
The overlay 214 can be formed from a variety of different materials. In one embodiment, the overlay 214 is a translucent, thin plastic sheet having the surface guides on an upper surface thereof. A back surface of the overlay 214 can then be affixed adjacent to the touch screen 206 of the computing device. The overlay 214 can be attached or held against the computing device 202 in a variety of different ways. For example, the overlay 214 can be attached or held against the computing device 202 by clips, pins, tabs, adhesive, static attraction, vacuum (e.g., suction cups). As other examples, the computing device 202 could include grooves or slots for receiving the overlay 214 and holding the same in position. In another embodiment, the overlay 214 can be permanently affixed to the touch screen 206 of the computing device 202.
The user's interaction with the touch screen 206 via the overlay 214 can be such that a user performs a gesture. For example, the user could utilize the dial guide 220 and perform a rotate gesture. The touch screen 206 of the computing device 202 would understand the touch gesture and cause the corresponding dial control 212 to be manipulated as well as to provide input data for processing by the computing device 202. Additional details on gesture recognition are provided in U.S. patent application Ser. No. 10/840,862, which has been incorporated herein by reference.
The mixing console process 300 initially displays 302 a mixing console Graphical User Interface (GUI) on a touch screen of a computing device. For example, in
After the mixing console GUI is displayed 302, a decision 304 determines whether one or more touch inputs have been detected. When the decision 304 determines that no touch inputs have been detected, the mixing console process 300 awaits such input.
Once the decision 304 determines that one or more touch inputs have been detected, the mixing console process 300 continues. Namely, the GUI object or objects associated with the one or more touch inputs are identified 306. Then, modifications to the identified GUI objects are determined 308 based on the touch inputs. Then, the identified GUI objects of the mixing console GUI are updated 310 to reflect the modifications. In addition, input data is determined 312 based on the touch inputs and the identified GUI objects. The operations 306-312 are rapidly performed at approximately the same time such that once a touch input is detected, the mixing console process 300 is able to not only determine 312 the input data but also update 310 the identified GUI objects being modified. Hence, the user is given the impression that the system is responsive to their input in an essentially real time manner.
It should also be noted that after the input data has been determined 312, the mixing console process 300 returns to repeat the decision 304 and subsequent blocks so that additional touch inputs can be similarly processed. However, it should be noted that once the input data has been determined 312, the computing device will operate to process the input data. For example, the input data might indicate that the rotation of a dial by the user is to cause the output volume on a given channel to be increased by 10%.
The keyboard process 300 initially displays 352 a keyboard graphical user interface (GUI) on a touch screen of a computing device. For example, the touch screen 104 of the computing device 100 can display a virtual keyboard having a plurality of keys, instead of the various media mixing controls associated with a mixing console GUI as shown in
Once the decision 354 determines that one or more touch inputs have been detected, the keyboard process 350 continues. Namely, the one or more keys associated with the one or more touch inputs are identified 356. Then, modifications to the identified keys are determined 358 based on the touch inputs. Then, the identified keys of the keyboard GUI are updated 360 to reflect the modifications. In addition, input data is determined 362 based on the touch inputs and the identified keys. The operations 356-362 are rapidly performed at approximately the same time such that once a touch input is detected, the keyboard process 350 is able to not only determine 362 the input data but also update 360 the identified keys being modified. Hence, the user is given the impression that the system is responsive to their input in an essentially real time manner.
It should also be noted that after the input data has been determined 362, the keyboard process 350 returns to repeat the decision 354 and subsequent blocks so that additional touch inputs can be similarly processed. However, it should be noted that once the input data has been determined 362, the computing device will operate to process the input data. For example, the input data might indicate that a user has interacted with the keyboard GUI to play a chord and thus cause the computing device 100 to recognize such and perhaps output an audio sound pertaining to the chord.
In one embodiment, the input data being determined 362 can indicate which of the keys of the virtual keyboard are selected (e.g., pressed) by the user. Optionally, the input data can further indicate characteristics of the one or more touch inputs associated with the selection of such keys. For example, the characteristics can pertain to pressure and velocity. These characteristics can be used to characterize the one or more touch inputs, such as “hard” or “soft,” for example. These characteristics can then in turn affect the audio sound being output be the computing device 100. In one embodiment, for a touch screen, pressure and velocity can be monitored through examination area and timing of touch inputs. For additional details, see U.S. patent application Ser. No. 10/840,862, which has been incorporated herein by reference; and U.S. patent application Ser. No. 10/654,108, which has been incorporated herein by reference.
In another embodiment, the virtual keyboard can also make use of surface guides to assist the user. Surface guides were discussed above with respect to a mixing console but can also assist users of virtual keyboards in understanding the position of the keys without having to look at the keyboard GUI.
As shown, the computer system 500 includes a processor 502 configured to execute instructions and to carry out operations associated with the computer system 500. For example, using instructions retrieved from memory, the processor 502 may control the reception and manipulation of input and output data between components of the computing system 500. The processor 502 can be a single-chip processor or can be implemented with multiple components.
In most cases, the processor 502 together with an operating system operates to execute computer code and produce and use data. The computer code and data may reside within a program storage block 504 that is operatively coupled to the processor 502. Program storage block 504 generally provides a place to hold data that is being used by the computer system 500. By way of example, the program storage block may include Read-Only Memory (ROM) 506, Random-Access Memory (RAM) 508, hard disk drive 510 and/or the like. The computer code and data could also reside on a removable storage medium and be loaded or installed onto the computer system when needed. Removable storage mediums include, for example, CD-ROM, PC-CARD, floppy disk, magnetic tape, and a network component.
The computer system 500 also includes an input/output (I/O) controller 512 that is operatively coupled to the processor 502. The (I/O) controller 512 may be integrated with the processor 502 or it may be a separate component as shown. The I/O controller 512 is generally configured to control interactions with one or more I/O devices. The I/O controller 512 generally operates by exchanging data between the processor and the I/O devices that desire to communicate with the processor 502. The I/O devices and the I/O controller 512 typically communicate through a data link 514. The data link 514 may be a one way link or two way link. In some cases, the I/O devices may be connected to the I/O controller 512 through wired connections. In other cases, the I/O devices may be connected to the I/O controller 512 through wireless connections. By way of example, the data link 514 may correspond to PS/2, USB, FIREWIRE, IR, RF, Bluetooth or the like.
The computer system 500 also includes a display device 516 that is operatively coupled to the processor 502. The processor 502 can drive the display device 516 or a separate display driver 525 can be used. The display device 516 may be a separate component (peripheral device) or it may be integrated with a base computer system to form a desktop computer (all in one machine), a laptop, handheld or tablet or the like. The display device 516 is configured to display a graphical user interface (GUI) including perhaps a pointer or cursor as well as other information to the user. By way of example, the display device 516 may be a monochrome display, color graphics adapter (CGA) display, enhanced graphics adapter (EGA) display, variable-graphics-array (VGA) display, super VGA display, liquid crystal display (e.g., active matrix, passive matrix and the like), cathode ray tube (CRT), plasma displays and the like.
The computer system 500 also includes a touch screen 518 that is operatively coupled to the processor 502. The touch screen 518 is a transparent panel that is positioned in front of the display device 516. The touch screen 518 may be integrated with the display device 516 or it may be a separate component. The touch screen 518 is configured to receive input from a user's touch and to send this information to the processor 502. In most cases, the touch screen 518 recognizes touches and the position and magnitude of touches on its surface. The touch screen 518 reports the touches to the processor 502 and the processor 502 interprets the touches in accordance with its programming. For example, the processor 502 may initiate a task in accordance with a particular touch.
In accordance with one embodiment, the touch screen 518 is capable of tracking multiple objects, which rest on, tap on, or move across the touch sensitive surface of the touch screen at the same time. The multiple objects may for example correspond to fingers and palms. Because the touch screen is capable of tracking multiple objects, a user may perform several touch-initiated tasks at the same time. For example, the user may select an onscreen button with one finger, while moving a cursor with another finger. In addition, a user may move a scroll bar with one finger while selecting an item from a menu with another finger. Furthermore, a first object may be dragged with one finger while a second object may be dragged with another finger. Moreover, gesturing may be performed with more than one finger.
To elaborate, the touch screen 518 generally includes a sensing device 520 configured to detect an object in close proximity thereto and/or the pressure exerted thereon. The sensing device 520 may be widely varied. In one particular embodiment, the sensing device 520 is divided into several independent and spatially distinct sensing points, nodes or regions 522 that are positioned throughout the touch screen 518. The sensing points 522, which are typically hidden from view, are dispersed about the touch screen 518 with each sensing point 520 representing a different position on the surface of the touch screen 518 (or touch screen plane). The sensing points 522 may be positioned in a grid or a pixel array where each pixilated sensing point 522 is capable of generating a signal at the same time. In the simplest case, a signal is produced each time an object is positioned over a sensing point 522. When an object is placed over multiple sensing points 522 or when the object is moved between or over multiple sensing points 522, multiple signals are generated.
The number and configuration of the sensing points 522 may be widely varied. The number of sensing points 522 generally depends on the desired sensitivity as well as the desired transparency of the touch screen 518. More nodes or sensing points generally increases sensitivity, but reduces transparency (and vice versa). With regard to configuration, the sensing points 522 generally map the touch screen plane into a coordinate system such as a Cartesian coordinate system, a Polar coordinate system, or some other coordinate system. When a Cartesian coordinate system is used (as shown), the sensing points 522 typically correspond to x and y coordinates. When a Polar coordinate system is used, the sensing points typically correspond to radial (r) and angular coordinates (θ).
The touch screen 518 may include a sensing circuit 524 that acquires the data from the sensing device 520 and that supplies the acquired data to the processor 502. Alternatively, the processor 502 or a separate touch screen driver/interface 525 may include this functionality. In one embodiment, the sensing circuit 524 is configured to send raw data to the processor 502 so that the processor 502 processes the raw data. For example, the processor 502 receives data from the sensing circuit 524 and then determines how the data is to be used within the computer system 500. The data may include the coordinates of each sensing point 522 as well as the pressure exerted on each sensing point 522. In another embodiment, the sensing circuit 524 is configured to process the raw data itself. That is, the sensing circuit 524 reads the pulses from the sensing points 522 and turns them into data that the processor 502 can understand. The sensing circuit 524 may perform filtering and/or conversion processes. Filtering processes are typically implemented to reduce a busy data stream so that the processor 502 is not overloaded with redundant or non-essential data. The conversion processes may be implemented to adjust the raw data before sending or reporting them to the processor 502. The conversions may include determining the center point for each touch region (e.g., centroid).
The sensing circuit 524 may include a storage element for storing a touch screen program, which is capable of controlling different aspects of the touch screen 518. For example, the touch screen program may contain what value(s) to output based on the sensing points 522 selected (e.g., coordinates). In fact, the sensing circuit in conjunction with the touch screen program may follow a predetermined communication protocol. As is generally well known, communication protocols are a set of rules and procedures for exchanging data between two devices. Communication protocols typically transmit information in data blocks or packets that contain the data to be transmitted, the data required to direct the packet to its destination, and the data that corrects errors that occur along the way. By way of example, the sensing circuit may place the data in a HID format (Human Interface Device).
The sensing circuit 524 generally includes one or more microcontrollers, each of which monitors one or more sensing points 522. The microcontrollers may, for example, correspond to an Application Specific Integrated Circuit (ASIC), which works with firmware to monitor the signals from the sensing device 520 and to process the monitored signals and to report this information to the processor 502.
In accordance with one embodiment, the sensing device 524 is based on capacitance. As should be appreciated, whenever two electrically conductive members come close to one another without actually touching, their electric fields interact to form capacitance. In most cases, the first electrically conductive member is a sensing point 522 and the second electrically conductive member is an object 526 such as a finger. As the object 526 approaches the surface of the touch screen 518, a tiny capacitance forms between the object 526 and the sensing points 522 in close proximity to the object 526. By detecting changes in capacitance at each of the sensing points 522 and noting the position of the sensing points, the sensing circuit can recognize multiple objects, and determine the location, pressure, direction, speed and acceleration of the objects 80 as they are moved across the touch screen 70. For example, the sensing circuit can determine when and where each of the fingers and palm of one or more hands are touching as well as the pressure being exerted by the finger and palm of the hand(s) at the same time.
The simplicity of capacitance allows for a great deal of flexibility in design and construction of the sensing device 520. By way of example, the sensing device 520 may be based on self capacitance or mutual capacitance. In self capacitance, each of the sensing points 522 is provided by an individually charged electrode. As an object approaches the surface of the touch screen 518, the object capacitive couples to those electrodes in close proximity to the object thereby stealing charge away from the electrodes. The amount of charge in each of the electrodes is measured by the sensing circuit 524 to determine the positions of multiple objects when they touch the touch screen 518. In mutual capacitance, the sensing device 520 includes a two layer grid of spatially separated lines or wires. In the simplest case, the upper layer includes lines in rows while the lower layer includes lines in columns (e.g., orthogonal). The sensing points 522 are provided at the intersections of the rows and columns. During operation, the rows are charged and the charge capacitively couples to the columns at the intersection. As an object approaches the surface of the touch screen, the object capacitive couples to the rows at the intersections in close proximity to the object thereby stealing charge away from the rows and therefore the columns as well. The amount of charge in each of the columns is measured by the sensing circuit 524 to determine the positions of multiple objects when they touch the touch screen 518.
The various aspects, embodiments, implementations or features of the invention can be used separately or in any combination.
The invention is preferably implemented by hardware, software or a combination of hardware and software. The software can also be embodied as computer readable code on a computer readable medium. The computer readable medium is any data storage device that can store data which can thereafter be read by a computer system. Examples of the computer readable medium include read-only memory, random-access memory, CD-ROMs, DVDs, magnetic tape, optical data storage devices, and carrier waves. The computer readable medium can also be distributed over network-coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
The advantages of the invention are numerous. Different aspects, embodiments or implementations may yield one or more of the following advantages. One advantage of the invention is that an electronic mixer for media items can be provided using a computing device having a touch screen. Another advantage of the invention is that an electronic mixer with complete capabilities can be provided without having any mechanical moving parts. Still another advantage of the invention is that an electronic keyboard for media items can be provided using a computing device having a touch screen. Yet still another advantage of the invention is that a computing device having a touch screen can be configured for multiple purposes, one of which can be as an electronic mixer and another of which can be as an electronic keyboard.
The many features and advantages of the present invention are apparent from the written description and, thus, it is intended by the appended claims to cover all such features and advantages of the invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, the invention should not be limited to the exact construction and operation as illustrated and described. Hence, all suitable modifications and equivalents may be resorted to as falling within the scope of the invention.
This application claims benefit of U.S. Provisional Patent Application No. 60/592,483, filed Jul. 30, 2004, entitled “TOUCH SENSITIVE TECHNIQUES AND INPUT DEVICES,” which is hereby incorporated herein by reference. This application is also related to: (i) U.S. patent application Ser. No. 10/840,862, filed May 6, 2004, entitled “MULTIPOINT TOUCHSCREEN,” which is hereby incorporated herein by reference; (ii) U.S. patent application Ser. No. 10/903,964, filed Jul. 30, 2004, entitled “GESTURES FOR TOUCH SENSITIVE INPUT DEVICES,” which is hereby incorporated herein by reference; and (iii) U.S. patent application Ser. No. 10/654,108, filed Sep. 2, 2003, entitled “AMBIDEXTROUS MOUSE,” which is hereby incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60592483 | Jul 2004 | US |