This Application is a national stage filing under 35 U.S.C. 371 of International Patent Application Serial No. PCT/CN2016/105343, filed Nov. 10, 2016, and titled “TECHNIQUES FOR LANGUAGE INDEPENDENT WAKE-UP WORD DETECTION.” The entire contents of this application are incorporated herein by reference in their entirety.
A system may be speech enabled, allowing users to interact with the system via speech, for example, by allowing users to speak commands to control the system. Engaging a speech-enabled system often requires users to signal to the speech-enabled system that the user intends to interact with the system by speaking. For example, a speech-enabled system may be configured to begin recognizing speech after a manual trigger, such as a button push (e.g., a button of a physical device and/or a button within a user interface of a speech recognition software application), launch of an application, or other manual interaction with the system, is provided to wake-up a device or to alert the system that speech following the manual trigger is directed to the system. However, manual triggers complicate the interaction with the speech-enabled system and, in some cases, may be inconvenient or impossible to use (e.g., when the user's hands are otherwise occupied, such as when operating a vehicle, or when the user is too remote from the system to manually engage with the system or an interface thereof).
When a mobile device is operating in a low power mode (e.g., in a sleep, hibernate or idle mode), the actions required to engage the voice response system typically become even more extensive. In particular, the user need first wake-up the mobile device itself before the voice response system can be engaged using manual action or an explicit voice trigger. For example, a user may have to press a button to turn-on the display and/or enable one or more processors, may have to manipulate one or more controls to ready the mobile device for use, and/or may have to input a passcode if the mobile device has been inactive for a certain period of time. To address the inconvenience (and often inapplicability) of manual triggers, some speech-enabled systems allow for voice triggers to be spoken to begin engaging with the system, thus eliminating at least some (if not all) manual actions and facilitating generally hands-free access to the speech-enabled system. A voice trigger may comprise a designated word or phrase (e.g., “Hello Dragon”) that is spoken by the user to indicate to the speech-enabled system that the user intends to interact with the system (e.g., to issue one or more commands to the system).
A voice trigger is also referred to herein as a “wake-up word” or “WuW.” After a wake-up word has been detected, the system begins recognizing subsequent speech spoken by the user. In most cases, unless and until the system detects the wake-up word, the system will assume that acoustic input received from the environment is not directed to or intended for the system and will not process the acoustic input further. If a device (e.g., a mobile device such as a smart phone) is operating in a low-power mode, the device will remain inactive until a wake-up word is detected by the device.
Some embodiments include a method of enabling wake-up word detection in a target language on a user device is provided. The method comprises receiving acoustic input of a user speaking a wake-up word in the target language, providing acoustic features derived from the acoustic input to an acoustic model stored on the user device to obtain a sequence of speech units corresponding to the wake-up word spoken by the user in the target language, the acoustic model trained on a corpus of training data in a source language different than the target language, and storing the sequence of speech units on the user device for use in subsequent wake-up word detection.
Some embodiments include user device configured to enable wake-up word detection in a target language, the user device comprising at least one microphone configured to obtain acoustic information from the environment of the user device, at least one computer readable medium storing an acoustic model trained on a corpus of training data in a source language different than the target language, and at least one processor coupled to the at least one computer readable medium and programmed to perform receiving, from the at least one microphone, acoustic input from the user speaking a wake-up word in the target language, providing acoustic features derived from the acoustic input to the acoustic model to obtain a sequence of speech units corresponding to the wake-up word spoken by the user in the target language, and storing the sequence of speech units on the user device for use in subsequent wake-up word detection.
Some embodiments include a user device configured to perform wake-up word detection in a target language. The user device comprises at least one microphone configured to obtain acoustic information from the environment of the user device, at least one computer readable medium storing an acoustic model trained on a corpus of training data in a source language different than the target language, and storing a first sequence of speech units obtained by providing acoustic features derived from audio comprising the user speaking a wake-up word in the target language to the acoustic model, and at least one processor coupled to the at least one computer readable medium and programmed to perform receiving, from the at least one microphone, acoustic input from the user speaking in the target language while the user device is operating in a low-power mode, applying acoustic features derived from the acoustic input to the acoustic model to obtain a second sequence of speech units corresponding to the acoustic input, determining if the user spoke the wake-up word at least in part by comparing the first sequence of speech units to the second sequence of speech units, and exiting the low-power mode if it is determined that the user spoke the wake-up word.
Some embodiments include a method of performing wake-up word detection on a user device, the method comprising, while the user device is operating in a low-power mode, receiving acoustic input from a user speaking in a target language, providing acoustic features derived from the acoustic input to an acoustic model stored on the user device to obtain a first sequence of speech units corresponding to the acoustic input, the acoustic model trained on a corpus of training data in a source language different than the target language, determining if the user spoke the wake-up word at least in part by comparing the first sequence of speech units to a second sequence of speech units stored on the user device, the second sequence of speech units obtained by applying acoustic features derived from audio comprising the user speaking the wake-up word in the target language to the acoustic model, and exiting the low-power mode if it is determined that the user spoke the wake-up word.
Various aspects and embodiments will be described with reference to the following figures. The figures are not necessarily drawn to scale.
As discussed above, wake-up word detection facilitates voice activation of a device (e.g., a mobile device operating in a low-power mode). However, wake-up word detection may not be available in the language spoken by a given user. In particular, automatic speech recognition generally involves processing a speech signal to extract relevant acoustic characteristics (e.g., Mel-frequency cepstral coefficients (MFCCs)) from the speech signal and applying the acoustic characteristics to an acoustic model configured to provide hypotheses regarding the likely sequence of fundamental speech units (e.g., phones, phonemes, etc.) contained in the speech signal. Acoustic models are typically trained using a relatively large corpus of training data to as to correctly identify the phonetic content of a spoken utterance. For example, acoustic training may be utilized to train one or more acoustic models. Via training, an acoustic model “learns” acoustic characteristics of the training data utilized so as to be able to accurately identify sequences of speech units in speech data received when the trained ASR system is subsequently deployed. To achieve adequate training, relatively large amounts of training data in a given language are generally needed (e.g., hundreds or thousands of hours of speech data) to learn the characteristics and statistics of the corresponding language.
A number of machine learning techniques have been used to implement acoustic models including, but not limited to, multi-layer neural networks, hidden Markov models (HMMs), Gaussian mixture models (GMMs), etc. Larger speech units such as words or phrases are then determined from the hypotheses regarding the sequence of fundamental speech units determined by the acoustic model. Typically, a language model trained to capture the language statistics to provide the likelihood of particular word sequences is then used to hypothesize the most likely sequence of words represented by the sequence of speech units produced by the acoustic model. In this way, a speech input can be converted into the sequence of words contained in the speech signal, thus converting an audio signal to its language content.
Modern systems frequently provide automatic speech recognition service in the cloud. In particular, speech recognition services are frequently provided by automatic speech recognition servers accessible via one or more networks (e.g., via the Internet). Network connected devices (e.g., personal computers, mobile devices such as laptops and smart phones, etc.) can thereby access speech recognition services to have the content of speech input received by the network connected devices recognized via the cloud. Often a speech recognition service will provide comprehensive speech recognition services in numerous languages, for example, by training acoustic models and language models in various desired languages. In this way, sophisticated automatic speech recognition in numerous languages can be performed using any device capable of communicating over a network (e.g., capable of accessing the Internet) and configured to communicate with automatic speech recognition service(s). In the mobile context, a user may speak to the user's mobile device (e.g., a smart phone, personal digital assistant, wearable device, or any other mobile device) and the speech captured by the mobile device can be transmitted over the network to be recognized by an automatic speech recognition service provide via the cloud.
However, mobile devices are generally power-limited in that they are frequently expected to operate for relatively extended periods of time off of battery power. To conserve power, mobile devices frequently enter a low power mode (e.g., a sleep, idle or hibernate mode) after some duration of inactivity. A low power mode refers generally to any mode or state that is entered to conserve power that conventionally requires one or more wake-up actions to exit (e.g., to activate the mobile device). Mobile devices may have more than one low power mode and different mobile devices may power down different components when entering a low power mode. However, mobile devices will typically have some variation of a low power mode that conventionally requires action to exit the low power mode and transition to an active mode.
Entering a low power mode may include turning off the display, shutting down one or more processors (e.g., disabling the clock tree associated with one or more processors) and/or deactivating components that would otherwise draw power if left operational. Automatically entering a low power mode after a designated interval of time may significantly extend the period that a mobile device can operate on battery power before requiring a recharge. In view of the relative importance of conserving power in a mobile device, many mobile devices default to a relatively short duration of inactivity before powering down and going to sleep, such that a mobile device may frequently be in a low power mode when a user wants to access functionality on the mobile device.
As such, when operating in low-power mode, a mobile device typically will not have access to automatic speech recognition services provided in the cloud because establishing a network connection to utilize cloud resources each time acoustic input is received by the mobile device (e.g., when a microphone detects acoustic activity) to assess whether a wake-up word has been spoken could utilize significant enough processing power to frustrate the efforts of powering down the mobile device to a low power mode in the first place. Therefore, wake-up word detection using network resources is generally not available and may not be feasible in many circumstances. As a result, wake-up word detection is generally performed using the limited resources available to the mobile device while operating in the low-power mode (e.g., a voice activity detector, a phone loop component, a low-power processor to perform small vocabulary recognition, etc). Thus, a suitably trained acoustic model may not be available on a mobile device for the range of languages for which wake-up word detection is sought, at least in part because acoustic models in numerous or even multiple languages are generally not available on the mobile device itself. As a consequence, wake-up word detection may be unavailable for a wide range of speakers that would like this feature to be available in their own spoken language.
The inventors have recognized that an acoustic model trained for a first language can be used to recognize the phonetic content of an utterance spoken in a second language different than the first language. As used herein, an acoustic model trained for a first language or trained via a first language refers to an acoustic model that is trained using training data predominantly, substantially or exclusively in a first language. In this way, an acoustic model trained for a first language can be used to assist in performing wake-up word detection in any desired language, regardless of whether a trained acoustic model is available to the mobile device for that desired language. Accordingly, language independent wake-up word detection may be performed using any available and suitably trained acoustic model (e.g., an acoustic model on a mobile device and/or available to a mobile device in a low-power mode).
According to some embodiments, a user speaks an enrollment utterance that includes, or consists of, a desired wake-up word in a desired language (target language) that, for example, a trained acoustic model may not be available. For example, a mobile device for which wake-up word detection in the desired language is sought may not have stored thereon an acoustic model trained for the desired language and/or while such an acoustic model may be available via the cloud, no such acoustic model may be available when the mobile device is operating in a low-power mode. However, an acoustic model trained for a second language (source language) may be available (e.g., may be stored on a mobile device and/or accessible while the mobile device is operating in a low-power mode). Acoustic features derived from the enrollment utterance may be applied as input to the available acoustic model to obtain a sequence of speech units (e.g., phonemes, di-phones, tri-phones, HMI states, or any other suitable sub-word speech unit) believed to correspond to the received acoustic features. The resulting sequence of speech units can then be stored as the pronunciation of the wake-up word spoken by the user in the desired language (e.g., may be stored in a user dictionary as the pronunciation of the speaker of the desired wake-up word). That is, the pronunciation may be stored and associated with the desired wake-up word for use in subsequent wake-up word detection.
According to some embodiments, the enrollment utterance is used to adapt the acoustic model to the speaker. In particular, speaker adaptation may be applied to the acoustic model to obtain a speaker-adapted acoustic model that can be used for the speaker to perform wake-up word detection. For example, the enrollment utterance and the resulting sequence of speech units from the acoustic model may be used to adapt the acoustic model to the user. In this manner, an acoustic model that has been trained, for example, based on a large corpus of training data for a source language can be used and adapted to perform wake-up word detection of a desired target language. As such, language independent wake-up word detection may be implemented by performing the process discussed above and described in further detail below. According to some embodiments, one or more noise models may be added to the enrollment utterance to improve the robustness of wake-up word detection in the presence of noise and to facilitate speaker adaptation.
Following below are more detailed descriptions of various concepts related to, and embodiments of, techniques of language independent wake-up word detection. It should be appreciated that various aspects described herein may be implemented in any of numerous ways. Examples of specific implementations are provided herein for illustrative purposes only. In addition, the various aspects described in the embodiments below may be used alone or in any combination, and are not limited to the combinations explicitly described herein.
Acoustic model 150 outputs sequence data 120 in response to received acoustic features 110 in a manner governed by a current set of values assigned to the respective plurality of configurable parameters. Sequence data 120 generally comprises a hypothesis for the sequence of speech units (e.g., phonemes, diphones, triphones or any other suitable sub-word speech unit) believed to correspond to the received acoustic features 110. During training, the outputted sequence data 120 may be compared to expected sequence data (also referred to herein as “ground truth”) and, based on the comparison, the current set of values (or a portion of the current set of values) of the plurality of parameters are adjusted accordingly.
The expected sequence data may be obtained in a number of ways, for example, by using an existing trained acoustic model known to give results of sufficient accuracy/quality and applying the training data to the existing trained acoustic model, using stored sequence data previously obtained for the training data, expert generated sequence data (if feasible), or some combination thereof. The process of producing sequence data, comparing the sequence data to expected sequence data and updating values of the parameters of the acoustic model is repeated using the available training data. After completion of training, the trained acoustic model has a set of values established for the plurality of parameters that produces sequence data in accordance with what the acoustic model “learned” from processing the training data. When deployed to perform automatic speech recognition (ASR), acoustic features derived from a user's speech input is provided to the trained acoustic model, which outputs sequence data corresponding to a hypothesis of the word sequence spoken by the user.
As discussed above, an acoustic model trained for the user's spoken language may not be available to a mobile device to perform wake-up word detection (e.g., an acoustic model trained on training data in the user's language may not be resident on the mobile device for use in a low power mode). Accordingly, voice activation of the mobile device may be unavailable to the user. The inventors have developed techniques that utilize an acoustic model trained using training data in a source language to facilitate wake-up word detection in a target language for which an acoustic model trained for the target language is not available, as discussed in further detail below. As such, any acoustic model available to the mobile device in a low power mode can be used to perform wake-up word detection in the user's language, as discussed in further detail below.
In act 220, the speech data corresponding to the wake-up word contained in the enrollment utterance is provided to an acoustic model trained for a source language (e.g., a well-trained acoustic model that has been trained on a large corpus of speech data in the source language). In particular, acoustic features may be derived from the enrollment utterance and processed by the trained acoustic model to recognize a sequence of speech units (e.g., a phoneme sequence) corresponding to the wake-up word spoken in the target language. In this manner, the acoustic model trained via the source language is used to produce a phoneme sequence that characterizes the sounds of the wake-up word spoken in the target language.
In act 230, the sequence of speech units resulting from processing the wake-up word spoken in the target language is stored (e.g., in a dictionary on the user's mobile device) as the reference sequence of speech units characterizing the wake-up word. For example, the sequence of speech units may comprise the source language phoneme sequence that characterizes the wake-up word spoken in the target language. This reference sequence of speech units can then be used upon deployment to detect when the user has spoken the wake-up word in the target language (e.g., by comparing an input sequence of speech units obtained using the acoustic model on speech data spoke by the user to a mobile device operating in a low-power mode with the reference sequence of speech units), as discussed in further detail below.
In act 240, one or more types of noise are added to the enrollment utterance to obtain noisy enrollment utterances to improve the performance of wake-up word detection in corresponding acoustic environments. In particular, when a user is seeking to voice activate a mobile device, the user and the device may be in an acoustic environment different than during enrollment. Specifically, a user may perform enrollment in a relatively noise free environment but may wish to perform voice activation while driving, walking or in other acoustic environments having spurious acoustic noise. Accordingly, the inventors have appreciated that by adding one or more types of noise, wake-up word detection may be improved. In particular, noise present in common environments in which a user may speak a wake-up may be added to the enrollment utterance to improve wake-up word detection when used in those common environments. For example, car noise, street noise or any other desired noise may be added to the enrollment utterance and applied to the acoustic model to obtain respective phoneme sequences corresponding to the noisy enrollment utterance. Thereafter, the enrollment utterance, the noisy enrollment utterances and the corresponding respective phoneme sequences are used to adapt the acoustic model to the noise environments corresponding to the one or more noise models added to the enrollment utterance (i.e., in act 250 described in further detail below). The noise adapted acoustic models may then be used thereafter to improve performance of wake-up word detection in the corresponding noise environments. It should be appreciated that any desired type of noise in any combination may be used to corrupt the enrollment utterance to adapt the acoustic model to the corresponding noise environment, as the aspects are not limited in this respect. It should be further appreciated that, in some embodiments, act 240 may not be performed.
In act 250, the enrollment utterance (i.e., the audio signal comprising the wake-up word), noisy enrollment utterances (e.g., in embodiments in which act 240 is performed), and the output of the acoustic model processing acoustic features of the enrollment utterance (e.g., the reference sequence of speech units corresponding to the wake-up word) are used to perform speaker adaptation on the acoustic model. There are numerous techniques for adapting an acoustic model to a speaker using speech data from the user. The choice of a particular adaptation technique may be driven by the type of acoustic model being adapted. For example, certain adaptation techniques may be more appropriate for a GMM or an HMM-based acoustic model than for a neural network-based acoustic model. Suitable adaptation techniques include, but are not limited to, maximum a posteriori (MAP) adaptation, maximum likelihood linear regression (MLLR) adaption, a linear input network (LIN) layer (e.g., for a neural network-based acoustic model), vocal tract length normalization (VTLN), cluster adaptation techniques, eigenvoice techniques, etc. Any suitable speaker-dependent adaptation may be performed to provide an adapted acoustic model for the particular user, as the aspects are not limited in this respect. The adapted acoustic model can then be used to improve the performance of wake-up word detection for the user in the target language, as discussed in further detail below.
It should be appreciated that while adapting the acoustic model using the enrollment utterance and/or using one or more noise models facilitates improved wake-up word detection, such techniques are optional and need not be performed (e.g., performing acts 240 and/or 250 is optional), as performing language independent wake-up word detection is not limited in this respect. Additionally, one or more tasks may be associated with the wake-up word enrolled by the user. For example, a user may want one or more tasks to be performed, in addition to, or in place of, transitioning from a low power when a wake-up word is detected. For example, a user may provide an enrollment utterance including the wake-up word “What time is it?” spoken by the user in the target language and a task by which the mobile device responds with the time (e.g., by displaying the time on the display or synthesizing a voice response) may be associated with the reference sequence obtained by processing this wake-up word using the acoustic model trained via the source language. Providing the temperature, or providing an audible alert (e.g., a beep, a ring) or a tactile alert (e.g., a vibration) to assist a user in locating their mobile device are further examples of tasks that may be associated with a wake-up word. Any suitable task may be associated with a wake-up word, as the aspects are not limited in this respect. Furthermore, it should be appreciated that acts 210-230 (and optionally act 240) may be repeated to obtain reference sequences for any number of wake-up words. According to some embodiments, method 200 can be employed to provide wake-up words that transition the mobile device to a variety of different power modes, perform tasks without leaving the current low-power mode and/or a combination thereof. In this manner, a command vocabulary in the user's language can be created that can be used to activate the mobile device and/or to perform various tasks associated with the same or different wake-up words, allowing a user to customize the voice activation capabilities of the user's device.
It should be appreciated that the techniques described herein are not dependent on any particular source or target language. As long as an acoustic model that has been trained via a first language is available, a device can be enabled to perform wake-up word detection in any language desired by the user, thus language independent wake-up word detection can be achieved. That is, the techniques described herein are not limited for use with any particular source language, target language or source and target language combination.
In act 310, acoustic input is received from the user. For example, a mobile device may receive acoustic input from the environment in which it is located. In act 320, the acoustic input is processed by the acoustic model trained via the source language to obtain an input sequence of speech units corresponding to the acoustic input. For example, acoustic features (e.g., MFCCs) may be derived from the acoustic input and provided as input to the acoustic model which, in turn, generates a sequence of speech units corresponding to the acoustic input (e.g., generates a sequence of phonemes corresponding to the sounds present in the acoustic input).
In act 330, the input sequence of speech units is compared to the reference sequence of speech units, for example, stored in a dictionary on the user's mobile device. In particular, the reference sequence of speech units obtained using the acoustic model trained via the source language to process the enrollment utterance including the wake-up word spoken by the user in the target language may be used to assess whether the input sequence of speech units is a match (e.g., to assess the likelihood that the input sequence of speech of units also corresponds to the user speaking a wake-up word). The input and reference sequences may be compared in any suitable way that results in an indication of similarity between the input and reference sequences, provides an indication of the likelihood that the input sequence corresponds to the user speaking a wake-up word in the target language and/or produces a decision as to whether the input sequence of speech units is believed to have resulted from the user speaking a wake-up word. In act 340, if it is determined that there is a match between the input and references sequences of speech units (i.e., if it is determined that the input sequence of speech units corresponds to the speaker having spoken a wake-up word), the process of transitioning from low-power mode is initiated and/or one or more tasks associated with the wake-up word may be performed. For example, when it is determined that the user has spoken a wake-up word, the process of waking up the user's mobile device may be initiated (e.g., the mobile device may be activated to an extent indicated by the wake-up word, such as transitioning the mobile device to an active state). As a result, the mobile device may be transitioned to an active mode for further interaction with the user.
As another example, when it is determined that the user has spoken a wake-up word, it may be determined whether any tasks have been associated with the wake-up word determined to have been spoken by the user and, if so, initiation and/or performance of one or more associated tasks may be performed. It may be the case that in some instances, a task associated with a wake-up word does not require the mobile device to transition from the low-power mode (e.g., a task wherein the phone beeps, vibrates or otherwise emits acoustic, tactile or other output to alert the user to its location, a task that presents the time, date, temperature, etc.) In such instances, the mobile device may remain in the low power mode and the one or more tasks are performed in the low power mode. In other instances, performance of the task may require the mobile device to exit the low power mode. Under such circumstances, low-power mode may be exited followed by performance of task(s) associated with the detected wake-up word. It should be appreciated that act 330 may be performed against multiple reference sequences of speech units that have been stored corresponding to multiple valid wake-up words for which a reference sequence has been obtained. In this manner, language independent wake-up word detection and/or voice activated tasks can be performed, facilitating voice activation and/or control of a mobile device in any language spoken by the user.
Mobile device 400 may also include one or more wireless communication components 460. For example, mobile communication devices such as cellular telephones will typically have a wireless transceiver capable of communicating with one or more cellular networks. Alternatively, or in addition to, wireless communication component 460 may include a wireless transceiver capable of communicating with one or more other networks or external devices. For example, wireless communication component 460 may include a component configured to communication via the IEEE 802.11 standard (Wi-Fi) to connect to a local area network (LAN), wide area network (WAN) such as the Internet, and/or may include a Bluetooth® transceiver to connect to a Bluetooth® compatible device. Wireless communication component 460 may also include a Global Positioning System (GPS) to communicate with a satellite network to determine the location of the mobile device, or may include one or more other wireless communication transceivers.
To simplify the illustration of exemplary mobile device 400, wireless communication component 460 is used to represent any wireless communication component 460 implemented on mobile device 400 and may include one or multiple components that may be either separate or integrated components, may be independent system components, or may be different system components in communication with one or more other wireless components. That is, wireless communication component 460 denotes one or any combination of components that may be implemented on a mobile device that allows the mobile device 400 to communicate wirelessly with one or more networks, systems and/or other devices. In this manner, when mobile device 400 is active, mobile device 400 may access automatic speech recognition services via one or more automatic speech recognition servers connected to a network (e.g., automatic speech recognition services provided via the cloud).
Mobile device 400 may also include a display 410 for visually presenting information to the user (e.g., presenting one or more prompts to the user). Display 410 may also be configured as an input device, for example, by responding to touch, pen input, etc. Mobile device 400 may include one or more other input components 420 that allow a user to interface with the mobile device. For example, button 420 may be used to initiate wake-up of the mobile device when the mobile device has entered a low power mode such as a sleep mode and/or may be used as a selection button or may include any other functionality when the mobile device is active. Button 420 may be a power button, volume button, or any other input component having any desired functionality. Different mobile devices may have different numbers and arrangements of input components 420 depending on the design of the mobile device.
Mobile device 400 may also include other components such as one or more cameras 450, one or more light emitting diodes (LEDs) 470, one or more motion detectors, and/or any other components. Mobile device 400 may also include a power port 490 for connecting the mobile device to a power source (e.g., wall power) and/or a data port for providing/receiving data to/from another device connected via a data cable. According to some mobile device designs, the data and power port are the same port and can be used both for power and for data. It should be appreciated that mobile device 400 is merely an example of a mobile device suitable for use with any one or combination of voice activation techniques described herein. The mobile device components are described to illustrate common features of smart phones, but no particular one or combination of these components are required. Techniques described herein are not limited for use with any particular mobile device having any particular number or arrangement of components and any mobile device having the ability to receive acoustic input may be suitable, as the aspects described herein are not limited in this respect.
It should be appreciated that any of the techniques described herein may be implemented on a mobile device having a single processor (or performed on a single processor even when multiple processors are available), and the following discussion with respect to
Processor 415 may be the system's primary or main processor and generally operates as the central processing unit for the mobile device and, therefore may include a high speed processor that may consume relatively large amounts of power when operating (e.g., when the clock tree is enabled and the processor is executing instructions). Accordingly, when a mobile device enters a low power mode (e.g., powers down into a sleep or idle mode), the primary processor may be powered down to a desired extent (e.g., one or more clocks in the clock tree may be disabled to conserve power). When the mobile device wakes-up (e.g., enters an active mode), the primary processor may be activated or powered up to perform processing tasks that are needed. Generally speaking, when mobile device 400 enters an active mode, the device is enabled for network communications and can access cloud services (e.g., automatic speech recognition services via the Internet).
Processor 425 may be a secondary processor such as a digital signal processor (DSP), co-processor and/or specialized processor to handle some portion or aspect of the processing tasks performed by the mobile device, to assist the primary processor in performing certain functionality, to handle certain specialized processing tasks, and/or to perform certain processing tasks when mobile device 400 is operating in a low-power mode. As such, the secondary processor may be a lower power processor than the primary processor in that less power may consumed by the secondary processor when enabled and operating (e.g., executing instructions). In some embodiments, the secondary processor can be configured to operate at a lower power and/or may be simpler and require less power to power-up and/or keep enabled/powered-up, or may otherwise be generally attractive from a power standpoint. In some embodiments, processor 425 is not a separate processor but instead is a part of processor 415 that remains available in a low-power mode to perform certain processing tasks when mobile device 400 is in a sleep, idle and/or hibernate mode (e.g., in a low-power mode).
To allow for voice activation of a mobile device while operating in a low-power mode, the acoustic environment of the mobile device may need to be monitored in low power modes to obtain acoustic input and determine whether the acoustic input includes a wake-up word or whether the acoustic input resulted from spurious acoustic activity. The term “spurious acoustic activity” refers generally to any acoustic activity (including speech) detected in the acoustic environment of the mobile device that does not correspond to a wake-up word upon which the voice response system can or should act. Thus, when mobile device 400 is operating in a low-power mode, the mobile device 400 may not have access to the network and/or it may not make sense from a power perspective to establish a network connection each time acoustic input is received by the mobile device 400 for evaluation as to whether a user has spoken a wake-up word. As such, performing wake-up word detection may be limited to the resources local to and/or resident on mobile device 400. In this respect, mobile device 400 may include local automatic speech recognition resources (e.g., limited ASR resources) that include an acoustic model and a dictionary storing pronunciation information for a small vocabulary of words, for example, one or more wake-up words, a small command vocabulary, etc. The acoustic model may, for example, have been trained on training data predominantly or entirely in a source language (e.g., English). The local automatic speech recognition resources may be stored in computer readable medium 435 and deployed as one or more programs that can be executed by processor 415 and/or processor 425.
The user of mobile device 400 may speak a language different than the source language on which the acoustic model was trained. To enable wake-up word detection in the language of the user, techniques described herein may be performed. For example, method 200 described in connection with
The sequence of speech units obtained from the acoustic model may be stored in the dictionary on mobile device 400 (e.g., a dictionary stored on computer readable medium 435) as a reference sequence corresponding to the wake-up word spoken in the target language (e.g., by performing exemplary act 230 described in connection with
In this manner, an acoustic model available on a mobile device 400 (or available to a mobile device 400 in a low-power mode) can be used to enable wake-up word detection for one or more wake-up words in a target language spoken by the user. It should be appreciated that this process can be repeated for any number of wake-up words. In particular, a user may desire to have different wake-up words perform different functionality. For example, a user may want to have a wake-up word for waking the mobile device as well as a wake-up word to which the mobile device performs an associated task. Some tasks may require the mobile device to leave a low-power mode while others may not. Thus, by repeating the process, a user can create a wake-up word command vocabulary in the user's language using an available acoustic model on the mobile device. Thus, language independent wake-up word detection may be enabled to achieve voice activation and/or control in the user's language.
Subsequent to enrollment, wake-up detection in the language spoken by the user can be performed by mobile device 400. In particular, when mobile device 400 is operating in a low power mode, the mobile device may monitor the acoustic environment to receive acoustic input (e.g., by performing exemplary act 310 described in connection with
In turn, the input sequence of speech units may be compared to a reference sequence of speech units stored on mobile device 400 (e.g., stored on computer readable medium 435) to assess whether the user spoke a wake-up word (e.g., by performing exemplary act 330 described in connection with
An illustrative implementation of a computer system 500 that may be used in connection with any of the embodiments of the disclosure provided herein is shown in
To perform functionality and/or techniques described herein, the processor 510 may execute one or more instructions stored in one or more computer-readable storage media (e.g., the memory 520, storage media, etc.), which may serve as non-transitory computer-readable storage media storing instructions for execution by processor 510. Computer system 500 may also include any other processor, controller or control unit needed to route data, perform computations, perform I/O functionality, etc. For example, computer system 500 may include any number and type of input functionality to receive data and/or may include any number and type of output functionality to provide data, and may include control apparatus to perform I/O functionality. For example, processor 415 and/or processor 425 and computer readable medium 435 may be implemented by computer system 500.
Processor 510 may execute any one or combination of programs that are available to the processor by being stored locally on computer system 500 or accessible over a network. Any other software, programs or instructions described herein may also be stored and executed by computer system 500. Computer system 500 may be the computer system on a mobile device. Computer system 500 may also be implemented as a standalone computer, server, part of a distributed computing system, and may be connected to a network and capable of accessing resources over the network and/or communicate with one or more other computers connected to the network (e.g., computer system 500 may be part of the network resources available to a voice response system implemented on a mobile device).
The terms “program” or “software” are used herein in a generic sense to refer to any type of computer code or set of processor-executable instructions that can be employed to program a computer or other processor to implement various aspects of embodiments as discussed above. Additionally, it should be appreciated that according to one aspect, one or more computer programs that when executed perform methods of the disclosure provided herein need not reside on a single computer or processor, but may be distributed in a modular fashion among different computers or processors to implement various aspects of the disclosure provided herein.
Processor-executable instructions may be in many forms, such as program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Typically, the functionality of the program modules may be combined or distributed as desired in various embodiments.
Also, data structures may be stored in one or more non-transitory computer-readable storage media in any suitable form. For simplicity of illustration, data structures may be shown to have fields that are related through location in the data structure. Such relationships may likewise be achieved by assigning storage for the fields with locations in a non-transitory computer-readable medium that convey relationship between the fields. However, any suitable mechanism may be used to establish relationships among information in fields of a data structure, including through the use of pointers, tags or other mechanisms that establish relationships among data elements.
Also, various inventive concepts may be embodied as one or more processes, of which examples have been provided. The acts performed as part of each process may be ordered in any suitable way. Accordingly, embodiments may be constructed in which acts are performed in an order different than illustrated, which may include performing some acts simultaneously, even though shown as sequential acts in illustrative embodiments.
All definitions, as defined and used herein, should be understood to control over dictionary definitions, and/or ordinary meanings of the defined terms.
As used herein in the specification and in the claims, the phrase “at least one,” in reference to a list of one or more elements, should be understood to mean at least one element selected from any one or more of the elements in the list of elements, but not necessarily including at least one of each and every element specifically listed within the list of elements and not excluding any combinations of elements in the list of elements. This definition also allows that elements may optionally be present other than the elements specifically identified within the list of elements to which the phrase “at least one” refers, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, “at least one of A and B” (or, equivalently, “at least one of A or B,” or, equivalently “at least one of A and/or B”) can refer, in one embodiment, to at least one, optionally including more than one, A, with no B present (and optionally including elements other than B); in another embodiment, to at least one, optionally including more than one, B, with no A present (and optionally including elements other than A); in yet another embodiment, to at least one, optionally including more than one, A, and at least one, optionally including more than one, B (and optionally including other elements); etc.
The phrase “and/or,” as used herein in the specification and in the claims, should be understood to mean “either or both” of the elements so conjoined, i.e., elements that are conjunctively present in some cases and disjunctively present in other cases. Multiple elements listed with “and/or” should be construed in the same fashion, i.e., “one or more” of the elements so conjoined. Other elements may optionally be present other than the elements specifically identified by the “and/or” clause, whether related or unrelated to those elements specifically identified. Thus, as a non-limiting example, a reference to “A and/or B”, when used in conjunction with open-ended language such as “comprising” can refer, in one embodiment, to A only (optionally including elements other than B); in another embodiment, to B only (optionally including elements other than A); in yet another embodiment, to both A and B (optionally including other elements); etc.
Use of ordinal terms such as “first,” “second,” “third,” etc., in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which acts of a method are performed. Such terms are used merely as labels to distinguish one claim element having a certain name from another element having a same name (but for use of the ordinal term).
The phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use of “including,” “comprising,” “having,” “containing”, “involving”, and variations thereof, is meant to encompass the items listed thereafter and additional items.
Having described several embodiments of the techniques described herein in detail, various modifications, and improvements will readily occur to those skilled in the art. Such modifications and improvements are intended to be within the spirit and scope of the disclosure. Accordingly, the foregoing description is by way of example only, and is not intended as limiting. The techniques are limited only as defined by the following claims and the equivalents thereto.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2016/105343 | 11/10/2016 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2018/086033 | 5/17/2018 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5428707 | Gould et al. | Jun 1995 | A |
5774859 | Houser et al. | Jun 1998 | A |
5802305 | McKaughan et al. | Sep 1998 | A |
5983186 | Miyazawa et al. | Nov 1999 | A |
6006175 | Holzrichter | Dec 1999 | A |
6070140 | Tran | May 2000 | A |
6092043 | Squires et al. | Jul 2000 | A |
6397186 | Bush et al. | May 2002 | B1 |
6408396 | Forbes | Jun 2002 | B1 |
6411926 | Chang | Jun 2002 | B1 |
6449496 | Beith et al. | Sep 2002 | B1 |
6594630 | Zlokarnik et al. | Jul 2003 | B1 |
6756700 | Zeng | Jun 2004 | B2 |
6859776 | Cohen et al. | Feb 2005 | B1 |
6941265 | Bi et al. | Sep 2005 | B2 |
6965786 | Qu et al. | Nov 2005 | B2 |
7114090 | Kardach et al. | Sep 2006 | B2 |
7567827 | Kim | Jul 2009 | B2 |
7574361 | Yeager et al. | Aug 2009 | B2 |
7720683 | Vermeulen et al. | May 2010 | B1 |
7774204 | Mozer et al. | Aug 2010 | B2 |
8056070 | Goller et al. | Nov 2011 | B2 |
8181046 | Marcu et al. | May 2012 | B2 |
8190420 | Kadirkamanathan et al. | May 2012 | B2 |
8229729 | Sarikaya | Jul 2012 | B2 |
8285545 | Lee et al. | Oct 2012 | B2 |
8311824 | Lubowich | Nov 2012 | B2 |
8515750 | Lei | Aug 2013 | B1 |
8548176 | Bright | Oct 2013 | B2 |
8620389 | Schrager | Dec 2013 | B2 |
8666751 | Murthi et al. | Mar 2014 | B2 |
8949130 | Phillips | Feb 2015 | B2 |
8977255 | Freeman et al. | Mar 2015 | B2 |
9087520 | Salvador | Jul 2015 | B1 |
9112984 | Sejnoha et al. | Aug 2015 | B2 |
9293151 | Herbig et al. | Mar 2016 | B2 |
9361885 | Ganong, III et al. | Jun 2016 | B2 |
9390708 | Hoffmeister | Jul 2016 | B1 |
9558749 | Seeker-Walker et al. | Jan 2017 | B1 |
9589578 | Dippenaar | Mar 2017 | B1 |
9646610 | Macho | May 2017 | B2 |
9747899 | Pogue et al. | Aug 2017 | B2 |
9940936 | Sejnoha et al. | Apr 2018 | B2 |
9992642 | Rapp et al. | Jun 2018 | B1 |
10043521 | Booklet | Aug 2018 | B2 |
10057421 | Chiu et al. | Aug 2018 | B1 |
10199037 | Filimonov | Feb 2019 | B1 |
10304465 | Gunn | May 2019 | B2 |
10332525 | Seeker-Walker et al. | Jun 2019 | B2 |
10621992 | Qian | Apr 2020 | B2 |
20020193989 | Geilhufe et al. | Dec 2002 | A1 |
20030040339 | Chang | Feb 2003 | A1 |
20030040907 | Chang | Feb 2003 | A1 |
20030120486 | Brittan et al. | Jun 2003 | A1 |
20030216909 | Davis et al. | Nov 2003 | A1 |
20070129949 | Alberth et al. | Jun 2007 | A1 |
20080118080 | Gratke et al. | May 2008 | A1 |
20080312926 | Vair | Dec 2008 | A1 |
20090055178 | Coon | Feb 2009 | A1 |
20100009719 | Oh et al. | Jan 2010 | A1 |
20100121636 | Burke et al. | May 2010 | A1 |
20100124896 | Kumar | May 2010 | A1 |
20100185448 | Meisel | Jul 2010 | A1 |
20100289994 | Nonaka | Nov 2010 | A1 |
20110054899 | Phillips et al. | Mar 2011 | A1 |
20110224985 | Hanazawa | Sep 2011 | A1 |
20120016671 | Jaggi | Jan 2012 | A1 |
20120034904 | LeBeau et al. | Feb 2012 | A1 |
20120035924 | Jitkoff et al. | Feb 2012 | A1 |
20120041764 | Xu | Feb 2012 | A1 |
20120127072 | Kim | May 2012 | A1 |
20120150541 | Talwar | Jun 2012 | A1 |
20120197637 | Gratke et al. | Aug 2012 | A1 |
20120278061 | Weinstein | Nov 2012 | A1 |
20120281885 | Syrdal et al. | Nov 2012 | A1 |
20120310646 | Hu et al. | Dec 2012 | A1 |
20120329389 | Royston et al. | Dec 2012 | A1 |
20130080167 | Mozer | Mar 2013 | A1 |
20130080171 | Mozer et al. | Mar 2013 | A1 |
20130289994 | Newman | Oct 2013 | A1 |
20130339028 | Rosner | Dec 2013 | A1 |
20140012573 | Hung et al. | Jan 2014 | A1 |
20140012586 | Rubin et al. | Jan 2014 | A1 |
20140039888 | Taubman et al. | Feb 2014 | A1 |
20140163978 | Basye | Jun 2014 | A1 |
20140249817 | Hart et al. | Sep 2014 | A1 |
20140274203 | Ganong, III et al. | Sep 2014 | A1 |
20140274211 | Sejnoha et al. | Sep 2014 | A1 |
20140278435 | Ganong, III et al. | Sep 2014 | A1 |
20140365225 | Haiut | Dec 2014 | A1 |
20150006176 | Pogue et al. | Jan 2015 | A1 |
20150025890 | Jagatheesan | Jan 2015 | A1 |
20150053779 | Adamek et al. | Feb 2015 | A1 |
20150106085 | Lindahl | Apr 2015 | A1 |
20150154953 | Bapat | Jun 2015 | A1 |
20150245154 | Dadu | Aug 2015 | A1 |
20150340042 | Sejnoha et al. | Nov 2015 | A1 |
20160019884 | Xiao | Jan 2016 | A1 |
20160039356 | War et al. | Feb 2016 | A1 |
20160077574 | Bansal | Mar 2016 | A1 |
20160078869 | Syrdal et al. | Mar 2016 | A1 |
20160189706 | Zopf | Jun 2016 | A1 |
20160300568 | Sharifi | Oct 2016 | A1 |
20160314782 | Klimanis | Oct 2016 | A1 |
20160358605 | Ganong, III et al. | Dec 2016 | A1 |
20170116983 | Furukawa et al. | Apr 2017 | A1 |
20180018973 | Moreno | Jan 2018 | A1 |
20180047386 | Garner | Feb 2018 | A1 |
20180108343 | Stevans | Apr 2018 | A1 |
20180114531 | Kumar et al. | Apr 2018 | A1 |
20180130468 | Pogue et al. | May 2018 | A1 |
20180158461 | Wolff et al. | Jun 2018 | A1 |
20180182380 | Fritz et al. | Jun 2018 | A1 |
20180254042 | Jo | Sep 2018 | A1 |
20180301144 | Park | Oct 2018 | A1 |
20180310144 | Rapp et al. | Oct 2018 | A1 |
20180358005 | Tomar | Dec 2018 | A1 |
20180366114 | Anbazhagan et al. | Dec 2018 | A1 |
20190073999 | Prémont | Mar 2019 | A1 |
20190311715 | Pfeffinger et al. | Oct 2019 | A1 |
20190355365 | Kim et al. | Nov 2019 | A1 |
20200035231 | Parthasarathi et al. | Jan 2020 | A1 |
Number | Date | Country |
---|---|---|
101650943 | Feb 2010 | CN |
103021409 | Apr 2013 | CN |
103632668 | Mar 2014 | CN |
104575504 | Apr 2015 | CN |
105009204 | Oct 2015 | CN |
105575395 | May 2016 | CN |
106098059 | Nov 2016 | CN |
1511010 | Mar 2005 | EP |
2 899 955 | Jul 2015 | EP |
2932500 | Feb 2017 | EP |
2014066192 | May 2014 | WO |
Entry |
---|
International Search Report dated Sep. 21, 2017 from corresponding International Application No. PCT/CN2016/105343, 5 pages. |
Written Opinion dated Sep. 21, 2017 from corresponding International Application No. PCT/CN2016/105343, 4 pages. |
IPRP dated May 23, 2019 from corresponding International Application No. PCT/CN2016/105343, 6 pages. |
Chinese Office Action and Translation thereof for Chinese Application No. 201480013903.1 dated Jul. 28, 2017. |
International Preliminary Report on Patentability for International Application No. PCT/US2016/037495 dated Dec. 27, 2018. |
International Preliminary Report on Patentability for International Application No. PCT/US2014/024270 dated Sep. 24, 2015. |
International Search Report and Written Opinion for International Application No. PCT/US2016/037495 dated Dec. 5, 2016. |
International Search Report and Written Opinion for International Application No. PCT/US2014/024270 dated Jun. 16, 2014. |
International Preliminary Report on Patentability for International Application No. PCT/US2016/017317 dated Aug. 23, 2018. |
International Search Report and Written Opinion for International Application No. PCT/US2016/017317 dated May 12, 2016. |
Number | Date | Country | |
---|---|---|---|
20190287526 A1 | Sep 2019 | US |