The present invention relates to the field of musical instruments and visual displays. In particular, it relates to a bow for a violin, cello or other musical instrument, which is adorned with LEDs that light in various ways in response to the motion of the bow. More particularly, it relates to a combination of an accelerometer/gyro, microprocessor, battery, charging system and collection of LEDs, affixed to a bow and configured/programmed in ways that cause the LEDs to light in response to the use of the bow.
Musical instruments have been made and used for thousands of years. Violins have been made for hundreds of years, and by some counts, there may be millions of people who currently play violin. Usually the main aspect of a violin performance is the sound produced by the instrument. However, many performances are done live, in which case the audience is also visually observing the musician and their instrument. The visual element can be a significant part of the performance, with the performer wearing certain clothes, or with the stage decorated in a particular way so as to enhance the performance through these visual aspects.
There have been inventions to add visual element to the playing of musical instruments. Many bands incorporate light shows or laser shows as part of their shows. U.S. Pat. No. 7,501,571B2 describes an array of lights that responds to the sound of a musical instrument, which is fundamentally different from motion-based response.
U.S. Pat. No. 10,102,835B1 describes a server that communicates with drum sticks to generate responsive visual effects. The claims for that patent only cite applications to drum sticks. The description includes mention of violin bows, but few specifics are given. Moreover, the visualizations described in that patent are either externally displayed, presented through a virtual reality headset, or used in conjunction with wearable displays; whereas the present invention is focused on a display incorporated on the bow itself. This offers the advantage of creating visual effects that enhance the appearance of the bow itself: for example, a marquee effect in which lights appear to fall along the length of the bow based on its position; or an effect where the lights on the bow appear stationary while the bow is in motion; or an effect where the bow glows brighter and flashes more quickly as it is moved faster. The present invention is also focused on a self-contained system, which can be used as a normal bow, but can also present interesting visualizations, without the need for any external/additional components
There are also violin bows available that include lights, some of which change color in a pre-defined pattern. While such a system may add interesting visual elements to a musical performance, the lighting of the bow is unrelated to the motion of the bow, and hence may appear detached from the music being heard. Lighting that changes in response to the music being heard is generally more interesting to an audience. This is one reason most stage shows include lighting managers.
Accordingly, several objects and advantages of the present invention are:
Further objects and advantages are to provide a system which is small, self-contained and thus unobtrusive to the playing of a musical instrument. Still further objects and advantages will become apparent from a consideration of the ensuing description and drawings.
The present invention allows the addition of an emitted-light-based visual element to the playing of a musical instrument. The emitted light can be made to change in response to the motion of the bow, for example, displaying a bright starburst that begins in the middle of the bow and travels to both ends each time the bow changes direction. Since almost all music coming from a violin is generated in response to the motion of the bow, the visual effects also correspond to changes in the music being played. This can produce a pleasing or exciting visual display to enhance the music itself.
The control box 6 contains a rechargeable battery, charging circuitry, a microprocessor, and an accelerometer/gyro for sensing motion and orientation of the box.
In the circuit configuration shown, processor 34 can read acceleration information from sensor 36. This sensor information is used to determine the motion of the bow, using algorithms such as shown in
Backpack 30 is connected to processor 34 and battery 42 such that it operates in one of the following ways:
Additionally, if USB port 46 on processor 34 is connected to a power source, then processor 34′s BUS output 48 will drive Backpack 30, thus causing 30′s circuitry to recharge battery 42.
A number of modes are described, as summarized here:
The algorithm in described in two pieces.
Init
This set of code is executed once, on device power-up. It involves initializing the LED output assembly, as well as the accelerometer/gyro sensors. Additionally, an array of pre-defined steps is loaded into STATE_ARRAY, indicating the order in which the mode button should cycle through the different modes. This can be used to customize the behavior of the bow for a particular performance. For example, given the arrangement of music being planned for a given show, there may be a certain sequence of modes through which the bow should cycle each time the mode button is pressed. STEP is set to 1 and STATE is then set to STATE_ARRAY[STEP].
As an additional feature, if the Mode Button is held in a pressed state during the INIT phase, an alternate sequence can be pre-loaded into this STATE_ARRAY. A typical alternate sequence would be one which simply cycles consecutively through each possible mode. Thus, the bow can be used with a performance-defined sequence (by simply powering the bow), or can be powered-up with the mode button held, thus allowing the bow to be used in any possible modes.
Main Loop
The main loop is called repeatedly, and has four main sections:
1. Check the Mode Button, and if it is pressed:
2. Update bow data based on sensor readings:
3. If DO_STANDING_BOW is enabled and the STANDING_BOW flag has been set, display/update the flame pattern and exit the loop;
4. Otherwise, take an action based on the current value of STATE, as described below:
if NEWSTATE:
else if TIMESTAMP-TS<delta, exit loop else:
if NEWSTATE:
else if TIMESTAMP-TS<delta, exit loop else:
if NEWSTATE:
else if TIMESTAMP-TS<delta, exit loop else:
STATE=5 (“Bow Training”) there is a specific “threshold” for this effect. This is a simple mode for helping a player to bow in a straight line. Deviations from a straight line cause LEDs to be lit.
STATE=6 (“Flame”) there is a specific “delta” for this effect. This is a randomized flame effect.
if NEWSTATE:
else if TIMESTAMP-TS<delta, exit loop else:
if NEWSTATE:
else:
if BOW SHOCK:
else if TIMESTAMP-TS<delta
else:
The bow is turned on with the power switch, which causes the microprocessor to boot and begin executing its internal code. As can be seen from the above pseudocode, the processor will run through an initialization stage, set STATE to the first element of STATE_ARRAY, and will then begin repeatedly executing its main loop. This startup typically takes a few seconds.
Once the initialization is done, the bow can be used as a regular stringed-instrument bow to make music, but the LEDs may be illuminated and responsive to the motion or position of the bow, as described in the table of modes above.
To change modes, the Mode Button is pressed and released. Doing so causes a number of LEDs to be illuminated for a few seconds: the number of illuminated LEDs indicates the step which will be entered next. For example, after power-up, the system is in step 1 (which corresponds to STATE_ARRAY[0]). After pressing the Mode Button once, two LEDs will briefly be illuminated indicating that the bow is changing to step 2 (STATE_ARRAY[1]). Pressing the Mode Button again will cause three LEDs to be briefly illuminated, indicating a transition to step 3; and so on. After the final step, pressing the Mode Button again illuminates a single LED, indicating a return to step 1.
Pressing and releasing the Mode Button is the only action required by the user, other than using the bow in the usual fashion.
If the user wishes to synchronize multiple bows, the Mode Button can be held for at least 5 seconds on each of a set of bows, after which all LEDs will flash, indicating the bow is ready to be synchronized. Releasing the button marks a timebase inside the bow, thus by releasing the Mode Button simultaneously on multiple bow, they will share a common time base. After this, switching to the Time-Sync'd mode will cause all bows to display LED patterns that move in unison with each other.
An optional state is available by holding down the Mode Button while power is being turned on. After several seconds (when the boot sequence is completed) the Mode Button is released, after which the bow will function as usual, except that the Mode Button will now move through an alternate sequence of states. This alternate sequence is typically set to a sequence containing every possible state, thus allowing the user to cycle through all possible states.
In a second preferred embodiment of this invention, each controller operates as described above, but with an additional step inside the Main Loop. In this extra step, a serial communication line is checked for incomming messages, and if present, that message is processed.
The serial communication line use a simple receive-only RS-232 protocol. The sender of these messages can be a centralized transmitter, capable of sending a message to each controller. The message can contain coded information, such as “ID:MODE” where ID is a 3 digit BOW ID and MODE is a 2-digit MODE. Each system receives this message, and compares the ID to its own internal (permanent) ID. If these IDs match, it takes the second part of the message (NODE) and loads that into its STATE variable. In this way, the STATE of any bow can be controlled from an external location by broadcasting an ID:MODE message to all bows.
Alternatively, serial communication could use an addressable protocol such as 802.11, Bluetooth, I2C or SPI. Messages could then be sent to each bow by using the address of that bow's receiver.
In either case, a light board or other central controller can thus set the state of each bow, thereby allowing centralized control of bow states during a performance. Each bow still retains the functionality of its Mode Button, allowing for local mode control.
From the above descriptions, it can be seen that the motion/position-sensing responsive light-up musical instrument described herein is a versatile device, with a high degree of flexibility in its specific coding, offering the user a wide range of operational modes, easily selectable via the Mode Button. The built-in sensor can detect acceleration, allowing the code to infer bow motion, changes in speed, and direction relative to gravity. It can also sense rotation, allowing the code to detect deviations from straight-line motion of the bow. The collection of LEDs allows a variety of visual effects, including simulated motion and colorful displays, which can be automatically choreographed to the music being played, creating an exciting and pleasing multi-media presentation.
While the above descriptions contain many specificities, these should not be construed as limitations on the scope of the invention, but rather as exemplifications of two preferred embodiments thereof. Other variations are possible, including changes mentioned in the description of the system's pseudocode. Accordingly, the scope of the invention should be determined not by the embodiments illustrated, but by the appended claims and their legal equivalents.
Provisional patent application number 62/974,487 filed 4 Dec. 2019. See Application Data Sheet.
Number | Date | Country | |
---|---|---|---|
62974487 | Dec 2019 | US |