US20150031416A1 - Method and Device For Command Phrase Validation - Google Patents
Method and Device For Command Phrase Validation Download PDFInfo
- Publication number
- US20150031416A1 US20150031416A1 US14/142,234 US201314142234A US2015031416A1 US 20150031416 A1 US20150031416 A1 US 20150031416A1 US 201314142234 A US201314142234 A US 201314142234A US 2015031416 A1 US2015031416 A1 US 2015031416A1
- Authority
- US
- United States
- Prior art keywords
- mobile device
- contact
- call
- voice
- validation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/20—Speech recognition techniques specially adapted for robustness in adverse environments, e.g. in noise, of stress induced speech
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/60—Substation equipment, e.g. for use by subscribers including speech amplifiers
- H04M1/6033—Substation equipment, e.g. for use by subscribers including speech amplifiers for providing handsfree use or a loudspeaker mode in telephone sets
- H04M1/6041—Portable telephones adapted for handsfree use
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/26—Devices for calling a subscriber
- H04M1/27—Devices whereby a plurality of signals may be stored simultaneously
- H04M1/271—Devices whereby a plurality of signals may be stored simultaneously controlled by voice recognition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/74—Details of telephonic subscriber devices with voice recognition means
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Definitions
- the present disclosure relates to processing audio signals and, more particularly, to methods and devices for audio signals including voice or speech.
- speech recognition has been around for decades, the quality of speech recognition software and hardware has only recently reached a high enough level to appeal to a large number of consumers.
- One area in which speech recognition has become very popular in recent years is the smartphone and tablet computer industry.
- a speech recognition-enabled device a consumer can perform such tasks as making phone calls, writing emails, and navigating with GPS, strictly by voice.
- Speech recognition in such devices is far from perfect, however.
- the user may need to “train” the speech recognition software to recognize his or her voice.
- the speech recognition functions may not work well in all sound environments.
- An unintended call that is placed may results from inaccurate voice recognition of audio that is captured. Occurrences of these types of calls could result in negative financial, legal and social implications, and may lead to user avoiding the use of a voice recognition system for making calls.
- FIG. 1 is a block diagram illustrating a mobile device, according to an embodiment
- FIG. 2 is a block diagram of example components of a mobile device, according to an embodiment
- FIGS. 3 , 4 , and 5 illustrate a process flow of a method for validating a command phrase that may be performed by the mobile device of FIG. 1 , according to an embodiment
- FIG. 6 is a process flow of a method for automatically dialing a priority contact that may be performed by the mobile device of FIG. 1 , according to an embodiment
- FIG. 7 is a process flow of a method for automatically dialing a phone number that may be performed by the mobile device of FIG. 1 , according to an embodiment.
- Avoidance of placing of unintended calls is particularly relevant for mobile devices that provide an “always on” voice recognition system.
- the mobile device may be configured to monitor or listen for a trigger phrase spoken by a user of the mobile device, followed by a command phrase. Trigger phrases spoken by the user, such as “OK, Google Now” may be previously “learned” in a training session for the mobile device; however, the trigger phrase may be incorrectly identified due to various factors, such as background noise or obstructions between the user and the mobile device.
- the command phrase for placing a call includes a call command and a call parameter.
- the mobile device may detect “OK Google Now, Call Bob on his cell phone.” In this case, “OK Google Now” is the trigger phrase, “Call” is the call command, and “Bob on his cell phone” is the call parameter.
- the mobile device may detect “OK Google Now, Call Charlie.” In this case, the trigger phrase and call command are the same as the previous example, but the call parameter is simply “Charlie.”
- the mobile device may detect “OK Google Now, Dial 1-800-555-1234.” In this case, “OK Google Now” is the trigger phrase, “Dial” is the call command, and “1-800-555-1234” is the call parameter.
- the various embodiments described herein allow a mobile device to validate the command phrase for placing a call. For example, if the call parameter is readily recognized as “Charlie”, the mobile device may validate the command phrase by searching an address book. If the address book includes a frequently called contact with a name of “Charlie”, the mobile device may automatically place a call to that contact without further action by the user. Alternatively, if the call parameter is recognized as spoken digits such as “1-800-555-1234”, the mobile device may validate the digits against a phone numbering plan prior to placing the call.
- a set of target contacts are selected based on respective voice validation scores and respective contact confidence scores.
- a phone call is automatically placed to a priority contact if a voice validation score and contact confidence score for the priority contact meet a validation threshold.
- numeric digits detected in a command phrase are validated as a phone number against a predetermined numbering plan. A call is automatically placed to the phone number if the phone number is validated.
- the mobile device 100 may be any type of device capable of storing and executing multiple applications. Examples of the mobile device 100 include, but are not limited to, mobile devices, smart phones, smart watches, wireless devices, tablet computing devices, personal digital assistants, personal navigation devices, touch screen input device, touch or pen-based input devices, portable video and/or audio players, and the like. It is to be understood that the mobile device 100 may take the form of a variety of form factors, such as, but not limited to, bar, tablet, flip/clam, slider, rotator, and wearable form factors.
- the mobile device 100 has a housing 101 comprising a front surface 103 which includes a visible display 105 and a user interface.
- the user interface may be a touch screen including a touch-sensitive surface that overlays the display 105 .
- the user interface or touch screen of the mobile device 100 may include a touch-sensitive surface supported by the housing 101 that does not overlay any type of display.
- the user interface of the mobile device 100 may include one or more input keys 107 . Examples of the input key or keys 107 include, but are not limited to, keys of an alpha or numeric keypad or keyboard, a physical keys, touch-sensitive surfaces, mechanical surfaces, multipoint directional keys and side buttons or keys 107 .
- the mobile device 100 may also comprise a speaker 109 and microphone 111 for audio output and input at the surface. It is to be understood that the mobile device 100 may include a variety of different combination of displays and interfaces.
- the mobile device 100 includes one or more sensors 113 positioned at or within an exterior boundary of the housing 101 .
- the sensor or sensors 113 may be positioned at the front surface 103 and/or another surface (such as one or more side surfaces 115 ) of the exterior boundary of the housing 101 .
- the sensor or sensors 113 may include an exterior sensor supported at the exterior boundary to detect an environmental condition associated with an environment external to the housing.
- the sensor or sensors 113 may also, or in the alternative, include an interior sensors supported within the exterior boundary (i.e., internal to the housing) to detect a condition of the device itself. Examples of the sensors 113 are described below in reference to FIG. 2 .
- the example components may include one or more communication components 201 , one or more processors 203 , one or more memories 205 , one or more output components 207 , and one or more input components 209 .
- Each component may include a user interface that comprises one or more input components 209 .
- Each communication component 201 may include a wireless receiver, transmitter or transceiver.
- Each communication component 201 may utilize wireless technology for communication, such as, but are not limited to, cellular-based communications such as analog communications (using AMPS), digital communications (using CDMA, TDMA, GSM, iDEN, GPRS, or EDGE), and next generation communications (using UMTS, WCDMA, LTE, or IEEE 802.16) and their variants, as represented by cellular transceiver 211 .
- Each communication component 201 may also utilize wireless technology for communication, such as, but are not limited to, peer-to-peer or ad hoc communications such as HomeRF, Bluetooth and IEEE 802.11(a, b, g or n); and other forms of wireless communication such as infrared technology, as represented by WLAN transceiver 213 .
- each communication component 201 may be a receiver, a transmitter or both.
- the example components 200 may further include a device interface 215 to provide a direct connection to auxiliary components or accessories for additional or enhanced functionality.
- the example components 200 may include a power source or supply 217 , such as a portable battery, for providing power to the other example components and allow portability of the mobile device 100 .
- the processor 203 may generate commands based on information received from one or more communication components 201 and/or one or more input components 209 .
- the processor 203 may process the received information alone or in combination with other data, such as the information stored in the memory 205 .
- the memory 205 of the example components 200 may be used by the processor 203 to store and retrieve data.
- the data that may be stored by the memory 205 include, but is not limited to, operating systems, applications, and data.
- Each operating system includes executable code that controls basic functions of the mobile device, such as interaction among the components of the example components 200 , communication with external devices via each communication component 201 and/or the device interface (see below), and storage and retrieval of applications and data to and from the memory 205 .
- the memory 205 includes multiple applications, and each application includes executable code utilizes an operating system to provide more specific functionality for the mobile device.
- Data is non-executable code or information that may be referenced and/or manipulated by an operating system or application for performing functions of the mobile device.
- the input components 209 may produce an input signal in response to detecting a predetermined gesture at a first input component 219 , such as a gesture sensor.
- a gesture sensor is, but not limited to, a touch-sensitive sensor having a touch-sensitive surface substantially parallel to the display.
- the touch-sensitive sensor may include at least one of a capacitive touch sensor, a resistive touch sensor, an acoustic sensor, an ultrasonic sensor, a proximity sensor, or an optical sensor.
- the input components 209 may also include other sensors, such as the visible light sensor, the motion sensor and the proximity sensor described above.
- the output components 207 of the example components 200 may include one or more video, audio and/or mechanical outputs.
- the output components 207 may include a video output component such as a cathode ray tube, liquid crystal display, plasma display, incandescent light, fluorescent light, front or rear projection display, and light emitting diode indicator.
- Other examples of output components 207 include an audio output component such as a speaker, alarm and/or buzzer, and/or a mechanical output component such as vibrating or motion-based mechanisms.
- FIG. 2 is provided for illustrative purposes only and for illustrating components of a mobile device in accordance with the present invention, and is not intended to be a complete schematic diagram of the various components required for a mobile device. Therefore, a mobile device may include various other components not shown in FIG. 2 , or may include a combination of two or more components or a division of a particular component into two or more separate components, and still be within the scope of the present invention.
- process flows 300 , 400 , and 500 illustrate an embodiment of a method for validation of a command phrase that may be performed by the mobile device 100 .
- the mobile device 100 monitors an audio input, such as an audio input from the microphone 111 .
- a trigger phrase e.g., “OK Google Now”
- the mobile device 100 stores a command phrase that follows the trigger phrase.
- the command phrase or a portion thereof in one example is buffered in the memory 205 and provided to the processor 203 .
- the command phrase is provided directly to the processor 203 .
- the mobile device 100 determines whether the command phrase includes a call command for a current call. Examples of a call command include “Call”, “Dial”, “Place a call to”, and other words or phrases that will be apparent those skilled in the art.
- the call commands in one example are included in a call command whitelist.
- the mobile device 100 determines a command confidence score for the call command.
- the mobile device 100 analyzes the command phrase or a portion thereof (e.g., only the call command) with a voice recognition engine, such as those provided by Nuance (Nuance Communications, Inc.; Burlington, Mass.), or other processing algorithm to determine the command confidence score.
- the command confidence score in this case is a numerical value (e.g., between 0 and 100 with 100 being most confident) that indicates a relative confidence level of the detection of a call command.
- the mobile device 100 in one example provides the call command whitelist and the call command to the voice recognition engine to receive the command confidence score.
- the call command whitelist may be provided to the voice recognition engine prior to the call command (e.g., during installation, configuration, initialization, etc.).
- the mobile device 100 determines ( 304 ) whether the command confidence score meets a command threshold (e.g., is greater than or equal to 40).
- the command confidence score is determined or received as a valid or invalid indication, or a tiered response indication (e.g., high confidence, medium confidence, low confidence).
- a command threshold e.g., is greater than or equal to 40.
- the command confidence score is determined or received as a valid or invalid indication, or a tiered response indication (e.g., high confidence, medium confidence, low confidence).
- a tiered response indication e.g., high confidence, medium confidence, low confidence
- the mobile device 100 may also compare the call command to a list of predetermined words or phrases that may be misidentified as call commands. For example, the mobile device 100 may use a blacklist of words or phrases such as “How tall is . . . ” or “denial” which may be misidentified as “Call” or “Dial”, respectively. If the command phrase is a closer match to the blacklist phrase than to a legitimate call command (e.g., on the whitelist), then the mobile device 100 proceeds to step 306 . Additionally, the mobile device 100 may determine whether the command phrase is located in the middle of a conversation.
- a blacklist of words or phrases such as “How tall is . . . ” or “denial” which may be misidentified as “Call” or “Dial”, respectively. If the command phrase is a closer match to the blacklist phrase than to a legitimate call command (e.g., on the whitelist), then the mobile device 100 proceeds to step 306 . Additionally, the mobile device 100 may determine whether the command phrase is
- the mobile device 100 determines whether an audio length of the command phrase is longer than a predetermined threshold, such as five seconds, to prevent an attempt to validate a user's conversation.
- the mobile device 100 invalidates the call command if the audio length exceeds the predetermined threshold and proceeds to step 306 .
- the mobile device 100 analyzes ( 306 ) the command phrase with a voice command engine (e.g., engines provided by Google Now, Sensory, or Nuance), for example, to provide general command recognition instead of call command validation.
- a voice command engine e.g., engines provided by Google Now, Sensory, or Nuance
- the command confidence score indicates that the call command may have been incorrectly identified. For example, if the command phrase is “How tall is Mount Everest?”, “How tall is” may be recognized as a blacklist phrase, but additional processing by the voice command engine may allow a response to be provided.
- the mobile device 100 determines ( 308 ) whether the call parameter includes spoken digits (e.g., “1-800-555-1234”). If spoken digits are detected (YES at 308 ), the mobile device 100 validates ( 310 ) the spoken digits (e.g., the call parameter) against a predetermined phone numbering plan. Examples of phone numbering plans include the North American Numbering Plan, E.164, satellite phone number plans, or private numbering plans (e.g., for a private branch exchange). The mobile device 100 in one example selects a numbering plan based on its current geographic location (e.g., North America or Europe). In another example, the numbering plan includes a blacklist of phone numbers.
- the blacklist includes phone numbers that should not be automatically dialed, such as emergency response numbers (e.g., 9-1-1), international phone numbers, or phone numbers that may incur additional fees.
- the blacklist may be populated by a wireless service provider, government entity, or by the user of the mobile device 100 . If the call parameter is not validated (NO at 310 ), the mobile device 100 proceeds to step 306 . If the call parameter is validated and thus contains a phone number (YES at 310 ), the mobile device 100 proceeds to step 504 ( FIG. 5 ).
- the mobile device 100 determines a voice validation score for the phone number that indicates a relative confidence level of the detection of phone number (e.g., to avoid mistaken detections such as detecting a “five” as a “nine”).
- the mobile device 100 uses the voice recognition engine for determination of the voice validation score.
- the mobile device 100 validates the call parameter against a set of call contacts, such as an address book associated with the mobile device 100 .
- the mobile device 100 generates ( 312 ) a set of voice validation scores that correspond to the set of call contacts in the address book.
- the voice validation scores indicate a relative confidence level of the detection of the corresponding contact's spoken name.
- the mobile device 100 provides the set of call contacts to the voice recognition engine along with the call parameter.
- the set of call contacts may be provided to the voice recognition engine prior to the call parameter (e.g., during installation, configuration, initialization, etc.).
- the set of voice validation scores in one example are numerical values (e.g., 0 to 100).
- the voice validation score received as a valid or invalid indication, or a tiered response indication (e.g., high confidence, medium confidence, low confidence). Other implementations of the voice validation score will be apparent to those skilled in the art.
- the mobile device 100 selects ( 314 ) a set of target contacts from the set of call contacts based on the voice validation scores. For example, the mobile device 100 selects only those contacts with a voice validation score within a selected range of a highest voice validation score.
- the user may have call contacts in his address book including Andrea, Brad, Brent, and Charlie. In this case, if the user speaks “OK Google Now, Call Brent at his home”, the voice validation scores may be 0, 85, 95, and 0, respectively. If the selected range is 10, the target contacts are Brad and Brent (Brent having the highest voice validation score of 95). If the selected range is 5, the target contact is only Brent.
- the selected range may be predetermined or dynamically determined by the mobile device 100 (e.g., based on prior voice recognition history). In alternative implementations, the selected range may include “high confidence” voice validation scores or both “high confidence” and “medium confidence” scores. Other selected ranges will be apparent to those skilled in the art, for example, based on the type of voice validation score used.
- the mobile device 100 Once the set of target contacts have been selected (e.g., those with a sufficiently high voice validation score), the mobile device 100 generates a contact confidence score for the target contacts.
- the contact confidence scores indicate a relative importance of the corresponding contact to the user of the mobile device 100 and may be a numbered value (e.g., 0 to 100), a ranked list, or other relative indicator for comparison of the contacts.
- the mobile device 100 in one example generates the contact confidence scores for each of the set of target contacts based on a user context associated with the user.
- the user context of a contact includes one or more of a recency of last communication (e.g., phone calls, text messages, emails, etc.), frequency of communication, placement on a “favorites list” by the user, relation to a calendar event or appointment (e.g., a current calendar event of “Call Brent at 10:00 AM”), or other contextual indicators as will be apparent to those skilled in the art.
- a recency of last communication e.g., phone calls, text messages, emails, etc.
- frequency of communication e.g., placement on a “favorites list” by the user
- relation to a calendar event or appointment e.g., a current calendar event of “Call Brent at 10:00 AM”
- the mobile device 100 generates the contact confidence scores prior to recognizing ( 312 ) the call command.
- the mobile device 100 may use a context engine that analyzes the user context to update contact confidence scores on a schedule-driven basis (e.g., a predetermined schedule or dynamic schedule) or on an event-driven basis (e.g., when a communication is sent to a contact).
- the mobile device 100 e.g., the context engine
- the context engine in one example is an application or service that is executed by the mobile device 100 .
- the mobile device 100 selects ( 318 ) respective phone numbers for the set of target contacts.
- the call parameter is “Brent at his home”
- the mobile device 100 detects a phone type specified within the call parameter, such as “at his home”.
- the mobile device 100 in one example uses a whitelist of words or phrases that specify phone types, such as for a cell or mobile phone, home phone, business phone, or others as will be apparent to those skilled in the art.
- the call parameter may not include a phone type and simply identify a contact (e.g., “Call Brent”).
- the mobile device 100 selects a most likely phone number based on the specified phone type (if available) and the user context.
- the mobile device 100 queries the context engine with the specified phone type to receive the most likely phone number. If the specified phone type is not available or if no phone number is received from a query with the specified phone type (e.g., “at his home” but no home phone number is listed in the contact), the mobile device 100 queries without the phone type specified.
- the context engine may provide a most likely number based on user context or selected from a predetermined priority order as available (e.g., mobile phone as highest priority, then home, then work). Where the user context is not available for a contact or if the contact is not on the VIP list, the mobile device 100 selects the phone number based on the predetermined priority order.
- the mobile device 100 determines ( 402 ) whether the set of target contacts contains only a single contact without a specified phone type. In this case (YES at 402 ), the mobile device 100 obtains each of the phone numbers stored (e.g., in the address book) for the single contact and proceeds to step 408 . If the set of target contacts contains more than one contact or has a specified phone type, the mobile device 100 determines ( 406 ) whether a priority contact for the current call has been found, based on the voice validation score, the contact confidence score, or a combination thereof.
- a priority contact is a contact with a voice validation score that meets a validation threshold (e.g., at least 60), a contact confidence score that meets a confidence threshold (e.g., at least 60), or with both thresholds met.
- the mobile device 100 uses a weighting algorithm based on the voice validation score and contact confidence score to provide a higher likelihood of “priority” status for a contact on the VIP list. If the validation and confidence thresholds are met and a priority contact is found, the mobile device 100 proceeds to step 502 ( FIG. 5 ).
- the mobile device 100 sorts the target contacts and phone numbers.
- the mobile device 100 in one example sorts the contacts and numbers using a weighting algorithm based on the voice validation score and contact confidence score. After sorting, the mobile device 100 proceeds to step 502 ( FIG. 5 ).
- the mobile device 100 determines ( 502 ) whether the set of target contacts contains a single entry (e.g., a single contact with a single selected phone number). If a single entry is not found (NO at 502 ), the mobile device 100 prompts ( 506 ) the user to indicate that multiple entries (e.g., multiple target contacts or multiple phone numbers) have been found.
- the communication ( 506 ) in one example is a notification that multiple entries have been found and a prompt for further input. In another example, the communication is a list of the multiple entries (or a portion thereof).
- the mobile device 100 communicates the multiple entries by a visual interface (e.g., on the display 105 ), a text-to-speech interface (e.g., via the speaker 109 ), or a combination thereof.
- the mobile device 100 communicates only a portion of the multiple entries selected based on their relative voice validation scores or contact confidence scores.
- the communication includes a prompt for the user to select one or more user interface options, such as communicating all of the entries found, sequentially listing the entries, or selecting an entry for placement of the current call. If the user selects an option for communicating the entries (YES at 508 ), the mobile device 100 communicates ( 510 ) the found entries (e.g., contacts or phone numbers) via the visual or text-to-speech interface.
- the mobile device 100 determines ( 512 ) whether an entry has been selected by the user. Upon selection of an entry (YES at 512 ), the mobile device 100 places ( 514 ) a call to the selected entry. If the user does not select an entry within a predetermined timeout period such as five seconds (NO at 512 ), the process ends for the current call.
- a predetermined timeout period such as five seconds
- the mobile device 100 determines ( 504 ) whether the single entry is a priority contact based on the voice validation score, the contact confidence score, or a combination thereof.
- a priority contact may be a contact with a voice validation score that meets the validation threshold or a contact confidence score that meets the contact threshold.
- the mobile device 100 may determine that a valid phone number (YES at 310 ) is a priority contact if the corresponding voice validation score meets the validation threshold.
- other thresholds may be used at step 504 for determination of the priority contact.
- the mobile device 100 dynamically determines at least one of the validation threshold or contact threshold based on a device context for the mobile device 100 .
- the mobile device 100 selects a higher threshold when the mobile device 100 is currently stowed (e.g., in a pocket or bag), the user is currently driving, the user is currently in a meeting, whether a headset (e.g., Bluetooth or wired headset) is currently connected, or other criteria, as will be apparent to those skilled in the art.
- a headset e.g., Bluetooth or wired headset
- the mobile device 100 Upon determination that a priority contact has been found (YES at 504 ), the mobile device 100 communicates ( 516 ) that an automatic call placement is (or will) take place, for example, via the visual or text-to-speech interface (e.g., “Calling Brent at home”). This provides an opportunity for the user to cancel the call prior to automatic placement of the call.
- the mobile device 100 determines ( 518 ) whether the user has canceled the call, for example, within a predetermined timeout period (e.g., four seconds). If the user cancels the call (YES at 518 ), for example, via a spoken command (“Cancel”) or other interaction with the mobile device 100 , the process ends for the current call. If the user does not cancel the call (NO at 518 ), the mobile device 100 automatically places the call to the priority contact.
- a predetermined timeout period e.g., four seconds
- the mobile device 100 prompts ( 520 ) the user with a call confirmation via the visual or text-to-speech interface (e.g., “Should I call Brent at home?” or “Press here to place call”).
- the mobile device 100 determines ( 522 ) whether the user has confirmed the call, for example, within a predetermined timeout period (e.g., ten seconds). If the user confirms the call (YES at 522 ), for example, via a spoken command (“Yes”) or other interaction with the mobile device 100 , the mobile device 100 places ( 514 ) the call. If the user does not confirm the call (NO at 522 ), the process ends for the current call.
- a predetermined timeout period e.g., ten seconds
- the mobile device 100 monitors ( 602 ) an audio input (e.g., the microphone 111 ) for a trigger phrase spoken by a user of the mobile device 100 .
- the mobile device 100 performs the monitoring in a low power mode, such as with a low power digital signal processor while an application processor is in a low power state.
- the mobile device 100 buffers ( 604 ) a command phrase spoken by the user after the trigger phrase ( 604 ).
- the command phrase corresponds to a call command and a call parameter.
- the mobile device 100 in one example wakes from the low power mode (e.g., wakes the application processor) upon detection of the trigger phrase and buffers the command phrase while the application processor is initialized.
- the mobile device 100 selects ( 606 ) a set of target contacts associated with the mobile device based on respective voice validation scores and respective contact confidence scores.
- the respective voice validation scores are based on the call parameter and the respective contact confidence scores are based on a user context associated with the user.
- the mobile device 100 determines ( 608 ) whether the voice validation score and contact confidence score for a priority contact meet corresponding validation and contact thresholds.
- the mobile device 100 automatically places ( 610 ) the call to the priority contact if the thresholds are met (YES at 608 ).
- the mobile device 100 monitors ( 702 ) an audio input (e.g., the microphone 111 ) for a trigger phrase spoken by a user of the mobile device 100 .
- the mobile device 100 performs the monitoring in a low power mode, such as with a low power digital signal processor while an application processor is in a low power state.
- the mobile device 100 buffers ( 704 ) a command phrase spoken by the user after the trigger phrase ( 604 ).
- the command phrase corresponds to a call command and a call parameter.
- the mobile device 100 in one example wakes from the low power mode (e.g., wakes the application processor) upon detection of the trigger phrase and buffers the command phrase while the application processor is initialized. If numeric digits are detected in the call parameter, the mobile device 100 validates ( 706 ) the numeric digits as a phone number against a predetermined phone numbering plan. If the digits are validated (YES at 708 ), the mobile device 100 automatically places ( 710 ) a call to the phone number.
- the low power mode e.g., wakes the application processor
- the apparatus described herein may include a processor, a memory for storing program data to be executed by the processor, a permanent storage such as a disk drive, a communications port for handling communications with external devices, and user interface devices, including a display, touch panel, keys, buttons, etc.
- these software modules may be stored as program instructions or computer readable code executable by the processor on a non-transitory computer-readable media such as magnetic storage media (e.g., magnetic tapes, hard disks, floppy disks), optical recording media (e.g., CD-ROMs, Digital Versatile Discs (DVDs), etc.), and solid state memory (e.g., random-access memory (RAM), read-only memory (ROM), static random-access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), flash memory, thumb drives, etc.).
- the computer readable recording media may also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. This computer readable recording media may be read by the computer, stored in the memory, and executed by the processor.
- the disclosed embodiments may be described in terms of functional block components and various processing steps. Such functional blocks may be realized by any number of hardware and/or software components configured to perform the specified functions.
- the disclosed embodiments may employ various integrated circuit components, e.g., memory elements, processing elements, logic elements, look-up tables, and the like, which may carry out a variety of functions under the control of one or more microprocessors or other control devices.
- the elements of the disclosed embodiments are implemented using software programming or software elements
- the disclosed embodiments may be implemented with any programming or scripting language such as C, C++, JAVA®, assembler, or the like, with the various algorithms being implemented with any combination of data structures, objects, processes, routines or other programming elements.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Acoustics & Sound (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Telephone Function (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
A method on a mobile device for a wireless network is described. An audio input is monitored for a trigger phrase spoken by a user of the mobile device. A command phrase spoken by the user after the trigger phrase is buffered. The command phrase corresponds to a call command and a call parameter. A set of target contacts associated with the mobile device is selected based on respective voice validation scores and respective contact confidence scores. The respective voice validation scores are based on the call parameter. The respective contact confidence scores are based on a user context associated with the user. A call to a priority contact of the set of target contacts is automatically placed if the voice validation score of the priority contact meets a validation threshold and the contact confidence score of the priority contact meets a confidence threshold.
Description
- The present application claims priority to U.S. Provisional Patent Application 61/889,938, filed Oct. 11, 2013 and to U.S. Provisional Patent Application 61/857,696, filed Jul. 23, 2013, the contents of all of which are hereby incorporated by reference herein.
- The present disclosure relates to processing audio signals and, more particularly, to methods and devices for audio signals including voice or speech.
- Although speech recognition has been around for decades, the quality of speech recognition software and hardware has only recently reached a high enough level to appeal to a large number of consumers. One area in which speech recognition has become very popular in recent years is the smartphone and tablet computer industry. Using a speech recognition-enabled device, a consumer can perform such tasks as making phone calls, writing emails, and navigating with GPS, strictly by voice.
- Speech recognition in such devices is far from perfect, however. When using a speech recognition-enabled device for the first time, the user may need to “train” the speech recognition software to recognize his or her voice. Even after training, however, the speech recognition functions may not work well in all sound environments. An unintended call that is placed may results from inaccurate voice recognition of audio that is captured. Occurrences of these types of calls could result in negative financial, legal and social implications, and may lead to user avoiding the use of a voice recognition system for making calls.
- While the appended claims set forth the features of the present techniques with particularity, these techniques, together with their objects and advantages, may be best understood from the following detailed description taken in conjunction with the accompanying drawings of which:
-
FIG. 1 is a block diagram illustrating a mobile device, according to an embodiment; -
FIG. 2 is a block diagram of example components of a mobile device, according to an embodiment; -
FIGS. 3 , 4, and 5 illustrate a process flow of a method for validating a command phrase that may be performed by the mobile device ofFIG. 1 , according to an embodiment; -
FIG. 6 is a process flow of a method for automatically dialing a priority contact that may be performed by the mobile device ofFIG. 1 , according to an embodiment; -
FIG. 7 is a process flow of a method for automatically dialing a phone number that may be performed by the mobile device ofFIG. 1 , according to an embodiment. - Turning to the drawings, wherein like reference numerals refer to like elements, techniques of the present disclosure are illustrated as being implemented in a suitable environment. The following description is based on embodiments of the claims and should not be taken as limiting the claims with regard to alternative embodiments that are not explicitly described herein.
- Avoidance of placing of unintended calls (e.g., “ghost calls”) is particularly relevant for mobile devices that provide an “always on” voice recognition system. In an always-on system, the mobile device may be configured to monitor or listen for a trigger phrase spoken by a user of the mobile device, followed by a command phrase. Trigger phrases spoken by the user, such as “OK, Google Now” may be previously “learned” in a training session for the mobile device; however, the trigger phrase may be incorrectly identified due to various factors, such as background noise or obstructions between the user and the mobile device.
- Validation of the command phrase allows for a reduction in the placement of unintended calls. The command phrase for placing a call includes a call command and a call parameter. As one example, the mobile device may detect “OK Google Now, Call Bob on his cell phone.” In this case, “OK Google Now” is the trigger phrase, “Call” is the call command, and “Bob on his cell phone” is the call parameter. As another example, the mobile device may detect “OK Google Now, Call Charlie.” In this case, the trigger phrase and call command are the same as the previous example, but the call parameter is simply “Charlie.” As a third example, the mobile device may detect “OK Google Now, Dial 1-800-555-1234.” In this case, “OK Google Now” is the trigger phrase, “Dial” is the call command, and “1-800-555-1234” is the call parameter.
- The various embodiments described herein allow a mobile device to validate the command phrase for placing a call. For example, if the call parameter is readily recognized as “Charlie”, the mobile device may validate the command phrase by searching an address book. If the address book includes a frequently called contact with a name of “Charlie”, the mobile device may automatically place a call to that contact without further action by the user. Alternatively, if the call parameter is recognized as spoken digits such as “1-800-555-1234”, the mobile device may validate the digits against a phone numbering plan prior to placing the call.
- In one embodiment, a set of target contacts are selected based on respective voice validation scores and respective contact confidence scores. A phone call is automatically placed to a priority contact if a voice validation score and contact confidence score for the priority contact meet a validation threshold.
- In another embodiment, numeric digits detected in a command phrase are validated as a phone number against a predetermined numbering plan. A call is automatically placed to the phone number if the phone number is validated.
- Referring to
FIG. 1 , there is illustrated a perspective view of an examplemobile device 100. Themobile device 100 may be any type of device capable of storing and executing multiple applications. Examples of themobile device 100 include, but are not limited to, mobile devices, smart phones, smart watches, wireless devices, tablet computing devices, personal digital assistants, personal navigation devices, touch screen input device, touch or pen-based input devices, portable video and/or audio players, and the like. It is to be understood that themobile device 100 may take the form of a variety of form factors, such as, but not limited to, bar, tablet, flip/clam, slider, rotator, and wearable form factors. - For one embodiment, the
mobile device 100 has ahousing 101 comprising afront surface 103 which includes avisible display 105 and a user interface. For example, the user interface may be a touch screen including a touch-sensitive surface that overlays thedisplay 105. For another embodiment, the user interface or touch screen of themobile device 100 may include a touch-sensitive surface supported by thehousing 101 that does not overlay any type of display. For yet another embodiment, the user interface of themobile device 100 may include one ormore input keys 107. Examples of the input key orkeys 107 include, but are not limited to, keys of an alpha or numeric keypad or keyboard, a physical keys, touch-sensitive surfaces, mechanical surfaces, multipoint directional keys and side buttons orkeys 107. Themobile device 100 may also comprise aspeaker 109 and microphone 111 for audio output and input at the surface. It is to be understood that themobile device 100 may include a variety of different combination of displays and interfaces. - The
mobile device 100 includes one ormore sensors 113 positioned at or within an exterior boundary of thehousing 101. For example, as illustrated byFIG. 1 , the sensor orsensors 113 may be positioned at thefront surface 103 and/or another surface (such as one or more side surfaces 115) of the exterior boundary of thehousing 101. The sensor orsensors 113 may include an exterior sensor supported at the exterior boundary to detect an environmental condition associated with an environment external to the housing. The sensor orsensors 113 may also, or in the alternative, include an interior sensors supported within the exterior boundary (i.e., internal to the housing) to detect a condition of the device itself. Examples of thesensors 113 are described below in reference toFIG. 2 . - Referring to
FIG. 2 , a block diagram representingexample components 200 that may be used for one or more embodiments is shown. The example components may include one ormore communication components 201, one ormore processors 203, one ormore memories 205, one ormore output components 207, and one ormore input components 209. Each component may include a user interface that comprises one ormore input components 209. Eachcommunication component 201 may include a wireless receiver, transmitter or transceiver. Eachcommunication component 201 may utilize wireless technology for communication, such as, but are not limited to, cellular-based communications such as analog communications (using AMPS), digital communications (using CDMA, TDMA, GSM, iDEN, GPRS, or EDGE), and next generation communications (using UMTS, WCDMA, LTE, or IEEE 802.16) and their variants, as represented bycellular transceiver 211. Eachcommunication component 201 may also utilize wireless technology for communication, such as, but are not limited to, peer-to-peer or ad hoc communications such as HomeRF, Bluetooth and IEEE 802.11(a, b, g or n); and other forms of wireless communication such as infrared technology, as represented byWLAN transceiver 213. Also, eachcommunication component 201 may be a receiver, a transmitter or both. - The
example components 200 may further include adevice interface 215 to provide a direct connection to auxiliary components or accessories for additional or enhanced functionality. In addition, theexample components 200 may include a power source orsupply 217, such as a portable battery, for providing power to the other example components and allow portability of themobile device 100. - The
processor 203 may generate commands based on information received from one ormore communication components 201 and/or one ormore input components 209. Theprocessor 203 may process the received information alone or in combination with other data, such as the information stored in thememory 205. Thus, thememory 205 of theexample components 200 may be used by theprocessor 203 to store and retrieve data. The data that may be stored by thememory 205 include, but is not limited to, operating systems, applications, and data. Each operating system includes executable code that controls basic functions of the mobile device, such as interaction among the components of theexample components 200, communication with external devices via eachcommunication component 201 and/or the device interface (see below), and storage and retrieval of applications and data to and from thememory 205. Thememory 205 includes multiple applications, and each application includes executable code utilizes an operating system to provide more specific functionality for the mobile device. Data is non-executable code or information that may be referenced and/or manipulated by an operating system or application for performing functions of the mobile device. - The
input components 209, such as components of the user interface, may produce an input signal in response to detecting a predetermined gesture at a first input component 219, such as a gesture sensor. An example of a gesture sensor is, but not limited to, a touch-sensitive sensor having a touch-sensitive surface substantially parallel to the display. The touch-sensitive sensor may include at least one of a capacitive touch sensor, a resistive touch sensor, an acoustic sensor, an ultrasonic sensor, a proximity sensor, or an optical sensor. - The
input components 209 may also include other sensors, such as the visible light sensor, the motion sensor and the proximity sensor described above. Likewise, theoutput components 207 of theexample components 200 may include one or more video, audio and/or mechanical outputs. For example, theoutput components 207 may include a video output component such as a cathode ray tube, liquid crystal display, plasma display, incandescent light, fluorescent light, front or rear projection display, and light emitting diode indicator. Other examples ofoutput components 207 include an audio output component such as a speaker, alarm and/or buzzer, and/or a mechanical output component such as vibrating or motion-based mechanisms. - It is to be understood that
FIG. 2 is provided for illustrative purposes only and for illustrating components of a mobile device in accordance with the present invention, and is not intended to be a complete schematic diagram of the various components required for a mobile device. Therefore, a mobile device may include various other components not shown inFIG. 2 , or may include a combination of two or more components or a division of a particular component into two or more separate components, and still be within the scope of the present invention. - Turning to
FIGS. 3 , 4, and 5, process flows 300, 400, and 500 illustrate an embodiment of a method for validation of a command phrase that may be performed by themobile device 100. As a user of themobile device 100 is speaking, themobile device 100 monitors an audio input, such as an audio input from themicrophone 111. Upon detection of a trigger phrase (e.g., “OK Google Now”), themobile device 100 stores a command phrase that follows the trigger phrase. The command phrase or a portion thereof in one example is buffered in thememory 205 and provided to theprocessor 203. In another example, the command phrase is provided directly to theprocessor 203. Themobile device 100 determines whether the command phrase includes a call command for a current call. Examples of a call command include “Call”, “Dial”, “Place a call to”, and other words or phrases that will be apparent those skilled in the art. The call commands in one example are included in a call command whitelist. - When the
mobile device 100 recognizes (302) a call command, themobile device 100 determines a command confidence score for the call command. In one example, themobile device 100 analyzes the command phrase or a portion thereof (e.g., only the call command) with a voice recognition engine, such as those provided by Nuance (Nuance Communications, Inc.; Burlington, Mass.), or other processing algorithm to determine the command confidence score. The command confidence score in this case is a numerical value (e.g., between 0 and 100 with 100 being most confident) that indicates a relative confidence level of the detection of a call command. Themobile device 100 in one example provides the call command whitelist and the call command to the voice recognition engine to receive the command confidence score. Alternatively, the call command whitelist may be provided to the voice recognition engine prior to the call command (e.g., during installation, configuration, initialization, etc.). Themobile device 100 determines (304) whether the command confidence score meets a command threshold (e.g., is greater than or equal to 40). In alternative embodiments, the command confidence score is determined or received as a valid or invalid indication, or a tiered response indication (e.g., high confidence, medium confidence, low confidence). Other implementations of the command confidence score will be apparent to those skilled in the art. - In addition to determining (304) the command confidence score, the
mobile device 100 may also compare the call command to a list of predetermined words or phrases that may be misidentified as call commands. For example, themobile device 100 may use a blacklist of words or phrases such as “How tall is . . . ” or “denial” which may be misidentified as “Call” or “Dial”, respectively. If the command phrase is a closer match to the blacklist phrase than to a legitimate call command (e.g., on the whitelist), then themobile device 100 proceeds to step 306. Additionally, themobile device 100 may determine whether the command phrase is located in the middle of a conversation. In this case, themobile device 100 determines whether an audio length of the command phrase is longer than a predetermined threshold, such as five seconds, to prevent an attempt to validate a user's conversation. Themobile device 100 invalidates the call command if the audio length exceeds the predetermined threshold and proceeds to step 306. - If the command threshold is not met (NO at 304), the
mobile device 100 analyzes (306) the command phrase with a voice command engine (e.g., engines provided by Google Now, Sensory, or Nuance), for example, to provide general command recognition instead of call command validation. In this case, the command confidence score indicates that the call command may have been incorrectly identified. For example, if the command phrase is “How tall is Mount Everest?”, “How tall is” may be recognized as a blacklist phrase, but additional processing by the voice command engine may allow a response to be provided. - If the command threshold is met (YES at 304), the
mobile device 100 determines (308) whether the call parameter includes spoken digits (e.g., “1-800-555-1234”). If spoken digits are detected (YES at 308), themobile device 100 validates (310) the spoken digits (e.g., the call parameter) against a predetermined phone numbering plan. Examples of phone numbering plans include the North American Numbering Plan, E.164, satellite phone number plans, or private numbering plans (e.g., for a private branch exchange). Themobile device 100 in one example selects a numbering plan based on its current geographic location (e.g., North America or Europe). In another example, the numbering plan includes a blacklist of phone numbers. The blacklist includes phone numbers that should not be automatically dialed, such as emergency response numbers (e.g., 9-1-1), international phone numbers, or phone numbers that may incur additional fees. The blacklist may be populated by a wireless service provider, government entity, or by the user of themobile device 100. If the call parameter is not validated (NO at 310), themobile device 100 proceeds to step 306. If the call parameter is validated and thus contains a phone number (YES at 310), themobile device 100 proceeds to step 504 (FIG. 5 ). Optionally, themobile device 100 determines a voice validation score for the phone number that indicates a relative confidence level of the detection of phone number (e.g., to avoid mistaken detections such as detecting a “five” as a “nine”). Themobile device 100 uses the voice recognition engine for determination of the voice validation score. - If spoken digits are not detected (NO at 308), the
mobile device 100 validates the call parameter against a set of call contacts, such as an address book associated with themobile device 100. Themobile device 100 generates (312) a set of voice validation scores that correspond to the set of call contacts in the address book. The voice validation scores indicate a relative confidence level of the detection of the corresponding contact's spoken name. In one example, themobile device 100 provides the set of call contacts to the voice recognition engine along with the call parameter. The set of call contacts may be provided to the voice recognition engine prior to the call parameter (e.g., during installation, configuration, initialization, etc.). The set of voice validation scores in one example are numerical values (e.g., 0 to 100). In alternative embodiments, the voice validation score received as a valid or invalid indication, or a tiered response indication (e.g., high confidence, medium confidence, low confidence). Other implementations of the voice validation score will be apparent to those skilled in the art. - The
mobile device 100 selects (314) a set of target contacts from the set of call contacts based on the voice validation scores. For example, themobile device 100 selects only those contacts with a voice validation score within a selected range of a highest voice validation score. As one example, the user may have call contacts in his address book including Andrea, Brad, Brent, and Charlie. In this case, if the user speaks “OK Google Now, Call Brent at his home”, the voice validation scores may be 0, 85, 95, and 0, respectively. If the selected range is 10, the target contacts are Brad and Brent (Brent having the highest voice validation score of 95). If the selected range is 5, the target contact is only Brent. The selected range may be predetermined or dynamically determined by the mobile device 100 (e.g., based on prior voice recognition history). In alternative implementations, the selected range may include “high confidence” voice validation scores or both “high confidence” and “medium confidence” scores. Other selected ranges will be apparent to those skilled in the art, for example, based on the type of voice validation score used. - Once the set of target contacts have been selected (e.g., those with a sufficiently high voice validation score), the
mobile device 100 generates a contact confidence score for the target contacts. The contact confidence scores indicate a relative importance of the corresponding contact to the user of themobile device 100 and may be a numbered value (e.g., 0 to 100), a ranked list, or other relative indicator for comparison of the contacts. Themobile device 100 in one example generates the contact confidence scores for each of the set of target contacts based on a user context associated with the user. The user context of a contact includes one or more of a recency of last communication (e.g., phone calls, text messages, emails, etc.), frequency of communication, placement on a “favorites list” by the user, relation to a calendar event or appointment (e.g., a current calendar event of “Call Brent at 10:00 AM”), or other contextual indicators as will be apparent to those skilled in the art. - In an alternative implementation, the
mobile device 100 generates the contact confidence scores prior to recognizing (312) the call command. For example, themobile device 100 may use a context engine that analyzes the user context to update contact confidence scores on a schedule-driven basis (e.g., a predetermined schedule or dynamic schedule) or on an event-driven basis (e.g., when a communication is sent to a contact). In this case, the mobile device 100 (e.g., the context engine) may maintain a “VIP” list of contacts with their respective contact confidence scores. The context engine in one example is an application or service that is executed by themobile device 100. - The
mobile device 100 selects (318) respective phone numbers for the set of target contacts. As one example where the call parameter is “Brent at his home”, themobile device 100 detects a phone type specified within the call parameter, such as “at his home”. Themobile device 100 in one example uses a whitelist of words or phrases that specify phone types, such as for a cell or mobile phone, home phone, business phone, or others as will be apparent to those skilled in the art. As another example, the call parameter may not include a phone type and simply identify a contact (e.g., “Call Brent”). - The
mobile device 100 selects a most likely phone number based on the specified phone type (if available) and the user context. In one example, themobile device 100 queries the context engine with the specified phone type to receive the most likely phone number. If the specified phone type is not available or if no phone number is received from a query with the specified phone type (e.g., “at his home” but no home phone number is listed in the contact), themobile device 100 queries without the phone type specified. In this case, the context engine may provide a most likely number based on user context or selected from a predetermined priority order as available (e.g., mobile phone as highest priority, then home, then work). Where the user context is not available for a contact or if the contact is not on the VIP list, themobile device 100 selects the phone number based on the predetermined priority order. - Referring to
FIG. 4 , after selection (318) of the phone numbers, themobile device 100 determines (402) whether the set of target contacts contains only a single contact without a specified phone type. In this case (YES at 402), themobile device 100 obtains each of the phone numbers stored (e.g., in the address book) for the single contact and proceeds to step 408. If the set of target contacts contains more than one contact or has a specified phone type, themobile device 100 determines (406) whether a priority contact for the current call has been found, based on the voice validation score, the contact confidence score, or a combination thereof. In one example, a priority contact is a contact with a voice validation score that meets a validation threshold (e.g., at least 60), a contact confidence score that meets a confidence threshold (e.g., at least 60), or with both thresholds met. In another example, themobile device 100 uses a weighting algorithm based on the voice validation score and contact confidence score to provide a higher likelihood of “priority” status for a contact on the VIP list. If the validation and confidence thresholds are met and a priority contact is found, themobile device 100 proceeds to step 502 (FIG. 5 ). - If a priority contact is not found (NO at 406), or after obtaining (404) the phone numbers, the
mobile device 100 sorts the target contacts and phone numbers. Themobile device 100 in one example sorts the contacts and numbers using a weighting algorithm based on the voice validation score and contact confidence score. After sorting, themobile device 100 proceeds to step 502 (FIG. 5 ). - Referring to
FIG. 5 , themobile device 100 determines (502) whether the set of target contacts contains a single entry (e.g., a single contact with a single selected phone number). If a single entry is not found (NO at 502), themobile device 100 prompts (506) the user to indicate that multiple entries (e.g., multiple target contacts or multiple phone numbers) have been found. The communication (506) in one example is a notification that multiple entries have been found and a prompt for further input. In another example, the communication is a list of the multiple entries (or a portion thereof). - The
mobile device 100 communicates the multiple entries by a visual interface (e.g., on the display 105), a text-to-speech interface (e.g., via the speaker 109), or a combination thereof. In one example, themobile device 100 communicates only a portion of the multiple entries selected based on their relative voice validation scores or contact confidence scores. In a further example, the communication includes a prompt for the user to select one or more user interface options, such as communicating all of the entries found, sequentially listing the entries, or selecting an entry for placement of the current call. If the user selects an option for communicating the entries (YES at 508), themobile device 100 communicates (510) the found entries (e.g., contacts or phone numbers) via the visual or text-to-speech interface. - The
mobile device 100 determines (512) whether an entry has been selected by the user. Upon selection of an entry (YES at 512), themobile device 100 places (514) a call to the selected entry. If the user does not select an entry within a predetermined timeout period such as five seconds (NO at 512), the process ends for the current call. - If a single entry is found (YES at 502), or if a valid phone number is found (YES at 310), the
mobile device 100 determines (504) whether the single entry is a priority contact based on the voice validation score, the contact confidence score, or a combination thereof. As described above, a priority contact may be a contact with a voice validation score that meets the validation threshold or a contact confidence score that meets the contact threshold. Themobile device 100 may determine that a valid phone number (YES at 310) is a priority contact if the corresponding voice validation score meets the validation threshold. However, other thresholds may be used atstep 504 for determination of the priority contact. In one example, themobile device 100 dynamically determines at least one of the validation threshold or contact threshold based on a device context for themobile device 100. In this case, themobile device 100 selects a higher threshold when themobile device 100 is currently stowed (e.g., in a pocket or bag), the user is currently driving, the user is currently in a meeting, whether a headset (e.g., Bluetooth or wired headset) is currently connected, or other criteria, as will be apparent to those skilled in the art. - Upon determination that a priority contact has been found (YES at 504), the
mobile device 100 communicates (516) that an automatic call placement is (or will) take place, for example, via the visual or text-to-speech interface (e.g., “Calling Brent at home”). This provides an opportunity for the user to cancel the call prior to automatic placement of the call. Themobile device 100 determines (518) whether the user has canceled the call, for example, within a predetermined timeout period (e.g., four seconds). If the user cancels the call (YES at 518), for example, via a spoken command (“Cancel”) or other interaction with themobile device 100, the process ends for the current call. If the user does not cancel the call (NO at 518), themobile device 100 automatically places the call to the priority contact. - If a priority contact has not been found (NO at 504), the
mobile device 100 prompts (520) the user with a call confirmation via the visual or text-to-speech interface (e.g., “Should I call Brent at home?” or “Press here to place call”). Themobile device 100 determines (522) whether the user has confirmed the call, for example, within a predetermined timeout period (e.g., ten seconds). If the user confirms the call (YES at 522), for example, via a spoken command (“Yes”) or other interaction with themobile device 100, themobile device 100 places (514) the call. If the user does not confirm the call (NO at 522), the process ends for the current call. - Turning to
FIG. 6 , aprocess flow 600 for automatically dialing a priority contact that may be performed by themobile device 100 is shown. Themobile device 100 monitors (602) an audio input (e.g., the microphone 111) for a trigger phrase spoken by a user of themobile device 100. In one example, themobile device 100 performs the monitoring in a low power mode, such as with a low power digital signal processor while an application processor is in a low power state. Themobile device 100 buffers (604) a command phrase spoken by the user after the trigger phrase (604). The command phrase corresponds to a call command and a call parameter. Themobile device 100 in one example wakes from the low power mode (e.g., wakes the application processor) upon detection of the trigger phrase and buffers the command phrase while the application processor is initialized. Themobile device 100 selects (606) a set of target contacts associated with the mobile device based on respective voice validation scores and respective contact confidence scores. The respective voice validation scores are based on the call parameter and the respective contact confidence scores are based on a user context associated with the user. Themobile device 100 determines (608) whether the voice validation score and contact confidence score for a priority contact meet corresponding validation and contact thresholds. Themobile device 100 automatically places (610) the call to the priority contact if the thresholds are met (YES at 608). - Turning to
FIG. 7 , aprocess flow 700 for automatically dialing a phone number that may be performed by themobile device 100 is shown. Themobile device 100 monitors (702) an audio input (e.g., the microphone 111) for a trigger phrase spoken by a user of themobile device 100. In one example, themobile device 100 performs the monitoring in a low power mode, such as with a low power digital signal processor while an application processor is in a low power state. Themobile device 100 buffers (704) a command phrase spoken by the user after the trigger phrase (604). The command phrase corresponds to a call command and a call parameter. Themobile device 100 in one example wakes from the low power mode (e.g., wakes the application processor) upon detection of the trigger phrase and buffers the command phrase while the application processor is initialized. If numeric digits are detected in the call parameter, themobile device 100 validates (706) the numeric digits as a phone number against a predetermined phone numbering plan. If the digits are validated (YES at 708), themobile device 100 automatically places (710) a call to the phone number. - It can be seen from the foregoing that a method and system for validation of a command phrase for placing a call have been described. In view of the many possible embodiments to which the principles of the present discussion may be applied, it should be recognized that the embodiments described herein with respect to the drawing figures are meant to be illustrative only and should not be taken as limiting the scope of the claims. Therefore, the techniques as described herein contemplate all such embodiments as may come within the scope of the following claims and equivalents thereof.
- The apparatus described herein may include a processor, a memory for storing program data to be executed by the processor, a permanent storage such as a disk drive, a communications port for handling communications with external devices, and user interface devices, including a display, touch panel, keys, buttons, etc. When software modules are involved, these software modules may be stored as program instructions or computer readable code executable by the processor on a non-transitory computer-readable media such as magnetic storage media (e.g., magnetic tapes, hard disks, floppy disks), optical recording media (e.g., CD-ROMs, Digital Versatile Discs (DVDs), etc.), and solid state memory (e.g., random-access memory (RAM), read-only memory (ROM), static random-access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), flash memory, thumb drives, etc.). The computer readable recording media may also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. This computer readable recording media may be read by the computer, stored in the memory, and executed by the processor.
- The disclosed embodiments may be described in terms of functional block components and various processing steps. Such functional blocks may be realized by any number of hardware and/or software components configured to perform the specified functions. For example, the disclosed embodiments may employ various integrated circuit components, e.g., memory elements, processing elements, logic elements, look-up tables, and the like, which may carry out a variety of functions under the control of one or more microprocessors or other control devices. Similarly, where the elements of the disclosed embodiments are implemented using software programming or software elements, the disclosed embodiments may be implemented with any programming or scripting language such as C, C++, JAVA®, assembler, or the like, with the various algorithms being implemented with any combination of data structures, objects, processes, routines or other programming elements. Functional aspects may be implemented in algorithms that execute on one or more processors. Furthermore, the disclosed embodiments may employ any number of conventional techniques for electronics configuration, signal processing and/or control, data processing and the like. Finally, the steps of all methods described herein may be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context.
- For the sake of brevity, conventional electronics, control systems, software development and other functional aspects of the systems (and components of the individual operating components of the systems) may not be described in detail. Furthermore, the connecting lines, or connectors shown in the various figures presented are intended to represent exemplary functional relationships and/or physical or logical couplings between the various elements. It should be noted that many alternative or additional functional relationships, physical connections or logical connections may be present in a practical device. The words “mechanism”, “element”, “unit”, “structure”, “means”, “device”, “controller”, and “construction” are used broadly and are not limited to mechanical or physical embodiments, but may include software routines in conjunction with processors, etc.
- No item or component is essential to the practice of the disclosed embodiments unless the element is specifically described as “essential” or “critical”. It will also be recognized that the terms “comprises,” “comprising,” “includes,” “including,” “has,” and “having,” as used herein, are specifically intended to be read as open-ended terms of art. The use of the terms “a” and “an” and “the” and similar referents in the context of describing the disclosed embodiments (especially in the context of the following claims) are to be construed to cover both the singular and the plural, unless the context clearly indicates otherwise. In addition, it should be understood that although the terms “first,” “second,” etc. may be used herein to describe various elements, these elements should not be limited by these terms, which are only used to distinguish one element from another. Furthermore, recitation of ranges of values herein are merely intended to serve as a shorthand method of referring individually to each separate value falling within the range, unless otherwise indicated herein, and each separate value is incorporated into the specification as if it were individually recited herein.
- The use of any and all examples, or exemplary language (e.g., “such as”) provided herein, is intended merely to better illuminate the disclosed embodiments and does not pose a limitation on the scope of the disclosed embodiments unless otherwise claimed. Numerous modifications and adaptations will be readily apparent to those of ordinary skill in this art.
Claims (20)
1. A method in a mobile device, the method comprising:
monitoring an audio input for a trigger phrase spoken by a user of the mobile device;
buffering a command phrase spoken by the user after the trigger phrase, wherein the command phrase corresponds to a call command and a call parameter;
selecting a set of target contacts associated with the mobile device based on respective voice validation scores and respective contact confidence scores, wherein the respective voice validation scores are based on the call parameter, wherein the respective contact confidence scores are based on a user context associated with the user;
automatically placing a call to a priority contact of the set of target contacts if
the voice validation score of the priority contact meets a validation threshold and
the contact confidence score of the priority contact meets a confidence threshold.
2. The method of claim 1 wherein monitoring the audio input comprises:
automatically monitoring the audio input in a low power mode of the mobile device;
waking the mobile device from the low power mode upon detection of the trigger phrase; and
buffering the command phrase while the mobile device wakes from the low power mode.
3. The method of claim 1 wherein selecting the set of target contacts comprises:
generating a set of voice validation scores that correspond to a set of call contacts associated with the mobile device based on the command phrase;
selecting the set of target contacts, from the set of call contacts, with a voice validation score within a selected range of a highest voice validation score of the set of voice validation scores.
4. The method of claim 3 wherein generating the set of voice validation scores comprises:
providing the set of call contacts to a voice recognition engine;
providing the call parameter to the voice recognition engine;
receiving the set of voice validation scores from the voice recognition engine, wherein each voice validation score of the set of voice validation scores indicates a detection likelihood of the corresponding call contact within the call parameter.
5. The method of claim 3 further comprising:
generating a set of contact confidence scores, that correspond to target contacts of the set of target contacts, based on the user context associated with the user, wherein the user context comprises at least one of a recency of last communication, frequency of communication, placement on a favorites list by the user, relation to a calendar event or appointment for the user;
selecting respective phone numbers for the set of target contacts.
6. The method of claim 5 wherein automatically placing the call to the priority contact comprises:
determining whether only a single contact of the set of target contacts has a voice validation score that meets the validation threshold and a contact confidence score that meets the confidence threshold; and
automatically placing the call to the phone number for the single contact.
7. The method of claim 5 further comprising:
selecting a set of phone numbers that correspond to a single contact of the set of target contacts if the set of target contacts has only the single contact;
automatically placing the call to a single phone number if
the single contact has only the single phone number and
the voice validation score of the single contact meets the validation threshold and
the contact confidence score of the single contact meets the confidence threshold;
prompting the user to enter the single phone number if the single contact has only the single phone number but the voice validation score of the single contact does not meet the validation threshold or the contact confidence score of the single contact does not meet the confidence threshold.
8. The method of claim 5 further comprising:
sorting the set of target contacts based on the set of contact confidence scores and the set of voice validation scores;
prompting the user to select a contact from the set of target contacts if the set of target contacts has more than one target contact.
9. The method of claim 1 further comprising validating the call command based on an audio length of the command phrase.
10. A method in a mobile device, the method comprising:
monitoring an audio input for a trigger phrase spoken by a user of the mobile device;
buffering a command phrase spoken by the user after the trigger phrase, wherein the command phrase corresponds to a call command and a call parameter;
validating a plurality of numeric digits detected in the call parameter as a phone number against a predetermined phone numbering plan;
automatically placing a call to the phone number if the phone number is validated.
11. The method of claim 10 wherein monitoring the audio input comprises:
automatically monitoring the audio input in a low power mode of the mobile device;
waking the mobile device from the low power mode upon detection of the trigger phrase;
buffering the command phrase while the mobile device wakes from the low power mode.
12. The method of claim 10 further comprising analyzing the command phrase with a voice command engine if the plurality of numeric digits is not validated as a phone number.
13. A mobile device for a wireless network, the mobile device comprising:
a non-transitory memory;
a processor configured to retrieve instructions from the memory;
wherein:
the mobile device is configured to monitor an audio input for a trigger phrase spoken by a user of the mobile device;
the mobile device is configured to buffer a command phrase spoken by the user after the trigger phrase, wherein the command phrase corresponds to a call command and a call parameter;
the mobile device is configured to select a set of target contacts associated with the mobile device based on respective voice validation scores and respective contact confidence scores, wherein the respective voice validation scores are based on the call parameter, wherein the respective contact confidence scores are based on a user context associated with the user;
the mobile device is configured to automatically place a call to a priority contact of the set of target contacts if
the voice validation score of the priority contact meets a validation threshold and
the contact confidence score of the priority contact meets a confidence threshold.
14. The mobile device of claim 13 wherein the mobile device is configured to automatically monitor the audio input in a low power mode of the mobile device;
wherein the mobile device is configured to wake the mobile device from the low power mode upon detection of the trigger phrase; and
wherein the mobile device is configured to buffer the command phrase while the mobile device wakes from the low power mode.
15. The mobile device of claim 13 wherein the mobile device is configured to generate a set of voice validation scores that correspond to a set of call contacts associated with the mobile device based on the command phrase;
wherein the mobile device is configured to select the set of target contacts, from the set of call contacts, with a voice validation score within a selected range of a highest voice validation score of the set of voice validation scores.
16. The mobile device of claim 15 wherein the mobile device is configured to provide the set of call contacts to a voice recognition engine;
wherein the mobile device is configured to provide the call parameter to the voice recognition engine;
wherein the mobile device is configured to receive the set of voice validation scores from the voice recognition engine, wherein each voice validation score of the set of voice validation scores indicates a detection likelihood of the corresponding call contact within the call parameter.
17. The mobile device of claim 15 wherein the mobile device is configured to generate a set of contact confidence scores, that correspond to target contacts of the set of target contacts, based on the user context associated with the user, wherein the user context comprises at least one of a call history or a favorite contact list;
wherein the mobile device is configured to select respective phone numbers for the set of target contacts.
18. The mobile device of claim 17 wherein the mobile device is configured to determine whether only a single contact of the set of target contacts has a voice validation score that meets the validation threshold and a contact confidence score that meets the confidence threshold; and
wherein the mobile device is configured to automatically place the call to the phone number for the single contact.
19. The mobile device of claim 17 wherein the mobile device is configured to select a set of phone numbers that correspond to a single contact of the set of target contacts if the set of target contacts has only the single contact;
wherein the mobile device is configured to automatically place the call to a single phone number if
the single contact has only the single phone number and
the voice validation score of the single contact meets the validation threshold and
the contact confidence score of the single contact meets the confidence threshold;
wherein the mobile device is configured to prompt the user to place the call to the single phone number if the single contact has only the single phone number but the voice validation score of the single contact does not meet the validation threshold or the contact confidence score of the single contact does not meet the confidence threshold.
20. The mobile device of claim 17 wherein the mobile device is configured to sort the set of target contacts based on the set of contact confidence scores and the set of voice validation scores;
wherein the mobile device is configured to prompt the user to select a contact from the set of target contacts if the set of target contacts has more than one target contact.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US14/142,234 US20150031416A1 (en) | 2013-07-23 | 2013-12-27 | Method and Device For Command Phrase Validation |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201361857696P | 2013-07-23 | 2013-07-23 | |
| US201361889938P | 2013-10-11 | 2013-10-11 | |
| US14/142,234 US20150031416A1 (en) | 2013-07-23 | 2013-12-27 | Method and Device For Command Phrase Validation |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US20150031416A1 true US20150031416A1 (en) | 2015-01-29 |
Family
ID=52390940
Family Applications (5)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US14/142,234 Abandoned US20150031416A1 (en) | 2013-07-23 | 2013-12-27 | Method and Device For Command Phrase Validation |
| US14/142,190 Abandoned US20150032238A1 (en) | 2013-07-23 | 2013-12-27 | Method and Device for Audio Input Routing |
| US16/703,003 Active 2034-04-01 US11363128B2 (en) | 2013-07-23 | 2019-12-04 | Method and device for audio input routing |
| US17/833,446 Active US11876922B2 (en) | 2013-07-23 | 2022-06-06 | Method and device for audio input routing |
| US18/537,386 Active US12407771B2 (en) | 2013-07-23 | 2023-12-12 | Method and device for audio input routing |
Family Applications After (4)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US14/142,190 Abandoned US20150032238A1 (en) | 2013-07-23 | 2013-12-27 | Method and Device for Audio Input Routing |
| US16/703,003 Active 2034-04-01 US11363128B2 (en) | 2013-07-23 | 2019-12-04 | Method and device for audio input routing |
| US17/833,446 Active US11876922B2 (en) | 2013-07-23 | 2022-06-06 | Method and device for audio input routing |
| US18/537,386 Active US12407771B2 (en) | 2013-07-23 | 2023-12-12 | Method and device for audio input routing |
Country Status (2)
| Country | Link |
|---|---|
| US (5) | US20150031416A1 (en) |
| WO (1) | WO2015013201A2 (en) |
Cited By (137)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9437188B1 (en) | 2014-03-28 | 2016-09-06 | Knowles Electronics, Llc | Buffered reprocessing for multi-microphone automatic speech recognition assist |
| US9508345B1 (en) | 2013-09-24 | 2016-11-29 | Knowles Electronics, Llc | Continuous voice sensing |
| US9679497B2 (en) | 2015-10-09 | 2017-06-13 | Microsoft Technology Licensing, Llc | Proxies for speech generating devices |
| US20170177908A1 (en) * | 2015-12-17 | 2017-06-22 | Ncr Corporation | Input peripheral device security |
| DK201770032A1 (en) * | 2016-06-10 | 2018-01-15 | Apple Inc | Intelligent digital assistant in a multi-tasking environment |
| US9953634B1 (en) | 2013-12-17 | 2018-04-24 | Knowles Electronics, Llc | Passive training for automatic speech recognition |
| US9986419B2 (en) | 2014-09-30 | 2018-05-29 | Apple Inc. | Social reminders |
| CN108369476A (en) * | 2015-12-11 | 2018-08-03 | 索尼公司 | Information processing equipment, information processing method and program |
| US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
| US10049675B2 (en) | 2010-02-25 | 2018-08-14 | Apple Inc. | User profiling for voice input processing |
| US10079014B2 (en) | 2012-06-08 | 2018-09-18 | Apple Inc. | Name recognition system |
| US10083690B2 (en) | 2014-05-30 | 2018-09-25 | Apple Inc. | Better resolution when referencing to concepts |
| US10108612B2 (en) | 2008-07-31 | 2018-10-23 | Apple Inc. | Mobile device having human language translation capability with positional feedback |
| US10148808B2 (en) * | 2015-10-09 | 2018-12-04 | Microsoft Technology Licensing, Llc | Directed personal communication for speech generating devices |
| US10262555B2 (en) | 2015-10-09 | 2019-04-16 | Microsoft Technology Licensing, Llc | Facilitating awareness and conversation throughput in an augmentative and alternative communication system |
| US10303715B2 (en) | 2017-05-16 | 2019-05-28 | Apple Inc. | Intelligent automated assistant for media exploration |
| US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
| US10311871B2 (en) | 2015-03-08 | 2019-06-04 | Apple Inc. | Competing devices responding to voice triggers |
| US10332518B2 (en) | 2017-05-09 | 2019-06-25 | Apple Inc. | User interface for correcting recognition errors |
| US10356243B2 (en) | 2015-06-05 | 2019-07-16 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
| US10354652B2 (en) | 2015-12-02 | 2019-07-16 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
| US10381016B2 (en) | 2008-01-03 | 2019-08-13 | Apple Inc. | Methods and apparatus for altering audio output signals |
| US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
| US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
| US10403283B1 (en) | 2018-06-01 | 2019-09-03 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
| US10410637B2 (en) | 2017-05-12 | 2019-09-10 | Apple Inc. | User-specific acoustic models |
| US10417344B2 (en) | 2014-05-30 | 2019-09-17 | Apple Inc. | Exemplar-based natural language processing |
| US10417405B2 (en) | 2011-03-21 | 2019-09-17 | Apple Inc. | Device access using voice authentication |
| US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
| US10431204B2 (en) | 2014-09-11 | 2019-10-01 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
| US10438595B2 (en) | 2014-09-30 | 2019-10-08 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
| US10445429B2 (en) | 2017-09-21 | 2019-10-15 | Apple Inc. | Natural language understanding using vocabularies with compressed serialized tries |
| US10453443B2 (en) | 2014-09-30 | 2019-10-22 | Apple Inc. | Providing an indication of the suitability of speech recognition |
| US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
| US10482874B2 (en) | 2017-05-15 | 2019-11-19 | Apple Inc. | Hierarchical belief states for digital assistants |
| US10497365B2 (en) | 2014-05-30 | 2019-12-03 | Apple Inc. | Multi-command single utterance input method |
| US10496705B1 (en) | 2018-06-03 | 2019-12-03 | Apple Inc. | Accelerated task performance |
| US10529332B2 (en) | 2015-03-08 | 2020-01-07 | Apple Inc. | Virtual assistant activation |
| US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
| US10580409B2 (en) | 2016-06-11 | 2020-03-03 | Apple Inc. | Application integration with a digital assistant |
| US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
| US10636424B2 (en) | 2017-11-30 | 2020-04-28 | Apple Inc. | Multi-turn canned dialog |
| US10643611B2 (en) | 2008-10-02 | 2020-05-05 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
| US10657961B2 (en) | 2013-06-08 | 2020-05-19 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
| US10657328B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling |
| US10684703B2 (en) | 2018-06-01 | 2020-06-16 | Apple Inc. | Attention aware virtual assistant dismissal |
| US10699717B2 (en) | 2014-05-30 | 2020-06-30 | Apple Inc. | Intelligent assistant for home automation |
| US10714117B2 (en) | 2013-02-07 | 2020-07-14 | Apple Inc. | Voice trigger for a digital assistant |
| US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
| US10733982B2 (en) | 2018-01-08 | 2020-08-04 | Apple Inc. | Multi-directional dialog |
| US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
| US10741185B2 (en) | 2010-01-18 | 2020-08-11 | Apple Inc. | Intelligent automated assistant |
| US10748546B2 (en) | 2017-05-16 | 2020-08-18 | Apple Inc. | Digital assistant services based on device capabilities |
| US10755703B2 (en) | 2017-05-11 | 2020-08-25 | Apple Inc. | Offline personal assistant |
| US10755051B2 (en) | 2017-09-29 | 2020-08-25 | Apple Inc. | Rule-based natural language processing |
| US10769385B2 (en) | 2013-06-09 | 2020-09-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
| US10791176B2 (en) | 2017-05-12 | 2020-09-29 | Apple Inc. | Synchronization and task delegation of a digital assistant |
| US10789945B2 (en) | 2017-05-12 | 2020-09-29 | Apple Inc. | Low-latency intelligent automated assistant |
| US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
| US10810274B2 (en) | 2017-05-15 | 2020-10-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
| US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
| US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
| US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
| US10904611B2 (en) | 2014-06-30 | 2021-01-26 | Apple Inc. | Intelligent automated assistant for TV user interactions |
| US10909331B2 (en) | 2018-03-30 | 2021-02-02 | Apple Inc. | Implicit identification of translation payload with neural machine translation |
| US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
| US10942702B2 (en) | 2016-06-11 | 2021-03-09 | Apple Inc. | Intelligent device arbitration and control |
| US10942703B2 (en) | 2015-12-23 | 2021-03-09 | Apple Inc. | Proactive assistance based on dialog communication between devices |
| US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
| US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
| US11010127B2 (en) | 2015-06-29 | 2021-05-18 | Apple Inc. | Virtual assistant for media playback |
| US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
| US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
| US11023513B2 (en) | 2007-12-20 | 2021-06-01 | Apple Inc. | Method and apparatus for searching using an active ontology |
| US11048473B2 (en) | 2013-06-09 | 2021-06-29 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
| US11069336B2 (en) | 2012-03-02 | 2021-07-20 | Apple Inc. | Systems and methods for name pronunciation |
| US11069347B2 (en) | 2016-06-08 | 2021-07-20 | Apple Inc. | Intelligent automated assistant for media exploration |
| US11070949B2 (en) | 2015-05-27 | 2021-07-20 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display |
| US11080121B2 (en) * | 2018-06-27 | 2021-08-03 | International Business Machines Corporation | Generating runbooks for problem events |
| US11120372B2 (en) | 2011-06-03 | 2021-09-14 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
| US11127397B2 (en) | 2015-05-27 | 2021-09-21 | Apple Inc. | Device voice control |
| US11126400B2 (en) | 2015-09-08 | 2021-09-21 | Apple Inc. | Zero latency digital assistant |
| US11133008B2 (en) | 2014-05-30 | 2021-09-28 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
| US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
| US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
| US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
| US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
| US11217251B2 (en) | 2019-05-06 | 2022-01-04 | Apple Inc. | Spoken notifications |
| US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
| US11231904B2 (en) | 2015-03-06 | 2022-01-25 | Apple Inc. | Reducing response latency of intelligent automated assistants |
| US11237797B2 (en) | 2019-05-31 | 2022-02-01 | Apple Inc. | User activity shortcut suggestions |
| US11269678B2 (en) | 2012-05-15 | 2022-03-08 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
| US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
| US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
| US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
| US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
| US11314370B2 (en) | 2013-12-06 | 2022-04-26 | Apple Inc. | Method for extracting salient dialog usage from live data |
| US11350253B2 (en) | 2011-06-03 | 2022-05-31 | Apple Inc. | Active transport based notifications |
| US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
| US11363128B2 (en) | 2013-07-23 | 2022-06-14 | Google Technology Holdings LLC | Method and device for audio input routing |
| US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
| US11388291B2 (en) | 2013-03-14 | 2022-07-12 | Apple Inc. | System and method for processing voicemail |
| US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
| US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
| US11423886B2 (en) | 2010-01-18 | 2022-08-23 | Apple Inc. | Task flow identification based on user intent |
| US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
| US11467802B2 (en) | 2017-05-11 | 2022-10-11 | Apple Inc. | Maintaining privacy of personal information |
| US11468282B2 (en) | 2015-05-15 | 2022-10-11 | Apple Inc. | Virtual assistant in a communication session |
| US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
| US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
| US11488406B2 (en) | 2019-09-25 | 2022-11-01 | Apple Inc. | Text detection using global geometry estimators |
| US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
| US11495218B2 (en) | 2018-06-01 | 2022-11-08 | Apple Inc. | Virtual assistant operation in multi-device environments |
| US11500672B2 (en) | 2015-09-08 | 2022-11-15 | Apple Inc. | Distributed personal assistant |
| US11526368B2 (en) | 2015-11-06 | 2022-12-13 | Apple Inc. | Intelligent automated assistant in a messaging environment |
| US11532306B2 (en) | 2017-05-16 | 2022-12-20 | Apple Inc. | Detecting a trigger of a digital assistant |
| US11620999B2 (en) | 2020-09-18 | 2023-04-04 | Apple Inc. | Reducing device processing of unintended audio |
| US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
| US11657813B2 (en) | 2019-05-31 | 2023-05-23 | Apple Inc. | Voice identification in digital assistant systems |
| US11671920B2 (en) | 2007-04-03 | 2023-06-06 | Apple Inc. | Method and system for operating a multifunction portable electronic device using voice-activation |
| US11696060B2 (en) | 2020-07-21 | 2023-07-04 | Apple Inc. | User identification using headphones |
| US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
| US11765209B2 (en) | 2020-05-11 | 2023-09-19 | Apple Inc. | Digital assistant hardware abstraction |
| US11790914B2 (en) | 2019-06-01 | 2023-10-17 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
| US11798547B2 (en) | 2013-03-15 | 2023-10-24 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
| US11809483B2 (en) | 2015-09-08 | 2023-11-07 | Apple Inc. | Intelligent automated assistant for media search and playback |
| US11810578B2 (en) | 2020-05-11 | 2023-11-07 | Apple Inc. | Device arbitration for digital assistant-based intercom systems |
| US11838734B2 (en) | 2020-07-20 | 2023-12-05 | Apple Inc. | Multi-device audio adjustment coordination |
| US11853536B2 (en) | 2015-09-08 | 2023-12-26 | Apple Inc. | Intelligent automated assistant in a media environment |
| US11914848B2 (en) | 2020-05-11 | 2024-02-27 | Apple Inc. | Providing relevant data items based on context |
| US11928604B2 (en) | 2005-09-08 | 2024-03-12 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
| US12010262B2 (en) | 2013-08-06 | 2024-06-11 | Apple Inc. | Auto-activating smart responses based on activities from remote devices |
| US12014118B2 (en) | 2017-05-15 | 2024-06-18 | Apple Inc. | Multi-modal interfaces having selection disambiguation and text modification capability |
| US12051413B2 (en) | 2015-09-30 | 2024-07-30 | Apple Inc. | Intelligent device identification |
| US12197817B2 (en) | 2016-06-11 | 2025-01-14 | Apple Inc. | Intelligent device arbitration and control |
| US12223282B2 (en) | 2016-06-09 | 2025-02-11 | Apple Inc. | Intelligent automated assistant in a home environment |
| US12301635B2 (en) | 2020-05-11 | 2025-05-13 | Apple Inc. | Digital assistant hardware abstraction |
Families Citing this family (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9318107B1 (en) * | 2014-10-09 | 2016-04-19 | Google Inc. | Hotword detection on multiple devices |
| TWI633425B (en) * | 2016-03-02 | 2018-08-21 | 美律實業股份有限公司 | Microphone apparatus |
| US20180069815A1 (en) * | 2016-09-02 | 2018-03-08 | Bose Corporation | Application-based messaging system using headphones |
| KR102453656B1 (en) * | 2018-01-25 | 2022-10-12 | 삼성전자주식회사 | Application processor for low power operation, electronic device including the same and method of operating the same |
| CN112652317B (en) * | 2019-10-09 | 2024-07-26 | 深圳云程科技有限公司 | High sampling rate audio playing method and system based on Android system |
| KR20210042520A (en) * | 2019-10-10 | 2021-04-20 | 삼성전자주식회사 | An electronic apparatus and Method for controlling the electronic apparatus thereof |
| CN112817387A (en) * | 2019-11-18 | 2021-05-18 | 英业达科技有限公司 | Radio component |
| US11128955B1 (en) | 2020-09-15 | 2021-09-21 | Motorola Solutions, Inc. | Method and apparatus for managing audio processing in a converged portable communication device |
| CN116325696B (en) | 2020-10-02 | 2025-10-10 | 谷歌有限责任公司 | Real-time and file-based audio data processing method, electronic device and readable medium |
| US20220293109A1 (en) * | 2021-03-11 | 2022-09-15 | Google Llc | Device arbitration for local execution of automatic speech recognition |
Citations (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020087320A1 (en) * | 2000-12-29 | 2002-07-04 | Lee Victor Wai Leung | Computer-implemented fuzzy logic based data verification method and system |
| US6449496B1 (en) * | 1999-02-08 | 2002-09-10 | Qualcomm Incorporated | Voice recognition user interface for telephone handsets |
| US6587867B1 (en) * | 1997-05-22 | 2003-07-01 | Mci Communications Corporation | Internet-based subscriber profile management of a communications system |
| US20030190037A1 (en) * | 2002-04-04 | 2003-10-09 | John Hruska | Method for automated dialing of telephone number prefixes |
| US6795533B2 (en) * | 2001-08-24 | 2004-09-21 | Mitel Knowledge Corporation | Intermediate voice and DTMF detector device for improved speech recognition utilization and penetration |
| US20050049860A1 (en) * | 2003-08-29 | 2005-03-03 | Junqua Jean-Claude | Method and apparatus for improved speech recognition with supplementary information |
| US20050154596A1 (en) * | 2004-01-14 | 2005-07-14 | Ran Mochary | Configurable speech recognizer |
| US20050177376A1 (en) * | 2004-02-05 | 2005-08-11 | Avaya Technology Corp. | Recognition results postprocessor for use in voice recognition systems |
| US20050175159A1 (en) * | 2004-02-05 | 2005-08-11 | Avaya Technology Corp. | Methods and apparatus for data caching to improve name recognition in large namespaces |
| US20050273323A1 (en) * | 2004-06-03 | 2005-12-08 | Nintendo Co., Ltd. | Command processing apparatus |
| US20070239454A1 (en) * | 2006-04-06 | 2007-10-11 | Microsoft Corporation | Personalizing a context-free grammar using a dictation language model |
| US20110288868A1 (en) * | 2010-05-19 | 2011-11-24 | Lloyd Matthew I | Disambiguation of contact information using historical data |
| US8433041B2 (en) * | 2005-09-23 | 2013-04-30 | Bce Inc. | Method and system to enable touch-free incoming call handling and touch-free outgoing call origination |
| US20130144618A1 (en) * | 2011-12-02 | 2013-06-06 | Liang-Che Sun | Methods and electronic devices for speech recognition |
| US20130325484A1 (en) * | 2012-05-29 | 2013-12-05 | Samsung Electronics Co., Ltd. | Method and apparatus for executing voice command in electronic device |
| US20130339028A1 (en) * | 2012-06-15 | 2013-12-19 | Spansion Llc | Power-Efficient Voice Activation |
| US20140214429A1 (en) * | 2013-01-25 | 2014-07-31 | Lothar Pantel | Method for Voice Activation of a Software Agent from Standby Mode |
| US20140244269A1 (en) * | 2013-02-28 | 2014-08-28 | Sony Mobile Communications Ab | Device and method for activating with voice input |
| US20140257821A1 (en) * | 2013-03-07 | 2014-09-11 | Analog Devices Technology | System and method for processor wake-up based on sensor data |
| US20140281628A1 (en) * | 2013-03-15 | 2014-09-18 | Maxim Integrated Products, Inc. | Always-On Low-Power Keyword spotting |
Family Cites Families (79)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE69326431T2 (en) | 1992-12-28 | 2000-02-03 | Kabushiki Kaisha Toshiba, Kawasaki | Voice recognition interface system that can be used as a window system and voice mail system |
| US5553220A (en) * | 1993-09-07 | 1996-09-03 | Cirrus Logic, Inc. | Managing audio data using a graphics display controller |
| US6070140A (en) * | 1995-06-05 | 2000-05-30 | Tran; Bao Q. | Speech recognizer |
| JPH10105191A (en) * | 1996-09-30 | 1998-04-24 | Toshiba Corp | Speech recognition device and microphone frequency characteristic conversion method |
| US5950157A (en) | 1997-02-28 | 1999-09-07 | Sri International | Method for establishing handset-dependent normalizing models for speaker recognition |
| US5970446A (en) * | 1997-11-25 | 1999-10-19 | At&T Corp | Selective noise/channel/coding models and recognizers for automatic speech recognition |
| US6496743B1 (en) * | 1998-04-17 | 2002-12-17 | International Business Machines Corporation | Method and apparatus for providing audio sample rate conversion within a data-processing system |
| US6499013B1 (en) | 1998-09-09 | 2002-12-24 | One Voice Technologies, Inc. | Interactive user interface using speech recognition and natural language processing |
| US6574599B1 (en) | 1999-03-31 | 2003-06-03 | Microsoft Corporation | Voice-recognition-based methods for establishing outbound communication through a unified messaging system including intelligent calendar interface |
| US6408272B1 (en) * | 1999-04-12 | 2002-06-18 | General Magic, Inc. | Distributed voice user interface |
| US6553345B1 (en) | 1999-08-26 | 2003-04-22 | Matsushita Electric Industrial Co., Ltd. | Universal remote control allowing natural language modality for television and multimedia searches and requests |
| US6760704B1 (en) | 2000-09-29 | 2004-07-06 | Intel Corporation | System for generating speech and non-speech audio messages |
| US7451085B2 (en) * | 2000-10-13 | 2008-11-11 | At&T Intellectual Property Ii, L.P. | System and method for providing a compensated speech recognition model for speech recognition |
| US7457750B2 (en) * | 2000-10-13 | 2008-11-25 | At&T Corp. | Systems and methods for dynamic re-configurable speech recognition |
| US20020082834A1 (en) | 2000-11-16 | 2002-06-27 | Eaves George Paul | Simplified and robust speech recognizer |
| US6704707B2 (en) | 2001-03-14 | 2004-03-09 | Intel Corporation | Method for automatically and dynamically switching between speech technologies |
| US6985862B2 (en) | 2001-03-22 | 2006-01-10 | Tellme Networks, Inc. | Histogram grammar weighting and error corrective training of grammar weights |
| US7526431B2 (en) | 2001-09-05 | 2009-04-28 | Voice Signal Technologies, Inc. | Speech recognition using ambiguous or phone key spelling and/or filtering |
| US7203644B2 (en) | 2001-12-31 | 2007-04-10 | Intel Corporation | Automating tuning of speech recognition systems |
| US7099825B1 (en) * | 2002-03-15 | 2006-08-29 | Sprint Communications Company L.P. | User mobility in a voice recognition environment |
| US7016842B2 (en) * | 2002-03-26 | 2006-03-21 | Sbc Technology Resources, Inc. | Method and system for evaluating automatic speech recognition telephone services |
| US7570943B2 (en) | 2002-08-29 | 2009-08-04 | Nokia Corporation | System and method for providing context sensitive recommendations to digital services |
| US20050180464A1 (en) * | 2002-10-01 | 2005-08-18 | Adondo Corporation | Audio communication with a computer |
| DE10320190B4 (en) * | 2003-05-07 | 2005-07-07 | Sennheiser Electronic Gmbh & Co. Kg | detection device |
| JP2005025381A (en) | 2003-06-30 | 2005-01-27 | Toshiba Corp | Electronic device and power control method |
| US20050204009A1 (en) | 2004-03-09 | 2005-09-15 | Devapratim Hazarika | System, method and computer program product for prioritizing messages |
| US20050246325A1 (en) | 2004-04-30 | 2005-11-03 | Microsoft Corporation | Method and system for recording and accessing usage of an item in a computer system |
| US20060009974A1 (en) | 2004-07-09 | 2006-01-12 | Matsushita Electric Industrial Co., Ltd. | Hands-free voice dialing for portable and remote devices |
| US7580363B2 (en) | 2004-08-16 | 2009-08-25 | Nokia Corporation | Apparatus and method for facilitating contact selection in communication devices |
| KR100640893B1 (en) * | 2004-09-07 | 2006-11-02 | 엘지전자 주식회사 | Baseband modem for voice recognition and mobile communication terminal |
| US8543390B2 (en) * | 2004-10-26 | 2013-09-24 | Qnx Software Systems Limited | Multi-channel periodic signal enhancement system |
| US8009678B2 (en) | 2005-03-17 | 2011-08-30 | Microsoft Corporation | System and method for generating a dynamic prioritized contact list |
| US8041062B2 (en) * | 2005-03-28 | 2011-10-18 | Sound Id | Personal sound system including multi-mode ear level module with priority logic |
| CN100367187C (en) * | 2005-04-30 | 2008-02-06 | 艾威梯软件技术(北京)有限公司 | A method for simultaneously supporting multiple bluetooth audio applications |
| EP1889410B1 (en) * | 2005-05-30 | 2008-10-01 | Telefonaktiebolaget LM Ericsson (publ) | Data unit relay device and method of controlling the same |
| US8041376B2 (en) * | 2005-07-15 | 2011-10-18 | Research In Motion Limited | Methods and apparatus for providing PTT data buffering support indications from mobile devices and PTT data buffering control by wireless networks |
| US7962340B2 (en) * | 2005-08-22 | 2011-06-14 | Nuance Communications, Inc. | Methods and apparatus for buffering data for use in accordance with a speech recognition system |
| US20070060114A1 (en) | 2005-09-14 | 2007-03-15 | Jorey Ramer | Predictive text completion for a mobile communication facility |
| US7856283B2 (en) * | 2005-12-13 | 2010-12-21 | Sigmatel, Inc. | Digital microphone interface, audio codec and methods for use therewith |
| DE602006002279D1 (en) | 2006-08-30 | 2008-09-25 | Research In Motion Ltd | A method, computer program and apparatus for uniquely identifying a contact in a contact database by a single voice utterance |
| AU2007335251B2 (en) * | 2006-12-19 | 2014-05-15 | Validvoice, Llc | Confidence levels for speaker recognition |
| US8140325B2 (en) * | 2007-01-04 | 2012-03-20 | International Business Machines Corporation | Systems and methods for intelligent control of microphones for speech recognition applications |
| US8060373B2 (en) | 2007-03-21 | 2011-11-15 | At&T Intellectual Property I, L.P. | System and method of identifying contact information |
| US20080300025A1 (en) * | 2007-05-31 | 2008-12-04 | Motorola, Inc. | Method and system to configure audio processing paths for voice recognition |
| US8612643B2 (en) * | 2007-06-30 | 2013-12-17 | Microsoft Corporation | Interfaces for digital media processing |
| US7523012B2 (en) | 2007-07-03 | 2009-04-21 | Motorola, Inc. | Method and system for controlling a handheld electronic device |
| US20090037413A1 (en) | 2007-07-30 | 2009-02-05 | Research In Motion Limited | Method and system for generating address lists |
| US8374316B2 (en) | 2007-08-28 | 2013-02-12 | International Business Machines Corporation | System for recording spoken phone numbers during a voice call |
| US20090228513A1 (en) | 2008-03-06 | 2009-09-10 | Nokia Corporation | Methods, apparatuses, and computer program products for modeling contact networks |
| US20090287489A1 (en) * | 2008-05-15 | 2009-11-19 | Palm, Inc. | Speech processing for plurality of users |
| US8411603B2 (en) | 2008-06-19 | 2013-04-02 | Broadcom Corporation | Method and system for dual digital microphone processing in an audio CODEC |
| US8909361B2 (en) | 2008-06-19 | 2014-12-09 | Broadcom Corporation | Method and system for processing high quality audio in a hardware audio codec for audio transmission |
| US8600741B2 (en) * | 2008-08-20 | 2013-12-03 | General Motors Llc | Method of using microphone characteristics to optimize speech recognition performance |
| US20100169092A1 (en) * | 2008-11-26 | 2010-07-01 | Backes Steven J | Voice interface ocx |
| WO2010063660A2 (en) * | 2008-12-05 | 2010-06-10 | Audioasics A/S | Wind noise detection method and system |
| US20100161340A1 (en) * | 2008-12-24 | 2010-06-24 | Plantronics, Inc. | Dynamic Codec Switching |
| US8798311B2 (en) * | 2009-01-23 | 2014-08-05 | Eldon Technology Limited | Scrolling display of electronic program guide utilizing images of user lip movements |
| US8626511B2 (en) | 2010-01-22 | 2014-01-07 | Google Inc. | Multi-dimensional disambiguation of voice commands |
| US8380160B2 (en) * | 2010-03-29 | 2013-02-19 | Motorola Solutions, Inc. | Method and apparatus for enhanced safety in a public safety communication system |
| US9112989B2 (en) * | 2010-04-08 | 2015-08-18 | Qualcomm Incorporated | System and method of smart audio logging for mobile devices |
| US8818797B2 (en) * | 2010-12-23 | 2014-08-26 | Microsoft Corporation | Dual-band speech encoding |
| US9100735B1 (en) * | 2011-02-10 | 2015-08-04 | Dolby Laboratories Licensing Corporation | Vector noise cancellation |
| US9992745B2 (en) * | 2011-11-01 | 2018-06-05 | Qualcomm Incorporated | Extraction and analysis of buffered audio data using multiple codec rates each greater than a low-power processor rate |
| WO2013078401A2 (en) * | 2011-11-21 | 2013-05-30 | Liveweaver, Inc. | Engine for human language comprehension of intent and command execution |
| US20140122378A1 (en) * | 2012-10-29 | 2014-05-01 | Qualcomm Incorporated | Rules engine as a platform for mobile applications |
| KR102179811B1 (en) * | 2012-12-03 | 2020-11-17 | 엘지전자 주식회사 | Portable Device And Method For Providing Voice Recognition Service |
| US9704486B2 (en) * | 2012-12-11 | 2017-07-11 | Amazon Technologies, Inc. | Speech recognition power management |
| US9098467B1 (en) * | 2012-12-19 | 2015-08-04 | Rawles Llc | Accepting voice commands based on user identity |
| US9020464B2 (en) * | 2012-12-20 | 2015-04-28 | Cellco Partnership | Counter-based limitation of subscriber charging inaccuracy |
| US9542933B2 (en) * | 2013-03-08 | 2017-01-10 | Analog Devices Global | Microphone circuit assembly and system with speech recognition |
| US9112984B2 (en) * | 2013-03-12 | 2015-08-18 | Nuance Communications, Inc. | Methods and apparatus for detecting a voice command |
| US20140270260A1 (en) * | 2013-03-13 | 2014-09-18 | Aliphcom | Speech detection using low power microelectrical mechanical systems sensor |
| US9092332B2 (en) * | 2013-05-02 | 2015-07-28 | Microsoft Technology Licensing, Llc | Activity based sampling of diagnostics data |
| US9043211B2 (en) * | 2013-05-09 | 2015-05-26 | Dsp Group Ltd. | Low power activation of a voice activated device |
| US20140358552A1 (en) * | 2013-05-31 | 2014-12-04 | Cirrus Logic, Inc. | Low-power voice gate for device wake-up |
| US9196246B2 (en) * | 2013-06-14 | 2015-11-24 | Mitsubishi Electric Research Laboratories, Inc. | Determining word sequence constraints for low cognitive speech recognition |
| US20150031416A1 (en) | 2013-07-23 | 2015-01-29 | Motorola Mobility Llc | Method and Device For Command Phrase Validation |
| US20150074524A1 (en) * | 2013-09-10 | 2015-03-12 | Lenovo (Singapore) Pte. Ltd. | Management of virtual assistant action items |
| EP3084760A4 (en) * | 2013-12-20 | 2017-08-16 | Intel Corporation | Transition from low power always listening mode to high power speech recognition mode |
-
2013
- 2013-12-27 US US14/142,234 patent/US20150031416A1/en not_active Abandoned
- 2013-12-27 US US14/142,190 patent/US20150032238A1/en not_active Abandoned
-
2014
- 2014-07-21 WO PCT/US2014/047448 patent/WO2015013201A2/en not_active Ceased
-
2019
- 2019-12-04 US US16/703,003 patent/US11363128B2/en active Active
-
2022
- 2022-06-06 US US17/833,446 patent/US11876922B2/en active Active
-
2023
- 2023-12-12 US US18/537,386 patent/US12407771B2/en active Active
Patent Citations (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6587867B1 (en) * | 1997-05-22 | 2003-07-01 | Mci Communications Corporation | Internet-based subscriber profile management of a communications system |
| US6449496B1 (en) * | 1999-02-08 | 2002-09-10 | Qualcomm Incorporated | Voice recognition user interface for telephone handsets |
| US20020087320A1 (en) * | 2000-12-29 | 2002-07-04 | Lee Victor Wai Leung | Computer-implemented fuzzy logic based data verification method and system |
| US6795533B2 (en) * | 2001-08-24 | 2004-09-21 | Mitel Knowledge Corporation | Intermediate voice and DTMF detector device for improved speech recognition utilization and penetration |
| US20030190037A1 (en) * | 2002-04-04 | 2003-10-09 | John Hruska | Method for automated dialing of telephone number prefixes |
| US20050049860A1 (en) * | 2003-08-29 | 2005-03-03 | Junqua Jean-Claude | Method and apparatus for improved speech recognition with supplementary information |
| US20050154596A1 (en) * | 2004-01-14 | 2005-07-14 | Ran Mochary | Configurable speech recognizer |
| US20050177376A1 (en) * | 2004-02-05 | 2005-08-11 | Avaya Technology Corp. | Recognition results postprocessor for use in voice recognition systems |
| US20050175159A1 (en) * | 2004-02-05 | 2005-08-11 | Avaya Technology Corp. | Methods and apparatus for data caching to improve name recognition in large namespaces |
| US20050273323A1 (en) * | 2004-06-03 | 2005-12-08 | Nintendo Co., Ltd. | Command processing apparatus |
| US8433041B2 (en) * | 2005-09-23 | 2013-04-30 | Bce Inc. | Method and system to enable touch-free incoming call handling and touch-free outgoing call origination |
| US20070239454A1 (en) * | 2006-04-06 | 2007-10-11 | Microsoft Corporation | Personalizing a context-free grammar using a dictation language model |
| US20110288868A1 (en) * | 2010-05-19 | 2011-11-24 | Lloyd Matthew I | Disambiguation of contact information using historical data |
| US20130144618A1 (en) * | 2011-12-02 | 2013-06-06 | Liang-Che Sun | Methods and electronic devices for speech recognition |
| US20130325484A1 (en) * | 2012-05-29 | 2013-12-05 | Samsung Electronics Co., Ltd. | Method and apparatus for executing voice command in electronic device |
| US20130339028A1 (en) * | 2012-06-15 | 2013-12-19 | Spansion Llc | Power-Efficient Voice Activation |
| US20140214429A1 (en) * | 2013-01-25 | 2014-07-31 | Lothar Pantel | Method for Voice Activation of a Software Agent from Standby Mode |
| US20140244269A1 (en) * | 2013-02-28 | 2014-08-28 | Sony Mobile Communications Ab | Device and method for activating with voice input |
| US20140257821A1 (en) * | 2013-03-07 | 2014-09-11 | Analog Devices Technology | System and method for processor wake-up based on sensor data |
| US20140281628A1 (en) * | 2013-03-15 | 2014-09-18 | Maxim Integrated Products, Inc. | Always-On Low-Power Keyword spotting |
Cited By (248)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11928604B2 (en) | 2005-09-08 | 2024-03-12 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
| US11979836B2 (en) | 2007-04-03 | 2024-05-07 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
| US11671920B2 (en) | 2007-04-03 | 2023-06-06 | Apple Inc. | Method and system for operating a multifunction portable electronic device using voice-activation |
| US12477470B2 (en) | 2007-04-03 | 2025-11-18 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
| US11023513B2 (en) | 2007-12-20 | 2021-06-01 | Apple Inc. | Method and apparatus for searching using an active ontology |
| US10381016B2 (en) | 2008-01-03 | 2019-08-13 | Apple Inc. | Methods and apparatus for altering audio output signals |
| US10108612B2 (en) | 2008-07-31 | 2018-10-23 | Apple Inc. | Mobile device having human language translation capability with positional feedback |
| US12361943B2 (en) | 2008-10-02 | 2025-07-15 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
| US11348582B2 (en) | 2008-10-02 | 2022-05-31 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
| US10643611B2 (en) | 2008-10-02 | 2020-05-05 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
| US11900936B2 (en) | 2008-10-02 | 2024-02-13 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
| US12165635B2 (en) | 2010-01-18 | 2024-12-10 | Apple Inc. | Intelligent automated assistant |
| US11423886B2 (en) | 2010-01-18 | 2022-08-23 | Apple Inc. | Task flow identification based on user intent |
| US12087308B2 (en) | 2010-01-18 | 2024-09-10 | Apple Inc. | Intelligent automated assistant |
| US12431128B2 (en) | 2010-01-18 | 2025-09-30 | Apple Inc. | Task flow identification based on user intent |
| US10741185B2 (en) | 2010-01-18 | 2020-08-11 | Apple Inc. | Intelligent automated assistant |
| US10692504B2 (en) | 2010-02-25 | 2020-06-23 | Apple Inc. | User profiling for voice input processing |
| US10049675B2 (en) | 2010-02-25 | 2018-08-14 | Apple Inc. | User profiling for voice input processing |
| US10417405B2 (en) | 2011-03-21 | 2019-09-17 | Apple Inc. | Device access using voice authentication |
| US11120372B2 (en) | 2011-06-03 | 2021-09-14 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
| US11350253B2 (en) | 2011-06-03 | 2022-05-31 | Apple Inc. | Active transport based notifications |
| US11069336B2 (en) | 2012-03-02 | 2021-07-20 | Apple Inc. | Systems and methods for name pronunciation |
| US11321116B2 (en) | 2012-05-15 | 2022-05-03 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
| US11269678B2 (en) | 2012-05-15 | 2022-03-08 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
| US10079014B2 (en) | 2012-06-08 | 2018-09-18 | Apple Inc. | Name recognition system |
| US10978090B2 (en) | 2013-02-07 | 2021-04-13 | Apple Inc. | Voice trigger for a digital assistant |
| US11862186B2 (en) | 2013-02-07 | 2024-01-02 | Apple Inc. | Voice trigger for a digital assistant |
| US12009007B2 (en) | 2013-02-07 | 2024-06-11 | Apple Inc. | Voice trigger for a digital assistant |
| US10714117B2 (en) | 2013-02-07 | 2020-07-14 | Apple Inc. | Voice trigger for a digital assistant |
| US11557310B2 (en) | 2013-02-07 | 2023-01-17 | Apple Inc. | Voice trigger for a digital assistant |
| US12277954B2 (en) | 2013-02-07 | 2025-04-15 | Apple Inc. | Voice trigger for a digital assistant |
| US11636869B2 (en) | 2013-02-07 | 2023-04-25 | Apple Inc. | Voice trigger for a digital assistant |
| US11388291B2 (en) | 2013-03-14 | 2022-07-12 | Apple Inc. | System and method for processing voicemail |
| US11798547B2 (en) | 2013-03-15 | 2023-10-24 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
| US10657961B2 (en) | 2013-06-08 | 2020-05-19 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
| US11727219B2 (en) | 2013-06-09 | 2023-08-15 | Apple Inc. | System and method for inferring user intent from speech inputs |
| US10769385B2 (en) | 2013-06-09 | 2020-09-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
| US11048473B2 (en) | 2013-06-09 | 2021-06-29 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
| US12073147B2 (en) | 2013-06-09 | 2024-08-27 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
| US12407771B2 (en) | 2013-07-23 | 2025-09-02 | Google Llc | Method and device for audio input routing |
| US11363128B2 (en) | 2013-07-23 | 2022-06-14 | Google Technology Holdings LLC | Method and device for audio input routing |
| US11876922B2 (en) | 2013-07-23 | 2024-01-16 | Google Technology Holdings LLC | Method and device for audio input routing |
| US12010262B2 (en) | 2013-08-06 | 2024-06-11 | Apple Inc. | Auto-activating smart responses based on activities from remote devices |
| US9508345B1 (en) | 2013-09-24 | 2016-11-29 | Knowles Electronics, Llc | Continuous voice sensing |
| US11314370B2 (en) | 2013-12-06 | 2022-04-26 | Apple Inc. | Method for extracting salient dialog usage from live data |
| US9953634B1 (en) | 2013-12-17 | 2018-04-24 | Knowles Electronics, Llc | Passive training for automatic speech recognition |
| US9437188B1 (en) | 2014-03-28 | 2016-09-06 | Knowles Electronics, Llc | Buffered reprocessing for multi-microphone automatic speech recognition assist |
| US10083690B2 (en) | 2014-05-30 | 2018-09-25 | Apple Inc. | Better resolution when referencing to concepts |
| US10878809B2 (en) | 2014-05-30 | 2020-12-29 | Apple Inc. | Multi-command single utterance input method |
| US11257504B2 (en) | 2014-05-30 | 2022-02-22 | Apple Inc. | Intelligent assistant for home automation |
| US12118999B2 (en) | 2014-05-30 | 2024-10-15 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
| US10657966B2 (en) | 2014-05-30 | 2020-05-19 | Apple Inc. | Better resolution when referencing to concepts |
| US11670289B2 (en) | 2014-05-30 | 2023-06-06 | Apple Inc. | Multi-command single utterance input method |
| US10699717B2 (en) | 2014-05-30 | 2020-06-30 | Apple Inc. | Intelligent assistant for home automation |
| US11133008B2 (en) | 2014-05-30 | 2021-09-28 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
| US12067990B2 (en) | 2014-05-30 | 2024-08-20 | Apple Inc. | Intelligent assistant for home automation |
| US10417344B2 (en) | 2014-05-30 | 2019-09-17 | Apple Inc. | Exemplar-based natural language processing |
| US10714095B2 (en) | 2014-05-30 | 2020-07-14 | Apple Inc. | Intelligent assistant for home automation |
| US10497365B2 (en) | 2014-05-30 | 2019-12-03 | Apple Inc. | Multi-command single utterance input method |
| US11810562B2 (en) | 2014-05-30 | 2023-11-07 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
| US11699448B2 (en) | 2014-05-30 | 2023-07-11 | Apple Inc. | Intelligent assistant for home automation |
| US11838579B2 (en) | 2014-06-30 | 2023-12-05 | Apple Inc. | Intelligent automated assistant for TV user interactions |
| US10904611B2 (en) | 2014-06-30 | 2021-01-26 | Apple Inc. | Intelligent automated assistant for TV user interactions |
| US11516537B2 (en) | 2014-06-30 | 2022-11-29 | Apple Inc. | Intelligent automated assistant for TV user interactions |
| US12200297B2 (en) | 2014-06-30 | 2025-01-14 | Apple Inc. | Intelligent automated assistant for TV user interactions |
| US10431204B2 (en) | 2014-09-11 | 2019-10-01 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
| US10438595B2 (en) | 2014-09-30 | 2019-10-08 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
| US10453443B2 (en) | 2014-09-30 | 2019-10-22 | Apple Inc. | Providing an indication of the suitability of speech recognition |
| US9986419B2 (en) | 2014-09-30 | 2018-05-29 | Apple Inc. | Social reminders |
| US10390213B2 (en) | 2014-09-30 | 2019-08-20 | Apple Inc. | Social reminders |
| US11231904B2 (en) | 2015-03-06 | 2022-01-25 | Apple Inc. | Reducing response latency of intelligent automated assistants |
| US11842734B2 (en) | 2015-03-08 | 2023-12-12 | Apple Inc. | Virtual assistant activation |
| US12236952B2 (en) | 2015-03-08 | 2025-02-25 | Apple Inc. | Virtual assistant activation |
| US11087759B2 (en) | 2015-03-08 | 2021-08-10 | Apple Inc. | Virtual assistant activation |
| US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
| US10529332B2 (en) | 2015-03-08 | 2020-01-07 | Apple Inc. | Virtual assistant activation |
| US10311871B2 (en) | 2015-03-08 | 2019-06-04 | Apple Inc. | Competing devices responding to voice triggers |
| US10930282B2 (en) | 2015-03-08 | 2021-02-23 | Apple Inc. | Competing devices responding to voice triggers |
| US11468282B2 (en) | 2015-05-15 | 2022-10-11 | Apple Inc. | Virtual assistant in a communication session |
| US12333404B2 (en) | 2015-05-15 | 2025-06-17 | Apple Inc. | Virtual assistant in a communication session |
| US12001933B2 (en) | 2015-05-15 | 2024-06-04 | Apple Inc. | Virtual assistant in a communication session |
| US12154016B2 (en) | 2015-05-15 | 2024-11-26 | Apple Inc. | Virtual assistant in a communication session |
| US11070949B2 (en) | 2015-05-27 | 2021-07-20 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display |
| US11127397B2 (en) | 2015-05-27 | 2021-09-21 | Apple Inc. | Device voice control |
| US10681212B2 (en) | 2015-06-05 | 2020-06-09 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
| US10356243B2 (en) | 2015-06-05 | 2019-07-16 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
| US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
| US11947873B2 (en) | 2015-06-29 | 2024-04-02 | Apple Inc. | Virtual assistant for media playback |
| US11010127B2 (en) | 2015-06-29 | 2021-05-18 | Apple Inc. | Virtual assistant for media playback |
| US11126400B2 (en) | 2015-09-08 | 2021-09-21 | Apple Inc. | Zero latency digital assistant |
| US11809483B2 (en) | 2015-09-08 | 2023-11-07 | Apple Inc. | Intelligent automated assistant for media search and playback |
| US11500672B2 (en) | 2015-09-08 | 2022-11-15 | Apple Inc. | Distributed personal assistant |
| US11853536B2 (en) | 2015-09-08 | 2023-12-26 | Apple Inc. | Intelligent automated assistant in a media environment |
| US12386491B2 (en) | 2015-09-08 | 2025-08-12 | Apple Inc. | Intelligent automated assistant in a media environment |
| US12204932B2 (en) | 2015-09-08 | 2025-01-21 | Apple Inc. | Distributed personal assistant |
| US11550542B2 (en) | 2015-09-08 | 2023-01-10 | Apple Inc. | Zero latency digital assistant |
| US11954405B2 (en) | 2015-09-08 | 2024-04-09 | Apple Inc. | Zero latency digital assistant |
| US12051413B2 (en) | 2015-09-30 | 2024-07-30 | Apple Inc. | Intelligent device identification |
| US9679497B2 (en) | 2015-10-09 | 2017-06-13 | Microsoft Technology Licensing, Llc | Proxies for speech generating devices |
| US10148808B2 (en) * | 2015-10-09 | 2018-12-04 | Microsoft Technology Licensing, Llc | Directed personal communication for speech generating devices |
| US10262555B2 (en) | 2015-10-09 | 2019-04-16 | Microsoft Technology Licensing, Llc | Facilitating awareness and conversation throughput in an augmentative and alternative communication system |
| US11526368B2 (en) | 2015-11-06 | 2022-12-13 | Apple Inc. | Intelligent automated assistant in a messaging environment |
| US11809886B2 (en) | 2015-11-06 | 2023-11-07 | Apple Inc. | Intelligent automated assistant in a messaging environment |
| US11886805B2 (en) | 2015-11-09 | 2024-01-30 | Apple Inc. | Unconventional virtual assistant interactions |
| US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
| US10354652B2 (en) | 2015-12-02 | 2019-07-16 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
| CN108369476A (en) * | 2015-12-11 | 2018-08-03 | 索尼公司 | Information processing equipment, information processing method and program |
| US20170177908A1 (en) * | 2015-12-17 | 2017-06-22 | Ncr Corporation | Input peripheral device security |
| US10762245B2 (en) * | 2015-12-17 | 2020-09-01 | Ncr Corporation | Input peripheral device security |
| US11853647B2 (en) | 2015-12-23 | 2023-12-26 | Apple Inc. | Proactive assistance based on dialog communication between devices |
| US10942703B2 (en) | 2015-12-23 | 2021-03-09 | Apple Inc. | Proactive assistance based on dialog communication between devices |
| US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
| US11069347B2 (en) | 2016-06-08 | 2021-07-20 | Apple Inc. | Intelligent automated assistant for media exploration |
| US12223282B2 (en) | 2016-06-09 | 2025-02-11 | Apple Inc. | Intelligent automated assistant in a home environment |
| DK201770032A1 (en) * | 2016-06-10 | 2018-01-15 | Apple Inc | Intelligent digital assistant in a multi-tasking environment |
| US10733993B2 (en) | 2016-06-10 | 2020-08-04 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
| US11037565B2 (en) | 2016-06-10 | 2021-06-15 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
| US11657820B2 (en) | 2016-06-10 | 2023-05-23 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
| US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
| AU2019213416A1 (en) * | 2016-06-10 | 2019-08-29 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
| AU2019213416B2 (en) * | 2016-06-10 | 2019-11-21 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
| US12175977B2 (en) | 2016-06-10 | 2024-12-24 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
| US10942702B2 (en) | 2016-06-11 | 2021-03-09 | Apple Inc. | Intelligent device arbitration and control |
| US12197817B2 (en) | 2016-06-11 | 2025-01-14 | Apple Inc. | Intelligent device arbitration and control |
| US11809783B2 (en) | 2016-06-11 | 2023-11-07 | Apple Inc. | Intelligent device arbitration and control |
| US11152002B2 (en) | 2016-06-11 | 2021-10-19 | Apple Inc. | Application integration with a digital assistant |
| US11749275B2 (en) | 2016-06-11 | 2023-09-05 | Apple Inc. | Application integration with a digital assistant |
| US10580409B2 (en) | 2016-06-11 | 2020-03-03 | Apple Inc. | Application integration with a digital assistant |
| US12293763B2 (en) | 2016-06-11 | 2025-05-06 | Apple Inc. | Application integration with a digital assistant |
| US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
| US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
| US10553215B2 (en) | 2016-09-23 | 2020-02-04 | Apple Inc. | Intelligent automated assistant |
| US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
| US11656884B2 (en) | 2017-01-09 | 2023-05-23 | Apple Inc. | Application integration with a digital assistant |
| US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
| US12260234B2 (en) | 2017-01-09 | 2025-03-25 | Apple Inc. | Application integration with a digital assistant |
| US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
| US10741181B2 (en) | 2017-05-09 | 2020-08-11 | Apple Inc. | User interface for correcting recognition errors |
| US10332518B2 (en) | 2017-05-09 | 2019-06-25 | Apple Inc. | User interface for correcting recognition errors |
| US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
| US10847142B2 (en) | 2017-05-11 | 2020-11-24 | Apple Inc. | Maintaining privacy of personal information |
| US11467802B2 (en) | 2017-05-11 | 2022-10-11 | Apple Inc. | Maintaining privacy of personal information |
| US11599331B2 (en) | 2017-05-11 | 2023-03-07 | Apple Inc. | Maintaining privacy of personal information |
| US10755703B2 (en) | 2017-05-11 | 2020-08-25 | Apple Inc. | Offline personal assistant |
| US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
| US11380310B2 (en) | 2017-05-12 | 2022-07-05 | Apple Inc. | Low-latency intelligent automated assistant |
| US10410637B2 (en) | 2017-05-12 | 2019-09-10 | Apple Inc. | User-specific acoustic models |
| US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
| US11862151B2 (en) | 2017-05-12 | 2024-01-02 | Apple Inc. | Low-latency intelligent automated assistant |
| US11837237B2 (en) | 2017-05-12 | 2023-12-05 | Apple Inc. | User-specific acoustic models |
| US10791176B2 (en) | 2017-05-12 | 2020-09-29 | Apple Inc. | Synchronization and task delegation of a digital assistant |
| US11405466B2 (en) | 2017-05-12 | 2022-08-02 | Apple Inc. | Synchronization and task delegation of a digital assistant |
| US11580990B2 (en) | 2017-05-12 | 2023-02-14 | Apple Inc. | User-specific acoustic models |
| US11538469B2 (en) | 2017-05-12 | 2022-12-27 | Apple Inc. | Low-latency intelligent automated assistant |
| US10789945B2 (en) | 2017-05-12 | 2020-09-29 | Apple Inc. | Low-latency intelligent automated assistant |
| US12014118B2 (en) | 2017-05-15 | 2024-06-18 | Apple Inc. | Multi-modal interfaces having selection disambiguation and text modification capability |
| US10810274B2 (en) | 2017-05-15 | 2020-10-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
| US10482874B2 (en) | 2017-05-15 | 2019-11-19 | Apple Inc. | Hierarchical belief states for digital assistants |
| US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
| US12254887B2 (en) | 2017-05-16 | 2025-03-18 | Apple Inc. | Far-field extension of digital assistant services for providing a notification of an event to a user |
| US11217255B2 (en) | 2017-05-16 | 2022-01-04 | Apple Inc. | Far-field extension for digital assistant services |
| US10909171B2 (en) | 2017-05-16 | 2021-02-02 | Apple Inc. | Intelligent automated assistant for media exploration |
| US10303715B2 (en) | 2017-05-16 | 2019-05-28 | Apple Inc. | Intelligent automated assistant for media exploration |
| US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
| US12026197B2 (en) | 2017-05-16 | 2024-07-02 | Apple Inc. | Intelligent automated assistant for media exploration |
| US11675829B2 (en) | 2017-05-16 | 2023-06-13 | Apple Inc. | Intelligent automated assistant for media exploration |
| US11532306B2 (en) | 2017-05-16 | 2022-12-20 | Apple Inc. | Detecting a trigger of a digital assistant |
| US10748546B2 (en) | 2017-05-16 | 2020-08-18 | Apple Inc. | Digital assistant services based on device capabilities |
| US10657328B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling |
| US10445429B2 (en) | 2017-09-21 | 2019-10-15 | Apple Inc. | Natural language understanding using vocabularies with compressed serialized tries |
| US10755051B2 (en) | 2017-09-29 | 2020-08-25 | Apple Inc. | Rule-based natural language processing |
| US10636424B2 (en) | 2017-11-30 | 2020-04-28 | Apple Inc. | Multi-turn canned dialog |
| US10733982B2 (en) | 2018-01-08 | 2020-08-04 | Apple Inc. | Multi-directional dialog |
| US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
| US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
| US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
| US11710482B2 (en) | 2018-03-26 | 2023-07-25 | Apple Inc. | Natural assistant interaction |
| US12211502B2 (en) | 2018-03-26 | 2025-01-28 | Apple Inc. | Natural assistant interaction |
| US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
| US10909331B2 (en) | 2018-03-30 | 2021-02-02 | Apple Inc. | Implicit identification of translation payload with neural machine translation |
| US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
| US11487364B2 (en) | 2018-05-07 | 2022-11-01 | Apple Inc. | Raise to speak |
| US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
| US11907436B2 (en) | 2018-05-07 | 2024-02-20 | Apple Inc. | Raise to speak |
| US11900923B2 (en) | 2018-05-07 | 2024-02-13 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
| US11169616B2 (en) | 2018-05-07 | 2021-11-09 | Apple Inc. | Raise to speak |
| US11854539B2 (en) | 2018-05-07 | 2023-12-26 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
| US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
| US10720160B2 (en) | 2018-06-01 | 2020-07-21 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
| US11630525B2 (en) | 2018-06-01 | 2023-04-18 | Apple Inc. | Attention aware virtual assistant dismissal |
| US11009970B2 (en) | 2018-06-01 | 2021-05-18 | Apple Inc. | Attention aware virtual assistant dismissal |
| US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
| US11431642B2 (en) | 2018-06-01 | 2022-08-30 | Apple Inc. | Variable latency device coordination |
| US10684703B2 (en) | 2018-06-01 | 2020-06-16 | Apple Inc. | Attention aware virtual assistant dismissal |
| US12061752B2 (en) | 2018-06-01 | 2024-08-13 | Apple Inc. | Attention aware virtual assistant dismissal |
| US12067985B2 (en) | 2018-06-01 | 2024-08-20 | Apple Inc. | Virtual assistant operations in multi-device environments |
| US12386434B2 (en) | 2018-06-01 | 2025-08-12 | Apple Inc. | Attention aware virtual assistant dismissal |
| US10984798B2 (en) | 2018-06-01 | 2021-04-20 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
| US11360577B2 (en) | 2018-06-01 | 2022-06-14 | Apple Inc. | Attention aware virtual assistant dismissal |
| US10403283B1 (en) | 2018-06-01 | 2019-09-03 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
| US11495218B2 (en) | 2018-06-01 | 2022-11-08 | Apple Inc. | Virtual assistant operation in multi-device environments |
| US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
| US12080287B2 (en) | 2018-06-01 | 2024-09-03 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
| US10504518B1 (en) | 2018-06-03 | 2019-12-10 | Apple Inc. | Accelerated task performance |
| US10496705B1 (en) | 2018-06-03 | 2019-12-03 | Apple Inc. | Accelerated task performance |
| US10944859B2 (en) | 2018-06-03 | 2021-03-09 | Apple Inc. | Accelerated task performance |
| US11080121B2 (en) * | 2018-06-27 | 2021-08-03 | International Business Machines Corporation | Generating runbooks for problem events |
| US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
| US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
| US12367879B2 (en) | 2018-09-28 | 2025-07-22 | Apple Inc. | Multi-modal inputs for voice commands |
| US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
| US11893992B2 (en) | 2018-09-28 | 2024-02-06 | Apple Inc. | Multi-modal inputs for voice commands |
| US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
| US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
| US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
| US12136419B2 (en) | 2019-03-18 | 2024-11-05 | Apple Inc. | Multimodality in digital assistant systems |
| US11783815B2 (en) | 2019-03-18 | 2023-10-10 | Apple Inc. | Multimodality in digital assistant systems |
| US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
| US11705130B2 (en) | 2019-05-06 | 2023-07-18 | Apple Inc. | Spoken notifications |
| US11675491B2 (en) | 2019-05-06 | 2023-06-13 | Apple Inc. | User configurable task triggers |
| US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
| US11217251B2 (en) | 2019-05-06 | 2022-01-04 | Apple Inc. | Spoken notifications |
| US12154571B2 (en) | 2019-05-06 | 2024-11-26 | Apple Inc. | Spoken notifications |
| US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
| US12216894B2 (en) | 2019-05-06 | 2025-02-04 | Apple Inc. | User configurable task triggers |
| US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
| US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
| US11888791B2 (en) | 2019-05-21 | 2024-01-30 | Apple Inc. | Providing message response suggestions |
| US11237797B2 (en) | 2019-05-31 | 2022-02-01 | Apple Inc. | User activity shortcut suggestions |
| US11657813B2 (en) | 2019-05-31 | 2023-05-23 | Apple Inc. | Voice identification in digital assistant systems |
| US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
| US11360739B2 (en) | 2019-05-31 | 2022-06-14 | Apple Inc. | User activity shortcut suggestions |
| US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
| US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
| US11790914B2 (en) | 2019-06-01 | 2023-10-17 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
| US11488406B2 (en) | 2019-09-25 | 2022-11-01 | Apple Inc. | Text detection using global geometry estimators |
| US11914848B2 (en) | 2020-05-11 | 2024-02-27 | Apple Inc. | Providing relevant data items based on context |
| US11765209B2 (en) | 2020-05-11 | 2023-09-19 | Apple Inc. | Digital assistant hardware abstraction |
| US12197712B2 (en) | 2020-05-11 | 2025-01-14 | Apple Inc. | Providing relevant data items based on context |
| US11924254B2 (en) | 2020-05-11 | 2024-03-05 | Apple Inc. | Digital assistant hardware abstraction |
| US12301635B2 (en) | 2020-05-11 | 2025-05-13 | Apple Inc. | Digital assistant hardware abstraction |
| US11810578B2 (en) | 2020-05-11 | 2023-11-07 | Apple Inc. | Device arbitration for digital assistant-based intercom systems |
| US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
| US11838734B2 (en) | 2020-07-20 | 2023-12-05 | Apple Inc. | Multi-device audio adjustment coordination |
| US11696060B2 (en) | 2020-07-21 | 2023-07-04 | Apple Inc. | User identification using headphones |
| US11750962B2 (en) | 2020-07-21 | 2023-09-05 | Apple Inc. | User identification using headphones |
| US12219314B2 (en) | 2020-07-21 | 2025-02-04 | Apple Inc. | User identification using headphones |
| US11620999B2 (en) | 2020-09-18 | 2023-04-04 | Apple Inc. | Reducing device processing of unintended audio |
Also Published As
| Publication number | Publication date |
|---|---|
| US11363128B2 (en) | 2022-06-14 |
| WO2015013201A3 (en) | 2015-03-19 |
| US11876922B2 (en) | 2024-01-16 |
| US12407771B2 (en) | 2025-09-02 |
| US20150032238A1 (en) | 2015-01-29 |
| WO2015013201A2 (en) | 2015-01-29 |
| US20200106872A1 (en) | 2020-04-02 |
| US20220303377A1 (en) | 2022-09-22 |
| US20240137435A1 (en) | 2024-04-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11876922B2 (en) | Method and device for audio input routing | |
| US10510337B2 (en) | Method and device for voice recognition training | |
| US9542947B2 (en) | Method and apparatus including parallell processes for voice recognition | |
| US9275638B2 (en) | Method and apparatus for training a voice recognition model database | |
| US9747894B2 (en) | System and associated method for speech keyword detection enhanced by detecting user activity | |
| US20140189538A1 (en) | Recommendations for Applications Based on Device Context | |
| US9619200B2 (en) | Method and apparatus for executing voice command in electronic device | |
| US9596337B2 (en) | Directing audio output based on device sensor input | |
| US20130325469A1 (en) | Method for providing voice recognition function and electronic device thereof | |
| US20140278392A1 (en) | Method and Apparatus for Pre-Processing Audio Signals | |
| EP2994907A2 (en) | Method and apparatus for training a voice recognition model database | |
| CN110619873A (en) | Audio processing method, device and storage medium | |
| CN108076199A (en) | The air-tightness detection method and device of microphone | |
| CN108573704B (en) | Method and apparatus for enabling context-based voice response to never-screen-off notifications | |
| CN102196388B (en) | How to Call Back Missed Calls | |
| US20170322621A1 (en) | Mobile phone, method for operating mobile phone, and recording medium | |
| CN119299560B (en) | Method and device for waking up voice assistant and electronic equipment | |
| CN106530610A (en) | Mobile terminal and method and device for detecting tumble of person |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: MOTOROLA MOBILITY LLC, ILLINOIS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LABOWICZ, MICHAEL P;ONDO, KAZUHIRO;WELLS, ANDREW K;SIGNING DATES FROM 20131210 TO 20131211;REEL/FRAME:031854/0430 |
|
| AS | Assignment |
Owner name: GOOGLE TECHNOLOGY HOLDINGS LLC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MOTOROLA MOBILITY LLC;REEL/FRAME:034244/0014 Effective date: 20141028 |
|
| STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |