Embodiments of the invention relate to the field of machine-to-machine and machine-to-user communication.
Natural language processing algorithms implemented by computer processors coupled to memory and databases are becoming more reliable and accurate as computer processing speeds and look-up operations increase and as gate sizes decrease. These algorithms are key to voice-based human-computer interactions, such as those used in automobile navigation systems.
There are applications available today to provide an unmodified voice based alert or message to a person that is at the same time listening to music. In one aspect, the unmodified voice based alert or message is played over the music. Such an application is an exercise or training application. Using this application, one can be jogging while listening to music and using the training system in the background. The application provides feedback about the training session to the user using an un-modified voice over, and in conflict with, the music. As can be expected, this may make it difficult to understand the message as there are two vocal signals being delivered to the user simultaneously. In an alternative embodiment, the training application system causes the media, such as music, to stop, lag or the volume reduced, then provides the feedback, and then continues the media from where it was stopped, slowed or the volume reduced. This approach disadvantageously creates a jarring or abrupt transition between the music and the message, disrupting timing and pace for the user. Furthermore, in order to provide voice-based user input to the system, one may have to lower the music volume level. If the application requires user input using tactile interaction, then the user must shift attention from what the user is doing to react to the message or alert.
Embodiments of the invention include methods performed (i) by a device, (ii) by a node, (iii) by a node in communication with a device and (iv) by a device in communication with a node. Further embodiments of the invention include (v) a node performing actions and communicating with a device so as to provide an informational alert, notification or message to a user of the device (vi) a device performing actions in response to a notification from a node in furtherance of alerting the user of the device of a message, and (vii) a device performing actions in response to a notification locally in furtherance of alerting or notifying the user of the device of a message. Additional embodiments of the invention include (vii) a database accessible by a node to obtain aspects of media matched to media being communicated by a device to a user.
The invention provides a novel method of facilitating interaction between a user and a device using a media source, such as a music file, the method requiring lesser cognitive effort than that of tactile and/or voice based interaction via the device. The invention further facilitates interaction between a node and a device while a user of the device is using a media source, such as a music file. The invention modifies static media, such as music files being played to a user of the device, upon the generation or receipt of an alert, notification or message, so that information in the alert, notification or message can be incorporated into the media files then communicated to the user. In a further embodiment, a user's response to the communicated information can be sensed using one or more sensors and transducers so as to provide feedback to the device, and then optionally to a node in a system. These user responses could be tapping of feet or hands with the user performing these actions with the intention to interacting with the device or node.
The invention may best be understood by referring to the following description and accompanying drawings that are used to illustrate embodiments of the invention. In the drawings:
The following description describes methods and apparatus for alerting a user of a device, such device being, for example, a terminal, smart-phone, network coupled music or media player or user equipment, of an alert, notification or message, such as a response message based on physical parameters, a response message from a background process on the device or response messages from a node such as an incoming telephone call notification, text message or the like, the alert, notification or message being combined with a media file that is then being played by the device, such combination being performed in a seamless manner.
In the following description, numerous specific details such as logic implementations, op-codes, means to specify operands, resource partitioning/sharing/duplication implementations, types and interrelationships of system components, and logic partitioning/integration choices are set forth in order to provide a more thorough understanding of the present invention. It will be appreciated, however, by one skilled in the art that the invention may be practiced without such specific details. In other instances, control structures, gate level circuits and full software instruction sequences have not been shown in detail in order not to obscure the invention. Those of ordinary skill in the art, with the included descriptions, will be able to implement appropriate functionality without undue experimentation.
References in the specification to “one embodiment,” “an embodiment,” “an example embodiment,” etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
In the following description and claims, the terms “coupled” and “connected,” along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other. “Coupled” is used to indicate that two or more elements, which may or may not be in direct physical or electrical contact with each other, co-operate or interact with each other. “Connected” is used to indicate the establishment of communication between two or more elements that are coupled with each other.
To ease understanding, dashed lines have been used in the figures to signify the optional nature of certain items (e.g., features not supported by a given implementation of the invention; features supported by a given implementation, but used in some situations and not in others).
The techniques shown in the figures can be implemented using code and data stored and executed on one or more electronic nodes and/or devices. Such electronic nodes and/or devices store and communicate (internally and/or with other electronic nodes and/or devices over a network) code and data using non-transitory tangible machine readable medium (e.g., magnetic disks; optical disks; read only memory; flash memory devices; phase-change memory) and transitory machine-readable communication medium (e.g., electrical, optical, acoustical or other forms of propagated signals-such as carrier waves, infrared signals, digital signals, etc.). In addition, such electronic nodes and/or devices typically include a set or one or more processors coupled with one or more other components, such as a storage device, one or more input/output devices (e.g., keyboard, a touch-screen, and/or a display), and a network connection. The coupling of the set of processors and other components is typically through one or more busses or bridges (also termed bus controllers). The storage node and/or device and signals carrying the network traffic respectively represent one or more non-transitory tangible machine readable medium and transitory machine-readable communication medium. Thus, the storage device of a given electronic device typically stores code and/or data for execution on the set of one or more processors of that electronic device. Of course, one or more parts of an embodiment of the invention may be implemented using different combination of software, firmware, and/or hardware.
In embodiments of the invention, If a node or plurality of nodes in a system is attempting to communicate an alert, notification or message to a device while the device has a media file in operation, for example, music is being played to the user of the device, the invention modifies the alert, notification or message, and optionally, the media file, and then presents the alert, notification or message seamlessly to the user. In an example, the invention may determine the voice of the artist embodied in the media file, modify the alert, notification or message so it is presented in the voice of that artist, then insert the modified alert, notification or message into the existing media file so that the same rhythm continues to play.
In further embodiments, the invention comprises playing the specialized message by the device. Further, the message may be generated by a background process on a device. In a further embodiment, the message is generated at a node coupled over a channel to the device. In a further embodiment, the device is playing the media locally and the node obtains information about the media using a protocol for delivering and receiving messages between the node and the device. The media can be a selection being operated by a media player component of the device or the device can be streaming the media over a network and a node obtains information about the media from one selected from the network, and more specifically, a database residing on a server on the network, and the device. Using structure information about the media, the generic message is modified so that the specialized message is seamlessly inserted into the media. The generic message can be modified based on information or characteristic elements of the media. The information about the media can be a meta element, meta data, metatag or tag. The characteristic elements of the media can be selected from the group consisting of tempo, rhythm, pitch, timing or frequency. In an embodiment, the media is a musical selection, and the generic message is transformed into a specialized message that is inserted into the music selection in a manner in which the timing, rhythm, tempo, pitch and pacing of the musical selection is maintained. In a further embodiment, the media is a vocal selection, and the generic message is transformed into a specialized message that is inserted into the vocal selection in a manner in which the timing, rhythm, tempo, pitch or pacing of the vocal selection is maintained.
For example, if a user of the device is engaging in exercise with an exercise file operating in the background (for example, keeping track of physical parameters of the user sensed by sensors coupled to the device), and a specific song by a specific artist is being played by the device media player, the invention operates to provide training feedback using the same artist's voice and in time with the song's rhythm. This can be implemented using a database containing artists' voices coupled to a processor running a real-time audio-processing algorithm. In that way, artist's voice can be identified by operations on the processor making reference to the database.
As seen in
As described herein, instructions may refer to specific configurations of hardware such as application specific integrated circuits (ASICs) configured to perform certain operations or having a predetermined functionality or software instructions stored in memory embodied in a non-transitory computer readable medium. Thus, the techniques shown in the figures can be implemented using code and data stored and executed on one or more electronic devices (e.g., an end station, a network element). Such electronic devices store and communicate (internally and/or with other electronic devices over a network) code and data using computer -readable media, such as non-transitory computer-readable storage media (e.g., magnetic disks; optical disks; random access memory; read only memory; flash memory devices; phase-change memory) and transitory computer-readable communication media (e.g., electrical, optical, acoustical or other form of propagated signals—such as carrier waves, infrared signals, digital signals). In addition, such electronic devices typically include a set of one or more processors coupled to one or more other components, such as one or more storage devices (non-transitory machine-readable storage media), user input/output devices (e.g., a keyboard, a touchscreen, and/or a display), and network connections. The coupling of the set of processors and other components is typically through one or more busses and bridges (also termed as bus controllers). Thus, the storage device of a given electronic device typically stores code and/or data for execution on the set of one or more processors of that electronic device. Of course, one or more parts of an embodiment of the invention may be implemented using different combinations of software, firmware, and/or hardware.
While the flow diagrams in the figures show a particular order of operations performed by certain embodiments of the invention, it should be understood that such order is exemplary (e.g., alternative embodiments may perform the operations in a different order, combine certain operations, overlap certain operations, etc.).
While the invention has been described in terms of several embodiments, those skilled in the art will recognize that the invention is not limited to the embodiments described, can be practiced with modification and alteration within the spirit and scope of the appended claims. The description is thus to be regarded as illustrative instead of limiting.