Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
The use of and development of cellular communications has grown nearly exponentially in recent years due to technological improvements. These technological improvements have produced a smart phone category of mobile phone or devices with advanced features such messaging, email, and thousands of special user applications. As a result of these improvements, mobile devices have become one of the most ubiquitous devices.
Mobile devices typically notify the user of some asynchronous event, such as an incoming short message service (SMS) message, email, phone call, social network update, and the like. When such a notification occurs, the mobile user may not be able to easily interact with the mobile device by touch or even see the mobile device, because the user may be driving, walking, already engaged in a conversation, or otherwise occupied.
In a first aspect, a method is provided. A computing device provides an audio signal indicative of a notification and automatically activates a listening mode. The notification indicates that an incoming communication can be accessed using a particular application on the computing device. A voice input is received during the listening mode. An input text is obtained based on speech recognition performed upon the voice input. A command is detected in the input text. An output text is generated in response to detecting the command in the input text. The output text is based on at least the notification. The computing device provides a voice output that identifies at least the particular application. The voice output is generated from the output text via speech synthesis.
In another aspect, a computer-readable storage medium is provided. The computer-readable storage medium has stored thereon instructions that, upon execution by a computing device, cause the computing device to perform operations. The operations include: receiving an incoming communication; generating a notification in response to receiving the incoming communication, wherein the notification indicates that the incoming communication can be accessed using a particular application on the computing device; providing an audio signal indicative of the notification and automatically activating a listening mode on the computing device; receiving a voice input during the listening mode; obtaining an input text based on speech recognition performed upon the voice input; detecting a command in the input text; generating an output text in response to detecting the command in the input text, wherein the output text is based on at least the notification; and providing a voice output that identifies at least the particular application, wherein the voice output is generated from the output text via speech synthesis.
In yet another aspect, a computing device is provided. The computing device includes an audio input unit, an audio output unit, at least one processor, and a memory. The memory stores instructions that, upon execution by the at least one processor, cause the computing device to perform operations. The operations include: receiving an incoming communication; generating a notification in response to receiving the incoming communication, wherein the notification indicates that the incoming communication can be accessed using a particular application on the computing device; providing, via the audio output unit, an audio signal indicative of the notification and automatically activating a listening mode on the computing device; receiving, via the audio input unit, a voice input during the listening mode; obtaining an input text based on speech recognition performed upon the voice input; detecting a command in the input text; generating an output text in response to detecting the command in the input text, wherein the output text is based on at least the notification; and providing, via the audio output unit, a voice output that identifies at least the particular application, wherein the voice output is generated from the output text via speech synthesis.
These as well as other aspects, advantages, and alternatives will become apparent to those of ordinary skill in the art by reading the following detailed description, with reference where appropriate to the accompanying drawings. Further, it should be understood that the disclosure provided in this summary section and elsewhere in this document is provided by way of example only and not by way of limitation.
In the following detailed description, reference is made to the accompanying figures, which form a part hereof. In the figures, similar symbols typically identify similar components, unless context dictates otherwise. The illustrative embodiments described in the detailed description, figures, and claims are not meant to be limiting. Other embodiments may be utilized, and other changes may be made, without departing from the spirit or scope of the subject matter presented herein. It will be readily understood that the aspects of the present disclosure, as generally described herein, and illustrated in the figures, can be arranged, substituted, combined, separated, and designed in a wide variety of different configurations, all of which are explicitly contemplated herein.
Processor unit 124, which may include one or more processors, is configured to execute instructions and to carry out operations associated with computing system 104. For example, using instructions retrieved from memory unit 126, the processor unit may control the reception and manipulation of input and output data between components of computing system 104. Processing unit 124 may include an integrated circuit that can be configured by the user, such as a field-programmable gate array (FPGA). The FPGA configuration is generally specified using a hardware description language (HDL). Processor unit 124 can be implemented on a single-chip, multiple chips or multiple electrical components. For example, various architectures can be used for processor unit 124, including dedicated or embedded processor or microprocessor (μP), single purpose processor, controller or a microcontroller (μC), application-specific integrated circuit (ASIC), reduced instruction set controller (RISC) processor, or any combination thereof, and so forth. Thus, processor unit 124 together with an operating system can operate to execute computer code and produce and use data.
Memory unit 126 generally provides a place to store computer code and data that are used by computing system 104. Memory unit 126 may include but not limited to non-volatile memory, such as read-only memory (ROM, flash memory, etc.), volatile memory, such as random-access memory (RAM), a hard disk drive and/or the like. In one example, the computer code stored in memory unit 126 includes code for a notification application 128, a multi-media control application 130, a set of messaging applications 132, and a program data unit 134.
Notification application 128 is configured to notify the user of any incoming messages and emails or already stored messages, emails, and voicemails upon activation of mobile device 102. More particularly, notification application 128 may generate a notification in response to mobile device 102 receiving an incoming communication. The notification indicates that the incoming communication can be accessed using a particular application on the mobile device 102, such as one of messaging applications 132. For example, an incoming email may result in notification application 128 generating a notification that a new email can be accessed using an email application. Notification application 128 may store a notification after it has been generated. In this way, a number of notifications can be accumulated, with each notification indicating that a particular incoming communication can be accessed using a particular application. Further, the accumulated notifications can relate to different applications. For example, there could be one or more notifications relating to emails that can be accessed by an email application, one or more notifications relating to SMS messages that can be accessed by an SMS application, one or more notifications relating to voicemails that can be accessed by a voicemail application, etc.
Notification application 128 enables access to these notifications via voice commands, and to provide responses to the notifications in any media type selected by the user. Notification application 128 is configured to respond to voice commands received from the user, invoking voice recognition unit 120, text-to-speech generation unit 122, and message/email unit 117, as needed. Multi-media control application 128 is configured to communicate or pass data between components of computing system 104 and even reformat the data for compatibility between these components.
Referring to
In some example embodiments, notification application 128, multi-media control application 130, messaging applications 132, can be configured to operate with program data or data storage unit 134 on a suitable operating system (not shown). Operating systems are generally well known and will not be described in greater detail. By way of example, the suitable operating system may correspond to Windows 7, Mac OS, Google Chrome OS, Palm OS Cobalt (6.0), Android, Symbian Belle, BlackBerry OS, and the like. The suitable operating system can also be a special purpose operating system, such as may be used for limited purpose appliance-type computing devices.
As shown in
During operation, in one embodiment, microphone 106 captures a voice input uttered by a user, and sends it to audio controller 118, which in turn forwards it to voice recognition unit 120, where the voice input is converted from analogue signals to digital signals. Voice recognition unit 120 may perform speech recognition on the digital signals to obtain a recognition result, for example, in the form of text. Alternatively or additionally, voice recognition unit 120 may communicate with another device, such as a server, for speech recognition. For example, voice recognition unit 120 may send the digital signals representing a voice input to a server that is configured to perform speech recognition and receive back from the server a recognition result, for example, in the form of text.
Processing unit 124 is configured, via multi-media control application 130, to compare the recognition result to a dictionary of digital words or phrases stored in memory 126. In this way, processing unit 124 can identify a command in a user's voice input. Once a match is found, processing unit 124 can generate an answer, a default instruction, or a query by providing a digital text to text-to-speech unit 122. Based on the digital text, text-to-speech unit 122 may generate a corresponding spoken output, via speech synthesis, which is provided to the user via audio controller 118 and speaker 108. It is also possible for the spoken output to be generated by another device, such as a text-to-speech server. For example, processing unit 124 may provide a text to the text-to-speech server and receive a spoken output generated by the server that can be provided through speaker 108. In addition to or instead of a spoken output, the answer, default instruction, or query may be provided on display 110 via display controller 116.
In another embodiment, in reaction to a voice command by the user to read a particular message or email, processing unit 124 is configured, via multi-media control application 130, to retrieve the particular message or email, and provide it to text-to-speech unit 122 to generate a corresponding spoken version that is provided through speaker 108.
As a general matter, when computing device 104 produces a notification, it may also output an audio prompt. The audio prompt could be a spoken output, such as “tell me more” for example, to prompt the user to utter a verbal instruction or command. The audio prompt could also be some other type of audible output, such as a tone or a ping sound. Alternatively, computing device 104 may not produce a prompt, but may remain silent while listening for a user's voice command. Following the audio prompt, computing system 104 may automatically activate audio unit 114 for a limited period of time, e.g., ten (10) seconds, to provide a “listening” mode.
During the listening mode, the computing system 104 may receive a voice input that includes a command. For example, if computing system 104 recognizes a verbal “Read” action command, it may read out the content of the notification. The content that is read out could include, for example, an identification of the particular application that can be used to access the incoming communication that triggered the notification. Computing system 104 could then receive another voice input that identifies the particular application and, in response, computing system 104 could invoke the particular application. Computing system 104 may invoke the application in a voice mode that supports voice controlled actions, such as “Reply” and “Forward” for the message, email, or voicemail that triggered the notification.
Now referring to
Referring to
As additional notifications are generated, processing unit 124 provides another interface screen, illustrated by
At step 408, processing unit 124 determines, via voice recognition unit 120, whether the user has uttered a particular command directed to one of the application types displayed. Upon detection of the particular command, such as “Messages,” processing unit 124 generates another interface screen, illustrated by
Upon recognition of a responsive voice command, such as “Read summary” for example, processing unit 124 generates another interface screen, illustrated by
Now referring to
As shown in
In some embodiments, the disclosed methods may be implemented as computer program instructions encoded on a computer-readable storage media in a machine-readable format.
In some examples, signal bearing medium 601 may encompass a non-transitory computer-readable medium 603, such as, but not limited to, a hard disk drive, a Compact Disc (CD), a Digital Video Disk (DVD), a digital tape, memory, etc. In some implementations, signal bearing medium 601 may encompass a computer recordable medium 604, such as, but not limited to, memory, read/write (R/W) CDs, R/W DVDs, etc. In some implementations, signal bearing medium 601 may encompass a communications medium 605, such as, but not limited to, a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communications link, a wireless communication link, etc.). Thus, for example, signal bearing medium 601 may be conveyed by a wireless form of the communications medium 605 (e.g., a wireless communications medium conforming with the IEEE 802.11 standard or other transmission protocol).
The one or more programming instructions 602 may be, for example, computer executable and/or logic implemented instructions. In some examples, a computing device such as computing device 600 of
While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope and spirit being indicated by the following claims, along with the full scope of equivalents to which such claims are entitled. It is also to be understood that the terminology used herein is for the purpose of describing particular embodiments only, and is not intended to be limiting.
This patent application claims priority to U.S. Provisional Application No. 61/542,055, filed on Sep. 30, 2011, the contents of which are entirely incorporated herein by reference, as if fully set forth in this application.
Number | Date | Country | |
---|---|---|---|
61542055 | Sep 2011 | US |