Metronome and system for maintaining a common tempo among a plurality of musicians
A method and apparatus provides metronomes capable of wireless synchronization with other similar metronomes. A metronome includes a tactile device capable of conveying the tempo and beat to a user without the use of sound. In one example, one of the metronomes is used as a lead unit (for example, controlled by a band leader or conductor) and transmits control signals to the other metronomes. This allows multiple musicians in an orchestra, or similar music ensemble, to each have a metronome that is synchronized with other metronomes and shares a common tempo and beat.
This application claims priority under 35 U.S.C. § 119/120 to co-pending, commonly owned U.S. provisional patent application Ser. No. 60/803,236 filed on May 25, 2006, entitled “METRONOME AND SYSTEM FOR MAINTAINING A COMMON TEMPO AMONG A PLURALITY OF MUSICIANS”, which is incorporated by reference herein.
FIELD OF THE INVENTIONThis invention relates to metronomes. In particular, this invention is drawn to a system and method for maintaining a common beat and tempo among a plurality of musicians.
BACKGROUND OF THE INVENTIONMetronomes are typically used to produce a regulated pulse, usually used to keep a steady beat in musical performances. Musicians typically use metronomes when they practice, in order to keep a standard tempo; i.e., to keep a steady beat throughout the music.
Most modern metronomes are electronic. A typical electronic metronome has a dial or button to control the tempo. Some metronomes can produce two or more distinct sounds. A regular “tick” sound indicates the beat within each measure, and another, distinct sound (e.g., having a higher pitch and/or greater volume) indicates the beginning of each measure. A tempo control adjusts the amount of time separating each beat (typically measured in beats per minute), while another control adjusts the number of beats in each measure.
In an orchestra, or other type of musical ensemble, tempo is typically controlled by a conductor. Conducting is the act of directing a musical performance by way of visible gestures. Use of conventional metronomes in a musical ensemble is not practical since each musician must follow the beat and tempo of the conductor. If multiple musicians each used their own metronome, the metronomes would not be synchronized with each other or with the conductor. Even if the metronomes were synchronized or were set for the same tempo, they would become unsynchronized when the conductor made a change in tempo.
There are disadvantages to relying solely on directions from a conductor. For example, since visible gestures are used, a musician must use eye contact with the conductor, while also reading sheet music. This is even a greater problem where musicians can not maintain eye contact at all times, such as with a marching band.
There is a major disadvantage to sharing a single metronome: in a large auditorium or on a football field, the finite speed of sound causes each musician to hear the single metronome at a tangibly different time.
SUMMARY OF THE INVENTIONA method of providing tempo information to one or more musicians includes providing each musician with a metronome, the metronome having a receiver for receiving wireless signals from a lead device relating to a desired tempo, and having a tactile device for conveying a tactile message to a user of the metronome, enabling the receiver when a signal is expected from the lead device, disabling the receiver during times when a signal is not expected from the lead device, and providing tactile messages to the user of the metronome, wherein the tactile messages convey the desired tempo to the user.
In another example, a method of providing tempo information to one or more musicians includes providing each musician with a metronome, the metronome having a receiver for receiving wireless signals and having a tactile device for conveying a tactile message to a user of the metronome, during a first time period, enabling the receiver and receiving a signal having information relating to a desired tempo, providing tactile messages to the user of the metronome, wherein the tactile messages convey the desired tempo to the user and during a second time period, continuing to provide the tactile messages to the user while disabling the receiver.
In another example, a metronome includes a transceiver for transmitting and receiving wireless signals, a tactile device and configured to provide a tactile sensation to a user of the metronome, and a processor electrically coupled to the transceiver and the tactile device, wherein the processor causes the tactile device to convey tempo information to a user in response to a desired tempo indicated by one or more messages received by the transceiver.
The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
For the reader's convenience, following are some definitions of various musical terms used in the Specification:
Measure: the sequence of notes in a musical piece are divided into measures, similar to speech being divided into words, except with much greater regularity than speech.
Beat: notes are generally played at a steady pace (modern jazz is an exception). The beat is the most common duration of note in the piece of music. “Beat” is also associated with tapping your foot in time to the music. A “beat” is the entire time from when your foot taps down until the foot taps down again.
Downbeat: the first beat of each measure is the downbeat. A person tapping their foot while listening to a piece of music will contact the floor on the downbeat.
Rhythm: (also known as the “time signature”) beats per measure, examples of common music notation for rhythm are 4/4, 2/4, 3/4, 6/8 respectively one downbeat per 4 beats, 1 per 2 beats, 1 per 3 beats, 1 per 6 beats. With respect to the invention, the ratio is what matters to a metronome, the traditional values indirectly represent a tempo as well as the rhythm.
Tempo: number of beats per minute (bpm). 40 bpm is suitable for funeral dirges, 200 or more for college football team anthems. With respect to the invention, while the human interface manipulates tempo as beats per minute the implementation converts that into clocks per beat.
Also for the reader's convenience, following are definitions of other terminology used in the description:
Leader (i.e., “lead unit”): the unit which is selecting the rhythm and tempo and provides the reference downbeat and beat period (implicitly defines what a second is for the assemblage of units).
Followers (i.e., “receiving units”): units which generate ticks for each user.
Packet: message sent from the leader to the followers.
“Calibrate local clock” the leader and follower are trying to generate the same beat pattern using their local clocks to determine the intervals between actions from the messages. The follower can compute how fast its clock ticks compared to the leader's and it computes all of its intervals accordingly. I.e., the leader implicitly defines what a second is and the followers compute the length of a second according to their local clock.
Beat pattern: the combination of rhythm and tempo.
Indicator: anything used to convey the beat to the human. This includes buzzers, clickers, flashers, vibrators and anything else that might be devised in the future.
Generally, the present invention provides a metronome capable of wireless communication with other similar metronomes. A metronome of the present invention also includes a tactile device capable of conveying the tempo and beat to a user without the use of sound.
A plurality of the metronomes of the present invention are capable of wireless communication with one or more similar metronomes. In one example, one of the metronomes is used as a lead unit (for example, controlled by a band leader or conductor) and transmits control signals to the other metronomes. This allows multiple musicians in an orchestra, or similar music ensemble, to each have a metronome that is synchronized with other metronomes and shares a common tempo and beat. In addition, by utilizing a tactile device, the musicians can have the use of a synchronized metronome without making undesired sounds.
The metronome 10 includes a display 14 for displaying various information to a user (described in detail below). Of course, other visual indicators may also be used, such as lights. To control the operation of the metronome 10, a jog wheel 16 is used. Of course, various other types of user interfaces may also be used (for example buttons, touch screens, switches, dials, etc.). The jog wheel 16 can be rotated in either direction by a user to enable the user to scroll through menus displayed on the display 14. The jog wheel 16 can also be pressed inward to allow a user to select items displayed on the menu.
In addition to the display 14, the metronome 10 includes other user perceivable devices. A built-in speaker or buzzer 18 can be used to play sounds to a user. A tactile device 20 enables the metronome 10 to convey tactile information to a user. The tactile device 20 may take the form of a vibrator (similar to vibrators found in cell phones) or any other type of tactile device capable of conveying tactile information to the user.
The processor 30 is also coupled to a sound device 38, such as a speaker, buzzer, headset, or other audible device. A tactile device 40 is coupled to the processor 30 for providing tactile information to the user. A transceiver 42 and antenna 44 are coupled to the processor 30, enabling the metronome 10 to send and receive wireless signals to/from other devices. A tone generator 48 may be used to tune a user's instrument. A generated tone can be played via the sound device 38. If desired, a lead unit can instruct follower units to locally generate the tone (e.g., to enter a tuning mode). This may be useful in applications such as marching bands who may need to tune while being spread out across a field.
As mentioned above, the wireless capabilities of a metronome of the present invention allow the metronome to communicate wirelessly with one or more other similar metronomes. Typical applications may include (but are not limited to) orchestras and other musical ensembles, marching bands, etc. In addition, a metronome of the present invention may also be used as a stand-alone device for use by a musician while practicing, for example.
The processor U1 is configured to drive a display which is connectable to an I2C interface J1. Of course, other interfaces could also be used to drive a display. If the display used includes a backlight (connectable to interface J2), the processor U1 controls the operation of the backlight via signal 60, which enables or disables transistor Q2 (in this example, an N-channel FET), which turns the backlight on or off. Resistor R1 has a value chosen to obtain a desired backlight current. Note that in other examples of the invention, a display is optional.
The processor U1 controls the operation of a vibrator M1 via control signal 62. The control signal 62 enables or disables transistor Q3 (in this example, an N-channel FET), which turns the vibrator on or off. The processor U1 controls the operation of a buzzer M2 via control signal 64. The control signal 64 and enables or disables transistor Q1 (in this example, an N-channel FET), which turns the buzzer on or off. The processor U1 also interfaces with transceiver J4. The transceiver J4 is part of a radio module (for example, including an antenna (not shown in
In one example, a metronome of the present invention is capable of operating in several modes. In a first mode, a metronome operates as a leader (the “lead unit”), such as the lead units shown in
During a musical performance, the user (e.g. conductor) of the lead unit metronome can change the rhythm, tempo etc. as desired, and the lead unit metronome 80 will broadcast the appropriate instructions for use by the other metronomes. In this way, all of the metronomes will be in synchronization, providing each musician with the desired rhythm and tempo.
When the radio 78 receives one or more messages from the lead unit metronome, the radio 78 passes that message to the processing block 74. The processing block 74, uses information from the received message to generate a control signal for the beat generator 76. In response, the beat generator generates the appropriate signals to drive one or more user perceivable devices 80. As mentioned above, the user perceivable devices 80 may include one or more of the following: sound, a tactile device, visual indicator, etc. As the conductor, or other user of the lead unit metronome makes changes to the rhythm and/or tempo, the receiving unit metronomes will make the appropriate changes as dictated by the lead unit metronome. In this way, all of the receiving unit metronomes will be in synchronization with each other, and will maintain the rhythm and/or tempo dictated by the lead unit metronome. The figures show the beat generator 76 signaling the processing block 74. This signaling is done so that the processing block 74 may manage overall power consumption of the system, most especially so that it might turn off the radio 78 when the user perceivable device(s) (e.g., the tactile outputs) are on to lower the maximum current required of the power supply.
Like
When implementing the present invention, various protocols can be used in conjunction with the communication between a lead unit and a following unit. Examples of different protocols can vary in the details of what is explicitly sent in a packet, and what is derived from the timing of the packets themselves, and in how often the packets are sent. One tradeoff between various protocols is power consumption (e.g., increased by the amount of explicit content and frequency of sending) versus the time it takes for a system to change the beat pattern. A secondary consideration is the effects of noise on the messages. Adding error correction bits to each message increases power consumption. Also, an error not recognized can cause a follower to lose track of the leader which in turn causes it to burn power trying to find the leader again. In one exemplary implementation, the following units continue to generate the last beat pattern they were programmed with while trying to find the lead unit. This is significantly different than a system whereby the followers receive nothing beyond on/off signals for the indicator.
Following is a technique for synchronizing local clocks (clocks in follower units) with the lead unit clock. In one implementation, the follower unit has a counter counting a local clock (local here simply means one not typically derived from the radio reception). The leader sends out packets of known size at a known time. As each packet is received by a follower unit, the time since the last packet is noted and used to compute the number of local clocks per the leader's clock. In this way, the beats are kept at a common rate, despite variations amongst the followers' clock rates. As mentioned above, in
When a follower joins a group (by turning on or changing channel) the follower turns its receiver on until it receives a packet from the leader. In the example of
In addition to information used for beat pattern generation, the protocol can send other information in messages (via the packets) to the follower units. For example, other information can include instructions to change radio channel, power down, synchronization signals, etc. Such messages can be sent out many times in a row when they are triggered by the leader to give all followers a chance to miss a few packets and still respond (i.e., noise immunity). The packet format allows for the sending of information unrelated to beat generation, which can be used to control whatever features of the follower units that the product allows. Other examples include the leader unit telling all of the followers to quit making noise (e.g., a silent mode). In one example, the packet interval is set to about 4 seconds. The leader unit can also tell all of the followers to shut down totally. After a shut down, each unit may need to be woken back up by the user interface before it will follow the leader again.
In one protocol example, a packet sent by the leader is timed to end at the end of each downbeat. In
When a follower starts up, it turns its receiver on (e.g., time t3 in
To reduce peak power requirements the phasing of packets with respect to signaling is adjusted so that the radio is only turned on when the signaling devices should be off. In one example, the time in advance of the next packet, in which the receiver is turned on again, can be computed as follows.
a) radio must be on for:
-
- time for the receiver to be ready to receive after powered up+maximumLengthPacket*timePerBit* maximumRatioLeaderClockPeriodToFollowerClockPeriod
b) the power consuming signaling devices are off for:
clocksperBeat—clocks that the signalers are on
c) therefore: the radio is turned on b-a clocks before the next beat is due.
The value maximumRatioLeaderClockPeriodToFollowerClockPeriod can generally be computed for a design and not measured by the actual units. For instance, if a microcontroller's internal clock is factory calibrated to be within 1% of nominal this factor will be 101/99.
Should the number in c) be negative, the radio must be turned on before the signalers are turned off. That is undesirable and one would instead reduce the size of the packets until c) is positive by splitting the content into two or more types of packet adding to each packet an indication of which type it is. E.g. send the rhythm in the first of three, the tempo in the second, administrative items (hush) in the third. Another variation of that is to send shorter packets with the most important (tempo) sent more often and items like hush (turn all signalers off) being sent only for a handful of packets when it changes on the leader.
In another protocol example, to shorten the length of the packets, and thereby reduce the amount of time both transmitter and receivers are on for each packet, the information contained in the packets alternates between {rhythm and tempo and timeToNextPacket} and {timeToNextDownbeat and timeToNextPacket}. That is, while each packet contains the time to next packet, they alternate between the pair of rhythm and tempo values and the timeToNextDownbeat.
Packets may also be sent less frequently for the purpose of increasing battery life of the lead and follower units, independent of other considerations. In one example, follower units can choose to skip checking on various downbeats in order to save power when they detect that they are almost out of power. The cost of this is that the unit will be slower to respond to changes of beat pattern. In one example, the frequency of packets being sent by the lead unit can be varied, depending on the tempo. For example, when downbeats are more frequent, packets can be sent at a less frequent rate. In that way power is reduced while packets still arrive often enough to keep the clocks synchronized.
In another protocol example, the packet is timed to end at the end of each beat. In this example, the leader sends a packet every beat. Information in the packet may include current rhythm and tempo settings, whether the next beat is the downbeat, or alternatively which beat of the measure it is. All else can be similar to the first protocol described.
In another protocol example, the protocol is directed at dealing with interference from another assemblage of users of this same product. Even though nearby groups can select different channels to operate on there is still a greater rate of communications errors when more than one leader is transmitting at the same time.
In this example, the packets are not sent synchronized to the tempo as was done for the protocols described above. Packets may include information relating to rhythm, tempo, timeToNextDownbeat, and timeToNextPacket. The timeToNextPacket comes at the end of the packet so that receivers that turn on during the middle of a packet know when to listen for the next packet. The timeToNextPacket tells the follower units when the next packet is coming. The timeToNextPacket may be randomly (or pseudorandomly, etc.) varied such that multiple leaders are unlikely to send successive packets at the same time. In one example, the average period of the synchronization packets is around one second, this value is chosen primarily by consideration of how long it should take for a new unit to come online. In one example the packet includes information unique to its lead unit, which enables a follower unit to disregard packets received from other lead units. If desired, a packet can also provide the time to additional future packets, in addition to the next packet.
In another example, packets can contain information relating to future events. For example, if the tempo or rhythm is going to change at some point in the future, a packet may contain information relating to the future change. For example a packet may tell a follower unit that the rhythm is changing to X in Y seconds (or, at a specific time in the future). The follower unit can initiate a countdown procedure so it will know when change the rhythm.
Following are comparisons of the protocol examples described above. The first (
Following is an example of how a metronome of the present invention can operate. Using the jog wheel (or whatever user interface device that is provided), a user is able to select various options and features. For example, a user can select a group number, which determines what frequency channel the metronome will use. This way, different groups, using the same types of metronomes, can operate without interfering with each other. A user can also select operating modes that affect signal, battery life, etc. For example, different settings may have tradeoffs between battery life versus time-to-respond settings. A user can also select notification options such as sound, vibration, flashing of a light, or combinations thereof. A user can also select the mode of operation, such as group, solo, or conductor. If desired, a password can be required for entering certain modes, to prevent an unauthorized user from interfering with the conductor, for example. A user can also select various power-off options, such as powering off now, powering off in a certain number of minutes, or powering off after the loss of beat (or synchronization).
When a user has selected to operate in the solo mode (e.g., see
Other design considerations are as follows. Measures typically run from ½ second to 2 seconds in duration. In one example, the shortest beat supported could be greater than 240 ms in duration. To make changes happen quickly, the maximum interval between messages may be on the order of two seconds. Sending packets once per measure (example protocol one—
Other design implementation considerations follow. The beat generator may be driven by a clock typically around 33 kHz (since many processors are optimized for that). On each clock, a unit figures out where in the beat cycle it is and from that information it can turn on or off the various signaling components (buzzers and clickers and the like) and especially turns the radio on at the appropriate time. The user interface pins (two quadrature inputs and push button input—shown in
A very long counter is created via updating a series of bytes of general storage on the overflows of the hardware counter that counts the reference clock cycles. It may be desired to define “Maximum deadtime” as the maximum number of packets in a row that can be skipped without triggering the “just powered on” behavior. The range of this counter is such that it can count clocks without rollover for the maximum deadtime. The resolution of this counter (how often it is incremented) is high enough that an error of one count when multiplied by the number of beats that can occur during the maximum deadtime is less than what will annoy a human. In one example, this can be set to 2.5 ms, although any desired value can be used. Increasing the tolerance for drift under pessimistic noise conditions allows the resolution of this counter to be reduced, which in turn allows the main clock frequency of the microcontroller to be lowered, which in turn reduces its power consumption, which however is quite low to start with when compared to the radio.
This frequency will also be reduced when multiple samplings of the reference period are recorded from the leader and the number of local clocks per beat is cycled through this set of values such that the average of these values matches the average of the received values. Some people refer to this as dithering. The use described here is isomorphic to modifying the period of a PWM circuit on each rollover of its period. While the actual numbers will be in the thousands following is an example with smaller values.
Say that the leader is generating packets every 10 clocks. The receiver is running a bit slower and it measures half of the periods as 9 and half as 10. It then alternates between using 9 clocks between beats and 10 clocks per beats in its beat generation. Note that if the measured period is not toggling between two adjacent values then the system isn't stable enough to reliably operate. The benefit to resolution of increasing the number of such values decreases logarithmically, while the cost of time-to-respond-to-actual-changes increases linearly.
Another technique for increasing the resolution is to use a weighted sum of the most recent measurement and the sum of previous ones (single element IIR filter). The clocks per beat=most recent delay between packets*factor+(1-factor)*clocks per beat. This has the benefit of taking less ram storage, at the cost of code to compute the weighted average and a time-to-respond-to-actual-change that can take many more beat cycles to settle in to a new value than the dithering technique for a similar amount of averaging of the value.
In the preceding detailed description, the invention is described with reference to specific exemplary embodiments thereof. Various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention as set forth in the claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
Claims
1. A method of providing tempo information to one or more musicians using a lead device and musician metronomes comprising:
- providing a musician with a metronome, the metronome having a receiver for receiving wireless signals from a lead device relating to programming a desired tempo during an advancing time period, and having a tactile device for conveying a tactile message to a user of the metronome;
- enabling the receiver when a signal is expected from the lead device for programming the tempo for the advancing time period
- disabling the receiver during times when a signal is not expected from the lead device; and
- providing tactile messages to the user of the metronome, wherein the tactile messages convey the desired tempo to the user, and wherein tactile messages are provided to the user of the metronome as previously programmed while the receiver is disabled.
2. The method of claim 1, wherein signals received by the receiver include information relating to when one or more future signals will be sent.
3. The method of claim 1, wherein signals received by the receiver include instructions for the metronome to enter one or more operating modes.
4. The method of claim 3, wherein signals received by the receiver include instructions for the metronome to enter a silent mode.
5. The method of claim 3, wherein signals received by the receiver include instructions for the metronome to shut down.
6. The method of claim 3, wherein signals received by the receiver include instructions for the metronome to enter a tuning mode for tuning a musical instrument.
7. The method of claim 1, wherein signals transmitted by the lead device are synchronized with the downbeat.
8. The method of claim 1, further comprising controlling the metronome using a jog wheel formed on each respective metronome.
9. The method of claim 1, further comprising relaying signals from the lead device to the metronome using a repeater.
10. The method of claim 1, wherein the metronome includes a beat generator for maintaining the operation of the tactile device when signals are not received from the lead device.
11. A method of providing tempo information to one or more musicians using a lead device and musician metronomes comprising:
- providing a musician with a metronome, the metronome having a receiver for receiving wireless signals from a lead device that provide programming to the metronome and having a tactile device for conveying a tactile message to a user of the metronome;
- synchronizing the metronome with the lead device;
- during a first time period, enabling the receiver and receiving a signal from the lead device, the signal having information relating to programming a desired tempo during an advancing time period
- providing tactile messages to the user of the metronome, wherein the tactile messages convey the desired tempo to the user; and
- during a second time period, continuing to provide the tactile messages to the user programmed in the first period while disabling the receiver.
12. The method of claim 11, wherein signals received by the receiver include information relating to when one or more future signals will be sent.
13. The method of claim 11, wherein signals received by the receiver include instructions for the metronome to enter one or more operating modes.
14. The method of claim 11, further comprising controlling the metronome using a jog wheel formed on the metronome.
15. The method of claim 11, further comprising continuing to provide the tactile messages to the user during time periods that the metronome becomes unsynchronized with the lead device.
16. A metronome comprising:
- a transceiver for transmitting and receiving wireless signals encoded with messages regarding a tempo programming for the metronome;
- a tactile device and configured to provide a tactile sensation to a user of the metronome;
- a beat generator; and
- a processor electrically coupled to the transceiver, the tactile device, and the beat generator,
- wherein the processor and beat generator cause the tactile device to convey tempo information to a user in response to a desired tempo indicated by one or more messages received by the transceiver, and wherein the beat generator maintains the desired pre-programmed operation of the tactile device during times that the transceiver is not receiving messages.
17. The metronome of claim 16, further comprising a jog wheel operatively coupled to the processor for providing a user interface to the metronome.
18. The metronome of claim 17, wherein the jog wheel allows a user to turn the wheel in either direction and press an integrated push button to control the operation of the metronome.
19. The metronome of claim 18, wherein the metronome includes a quadrature encoder/decoder to detect movement and direction of movement of the jog wheel.
20. The metronome of claim 16, further comprising a tone generator for providing a tone to a user.
21. The metronome of claim 20, wherein the tone generator is controllable by messages received by the transceiver.
22. The metronome of claim 16, wherein the transceiver is configured to be turned on when a message is expected and turned off when no message is expected.
3263551 | August 1966 | Musser |
4437381 | March 20, 1984 | Chen |
4805203 | February 14, 1989 | Oda |
4868549 | September 19, 1989 | Affinito et al. |
5689077 | November 18, 1997 | Jasinski |
5959230 | September 28, 1999 | Fulford |
6084168 | July 4, 2000 | Sitrick |
D449236 | October 16, 2001 | Hopkins |
6353429 | March 5, 2002 | Long |
D488078 | April 6, 2004 | Nakajima et al. |
6727419 | April 27, 2004 | Diaz |
6859530 | February 22, 2005 | Terada et al. |
6969795 | November 29, 2005 | Hofmeister et al. |
7030308 | April 18, 2006 | Yagi |
7081577 | July 25, 2006 | Nagakura |
7122004 | October 17, 2006 | Cassily |
7268290 | September 11, 2007 | Parsons et al. |
7285101 | October 23, 2007 | Tumey |
7294777 | November 13, 2007 | Hofmeister et al. |
7304230 | December 4, 2007 | Parsons et al. |
7368651 | May 6, 2008 | Duke |
7390955 | June 24, 2008 | Parsons et al. |
20020149561 | October 17, 2002 | Fukumoto et al. |
20030024375 | February 6, 2003 | Sitrick |
20040067780 | April 8, 2004 | Eiden |
20040099132 | May 27, 2004 | Parsons |
20040100366 | May 27, 2004 | Parsons |
20040206226 | October 21, 2004 | Negoescu et al. |
20040255756 | December 23, 2004 | Nagakura |
20060070514 | April 6, 2006 | Parsons et al. |
20060150803 | July 13, 2006 | Taub |
20060162532 | July 27, 2006 | Eidson et al. |
20070089591 | April 26, 2007 | Boys |
20070119294 | May 31, 2007 | Parsons et al. |
20070137463 | June 21, 2007 | Lumsden |
20080025536 | January 31, 2008 | Chalupper et al. |
Type: Grant
Filed: May 23, 2007
Date of Patent: Sep 1, 2009
Inventors: Stephen Olander-Waters (Austin, TX), Andrew Heiveil (Austin, TX)
Primary Examiner: Jeffrey Donels
Assistant Examiner: Robert W Horn
Attorney: Johnson & Associates
Application Number: 11/752,552
International Classification: G04F 5/04 (20060101);