VIBROTACTILE CONTROL SOFTWARE SYSTEMS AND METHODS
Methods and systems are disclosed to facilitate creating the sensation of vibrotactile movement on the body of a user. Vibratory motors are used to generate a haptic language for music or other stimuli that is integrated into wearable technology. The disclosed system in certain embodiments enables the creation of a family of devices that allow people such as those with hearing impairments to experience sounds such as music or other input to the system. For example, a “sound vest” or other wearable array transforms musical input to haptic signals so that users can experience their favorite music in a unique way, and can also recognize auditory or other cues in the user's real or virtual reality environment and convey this information to the user using haptic signals.
The present application is a continuation in part of U.S. patent application Ser. No. 14/713,908 entitled “Sound Vest,” filed on May 15, 2015. The entirety of the foregoing patent application is incorporated by reference herein.
BACKGROUND OF THE DISCLOSURETechnical Field
The present invention relates to vibrotactile technologies, systems, and subsystems and, more specifically to systems to control vibrations to make it easy to create the sensation of vibrotactile movement on the body of a user. Also, this disclosure relates to a wearable vest designed to enable individuals such as hearing-impaired persons to experience sounds or other stimuli of various kinds, including but not limited to music, alarms, game events, and speech.
2. General Background
An aspect of the present disclosure is a system that uses vibratory motors to generate a haptic language for audio (or other stimumli) that is integrated into wearable technology. The inventive “sound vest” is intended as an assistive device for the hearing-impaired in certain embodiments. The disclosed system enables the creation of a family of devices that allow people, such as those with hearing impairments, to experience sounds such as music, or other inputs, to the system. The functionality of vests according to aspects of the present invention could include transforming sound/music/game input to haptic signals so that users can experience their favorite music in a unique way, and also systems that can recognize auditory cues in a user's everyday environment and convey this information to the user using haptic signals. Such pertinent auditory inputs could include a loud siren, someone calling out the user's name, etc.
It is desirable to address the limitations in the art.
By way of example, reference will now be made to the accompanying drawings, which are not to scale.
Those of ordinary skill in the art will realize that the following description of the present invention is illustrative only and not in any way limiting. Other embodiments of the invention will readily suggest themselves to such skilled persons, having the benefit of this disclosure, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present invention. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein. Reference will now be made in detail to specific implementations of the present invention as illustrated in the accompanying drawings. The same reference numbers will be used throughout the drawings and the following description to refer to the same or like parts.
The data structures and code described in this detailed description are typically stored on a computer readable storage medium, which may be any device or medium that can store code and/or data for use by a computer system. This includes, but is not limited to, magnetic and optical storage devices such as disk drives, magnetic tape, CDs (compact discs) and DVDs (digital versatile discs or digital video discs), and computer instruction signals embodied in a transmission medium (with or without a carrier wave upon which the signals are modulated). For example, the transmission medium may include a communications network, such as the Internet.
The present disclosure in certain embodiments relates to a system, or “sound vest”, that uses vibratory motors to generate a haptic language for music or other sound, or other stimuli, that is integrated into wearable technology. A technical challenge to creating such a system is to design a system that decomposes auditory or other input into control signals that can be streamed out to a network of motors. The present inventors have designed a preliminary system that in certain embodiment performs entry-level signal processing techniques on the incoming sound or other stimuli in order to determine the spectral profile of the input. The motors are then powered based on the magnitude of the spectral power.
A preliminary design of the system in certain embodiments enables the use of up to 64 motors to represent the incoming audio or other stimuli. A revised design in certain embodiments utilizes 64 motors on each of the front and back sides of the vest, for a total of 128 motors. For example, each of M1, M2, M3, and M4 in
As shown in
As shown in
Applicants are aware of information in the public domain relating to wearable technology with haptic feedback. Copies of this information are being submitted in conjunction with this application in Information Disclosure Statements (IDS). Some of the known prior art references translate sound to vibration, but the present disclosure is different in certain embodiments in that it goes beyond a simple sensory substitution. The brain is an amazingly “plastic” organ, and we will take advantage of its plasticity by giving the hearing impaired the opportunity to experience music through a haptic “language.” This difference lies in the real-time spectral analysis performed as the music streams into the micro-controller at the heart of the sound vest in certain embodiments—the audio streams in and is broken down to a representation of its basic frequency components. Then, each frequency domain is sent to a different part of the body (i.e., if the user is listening to Alvin and the Chipmunks, he will feel a lot of vibration up by his collarbones, and not much down low; listen to Barry White, and it will be the other way around due to the dominance of Mr. White's low frequency components). The inventive system in certain embodiments can also represent stereo by streaming to the left side of the body for the left speaker and right speaker to the right side.
Further Developments
During the course of further developing the system described above, we have discovered that the process of creating musical sensation though tactile stimuli can be improved in several ways in certain embodiments:
1. The audio signals or other stimuli can be improved by converting them into the MIDI (i.e., Musical Instrument Digital Interface) data format in certain embodiments, and then reducing the data to a small defined number of tracks, e.g., four (4) tracks representing drums, bass, guitars, and vocal. Other selections could be used as well, depending on the type of music. (Those skilled in the art understand that MIDI is a technical standard that enables a wide variety of electronic musical instruments, computers and other related devices to connect and communicate with one another. A single MIDI link can carry up to sixteen channels of information, each of which can be routed to a separate device.)
2. Instead of mapping the audio signals to the motors as described above (i.e., mapping higher frequencies to the top of the vest and mapping the lower frequencies to the bottom of the vest), it may be advantageous in certain embodiments to map each of the 4 tracks to different parts of the vest. For example, the signals corresponding to vocals can be directed to the mid-section while the drums, bass, and guitar signals are directed to respective regions surrounding the mid-section. This mapping has been found to create less cross-over and less “muddiness” to the vibrations created by the motors.
3. If the system is unable to convert live audio to MIDI data in real time, it can be advantageous in certain embodiments to provide a mode in which the music data is first downloaded and then played back through the vest. In this way, the user can experience the music, albeit not in a real-time, “live” setting.
As shown in
The system in certain embodiments may be enhanced by providing wireless links between the signal processor and the motors. In addition, a voice recognition module may be incorporated to enable the system to recognize specific spoken words for selective playback through the motors. For example, the user's name may be specifically recognized and used to signal the user through the motors.
In certain embodiments, memory 510 may include without limitation high-speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid state memory devices; and may include without limitation non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices. Memory 510 may optionally include one or more storage devices remotely located from the processor(s) 505. Memory 510, or one or more of the storage devices (e.g., one or more non-volatile storage devices) in memory 510, may include a computer readable storage medium. In certain embodiments, memory 510 or the computer readable storage medium of memory 510 may store one or more of the following programs, modules and data structures: an operating system that includes procedures for handling various basic system services and for performing hardware dependent tasks; a network communication module that is used for connecting computing device 510 to other computers via the one or more communication network interfaces and one or more communication networks, such as the Internet, other wide area networks, local area networks, metropolitan area networks, and so on; a client application that may permit a user to interact with computing device 500.
Certain text and/or figures in this specification may refer to or describe flow charts illustrating methods and systems. It will be understood that each block of these flow charts, and combinations of blocks in these flow charts, may be implemented by computer program instructions. These computer program instructions may be loaded onto a computer or other programmable apparatus to produce a machine, such that the instructions that execute on the computer or other programmable apparatus create structures for implementing the functions specified in the flow chart block or blocks. These computer program instructions may also be stored in computer-readable memory that can direct a computer or other programmable apparatus to function in a particular manner, such that the instructions stored in computer-readable memory produce an article of manufacture including instruction structures that implement the function specified in the flow chart block or blocks. The computer program instructions may also be loaded onto a computer or other programmable apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions that execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flow chart block or blocks.
Accordingly, blocks of the flow charts support combinations of structures for performing the specified functions and combinations of steps for performing the specified functions. It will also be understood that each block of the flow charts, and combinations of blocks in the flow charts, can be implemented by special purpose hardware-based computer systems that perform the specified functions or steps, or combinations of special purpose hardware and computer instructions.
For example, any number of computer programming languages, such as C, C++, C# (CSharp), Perl, Ada, Python, Pascal, SmallTalk, FORTRAN, assembly language, and the like, may be used to implement aspects of the present invention. Further, various programming approaches such as procedural, object-oriented or artificial intelligence techniques may be employed, depending on the requirements of each particular implementation. Compiler programs and/or virtual machine programs executed by computer systems generally translate higher level programming languages to generate sets of machine instructions that may be executed by one or more processors to perform a programmed function or set of functions.
In the descriptions set forth herein, certain embodiments are described in terms of particular data structures, preferred and optional enforcements, preferred control flows, and examples. Other and further application of the described methods, as would be understood after review of this application by those with ordinary skill in the art, are within the scope of the invention. The term “machine-readable medium” should be understood to include any structure that participates in providing data that may be read by an element of a computer system. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks and other persistent memory such as devices based on flash memory (such as solid-state drives, or SSDs). Volatile media include dynamic random access memory (DRAM) and/or static random access memory (SRAM). Transmission media include cables, wires, and fibers, including the wires that comprise a system bus coupled to a processor. Common forms of machine-readable media include, for example and without limitation, a floppy disk, a flexible disk, a hard disk, a solid-state drive, a magnetic tape, any other magnetic medium, a CD-ROM, a DVD, or any other optical medium.
The main view display 610 may facilitate understanding and interaction with the system in certain embodiments, and may be used to create an intuitive experience with little or no stiff learning curve, allowing the user to easily adopt the technology.
In the example of the main view display 610 shown in
Embodiments of the present invention may be used to implement aspects that will create a surround body experience, in which the vibrotactile creator can craft and control vibrations to any part of the body at any given point in time.
Each section of the embodiment of
In certain embodiments, the vibrotactile creator may simultaneously use the movement wheel 710 and the Brownian grain display 1210 to draw a path 740 that represents the movement from one part of the body to the other controlling the intensity of the line as it is drawn and the graininess of it. The thickness of the line is directly related to the intensity of the vibration. The thinner the line, the weaker the vibration and the thicker the line the stronger the vibration. Each line has the possibility of been drawn with different intensities as the user moves throughout the movement wheel 710. The movement varies with intensity in time.
For example, the user may start to draw the path 740 in the mid back 732 and move down to the low back 733. As the path moves down the vibrations could increase or decrease in intensity. In certain embodiments of this invention, the path 740 drawn by the vibrotactile creator may depict smooth lines 741 or dotted lines 742. Dotted lines 742 will indicate that in that specific vibration a degree of graininess is applied. Smooth lines 741 will indicate that in that specific part of the path 740 graininess was not applied.
In certain embodiments, the vibrotactile wheel 710 and the Brownian grain display 1210 may be visualized as a dynamic display that has to be operated at the same time to craft the vibrations as the sound is being played. Their operation could depend, for example, on the operation of a mouse or a touch screen to draw the path 740 of the movement and the intensity of the lines, and an expression pedal to select the level of graininess for the purpose of making the experience more dynamic.
In certain embodiments of the movement wheel 710, the user may lock adjacent positions of the body, toggling a switch with a feature called “lock group” herein. For example, the left ankle 736 may be locked with the right ankle 737 using the lock group option 722. Similarly, the left wrist 734 may be locked with the right wrist 735 with lock group option 721, and the low back position 733 may be locked with the mid back position 732 with lock group 720. A lock group may be use to automatically replicate the vibration created for one area into whichever area is locked with it. When a lock group feature is on, in certain embodiments one vibration triggers both parts of the body for symmetry.
In the embodiment of
In the embodiment of
Because the embodiment of the timeline 810 may feature the individual body parts, also seen in the embodiment of the movement wheel 710, the vibrotactile creator or user can concentrate in crafting the vibrations one part of the body at a time. Each body part has its own channel (830, 831, 832, 833, 834, 835, 836 and 837) in certain embodiments, which means that the user can mute all but one channel and begin the crafting process for an individual body part, or, if using the lock group feature (820, 821 and 822), for a set of body parts. These lock group features are also seen in the embodiment of the movement wheel 710.
The gray area shown in the ribcage timeline chart 830 is an exemplary depiction of an area called a loop point 870. This area may be selected to be repeated for purpose of editing and/or for playing back an audio file. The loop point 870 selection within a channel may be a particular part of the timeline or the entire timeline, the vibrotactile creator 620 can change the size of the loop point.
The waveforms or “vibrotactile forms” shown in the embodiment of
A grey scale representation of a bar 1000, shown in the embodiment of
For example, when a sound file is played in the play and record engine of the exemplary system 1010 shown in
In the embodiment of the tool selector 1100 shown in
The tool selector depicted in
In vibrotactile language according to certain embodiments, 1130 is called a click herein. In the display 1110, it is the equivalent of a staccato note in music. The click 1130 may be set 1131 from 10 to 50 milliseconds. After 50 milliseconds it turns into a small line because the vibration achieved is not a click per se but a short buzz. The click cannot last more than 50 milliseconds, its maximum value, otherwise it is received as a line, not a dot. But also, it cannot be shorter than 10 milliseconds because it may be hard to perceive due to the spinning limitation of the eccentric rotating mass vibration motors (ERM) used as vibrotacile actuators in certain embodiments. The ideal click using this technology may be between 30 and 50 milliseconds, based on experimental results.
In the embodiment of
The free-drawing display may allow the user to draw an uneven line. For example, if the main display timeline 810 is in a touch screen a user could create any line shape and it would create endless possibilities for the waveforms. Finally, the undo button 1160 is provided to remove any part of the wave form in the timeline 800 that the user does not want to use anymore.
When the tool selector 1100 fade-in and fade-out waveforms are visualized in the main display 600, the user can modify them by changing the time or the amplitude. This gives the craft of the vibration endless possibilities.
In the embodiment of
The visual expression of graininess is given in the embodiment of the movement wheel 710. When graininess is applied the otherwise smooth lines 741 in the drawn path 740 will acquire spaces, like dotted lines 742 that will represent unevenness.
After the vibrotactile creator or user is finished crafting the experience, in certain embodiments he or she can then export the file to a MPE (multidimensional polyphonic expression) MIDI file 1410, as shown in
Certain embodiments implement methods and systems for creating and/or applying vibrations to a user's body, including simultaneous stimulation of multiple parts of a user's body during gaming sessions such as in virtual reality (“VR”) applications. According to aspects of the present invention, in certain embodiments, vibration stimuli matching the audio and/or visual effects found in VR environments are applied to a user's body, and in some of those embodiments, two or more such stimuli are applied simultaneously to different parts of a user's body.
Methods and systems implemented in certain embodiments use what is call “haptic panning” herein. This is similar to audio panning—when viewers watch a car moving from left to right on a screen they can also hear the sound following the image. The sound does not actually “move” with the car. The speakers placed at the left and right of the screen modulate the intensity of the sound according to well-known equations to create the illusion of movement of the sound source.
Likewise, various methods may be implemented similar to those known to skilled artisans for panning audio (e.g., constant power, vector-based amplitude panning (VBAP), ambisonics, etc.) to move vibrations around the body of a user. So, if it goal is to “move” the vibrations from left wrist to right wrist, for example, the following three different stages are implemented in certain embodiments: (A) “Left”, vibrations at 85% on Left Wrist, 10% on Ribcage, 5% on Right Wrist; (B) “Center,” vibrations at 10% on Left Wrist, 80% on Ribcage, 10% on Left Wrist; (C) “Right,” vibrations at 5% on Left Wrist, 10% on Ribcage, 85% on Right Wrist. Any desired “movement” can be implemented following variations of this technique, from any point A to point B, passing through the areas in between.
Methods and systems implemented in certain other embodiments use what is called “hit spreading” herein. For example, if a game character is punched in the stomach, the user should also feel the energy of the punch going all the way to the user's back. In a VR simulation, when an area is hit by a punch, a fireball, or any other of form of energy that hits the user's character in the virtual world, the energy will spread to other areas. If a virtual enemy launches a fireball and the character defends it with bracelets, in the real world the energy felt vibrating on the user's wrist that got hit will trigger vibrations on the ribcage with less intensity and on the back with even less intensity.
In certain other embodiments, for example, a game character may enter a zone with a “force field,” and in response in the real world, the vibrations get stronger in the area of the body that is closer to the field but other areas of the user's body will vibrate as well, although with less intensity.
In certain other embodiments, what are called the “Laser Sword Penetration” methods and systems herein can be understood as vibrations spreading on the areas that are being poked by a sword, but in order to make the effect more compelling, the vibrations also pulse in the neighboring areas, though with less intensity.
While the above description contains many specifics and certain exemplary embodiments have been described and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative of and not restrictive on the broad invention, and that this invention is not limited to the specific constructions and arrangements shown and described, since various other modifications may occur to those ordinarily skilled in the art, as mentioned above. The invention includes any combination or sub combination of the elements from the different species and/or embodiments disclosed herein.
Claims
1. A system for transforming sensory stimulus to a haptic language, comprising:
- a signal processor configured to receive a sensory stimulus and simultaneously generate a plurality of electrical driving signals according to a predefined mapping from signals comprising portions of said sensory stimulus to each of said plurality of electrical driving signals;
- a wearable array of items comprising vibratory motors; and
- a network comprising a plurality of said vibratory motors incorporated into said wearable array, wherein said plurality of electrical driving signals generated by said signal processor are used to drive said plurality of vibratory motors according to a predefined mapping of signals comprising portions of said sensory stimulus to a plurality of different regions of said wearable array.
Type: Application
Filed: Dec 16, 2016
Publication Date: Apr 6, 2017
Inventors: Mick Ebeling (Venice, CA), David Francis Putrino (New York, NY), Daniel Biscaro Loureiro (New York, NY), Patrick Hanlon (Brooklyn, NY)
Application Number: 15/381,610