A method, device, terminal, and storage medium for launching a voice assistant.
By detecting the user's preset actions and volume values to launch the voice assistant, and combining this with voice wake-up event verification, the problem of erroneous voice assistant launch in existing technologies is solved, enabling fast and accurate voice assistant launch and improving user experience.
Patent Information
- Application Number
- CN202211445987.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-18
- Publication Date
- 2025-11-14
- Estimated Expiration
- 2042-11-18
AI Technical Summary
In existing technologies, activating a voice assistant by using a wake word or by long-pressing the power button can easily lead to failure to wake up, accidental wake-up, inconvenience in activating the assistant, and misoperation, thus reducing the user experience.
By detecting the user's preset actions and volume values when inputting voice data, the first trigger condition corresponding to the breath wake-up event is met, and the voice assistant is launched. Combined with the second-level verification of the voice wake-up event, the accurate launch of the voice assistant is ensured.
Simplify voice interaction steps, quickly launch the voice assistant, avoid accidental operation, improve user experience, protect privacy, reduce interference with others, and conform to user habits.
Smart Images

Figure CN118057526B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer technology, and in particular to a method, apparatus, terminal and storage medium for launching a voice assistant. Background Technology
[0002] With the rapid development of computer technology, terminals offer increasingly rich services to users. Terminals can install applications that provide various services, such as voice interaction applications (i.e., voice assistants). When a user activates the voice assistant, they can control other applications on the terminal by inputting voice data. For example, if a user says "navigate to the airport" to the voice assistant, the terminal, after receiving the user's voice input, can automatically launch a navigation application and navigate to the airport.
[0003] In related technologies, users can activate the voice assistant installed on their device in the following ways. For example, the user can say a specified wake word, such as "Hello, XXXX," and the device will activate the voice assistant after detecting that the user has said the wake word. Alternatively, the user can press and hold the power button on the device, and the device will activate the voice assistant when it detects the long press operation.
[0004] However, the above process of activating the voice assistant via a wake word may encounter problems such as failure to wake it up, accidental activation, or inconvenience in activating it, thus degrading the user experience. Furthermore, activating the voice assistant by long-pressing the power button on the device is prone to user error, such as triggering a device restart or shutdown, further reducing the user experience. Summary of the Invention
[0005] The purpose of this invention is to provide a method, apparatus, terminal, and storage medium for launching a voice assistant, thereby simplifying voice interaction steps, quickly launching the voice assistant, and improving user experience. The specific technical solution is as follows:
[0006] Firstly, in order to achieve the above objectives, embodiments of the present invention provide a voice assistant activation method, the method being applied to a terminal, the method comprising:
[0007] Receive voice data input by the user and use it as the current voice data;
[0008] Detect whether the current voice data meets the first triggering condition corresponding to the breath wake-up event; wherein, the first triggering condition includes: when the user inputs the current voice data, a preset action is performed on the terminal, and the volume value of the current voice data belongs to a preset volume value range;
[0009] If the current voice data is detected to meet the first triggering condition, the voice assistant installed on the terminal is activated.
[0010] Optionally, after receiving the user-input voice data as the current voice data, the method further includes:
[0011] Detect whether the current voice data meets the second triggering condition corresponding to the voice wake-up event;
[0012] If the current voice data is detected to meet the second triggering condition, it is detected whether the voice assistant has been activated through the breath wake-up event;
[0013] If it is detected that the voice assistant has been activated via the breath wake-up event, do not respond to the voice wake-up event;
[0014] If it is detected that the voice assistant has not been activated by the breath wake-up event, then activate the voice assistant.
[0015] Optionally, detecting whether the current voice data meets the second triggering condition corresponding to the voice wake-up event includes:
[0016] Detect whether the current voice data contains a primary keyword;
[0017] If the current voice data is detected to contain the first-level keyword, it is detected whether the current voice data contains the second-level wake word, and whether the voiceprint features of the current voice data are the same as the target voiceprint features stored locally on the terminal.
[0018] If the current voice data is detected to contain a secondary wake word, and the voiceprint features of the current voice data are the same as the target voiceprint features, it is determined that the current voice data meets the second triggering condition.
[0019] Optionally, if the current voice data is detected to meet the first triggering condition, activating the voice assistant installed on the terminal includes:
[0020] If the current voice data is detected to meet the first triggering condition, it is detected whether the voice assistant has been started through the voice wake-up event;
[0021] If it is detected that the voice assistant has not been activated by the voice wake-up event, the voice assistant installed on the terminal is activated;
[0022] If it is detected that the voice assistant has been activated via the voice wake-up event, the breath wake-up event will not be responded to.
[0023] Optionally, if the current voice data is detected to meet the first triggering condition, detecting whether the voice assistant has been activated via the voice wake-up event includes:
[0024] After detecting that the current voice data contains a primary keyword, if the current voice data satisfies the first triggering condition, it is detected whether the voice assistant has been started through the voice wake-up event;
[0025] or,
[0026] After detecting that the current voice data contains a secondary wake-up word and that the voiceprint features of the current voice data are the same as the target voiceprint features, if the current voice data meets the first triggering condition, it is detected whether the voice assistant has been started through the voice wake-up event.
[0027] Optionally, receiving user-inputted voice data as current voice data includes:
[0028] Receive voice data input by the user and split the received voice data to obtain two current voice data streams;
[0029] The step of detecting whether the current voice data meets the first triggering condition corresponding to the breath wake-up event includes:
[0030] Detect whether the current voice data obtained from the split stream meets the first triggering condition corresponding to the breath wake-up event;
[0031] The step of detecting whether the current voice data meets the second triggering condition corresponding to the voice wake-up event includes:
[0032] Check whether the other current voice data obtained from the split-through meets the second triggering condition corresponding to the voice wake-up event.
[0033] Optionally, activating the voice assistant installed on the terminal includes:
[0034] The voice interaction page of the voice assistant is displayed on the terminal's display interface.
[0035] Optionally, after activating the voice assistant installed on the terminal, the method further includes:
[0036] The voice assistant obtains the response voice data corresponding to the current voice data and plays the response voice data.
[0037] Secondly, in order to achieve the above objectives, embodiments of the present invention provide a voice assistant activation device, the device being applied to a terminal, the device comprising:
[0038] The voice data acquisition module is used to receive voice data input by the user as the current voice data;
[0039] The breath wake-up detection module is used to detect whether the current voice data meets the first triggering condition corresponding to the breath wake-up event; if the current voice data is detected to meet the first triggering condition, a first start command is sent to the voice assistant; wherein, the first triggering condition includes: when the user inputs the current voice data, a preset action is performed on the terminal, and the volume value of the current voice data belongs to a preset volume value range;
[0040] The voice assistant is used to display a preset voice interaction page on the terminal's display interface according to the first launch command after receiving the first launch command.
[0041] Optionally, the device further includes;
[0042] The voice wake-up detection module is used to detect whether the current voice data meets the second triggering condition corresponding to the voice wake-up event; if the current voice data is detected to meet the second triggering condition, a second start command is sent to the voice assistant.
[0043] The voice assistant is further configured to, upon receiving the second start command, detect whether the first start command sent by the breath wake-up detection module has been received; if the first start command has been received, discard the second start command; if the first start command has not been received by the breath wake-up detection module, display a preset voice interaction page on the terminal's display interface according to the second start command.
[0044] Optionally, the voice wake-up detection module includes:
[0045] The first-level voice verification submodule is used to detect whether the current voice data contains first-level keywords;
[0046] The secondary voice verification submodule is used to detect whether the current voice data contains a secondary wake-up word and whether the voiceprint features of the current voice data are the same as the target voiceprint features stored locally on the terminal; if the current voice data contains a secondary wake-up word and the voiceprint features of the current voice data are the same as the target voiceprint features, it is determined that the current voice data meets the second triggering condition.
[0047] Optionally, the voice assistant is specifically configured to, after receiving the first start command, detect whether a second start command sent by the voice wake-up detection module has been received; if it is detected that the second start command sent by the voice wake-up detection module has not been received, display a preset voice interaction page on the terminal's display interface according to the first start command; if it is detected that the second start command sent by the voice wake-up detection module has been received, discard the first start command.
[0048] Optionally, the voice assistant is specifically used to detect whether a second start command has been received from the voice wake-up detection module after the first-level voice verification submodule detects that the current voice data contains a first-level keyword and after receiving the first start command.
[0049] or,
[0050] The voice assistant is specifically configured to, after the secondary voice verification submodule detects that the current voice data contains a secondary wake-up word and that the voiceprint features of the current voice data are the same as the target voiceprint features, detect whether a second start command has been received from the voice wake-up detection module after receiving the first start command.
[0051] Optionally, the voice data acquisition module is specifically used to receive voice data input by the user and to perform splitting processing on the received voice data to obtain two current voice data streams.
[0052] The breath wake-up detection module is specifically used to detect whether the current voice data obtained by the splitting meets the first triggering condition corresponding to the breath wake-up event.
[0053] The voice wake-up detection module is specifically used to detect whether the other current voice data obtained by splitting meets the second triggering condition corresponding to the voice wake-up event.
[0054] Optionally, the device further includes:
[0055] A voice data caching module is used to store the current voice data in a preset cache area;
[0056] The voice assistant is further configured to obtain the current voice data from the preset cache; obtain the response voice data corresponding to the current voice data; and play the response voice data.
[0057] Thirdly, in order to achieve the above objectives, embodiments of the present invention provide a terminal, including: an audio input / output module, a main processor, and a digital signal processor;
[0058] The audio input / output module is used to receive voice data input by the user as current voice data, and send the current voice data to the digital signal processor;
[0059] The digital signal processor is used to detect whether the current voice data meets the first triggering condition corresponding to the breath wake-up event, and send the detection result to the main processor; wherein, the first triggering condition includes: when the user inputs the current voice data, a preset action is performed on the terminal, and the volume value of the current voice data belongs to a preset volume value range;
[0060] The main processor is used to start the voice assistant installed in the terminal when it detects that the current voice data meets the first triggering condition.
[0061] Optionally, the digital signal processor is further configured to detect whether the current voice data contains a primary keyword and send the detection result to the main processor;
[0062] The main processor is further configured to, when detecting that the current voice data contains the first-level keyword, detect whether the current voice data contains a second-level wake-up word and whether the voiceprint features of the current voice data are the same as the target voiceprint features stored locally on the terminal; and when detecting that the current voice data contains a second-level wake-up word and that the voiceprint features of the current voice data are the same as the target voiceprint features, determine that the current voice data satisfies the second triggering condition; and when the current voice data satisfies the second triggering condition, detect whether the voice assistant has been started through the breath wake-up event; if it is detected that the voice assistant has been started through the breath wake-up event, not respond to the voice wake-up event; if it is detected that the voice assistant has not been started through the breath wake-up event, start the voice assistant.
[0063] Optionally, the digital signal processor is further configured to perform splitting processing on the received current voice data, and to perform the step of detecting whether the current voice data meets the first triggering condition corresponding to the breath wake-up event on one of the split current voice data, and sending the detection result to the main processor; and to perform the step of detecting whether the current voice data contains a first-level keyword on the other split current voice data, and sending the detection result to the main processor.
[0064] This invention also provides a terminal, including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus;
[0065] Memory, used to store computer programs;
[0066] When the processor executes a program stored in the memory, it implements any of the steps of the voice assistant startup method described above.
[0067] This invention also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements any of the steps of the voice assistant startup method described above.
[0068] This invention also provides a computer program product containing instructions that, when run on a computer, causes the computer to execute any of the voice assistant startup methods described above.
[0069] This invention provides a method for launching a voice assistant, which receives voice data input by a user as current voice data; detects whether the current voice data meets a first triggering condition corresponding to a breath wake-up event; the first triggering condition includes: when the user inputs the current voice data, a preset action is performed on the terminal, and the volume value of the current voice data belongs to a preset volume value range; if the current voice data is detected to meet the first triggering condition, the voice assistant installed on the terminal is launched.
[0070] Based on the above processing, the first triggering condition includes: when the user inputs the current voice data, a preset action is performed on the terminal, and the volume value of the current voice data falls within the preset volume range. If the current voice data meets the first triggering condition—that is, the user raises the terminal and brings it close to their mouth to input the current voice data—it indicates that the user needs to activate the voice assistant. In this case, the voice assistant installed on the terminal is activated, meaning it can be activated via a breath-activated event. The user does not need to use a wake-up word or long-press the power button to activate the voice assistant installed on the terminal, simplifying the voice interaction process and quickly activating the voice assistant. This avoids problems such as inability to wake up, accidental wake-up, and inconvenience in activating the voice assistant, and also prevents user misoperation, thus improving the user experience.
[0071] Of course, implementing any product or method of the present invention does not necessarily require achieving all of the advantages described above at the same time. Attached Figure Description
[0072] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the accompanying drawings used in the description of the embodiments or the prior art will be briefly introduced below.
[0073] Figure 1 A flowchart of a first voice assistant startup method provided in an embodiment of the present invention;
[0074] Figure 2 This is a schematic diagram of a configuration page for a voice assistant startup method provided in an embodiment of the present invention;
[0075] Figure 3 A flowchart of a second voice assistant startup method provided in an embodiment of the present invention;
[0076] Figure 4 A flowchart of a third voice assistant startup method provided in an embodiment of the present invention;
[0077] Figure 5 A flowchart illustrating the fourth voice assistant startup method provided in this embodiment of the invention;
[0078] Figure 6 This is a schematic diagram illustrating the principle of concurrent scenario processing for breath wake-up events and voice wake-up events in an embodiment of the present invention.
[0079] Figure 7 A flowchart of the fifth voice assistant startup method provided in this embodiment of the invention;
[0080] Figure 8 A flowchart of the sixth voice assistant startup method provided in this embodiment of the invention;
[0081] Figure 9 A flowchart illustrating the seventh voice assistant startup method provided in this embodiment of the invention;
[0082] Figure 10 This is a flowchart illustrating the specific process of processing voice data in an embodiment of the present invention.
[0083] Figure 11 This is a structural diagram of a voice assistant activation device provided in an embodiment of the present invention;
[0084] Figure 12 This is a structural diagram of a first type of terminal provided in an embodiment of the present invention;
[0085] Figure 13 This is a structural diagram of a second type of terminal provided in an embodiment of the present invention. Detailed Implementation
[0086] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art based on this application are within the scope of protection of this application.
[0087] In related technologies, when it is necessary to activate the voice assistant installed on the terminal, the user can input voice data containing a specified wake word into the terminal, or the user can press and hold the power button of the terminal to activate the voice assistant installed on the terminal.
[0088] However, in relatively quiet public places, such as coffee shops, Western restaurants, high-speed rail station lounges, and airport lounges, users may encounter issues such as inconvenience and accidental activation when using a wake word to activate the voice assistant on their device. Furthermore, if the user speaks the wake word too softly, it may fail to activate; if the user speaks too loudly, it may disturb others, degrading the user experience. Additionally, activating the voice assistant by long-pressing the device's power button can easily lead to accidental operations, such as triggering a device restart or shutdown, further reducing the user experience.
[0089] To address the aforementioned issues, this invention provides a voice assistant activation method. This method is applied to a terminal, which has a voice assistant installed. The terminal can be a mobile phone, tablet, smart bracelet, etc. After receiving current voice data input by a user, the terminal checks whether the current voice data meets a first trigger condition corresponding to a breath-activated wake-up event. The first trigger condition includes: the user performs a preset action on the terminal when inputting the current voice data, and the volume value of the current voice data falls within a preset volume range. If the current voice data meets the first trigger condition, the voice assistant installed on the terminal is activated.
[0090] The current voice data meets the first trigger condition, meaning the user performs a preset action on the terminal and inputs the current voice data by bringing the terminal close to their mouth. This indicates that the user needs to activate the voice assistant, thus activating the voice assistant installed on the terminal. The user does not need to use a wake word or long-press the power button to activate the voice assistant, simplifying the voice interaction process and allowing for quick service activation. Furthermore, the user raising the terminal and bringing it close to their mouth to input the current voice data—meaning the user engages in natural conversation—improves the accuracy of voice interaction, protects user privacy, reduces the risk of leaked conversation content, and conforms to user habits, avoiding disturbance to others in public places, thus enhancing the user experience.
[0091] See Figure 1 , Figure 1 A flowchart of a voice assistant startup method provided in an embodiment of the present invention is shown. The method is applied to a terminal and may include the following steps:
[0092] S101: Receives voice data input by the user as the current voice data.
[0093] S102: Detect whether the current voice data meets the first trigger condition corresponding to the breath wake-up event.
[0094] The first triggering condition includes: when the user inputs the current voice data, the terminal performs a preset action, and the volume value of the current voice data belongs to the preset volume value range.
[0095] S103: If the current voice data is detected to meet the first trigger condition, start the voice assistant installed in the terminal.
[0096] Based on the voice assistant activation method provided in the embodiments of the invention, the first triggering condition includes: when the user inputs current voice data, the user performs a preset action on the terminal, and the volume value of the current voice data falls within a preset volume value range. The current voice data satisfies the first triggering condition, meaning the user performs a preset action on the terminal and inputs the current voice data by bringing the terminal close to their mouth, indicating that the user needs to activate the voice assistant. Therefore, the voice assistant installed on the terminal is activated, meaning it can be activated via a breath-activated event. The user does not need to use a wake-up word or long-press the power button to activate the voice assistant installed on the terminal, simplifying the voice interaction steps, allowing for quick activation of the voice assistant, avoiding problems such as inability to wake up, accidental wake-up, and inconvenience in activating the voice assistant, and preventing user misoperation, thus improving the user experience.
[0097] Regarding step S101, in some embodiments, the terminal can be a mobile phone, and the user can configure the method of activating the voice assistant via a breath wake-up event in the terminal. The terminal can display, for example... Figure 2 The configuration page shows the trigger method for the breath wake-up event: "Lift your phone, bring the bottom of the phone close to your mouth (within 5cm), and point it at the bottom microphone to begin your conversation." Accordingly, when a user needs to activate the voice assistant via the breath wake-up event, they can lift their phone, bring the bottom of the phone close to their mouth, and input voice data into the microphone at the bottom of the phone. Furthermore, the configuration page also displays a description of the breath wake-up event: "Breath wake-up, natural dialogue, instant question and answer."
[0098] When a user needs to activate the voice assistant, they can input voice data into the terminal. The terminal can then receive the user's voice input and obtain the current voice data.
[0099] Regarding steps S102 and S103, the breath wake-up event indicates that the voice assistant in the terminal is activated when the current voice data meets the corresponding first trigger condition. The first trigger condition includes: the user performs a preset action on the terminal when inputting the current voice data, and the volume value of the current voice data belongs to a preset volume value range. The preset action can be a lift-up action.
[0100] After receiving the current voice data, the terminal can detect whether the current voice data meets the first trigger condition corresponding to the breath wake-up event, that is, detect whether the user performs a preset action on the terminal when inputting the current voice data, and detect whether the volume value of the current voice data belongs to the preset volume value range.
[0101] For example, the preset action could be a lift-up action. The terminal includes a three-axis accelerometer, corresponding to three coordinate axes (X-axis, Y-axis, and Z-axis). The plane formed by the X-axis and Y-axis is the plane where the terminal's screen is located, and the Z-axis is the direction perpendicular to the terminal's screen. The terminal uses the three-axis accelerometer to acquire the acceleration of the terminal along the X, Y, and Z axes when the user inputs the current voice data. Then, based on the terminal's acceleration along the X, Y, and Z axes, the terminal's movement speed along these axes is calculated. If the terminal's movement speed along the X and Y axes is less than a preset speed threshold, and the terminal's movement speed along the Z axis is greater than the preset speed threshold, then it is determined that the user performed a lift-up action on the terminal when inputting the current voice data.
[0102] If the user does not perform any preset actions on the terminal when inputting the current voice data, it indicates that the current voice data is not intended to activate the voice assistant, and no processing is required. If the user performs a preset action on the terminal when inputting the current voice data, the terminal can also obtain the volume value of the current voice data. For example, the terminal can calculate the statistical value (e.g., average value) of the volume value of each frame of the current voice data to obtain the volume value of the current voice data, where the volume value of each frame of the voice data can be the signal strength of that frame. Furthermore, it checks whether the volume value of the current voice data falls within a preset volume value range. If the volume value of the current voice data does not fall within the preset volume value range, it indicates that the current voice data is not intended to activate the voice assistant, and no processing is required.
[0103] If the current voice volume falls within a preset volume range, it indicates that the user is bringing the device close to their mouth to input the voice data, meaning the user needs to activate the voice assistant. The device can then activate the installed voice assistant.
[0104] In some embodiments, the step of activating a voice assistant installed on a terminal may include the following steps: displaying the voice interaction page of the voice assistant on the terminal's display interface.
[0105] The terminal can display the voice assistant's voice interaction page on the display interface and turn on the terminal's microphone to record sound. Users can then continue to input voice data into the voice assistant to achieve voice interaction with the user.
[0106] In some embodiments, to quickly launch the voice assistant and improve the efficiency of voice interaction, the terminal can launch the voice assistant not only through breath wake-up events but also through voice wake-up events. In other words, users can also launch the voice assistant via voice wake-up events. A voice wake-up event indicates that the voice assistant is launched using a wake word (i.e., a secondary wake word in subsequent embodiments).
[0107] Correspondingly, in Figure 1 Based on this, see Figure 3 After step S101, the method may further include the following steps:
[0108] S104: Detect whether the current voice data meets the second triggering condition corresponding to the voice wake-up event.
[0109] S105: If the current voice data is detected to meet the second triggering condition, check whether the voice assistant has been started through the breath wake-up event.
[0110] S106: If it is detected that the voice assistant has been activated via a breath wake-up event, do not respond to the voice wake-up event.
[0111] S107: If it is detected that the voice assistant was not activated by a breath wake-up event, activate the voice assistant.
[0112] After acquiring the current voice data, the terminal can also detect whether the current voice data meets the second triggering condition corresponding to the voice wake-up event. The second triggering condition includes: the current voice data contains a first-level keyword, the current voice data contains a second-level wake-up word, and the voiceprint features of the current voice data are the same as the target voiceprint features stored locally on the terminal.
[0113] In some embodiments, after receiving the current voice data input by the user, the terminal may simultaneously detect whether the current voice data meets the first triggering condition corresponding to the breath wake-up event and whether it meets the second triggering condition corresponding to the voice wake-up event.
[0114] Accordingly, step S101 may include the following steps: receiving voice data input by the user and splitting the received voice data to obtain two current voice data streams.
[0115] Accordingly, step S102 may include the following steps: detecting whether the current voice data obtained by splitting the stream meets the first triggering condition corresponding to the breath wake-up event.
[0116] Accordingly, step S104 may include the following steps: detecting whether the other current voice data obtained by splitting meets the second triggering condition corresponding to the voice wake-up event.
[0117] After receiving the current voice data input by the user, the terminal can split the current voice data into two identical current voice data streams. Then, the terminal checks whether one of the split current voice data streams meets the first trigger condition corresponding to the breath wake-up event, and checks whether the other split current voice data stream meets the second trigger condition corresponding to the voice wake-up event.
[0118] In some embodiments, Figure 3 Based on this, see Figure 4 Step S104 may include the following steps:
[0119] S1041: Detect whether the current speech data contains a first-level keyword.
[0120] S1042: If the current voice data is detected to contain a first-level keyword, check whether the current voice data contains a second-level wake-up word, and whether the voiceprint features of the current voice data are the same as the target voiceprint features stored locally on the terminal.
[0121] S1043: If the current voice data contains a secondary wake-up word and the voiceprint features of the current voice data are the same as the target voiceprint features, determine that the current voice data meets the second triggering condition.
[0122] The primary keywords are the text contained in the secondary wake word used to activate the voice assistant. For example, if the secondary wake word is "Hello, XXXX", then the primary keywords include "you", "hello", and "X". The target voiceprint features stored locally on the terminal are the voiceprint features of the user to whom the terminal belongs. Voiceprint features can be MFCC (Mel-Frequency Cepstral Coefficients).
[0123] After acquiring the current voice data, the terminal can perform a first-level verification, which involves checking whether the current voice data contains a first-level keyword. Since the first-level keyword is the text contained in the second-level wake word used to launch the voice assistant, if the current voice data does not contain a first-level keyword, it indicates that the current voice data is not used to launch the voice assistant, and therefore no processing is required.
[0124] If the current voice data contains a primary keyword, indicating that it may be used to launch a voice assistant, the terminal can perform a secondary verification, checking for a secondary wake-up word. If the voice data does not contain a secondary wake-up word, it indicates that it is not intended to launch a voice assistant, and no further processing is needed. If the voice data contains a secondary wake-up word, indicating that it is intended to launch a voice assistant, the terminal can extract the voiceprint features of the voice data and check if these features match the target voiceprint features stored locally. If the voiceprint features do not match the target voiceprint features, it indicates that the user who needs to launch the voice assistant is not a user of the terminal, and no further processing is needed to protect user privacy. If the voiceprint features match the target voiceprint features, it indicates that the user who needs to launch the voice assistant is a user of the terminal. In other words, if the current voice data meets the second triggering condition for a voice wake-up event, it means that the user of the terminal needs to launch the voice assistant.
[0125] In this embodiment, users can activate the voice assistant through both breath wake-up events and voice wake-up events. However, since the order in which breath wake-up events and voice wake-up events are triggered cannot be determined, there may be conflicting scenarios where the two methods occur concurrently. That is, while the current voice data meets the second triggering condition corresponding to the voice wake-up event, it may also meet the first triggering condition corresponding to the breath wake-up event. For example, the user raises the terminal and brings it close to their mouth to say the wake-up phrase "Hello, XXXX".
[0126] To ensure normal voice interaction for users, in this embodiment, the terminal can detect whether the voice assistant has been activated via a breath wake-up event. If the voice assistant has been activated via a breath wake-up event, it indicates that voice interaction with the user is already underway. To avoid interrupting the voice interaction process, the terminal may choose not to respond to the voice wake-up event. If the voice assistant has not been activated via a breath wake-up event, the terminal can activate the installed voice assistant to enable voice interaction and improve the user experience.
[0127] Based on the above processing, users can activate the voice assistant through both breath-activated and voice-activated events, enabling quick activation and improving the efficiency of voice interaction. Furthermore, when activating the voice assistant via either method, if the current voice data meets the second trigger condition for the voice activation event, it can also detect whether the voice assistant has already been activated via a breath-activated event. If the voice assistant has already been activated via a breath-activated event, it will not respond to the voice activation event, ensuring uninterrupted voice interaction and allowing the user to continue speaking normally. Even when the voice assistant has not been activated via a breath-activated event, activating the voice assistant on the terminal allows for voice interaction, further enhancing the user experience.
[0128] In some embodiments, Figure 1 Based on this, see Figure 5 Step S103 may include the following steps:
[0129] S1031: If the current voice data is detected to meet the first triggering condition, check whether the voice assistant has been started through the voice wake-up event.
[0130] S1032: If it is detected that the voice assistant was not started via a voice wake-up event, start the voice assistant installed on the terminal.
[0131] S1033: If it is detected that the voice assistant has been activated via a voice wake-up event, do not respond to the breath wake-up event.
[0132] Since users can activate the voice assistant via both breath-activated and voice-activated events, and the order in which these events are triggered is uncertain, there may be concurrent conflict scenarios. That is, while the current voice data may meet the second triggering condition for a voice-activated event, it may also meet the first triggering condition for a breath-activated event. To ensure normal voice interaction, when the terminal detects that the current voice data meets the first triggering condition, it can check whether the voice assistant has already been activated via a voice-activated event.
[0133] If the voice assistant is not activated via a voice wake-up event, the terminal can activate the installed voice assistant to enable voice interaction with the user and improve the user experience. If the voice assistant has been activated via a voice wake-up event, indicating that voice interaction with the user is already underway, the terminal can choose not to respond to the breath wake-up event to avoid interrupting the voice interaction process.
[0134] Specifically, in this embodiment, for different conflict scenarios, the following three situations can be used for corresponding conflict handling:
[0135] The first scenario: During the voice wake-up process, after detecting that the current voice data contains a primary keyword, it is detected that the current voice data meets the first triggering condition corresponding to the breath wake-up event.
[0136] In some embodiments, step S1031 may include the following steps:
[0137] After detecting that the current voice data contains a primary keyword, if the current voice data meets the first triggering condition, it is detected whether the voice assistant has been started through a voice wake-up event.
[0138] If, after detecting that the current voice data contains a primary keyword, the terminal detects that the current voice data meets the first trigger condition—that is, during the secondary verification of the current voice data after the primary verification is completed—the terminal will continue to check whether the voice assistant has been activated via a voice wake-up event. Since the secondary verification of the current voice data is currently underway, it indicates that the voice assistant has not been activated via a voice wake-up event. To enable voice interaction with the user and improve the user experience, the terminal can then activate the installed voice assistant.
[0139] The second scenario: During the voice wake-up process, after detecting that the current voice data contains a secondary wake-up word and that the voiceprint features of the current voice data are the same as the target voiceprint features, it is detected that the current voice data meets the first triggering condition corresponding to the breath wake-up event.
[0140] In some embodiments, step S1031 may include the following steps:
[0141] After detecting that the current voice data contains a secondary wake-up word and that the voiceprint features of the current voice data are the same as the target voiceprint features, if the current voice data meets the first triggering condition, it is detected whether the voice assistant has been started through a voice wake-up event.
[0142] If the terminal detects that the current voice data contains a secondary wake-up word and that the voiceprint features of the current voice data are the same as the target voiceprint features, then the terminal detects that the current voice data meets the first trigger condition. That is, after completing the secondary verification of the current voice data, the terminal detects that the current voice data meets the first trigger condition. Then, the terminal continues to check whether the voice assistant has been activated via a voice wake-up event. Since the secondary verification of the current voice data has been completed, it indicates that the voice assistant has been activated via a voice wake-up event. To avoid interrupting the voice interaction process with the user and ensure that the user can perform voice interaction normally, the breath wake-up event may not be responded to.
[0143] The third scenario: After receiving the first start command based on the breath wake-up event, the voice assistant checks whether it has received the second start command based on the voice wake-up event; or, after receiving the second start command based on the voice wake-up event, the voice assistant checks whether it has received the first start command based on the breath wake-up event.
[0144] In some embodiments, after determining that the current voice data meets the first triggering condition corresponding to the breath wake-up event, a first activation command corresponding to the breath wake-up event can be sent to the voice assistant in the terminal. Upon receiving the first activation command, the voice assistant can check whether it has received a second activation command corresponding to the voice wake-up event. If it has not received the second activation command, it can display the voice assistant's voice interaction page on the terminal's display interface and activate the terminal's microphone to record sound, thereby enabling voice interaction with the user. If it has received the second activation command, it indicates that voice interaction with the user is already underway, and the first activation command can be discarded to avoid interrupting the voice interaction process.
[0145] Alternatively, after determining that the current voice data meets the second triggering condition corresponding to the voice wake-up event, a second activation command corresponding to the voice wake-up event can be sent to the voice assistant in the terminal. Upon receiving the second activation command, the voice assistant can check whether it has received the first activation command corresponding to the breath wake-up event. If it has not received the first activation command, it can display the voice assistant's voice interaction page on the terminal's display interface and activate the terminal's microphone to record sound, thus enabling voice interaction with the user. If it has received the first activation command, it indicates that voice interaction with the user is already underway, and the second activation command can be discarded to avoid interrupting the voice interaction process.
[0146] Based on the above processing, users can activate the voice assistant through both breath-activated and voice-activated events, enabling quick activation and improving the efficiency of voice interaction. Furthermore, these three methods avoid potential conflicts between breath-activated and voice-activated events, ensuring uninterrupted voice interaction and enhancing the user experience.
[0147] In some embodiments, after activating the voice assistant, the method may further include the following steps: obtaining the response voice data corresponding to the current voice data through the voice assistant, and playing the response voice data.
[0148] After activating the voice assistant, the terminal can also obtain the corresponding response voice data through the voice assistant. Then, the terminal can play the response voice data to enable voice interaction with the user.
[0149] If the current voice data is a secondary wake-up word, the response voice data can be the preset response word corresponding to the secondary wake-up word. For example, if the secondary wake-up word is "Hello, XXXX", the terminal can play the corresponding preset response word "I'm here".
[0150] If the current voice data is a user's instruction to query information, the terminal obtains the corresponding response voice data through the voice assistant. For example, if the current voice data is "How is the weather today?", the terminal obtains today's weather information through the voice assistant and plays it.
[0151] If the current voice data is an operation command for the terminal, the terminal will execute the corresponding operation through the voice assistant and obtain the corresponding response voice data. For example, if the current voice data is "navigate to the airport", the terminal will launch the navigation application through the voice assistant and obtain the navigation information for playback.
[0152] Based on the above processing, after the voice assistant is launched, it can respond to the current voice data input by the user, enabling voice interaction with the user and improving the user experience.
[0153] In practical applications, an ADSP (Advanced Digital Signal Processing) chip can be installed in the terminal. The ADSP chip performs detection and processing on the current voice data and interacts with the software installed on the terminal to implement the voice assistant activation method provided in this application. The software interacting with the ADSP chip mainly includes: the voice assistant, the voice assistant-wake-up service, the Sound Trigger framework, and the SoundTrigger-hal (sound trigger driver), etc.
[0154] To enable concurrent processing of breath wake-up and voice wake-up events, Sound Trigger-hal can pre-create two independent SoundTrigger Session Engines, each with its own state machine and LAB buffer (shared memory).
[0155] Meanwhile, within the ADSP, a split-feed module, a voice wake-up module, and a breath wake-up module can be configured, and two different DAM (Data Access Module) modules can be created, denoted as DAM1 and DAM2. At the same time, two independent IMCLs can be created through IMCL (Inter Module Control Link) technology, denoted as IMCL1 and IMCL2. IMCL1 is used to connect DAM1 and the breath wake-up module, and IMCL2 is used to connect DAM2 and the voice wake-up module.
[0156] See Figure 6 , Figure 6 This is a schematic diagram illustrating the principle of concurrent processing of breath wake-up events and voice wake-up events in an embodiment of the present invention.
[0157] like Figure 6 As shown, the ADSP is equipped with a splitting module, which can be a Spliter (splitter). The splitting module receives the voice data, splits it to obtain two current voice data streams, and sends one current voice data stream to the voice wake-up module and DAM2, while sending the other current voice data stream to the breath wake-up module and DAM1.
[0158] The breath wake-up module and the voice wake-up module each run their own detection algorithms. After successful detection, they report the wake-up event to the corresponding SoundTrigger Engine in Sound Trigger-hal. At the same time, they control the DAM module through IMCL to move the stored current voice data to the shared memory (i.e., LAB Buffer) that has been opened in advance in Sound Trigger-hal.
[0159] Specifically, Sound Trigger-hal pre-creates SoundTrigger Engine1 and SoundTrigger Engine2, and pre-enabled the LAB Buffer. Figure 6 The process of handling concurrent scenarios (not shown in the image) can be as follows:
[0160] The breath wake-up module detects whether the current voice data meets the first trigger condition corresponding to the breath wake-up event. This is based on motion-related data sent by sensors, determining whether the user performed a preset action on the terminal when inputting the current voice data, and whether the volume of the current voice data falls within a preset volume range. If the user performed a preset action on the terminal when inputting the current voice data, and the volume of the current voice data falls within the preset volume range, the detection is successful, meaning the current voice data meets the first trigger condition for the breath wake-up event. The breath wake-up module reports the breath wake-up event to the corresponding SoundTrigger Engine1 in SoundTrigger-hal. SoundTriggerEngine1 then reports the breath wake-up event to the SoundTrigger framework. The SoundTrigger framework then activates the voice assistant, sending the first activation command corresponding to the breath wake-up event to the voice assistant.
[0161] The voice wake-up module detects whether the current voice data contains a primary keyword. If it does, the detection is successful. The voice wake-up module reports the voice wake-up event to the corresponding SoundTriggerEngine2 in SoundTrigger-hal, which in turn reports the event to the SoundTrigger framework. The SoundTrigger framework then reports the voice wake-up event to the voice assistant wake-up service. The voice assistant wake-up service then performs a secondary check on the current voice data, checking whether it contains a secondary wake-up word and whether the voiceprint features of the current voice data match the target voiceprint features stored locally on the terminal. If the current voice data contains a secondary wake-up word and the voiceprint features match the target voiceprint features stored locally on the terminal, the voice assistant wake-up service activates the voice assistant, sending the second activation command corresponding to the voice wake-up event to the voice assistant.
[0162] based on Figure 6 There are at least three scenarios for handling concurrency principles, which will be explained in detail below:
[0163] The first scenario: During the voice wake-up process, after detecting that the current voice data contains a primary keyword, it is detected that the current voice data meets the first triggering condition of the breath wake-up event.
[0164] Accordingly, see Figure 7 , Figure 7This is a flowchart illustrating a voice assistant startup method provided in an embodiment of the present invention. The method is applied to a terminal, which includes an ADSP chip and has installed software such as a voice assistant, a voice assistant wake-up service, a SoundTrigger framework, and Sound Trigger-hal. The method may include the following steps:
[0165] S701: ADSP chip performs concurrent scenario processing.
[0166] In this embodiment, a splitting module, a voice wake-up module, and a breath wake-up module can be set up inside the ADSP, and two different DAM modules can be created, denoted as DAM1 and DAM2; at the same time, two independent IMCLs can be created through IMCL technology, denoted as IMCL1 and IMCL2; wherein IMCL1 is used to connect DAM1 and the breath wake-up module, and IMCL2 is used to connect DAM2 and the voice wake-up module.
[0167] In this step, the ADSP chip performs concurrent scene processing, that is, the splitting module in the ADSP splits the current voice data to obtain two identical voice data to be processed, and sends one current voice data to the voice wake-up module and DAM2, and the other current voice data to the breath wake-up module and DAM1.
[0168] The voice wake-up module in ADSP can detect whether the current voice data contains a first-level keyword. If the current voice data contains a first-level keyword, it reports a voice wake-up event to SoundTrigger-hal, and SoundTrigger-hal reports the voice wake-up event to the SoundTrigger framework.
[0169] S702: The SoundTrigger framework performs voice wake-up event reporting.
[0170] In this step, the SoundTrigger framework reports the voice wake-up event to the voice assistant-wake-up service to trigger the voice assistant-wake-up service to perform secondary verification on the current voice data.
[0171] S703: Voice Assistant - Wake-up Service Execution Triggers Secondary Verification.
[0172] In this step, after receiving the reported voice wake-up event, the voice assistant-wake-up service triggers a secondary verification and requests the current voice data from SoundTrigger-hal.
[0173] S704: SoundTrigger-hal executes 1999 stream buffered audio streams.
[0174] In this step, SoundTrigger-hal buffers 1999 audio streams. 1999 streams refers to a customized intelligent voice mode. That is, after receiving a request for current voice data from the voice assistant's wake-up service, SoundTrigger-hal retrieves the current voice data from the ADSP.
[0175] S705: SoundTrigger-hal performs breath wake-up event reporting.
[0176] In this step, the breath wake-up module in ADSP detects whether the current speech data meets the first triggering condition corresponding to the breath wake-up event. If the current speech data meets the first triggering condition corresponding to the breath wake-up event, the breath wake-up module can report the breath wake-up event to SoundTrigger-hal, and SoundTrigger-hal reports the breath wake-up event to the SoundTrigger framework.
[0177] S706: The SoundTrigger framework executes breath wake-up to activate the voice assistant.
[0178] In this step, during the process of the voice assistant-wake-up service acquiring the current voice data, the Sound Trigger framework receives a breath wake-up event reported by SoundTrigger-hal. This means that while the voice assistant-wake-up service is acquiring the current voice data, the breath wake-up module has completed the detection of the current voice data. Therefore, the Sound Trigger framework executes breath wake-up to activate the voice assistant; that is, the SoundTrigger framework sends the first activation command to the voice assistant. Upon receiving the first activation command from the Sound Trigger framework, the voice assistant displays a preset voice interaction page on the terminal's display interface according to the first activation command and activates the terminal's microphone for sound recording.
[0179] S707: SoundTrigger-hal executes 1999 stream buffered audio streams.
[0180] In this step, after the voice assistant starts, it requests the current voice data from SoundTrigger-hal. Upon receiving the request, SoundTrigger-hal executes the 1999-stream buffered audio stream, which means retrieving the current voice data from the ADSP. Subsequently, the voice assistant can obtain the corresponding response voice data and play it.
[0181] S708: Voice Assistant - Wake-up Service executes voice wake-up event, secondary stream retrieval complete.
[0182] In this step, the secondary stream retrieval for the voice wake-up event is completed, meaning the voice assistant-wake-up service successfully obtains the current voice data.
[0183] S709: Voice Assistant - Wake-up Service successfully performed Level 2 wake-up word / voiceprint verification.
[0184] In this step, the voice assistant-wake-up service performs a secondary verification on the current voice data, which means checking whether the current voice data contains a secondary wake-up word and whether the voiceprint features are the same as the target voiceprint features. If the secondary wake-up word / voiceprint verification is successful, meaning the current voice data contains a secondary wake-up word and the voiceprint features are the same as the target voiceprint features, then the voice assistant-wake-up service sends a second start command to the voice assistant.
[0185] S710: Voice assistant execution discard voice wake-up to launch the voice assistant.
[0186] In this step, the voice assistant discards the voice wake-up command. That is, if the voice assistant has already received the first start command, it will discard the second start command when it receives the second start command sent by the voice assistant-wake-up service.
[0187] S711: Voice assistant performs breath wake-up event sourcing.
[0188] In this step, the breath wake-up event stream is the voice assistant successfully obtaining the current voice data from the ADSP. Subsequently, the voice assistant can obtain the response voice data corresponding to the current voice data and play the obtained response voice data.
[0189] Based on the above processing, users can activate the voice assistant through both breath-activated and voice-activated events, enabling quick activation and improving the efficiency of voice interaction. Furthermore, this method avoids potential conflicts between breath-activated and voice-activated events, ensuring uninterrupted voice interaction and enhancing the user experience.
[0190] The second scenario: During the voice wake-up process, after detecting that the current voice data contains a secondary wake-up word and that the voiceprint features of the current voice data are the same as the target voiceprint features, it is detected that the current voice data meets the first triggering condition corresponding to the breath wake-up event.
[0191] Accordingly, see Figure 8 , Figure 8This is a flowchart illustrating a voice assistant startup method provided in an embodiment of the present invention. The method is applied to a terminal, which includes an ADSP chip and has installed software such as a voice assistant, a voice assistant wake-up service, a SoundTrigger framework, and Sound Trigger-hal. The method may include the following steps:
[0192] S801: ADSP chip performs concurrent scenario processing.
[0193] In this embodiment, a splitting module, a voice wake-up module, and a breath wake-up module can be set up inside the ADSP, and two different DAM modules can be created, denoted as DAM1 and DAM2; at the same time, two independent IMCLs can be created through IMCL technology, denoted as IMCL1 and IMCL2; wherein IMCL1 is used to connect DAM1 and the breath wake-up module, and IMCL2 is used to connect DAM2 and the voice wake-up module.
[0194] In this step, the ADSP chip performs concurrent scene processing, that is, the splitting module in the ADSP splits the current voice data to obtain two identical voice data to be processed, and sends one current voice data to the voice wake-up module and DAM2, and the other current voice data to the breath wake-up module and DAM1.
[0195] The voice wake-up module in ADSP can detect whether the current voice data contains a first-level keyword. If the current voice data contains a first-level keyword, it reports a voice wake-up event to SoundTrigger-hal, and SoundTrigger-hal reports the voice wake-up event to the SoundTrigger framework.
[0196] S802: The SoundTrigger framework performs voice wake-up event reporting.
[0197] In this step, the SoundTrigger framework reports the voice wake-up event to the voice assistant-wake-up service to trigger the voice assistant-wake-up service to perform secondary verification on the current voice data.
[0198] S803: Voice Assistant - Wake-up Service Execution Triggers Secondary Verification.
[0199] In this step, after receiving the reported voice wake-up event, the voice assistant-wake-up service triggers a secondary verification and requests the current voice data from SoundTrigger-hal.
[0200] S804: SoundTrigger-hal executes 1999 stream buffered audio streams.
[0201] In this step, SoundTrigger-hal buffers 1999 audio streams. 1999 streams refers to a customized intelligent voice mode. That is, after receiving a request for current voice data from the voice assistant's wake-up service, SoundTrigger-hal retrieves the current voice data from the ADSP.
[0202] S805: Voice Assistant - Wake-up Service executes voice wake-up event, secondary stream retrieval complete.
[0203] In this step, the secondary stream retrieval for the voice wake-up event is completed, meaning the voice assistant-wake-up service successfully obtains the current voice data.
[0204] S806: Voice Assistant - Wake-up Service successfully performed Level 2 wake-up word / voiceprint verification.
[0205] In this step, the voice assistant-wake-up service performs a secondary verification on the current voice data, which means checking whether the current voice data contains a secondary wake-up word and whether the voiceprint features are the same as the target voiceprint features. If the secondary wake-up word / voiceprint verification is successful, meaning the current voice data contains a secondary wake-up word and the voiceprint features are the same as the target voiceprint features, then the voice assistant-wake-up service sends a second start command to the voice assistant.
[0206] S807: Voice Assistant - Wake-up Service executes voice wake-up to launch the voice assistant.
[0207] In this step, when the voice assistant receives the second start command sent by the voice assistant-wake-up service, it displays the preset voice interaction page on the terminal's display interface according to the second start command, and turns on the terminal's microphone to pick up sound.
[0208] S808: SoundTrigger-hal executes 6 streams to obtain MIC data.
[0209] In this step, after the voice assistant is activated, it requests the current voice data from SoundTrigger-hal. Upon receiving the request, SoundTrigger-hal executes a 6-stream acquisition of MIC data, which is obtained from the ADSP. 6-stream refers to a customized intelligent voice mode, and MIC data refers to the voice data received through the microphone. Subsequently, the voice assistant can obtain the corresponding response voice data and play it.
[0210] S809: SoundTrigger-hal performs breath wake-up event reporting.
[0211] In this step, the breath wake-up module in the ADSP detects whether the current voice data meets the first trigger condition corresponding to the breath wake-up event. If the current voice data meets the first trigger condition, the breath wake-up module can report the breath wake-up event to SoundTrigger-hal, and SoundTrigger-hal reports the breath wake-up event to the SoundTrigger framework. Upon receiving the breath wake-up event reported by SoundTrigger-hal, the Sound Trigger framework sends a first activation command to the voice assistant.
[0212] S810: Voice assistant execution discard breath wake-up pulls up the voice assistant.
[0213] In this step, the voice assistant discards the breath wake-up command. That is, when the voice assistant has already received the second start command, it discards the first start command when it receives the first start command sent by the SoundTrigger framework.
[0214] Based on the above processing, users can activate the voice assistant through both breath-activated and voice-activated events, enabling quick activation and improving the efficiency of voice interaction. Furthermore, this method avoids potential conflicts between breath-activated and voice-activated events, ensuring uninterrupted voice interaction and enhancing the user experience.
[0215] The second scenario: After detecting that the current voice data meets the first triggering condition corresponding to the breath wake-up event, it is detected that the current voice data contains a first-level keyword.
[0216] Accordingly, see Figure 9 , Figure 9 This is a flowchart illustrating a voice assistant startup method provided in an embodiment of the present invention. The method is applied to a terminal, which includes an ADSP chip and has installed software such as a voice assistant, a voice assistant wake-up service, a SoundTrigger framework, and Sound Trigger-hal. The method may include the following steps:
[0217] S901: The ADSP chip performs concurrent scenario processing.
[0218] In this embodiment, a splitting module, a voice wake-up module, and a breath wake-up module can be set up inside the ADSP, and two different DAM modules can be created, denoted as DAM1 and DAM2; at the same time, two independent IMCLs can be created through IMCL technology, denoted as IMCL1 and IMCL2; wherein IMCL1 is used to connect DAM1 and the breath wake-up module, and IMCL2 is used to connect DAM2 and the voice wake-up module.
[0219] In this step, the ADSP chip performs concurrent scene processing, that is, the splitting module in the ADSP splits the current voice data to obtain two identical voice data to be processed, and sends one current voice data to the voice wake-up module and DAM2, and the other current voice data to the breath wake-up module and DAM1.
[0220] S902: SoundTrigger-hal performs breath wake-up event reporting.
[0221] In this step, the breath wake-up module in ADSP detects whether the current speech data meets the first triggering condition corresponding to the breath wake-up event. If the current speech data meets the first triggering condition corresponding to the breath wake-up event, the breath wake-up module can report the breath wake-up event to SoundTrigger-hal, and SoundTrigger-hal reports the breath wake-up event to the SoundTrigger framework.
[0222] S903: The SoundTrigger framework executes breath wake-up to activate the voice assistant.
[0223] In this step, during the process of the voice assistant-wake-up service acquiring the current voice data, the Sound Trigger framework receives a breath wake-up event reported by SoundTrigger-hal. This means that while the voice assistant-wake-up service is acquiring the current voice data, the breath wake-up module has completed the detection of the current voice data. Therefore, the Sound Trigger framework executes breath wake-up to activate the voice assistant; that is, the SoundTrigger framework sends the first activation command to the voice assistant. Upon receiving the first activation command from the Sound Trigger framework, the voice assistant displays a preset voice interaction page on the terminal's display interface according to the first activation command and activates the terminal's microphone for sound recording.
[0224] S904: SoundTrigger-hal executes 1999 stream buffered audio streams.
[0225] In this step, after the voice assistant starts, it requests the current voice data from SoundTrigger-hal. Upon receiving the request, SoundTrigger-hal executes the 1999-stream buffered audio stream, which means retrieving the current voice data from the ADSP. Subsequently, the voice assistant can obtain the corresponding response voice data and play it.
[0226] S905: The SoundTrigger framework performs voice wake-up event reporting.
[0227] The voice wake-up module in ADSP can detect whether the current voice data contains a first-level keyword. If the current voice data contains a first-level keyword, it reports a voice wake-up event to SoundTrigger-hal, and SoundTrigger-hal reports the voice wake-up event to the SoundTrigger framework.
[0228] In this step, the SoundTrigger framework reports the voice wake-up event to the voice assistant-wake-up service to trigger the voice assistant-wake-up service to perform secondary verification on the current voice data.
[0229] S906: Voice Assistant - Wake-up Service Execution Triggers Secondary Verification.
[0230] In this step, after receiving the reported voice wake-up event, the voice assistant-wake-up service triggers a secondary verification and requests the current voice data from SoundTrigger-hal.
[0231] S907: SoundTrigger-hal executes 1999 stream buffered audio streams.
[0232] In this step, SoundTrigger-hal buffers 1999 audio streams. 1999 streams refers to a customized intelligent voice mode. That is, after receiving a request for current voice data from the voice assistant's wake-up service, SoundTrigger-hal retrieves the current voice data from the ADSP.
[0233] S908: Voice assistant performs breath wake-up event sourcing.
[0234] In this step, the breath wake-up event stream is the voice assistant successfully obtaining the current voice data from the ADSP. Subsequently, the voice assistant can obtain the response voice data corresponding to the current voice data and play the obtained response voice data.
[0235] S909: Voice Assistant - Wake-up Service executes voice wake-up event, secondary stream retrieval complete.
[0236] In this step, the secondary stream retrieval for the voice wake-up event is completed, meaning the voice assistant-wake-up service successfully obtains the current voice data.
[0237] S910: Voice Assistant - Wake-up Service successfully performed Level 2 wake-up word / voiceprint verification.
[0238] The voice assistant wake-up service performs a secondary verification on the current voice data, which means checking whether the current voice data contains a secondary wake-up word and whether the voiceprint features are the same as the target voiceprint features. If the secondary wake-up word / voiceprint verification is successful, meaning the current voice data contains a secondary wake-up word and the voiceprint features are the same as the target voiceprint features, then the voice assistant wake-up service sends a second activation command to the voice assistant.
[0239] S911: Voice assistant execution discard voice wake-up pulls up the voice assistant.
[0240] In this step, the voice assistant discards the voice wake-up command. That is, if the voice assistant has already received the first start command, it will discard the second start command when it receives the second start command sent by the voice assistant-wake-up service.
[0241] Based on the above processing, users can activate the voice assistant through both breath-activated and voice-activated events, enabling quick activation and improving the efficiency of voice interaction. Furthermore, this method avoids potential conflicts between breath-activated and voice-activated events, ensuring uninterrupted voice interaction and enhancing the user experience.
[0242] See Figure 10 , Figure 10 This is a flowchart illustrating the specific process of processing voice data in an embodiment of the present invention.
[0243] An analog-to-digital converter (ADC) acquires the raw audio data of the analog signal input by the user, performs analog-to-digital conversion on the raw audio data, obtains the audio data to be processed in digital signal format, and sends the audio data to be processed to the encoder (Codec DMA Source).
[0244] The encoder and the first splitter operate within the same generic container, which is the splitting module described in the previous embodiment. This generic container belongs to the DeviceSubgraph framework in ADSP, specifically the VoiceAction-Mic framework. The encoder encodes the speech data to be processed, obtaining the current speech data, and sends the current speech data to the first splitter. The first splitter splits the current speech data, obtaining two identical speech data streams to be processed, and sends both streams to two resampling modules.
[0245] The first resampling module (IIR Resample), the second splitter, and the first audio data access module (Audio DAM) run in the same generic container, which belongs to the Device-PP Subgraph framework in ADSP. This Device-PP Subgraph framework is RAW-LPI (Raw Low Power).
[0246] The first resampling module can be an IIR-type low-pass filter. It resamples the current speech data to obtain noise-filtered speech data and sends this noise-filtered data to the second splitter. The second splitter splits the current speech data, obtaining two identical streams. One stream is sent to the first speech data storage module, and the other is sent to the breath-wake module. The first speech data storage module is DAM1 in the aforementioned embodiment.
[0247] The breath wake-up module runs in a generic container, which belongs to the Stream Subgraph framework in ADSP. This Stream Subgraph framework is Voice-UI, and its Stream-config is: STREAM-CFG-VUI-Dwakeup.
[0248] The breath wake-up module detects the current voice data. When it detects that the current voice data meets the first trigger condition corresponding to the breath wake-up event, the breath wake-up module reports the breath wake-up event to the first voice data storage module. After receiving the reported breath wake-up event, the first voice data storage module sends the current voice data to the first PCM converter (PulseCode Modulation Converter).
[0249] The first PCM converter and the first shared memory module endpoint run in the same generic container. This generic container and the generic container that the breath wake-up module runs in both belong to the Stream Subgraph framework in ADSP. This Stream Subgraph framework is Voice-UI.
[0250] Accordingly, the first PCM converter can convert the current voice data to obtain PCM format current voice data, and send the PCM (Pulse Code Modulation Converter) format current voice data to the first shared memory module endpoint. The first shared memory module endpoint stores the PCM format current voice data in a preset buffer in the terminal (i.e., the shared memory in the aforementioned embodiment).
[0251] After the breath wake-up module detects that the current voice data meets the first trigger condition corresponding to the breath wake-up event, it sends a first start command to the voice assistant running on the main processor. Upon receiving the first start command, the voice assistant can check whether it has received a second start command from the voice assistant-wake-up service. If it has not received the second start command, the voice assistant can display its voice interaction page on the terminal's display interface and activate the terminal's microphone to record sound, thus enabling voice interaction with the user. If it has received the second start command, the voice assistant discards the first start command.
[0252] The second resampling module (IIR Resample), the third splitter, and the second audio data access module (Audio DAM) operate within the same generic container. This generic container belongs to the Device-PP Subgraph framework in ADSP, which is RAW-LPI (Raw Low Power Interpretation). The second audio data access module is DAM2 in the aforementioned embodiment.
[0253] The second resampling module can be an IIR low-pass filter. It resamples the current speech data to obtain noise-filtered speech data and sends this noise-filtered data to the third splitter. The third splitter splits the speech data, obtaining two identical streams. One stream is sent to the second speech data storage module, and the other is sent to the speech wake-up module.
[0254] The voice wake-up module runs in a generic container, which belongs to the Stream Subgraph framework in AD SP. This Stream Subgraph framework is Voice-UI, and its Stream-config is: Stream-config:STREAM-CF G-VUI-CUSTOM.
[0255] The voice wake-up module detects the current voice data. When it detects that the current voice data contains a primary keyword, it reports a voice wake-up event to the second voice data storage module. Upon receiving the reported voice wake-up event, the second voice data storage module sends the current voice data to the second PCM converter.
[0256] The second PCM converter and the second shared memory module endpoint run within the same generic container. This generic container, like the one used by the voice wake-up module, belongs to the Stream Subgraph framework in ADSP, which is the Voice-UI framework. The second PCM converter processes the current voice data to obtain PCM-formatted voice data and sends this PCM-formatted voice data to the second shared memory module endpoint. The second shared memory module endpoint stores the PCM-formatted voice data in a preset buffer within the terminal (i.e., the shared memory in the aforementioned embodiment).
[0257] When the voice wake-up module detects that the current voice data contains a primary keyword, it reports the voice wake-up event to the voice assistant-wake-up service running on the main processor. If the voice assistant-wake-up service detects that the current voice data contains a secondary wake-up word and that the voiceprint features of the current voice data match the target voiceprint features, it can send a second activation command to the voice assistant running on the main processor. Upon receiving the second activation command, the voice assistant can check whether it has received the first activation command from the breath wake-up module. If it has not received the first activation command, the voice assistant can display its voice interaction page on the terminal's display interface and activate the terminal's microphone to record sound, thus enabling voice interaction with the user. If it has received the first activation command, the voice assistant discards the second activation command.
[0258] Based on the above processing, users can activate the voice assistant through both breath-activated and voice-activated events, enabling quick activation and improving the efficiency of voice interaction. Furthermore, when activating the voice assistant via either method, the voice assistant on the terminal will be launched only after one type of activation event is detected, allowing for voice interaction and enhancing the user experience.
[0259] For scenarios where users find it inconvenient to operate the terminal with both hands—for example, when users are queuing to enter a subway station, airport, or train station with luggage in their hands; when users are shopping in a supermarket or shopping mall with items in their hands; when users are walking their dogs outdoors; or when users are driving into (or out of) a parking lot, toll station, residential area, or park, and their hands have just been freed from the steering wheel—these scenarios allow users to activate the voice assistant using the two voice assistant activation methods provided in this embodiment of the invention. Subsequently, users can control other applications on the terminal through the voice assistant, thereby improving the user experience.
[0260] and Figure 1 For the corresponding method implementation examples, see [link to relevant documentation]. Figure 11 , Figure 11 This is a structural diagram of a voice assistant activation device provided in an embodiment of the present invention. The device is applied to a terminal and includes:
[0261] The voice data acquisition module 1101 is used to receive voice data input by the user as the current voice data;
[0262] The breath wake-up detection module 1102 is used to detect whether the current voice data meets the first triggering condition corresponding to the breath wake-up event; if the current voice data is detected to meet the first triggering condition, a first start command is sent to the voice assistant 1103; wherein, the first triggering condition includes: when the user inputs the current voice data, a preset action is performed on the terminal, and the volume value of the current voice data belongs to a preset volume value range;
[0263] The voice assistant 1103 is used to display a preset voice interaction page on the terminal's display interface according to the first launch command after receiving the first launch command.
[0264] Optionally, the device further includes;
[0265] The voice wake-up detection module is used to detect whether the current voice data meets the second triggering condition corresponding to the voice wake-up event; if the current voice data is detected to meet the second triggering condition, a second start command is sent to the voice assistant 1103.
[0266] The voice assistant 1103 is further configured to, upon receiving the second start command, detect whether the first start command sent by the breath wake-up detection module has been received; if the first start command has been received, discard the second start command; if the first start command has not been received by the breath wake-up detection module, display a preset voice interaction page on the terminal's display interface according to the second start command.
[0267] Optionally, the voice wake-up detection module includes:
[0268] The first-level voice verification submodule is used to detect whether the current voice data contains first-level keywords;
[0269] The secondary voice verification submodule is used to detect whether the current voice data contains a secondary wake-up word and whether the voiceprint features of the current voice data are the same as the target voiceprint features stored locally on the terminal; if the current voice data contains a secondary wake-up word and the voiceprint features of the current voice data are the same as the target voiceprint features, it is determined that the current voice data meets the second triggering condition.
[0270] Optionally, the voice assistant 1103 is specifically configured to, after receiving the first start command, detect whether a second start command sent by the voice wake-up detection module has been received; if it is detected that the second start command sent by the voice wake-up detection module has not been received, display a preset voice interaction page on the display interface of the terminal according to the first start command; if it is detected that the second start command sent by the voice wake-up detection module has been received, discard the first start command.
[0271] Optionally, the voice assistant 1103 is specifically used to detect whether a second start command has been received from the voice wake-up detection module after the first-level voice verification submodule detects that the current voice data contains a first-level keyword and after receiving the first start command.
[0272] or,
[0273] The voice assistant 1103 is specifically used to detect whether a second start command has been received from the voice wake-up detection module after receiving the first start command, after the second-level voice verification submodule detects that the current voice data contains a second-level wake-up word and the voiceprint feature of the current voice data is the same as the target voiceprint feature.
[0274] Optionally, the voice data acquisition module 1101 is specifically used to receive voice data input by the user and perform splitting processing on the received voice data to obtain two current voice data streams.
[0275] The breath wake-up detection module 1102 is specifically used to detect whether the current voice data obtained by the splitting meets the first triggering condition corresponding to the breath wake-up event.
[0276] The voice wake-up detection module is specifically used to detect whether the other current voice data obtained by splitting meets the second triggering condition corresponding to the voice wake-up event.
[0277] Optionally, the device further includes:
[0278] A voice data caching module is used to store the current voice data in a preset cache area;
[0279] The voice assistant 1103 is further configured to obtain the current voice data from the preset cache; obtain the response voice data corresponding to the current voice data; and play the response voice data.
[0280] Based on the voice assistant activation device provided in the embodiments of the invention, the first triggering condition includes: when the user inputs current voice data, they perform a preset action on the terminal, and the volume value of the current voice data falls within a preset volume range. When the current voice data meets the first triggering condition—that is, the user performs a preset action on the terminal and inputs the current voice data by bringing the terminal close to their mouth—it indicates that the user needs to activate the voice assistant. Therefore, the voice assistant installed on the terminal is activated, meaning it can be activated via a breath-activated event. Users do not need to use a wake-up word or long-press the power button to activate the voice assistant installed on the terminal, simplifying the voice interaction steps. This allows for quick activation of the voice assistant, avoiding problems such as inability to wake up, accidental wake-up, and inconvenience in activating it, and also preventing user misoperation, thus improving the user experience.
[0281] See Figure 12 , Figure 12 A structural diagram of a terminal provided in an embodiment of the present invention includes: an audio input / output module 1201, a main processor 1202, and a digital signal processor 1203;
[0282] The audio input / output module 1201 is used to receive voice data input by the user as current voice data, and send the current voice data to the digital signal processor;
[0283] The digital signal processor 1203 is used to detect whether the current voice data meets the first triggering condition corresponding to the breath wake-up event, and send the detection result to the main processor 1202; wherein, the first triggering condition includes: when the user inputs the current voice data, a preset action is performed on the terminal, and the volume value of the current voice data belongs to a preset volume value range.
[0284] The main processor 1202 is used to start the voice assistant installed in the terminal when it is detected that the current voice data meets the first triggering condition.
[0285] Optionally, the digital signal processor 1203 is further configured to detect whether the current voice data contains a first-level keyword and send the detection result to the main processor 1202;
[0286] The main processor 1202 is further configured to, when detecting that the current voice data contains the first-level keyword, detect whether the current voice data contains a second-level wake-up word and whether the voiceprint features of the current voice data are the same as the target voiceprint features stored locally on the terminal; and when detecting that the current voice data contains a second-level wake-up word and that the voiceprint features of the current voice data are the same as the target voiceprint features, determine that the current voice data satisfies the second triggering condition; and when the current voice data satisfies the second triggering condition, detect whether the voice assistant has been started through the breath wake-up event; if it is detected that the voice assistant has been started through the breath wake-up event, not respond to the voice wake-up event; if it is detected that the voice assistant has not been started through the breath wake-up event, start the voice assistant.
[0287] Optionally, the digital signal processor 1203 is further configured to perform splitting processing on the received current voice data, and execute the step of detecting whether the current voice data meets the first triggering condition corresponding to the breath wake-up event on one of the split current voice data, and sending the detection result to the main processor 1202; and execute the step of detecting whether the current voice data contains a first-level keyword on the other split current voice data, and sending the detection result to the main processor 1202.
[0288] Based on the terminal provided in the embodiments of the invention, the first triggering condition includes: when the user inputs current voice data, the user performs a preset action on the terminal, and the volume value of the current voice data falls within a preset volume range. The current voice data satisfies the first triggering condition, meaning the user performs a preset action on the terminal and inputs the current voice data by bringing the terminal close to their mouth, indicating that the user needs to activate the voice assistant. Therefore, the voice assistant installed on the terminal is activated, meaning it can be activated via a breath-activated event. The user does not need to use a wake-up word or long-press the power button to activate the voice assistant installed on the terminal, simplifying the voice interaction steps. This allows for quick activation of the voice assistant, avoiding problems such as inability to wake up, accidental wake-up, and inconvenience in activating it, and also prevents user misoperation, thus improving the user experience.
[0289] This invention also provides a terminal, such as... Figure 13As shown, it includes a processor 1301, a communication interface 1302, a memory 1303, and a communication bus 1304, wherein the processor 1301, the communication interface 1302, and the memory 1303 communicate with each other through the communication bus 1304.
[0290] Memory 1303 is used to store computer programs;
[0291] When processor 1301 executes a program stored in memory 1303, it performs the following steps:
[0292] Receive voice data input by the user and use it as the current voice data;
[0293] Detect whether the current voice data meets the first triggering condition corresponding to the breath wake-up event; wherein, the first triggering condition includes: when the user inputs the current voice data, a preset action is performed on the terminal, and the volume value of the current voice data belongs to a preset volume value range;
[0294] If the current voice data is detected to meet the first triggering condition, the voice assistant installed on the terminal is activated.
[0295] The communication bus mentioned above can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in the diagram, but this does not mean that there is only one bus or one type of bus.
[0296] The communication interface is used for communication between the terminal and other devices.
[0297] The memory may include random access memory (RAM) or non-volatile memory, such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.
[0298] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0299] In another embodiment of the present invention, a computer-readable storage medium is also provided, which stores a computer program that, when executed by a processor, implements any of the voice assistant startup methods described in the above embodiments.
[0300] In another embodiment of the present invention, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to execute any of the voice assistant startup methods described in the above embodiments.
[0301] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present invention are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid state disk (SSD)).
[0302] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0303] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the embodiments for devices, terminals, computer-readable storage media, and computer program products are basically similar to the method embodiments, so the descriptions are relatively simple; relevant parts can be referred to the descriptions of the method embodiments.
[0304] The above description is merely a preferred embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention are included within the scope of protection of the present invention.
Claims
1. A method for activating a voice assistant, characterized in that, The method is applied to a terminal, and the method includes: Receive voice data input by the user and use it as the current voice data; Detect whether the current voice data meets the first triggering condition corresponding to the breath wake-up event; wherein, the first triggering condition includes: when the user inputs the current voice data, a preset action is performed on the terminal, and the volume value of the current voice data belongs to a preset volume value range; If the current voice data is detected to meet the first triggering condition, the voice assistant installed in the terminal is activated; After receiving the user-input voice data as the current voice data, the method further includes: Detect whether the current voice data meets the second triggering condition corresponding to the voice wake-up event; If the current voice data is detected to meet the second triggering condition, it is detected whether the voice assistant has been activated through the breath wake-up event; If it is detected that the voice assistant has been activated via the breath wake-up event, do not respond to the voice wake-up event; If it is detected that the voice assistant has not been activated by the breath wake-up event, then activate the voice assistant.
2. The method according to claim 1, characterized in that, The step of detecting whether the current voice data meets the second triggering condition corresponding to the voice wake-up event includes: Detect whether the current voice data contains a primary keyword; If the current voice data is detected to contain the first-level keyword, it is detected whether the current voice data contains the second-level wake word, and whether the voiceprint features of the current voice data are the same as the target voiceprint features stored locally on the terminal. If the current voice data is detected to contain a secondary wake word, and the voiceprint features of the current voice data are the same as the target voiceprint features, it is determined that the current voice data meets the second triggering condition.
3. The method according to claim 2, characterized in that, If the current voice data is detected to meet the first triggering condition, the voice assistant installed on the terminal is activated, including: If the current voice data is detected to meet the first triggering condition, it is detected whether the voice assistant has been started through the voice wake-up event; If it is detected that the voice assistant has not been activated by the voice wake-up event, the voice assistant installed on the terminal is activated; If it is detected that the voice assistant has been activated via the voice wake-up event, the breath wake-up event will not be responded to.
4. The method according to claim 3, characterized in that, If the current voice data is detected to meet the first triggering condition, detecting whether the voice assistant has been activated via the voice wake-up event includes: After detecting that the current voice data contains a primary keyword, if the current voice data satisfies the first triggering condition, it is detected whether the voice assistant has been started through the voice wake-up event; or, After detecting that the current voice data contains a secondary wake-up word and that the voiceprint features of the current voice data are the same as the target voiceprint features, if the current voice data meets the first triggering condition, it is detected whether the voice assistant has been started through the voice wake-up event.
5. The method according to any one of claims 1 to 4, characterized in that, The receipt of user-input voice data as current voice data includes: Receive voice data input by the user and split the received voice data to obtain two current voice data streams; The step of detecting whether the current voice data meets the first triggering condition corresponding to the breath wake-up event includes: Detect whether the current voice data obtained from the split stream meets the first triggering condition corresponding to the breath wake-up event; The step of detecting whether the current voice data meets the second triggering condition corresponding to the voice wake-up event includes: Check whether the other current voice data obtained from the split-through meets the second triggering condition corresponding to the voice wake-up event.
6. The method according to any one of claims 1 to 4, characterized in that, Activating the voice assistant installed on the terminal includes: The voice interaction page of the voice assistant is displayed on the terminal's display interface.
7. The method according to any one of claims 1 to 4, characterized in that, After activating the voice assistant installed on the terminal, the method further includes: The voice assistant obtains the response voice data corresponding to the current voice data and plays the response voice data.
8. A voice assistant activation device, characterized in that, The device is used in a terminal, and the device includes: The voice data acquisition module is used to receive voice data input by the user as the current voice data; The breath wake-up detection module is used to detect whether the current voice data meets the first triggering condition corresponding to the breath wake-up event; if the current voice data is detected to meet the first triggering condition, a first start command is sent to the voice assistant; wherein, the first triggering condition includes: when the user inputs the current voice data, a preset action is performed on the terminal, and the volume value of the current voice data belongs to a preset volume value range; The voice assistant is used to display a preset voice interaction page on the terminal's display interface according to the first launch command after receiving the first launch command. The device also includes; The voice wake-up detection module is used to detect whether the current voice data meets the second triggering condition corresponding to the voice wake-up event; if the current voice data is detected to meet the second triggering condition, a second start command is sent to the voice assistant. The voice assistant is further configured to, upon receiving the second start command, detect whether the first start command sent by the breath wake-up detection module has been received; if the first start command has been received, discard the second start command; if the first start command has not been received by the breath wake-up detection module, display a preset voice interaction page on the terminal's display interface according to the second start command.
9. The apparatus according to claim 8, characterized in that, The voice wake-up detection module includes: The first-level voice verification submodule is used to detect whether the current voice data contains first-level keywords; The secondary voice verification submodule is used to detect whether the current voice data contains a secondary wake-up word and whether the voiceprint features of the current voice data are the same as the target voiceprint features stored locally on the terminal; if the current voice data contains a secondary wake-up word and the voiceprint features of the current voice data are the same as the target voiceprint features, it is determined that the current voice data meets the second triggering condition.
10. The apparatus according to claim 9, characterized in that, The voice assistant is specifically configured to, upon receiving the first start command, detect whether a second start command has been received from the voice wake-up detection module; if the second start command has not been received from the voice wake-up detection module, display a preset voice interaction page on the terminal's display interface according to the first start command; if the second start command has been received from the voice wake-up detection module, discard the first start command.
11. The apparatus according to claim 10, characterized in that, The voice assistant is specifically used to detect whether it has received a second start command sent by the voice wake-up detection module after the first-level voice verification submodule detects that the current voice data contains a first-level keyword and receives the first start command. or, The voice assistant is specifically configured to, after the secondary voice verification submodule detects that the current voice data contains a secondary wake-up word and that the voiceprint features of the current voice data are the same as the target voiceprint features, detect whether a second start command has been received from the voice wake-up detection module after receiving the first start command.
12. The apparatus according to any one of claims 8 to 11, characterized in that, The voice data acquisition module is specifically used to receive voice data input by the user and to perform splitting processing on the received voice data to obtain two current voice data streams. The breath wake-up detection module is specifically used to detect whether the current voice data obtained by the splitting meets the first triggering condition corresponding to the breath wake-up event. The voice wake-up detection module is specifically used to detect whether the other current voice data obtained by splitting meets the second triggering condition corresponding to the voice wake-up event.
13. The apparatus according to any one of claims 8 to 11, characterized in that, The device further includes: A voice data caching module is used to store the current voice data in a preset cache area; The voice assistant is further configured to obtain the current voice data from the preset cache; obtain the response voice data corresponding to the current voice data; and play the response voice data.
14. A terminal, characterized in that, include: Audio input / output module, main processor, and digital signal processor; The audio input / output module is used to receive voice data input by the user as current voice data, and send the current voice data to the digital signal processor; The digital signal processor is used to detect whether the current voice data meets the first triggering condition corresponding to the breath wake-up event, and send the detection result to the main processor; wherein, the first triggering condition includes: when the user inputs the current voice data, a preset action is performed on the terminal, and the volume value of the current voice data belongs to a preset volume value range; The main processor is used to activate the voice assistant installed in the terminal when it detects that the current voice data meets the first triggering condition. The digital signal processor is also used to detect whether the current voice data contains a first-level keyword and send the detection result to the main processor; The main processor is further configured to, when detecting that the current voice data contains the first-level keyword, detect whether the current voice data contains a second-level wake-up word and whether the voiceprint features of the current voice data are the same as the target voiceprint features stored locally on the terminal; and when detecting that the current voice data contains a second-level wake-up word and that the voiceprint features of the current voice data are the same as the target voiceprint features, determine that the current voice data satisfies the second triggering condition corresponding to the voice wake-up event; and when the current voice data satisfies the second triggering condition, detect whether the voice assistant has been started through the breath wake-up event; if it is detected that the voice assistant has been started through the breath wake-up event, not respond to the voice wake-up event; if it is detected that the voice assistant has not been started through the breath wake-up event, start the voice assistant.
15. The terminal according to claim 14, characterized in that, The digital signal processor is further configured to perform splitting processing on the received current voice data, and to perform the step of detecting whether the current voice data meets the first triggering condition corresponding to the breath wake-up event on the split current voice data, and sending the detection result to the main processor. Perform the step of detecting whether the current voice data contains a first-level keyword on the other current voice data obtained by splitting, and send the detection result to the main processor.
16. A terminal, characterized in that, It includes a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus; Memory, used to store computer programs; When a processor executes a program stored in the memory, it implements the steps of the method described in any one of claims 1-7.
17. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the method described in any one of claims 1-7.
Citation Information
Patent Citations
System capable of interacting with intelligent acoustics
CN108495212A
Voice-trigger method and terminal
CN109065060A
Method and device for vehicle control
CN110001549A
Systems and methods for selective wake word detection using neural network models
CN111247582A