Voice wake-up method, device, electronic device and storage medium

By determining the target phoneme corresponding to each voice frame in the voice wake-up technique and judging the wake-up device, the problems of high false wake-up rate and large calculation amount in the prior art are solved, and a lower false wake-up rate and smaller computing resource requirements are achieved.

CN114842845BActive Publication Date: 2025-03-07SOUNDAI TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210394150.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-14
Publication Date
2025-03-07
Estimated Expiration
2042-04-14

AI Technical Summary

Technical Problem

The existing voice wake-up technology requires a large amount of training data and high computational volume when training neural network models, resulting in high error wake-up rate and high accuracy of model output dependence.

Method used

By obtaining the to-processed speech data and inputting the pre-trained wake-up model, the target phoneme corresponding to each speech frame in the phoneme of the target wake-up word is determined, and whether the device is awakened is determined based on the probability of the phoneme corresponding to the speech frame. This method calculates the wake-up score after the decoding path is determined, which reduces the possibility of false wake-up and can generate a wake-up model using less training data.

Benefits of technology

It effectively solves the problems of high false wake-up rate and large calculation amount, reduces the dependence on the accurate output of the wake-up model, and reduces the demand for training data and computing resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114842845B_ABST
    Figure CN114842845B_ABST
Patent Text Reader

Abstract

The present application relates to a voice wake-up method, device, electronic device and storage medium, which are applied to the field of voice processing technology. The method includes: obtaining voice data to be processed, inputting the voice data to be processed into a pre-trained wake-up model, and obtaining the probability that each voice frame in the voice data to be processed corresponds to each phoneme in the target wake-up word; according to the probability that each voice frame corresponds to each phoneme in the target wake-up word, determining the target phoneme corresponding to each voice frame in the phoneme of the target wake-up word; wherein, for each voice frame corresponding to the target phoneme, the probability that the voice frame corresponds to the next phoneme of the target phoneme is less than or equal to the probability that the voice frame corresponds to the target phoneme; according to the probability that each voice frame corresponds to the target phoneme, determining whether to wake up the device to be awakened. The present application can reduce the usage of training data while avoiding false awakening.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of voice processing technology, and in particular to a voice wake-up method, device, electronic device and storage medium. Background Art

[0002] Voice wake-up means that when the device is in low-power standby mode, the user speaks a specific wake-up word to make the device go from standby mode to working mode. In related technologies, voice data can be input into a neural network model to determine whether the text information corresponding to the voice data is a wake-up word. If it is a wake-up word, the device is woken up. However, in order to avoid false wake-ups, this method requires a large amount of training data when training the neural network model, which requires a large amount of calculation. Summary of the invention

[0003] In order to solve the above technical problems, the present application provides a voice wake-up method, device, electronic device and storage medium.

[0004] According to a first aspect of the present application, a voice wake-up method is provided, the method comprising:

[0005] Acquire speech data to be processed, input the speech data to be processed into a pre-trained wake-up model, and obtain the probability that each speech frame in the speech data to be processed corresponds to each phoneme in the target wake-up word;

[0006] According to the probabilities that the respective speech frames correspond to the respective phonemes in the target wake-up word, the target phoneme corresponding to each speech frame in the phoneme of the target wake-up word is determined; wherein, for each speech frame corresponding to the target phoneme, the probability that the speech frame corresponds to the next phoneme of the target phoneme is less than or equal to the probability that the speech frame corresponds to the target phoneme;

[0007] Whether to wake up the device to be woken up is determined according to the probability that each of the speech frames corresponds to the target phoneme.

[0008] Optionally, determining the target phoneme corresponding to each of the speech frames in the phoneme of the target wake-up word according to the probability that each of the speech frames corresponds to each of the phonemes in the target wake-up word includes:

[0009] Using the initial speech frame in the speech data to be processed as the current comparison speech frame, and using the initial phoneme in the target wake-up word as the current comparison phoneme;

[0010] Obtaining a probability that the current comparison voice frame corresponds to the current comparison phoneme as a first probability, and obtaining a probability that the current comparison voice frame corresponds to the next phoneme of the current comparison phoneme in the target wake-up word as a second probability;

[0011] Determine the target phoneme corresponding to the current comparison speech frame by comparing the first probability with the second probability;

[0012] The next speech frame of the current comparison speech frame in the speech data to be processed is used as the current comparison speech frame until the target phoneme corresponding to each of the speech frames in the phoneme of the target wake-up word is determined.

[0013] Optionally, determining the target phoneme corresponding to the current comparison speech frame by comparing the first probability with the second probability includes:

[0014] Determining whether the second probability is greater than the first probability;

[0015] If the second probability is less than or equal to the first probability, determining that the current comparing phoneme is the target phoneme corresponding to the current comparing speech frame;

[0016] If the second probability is greater than the first probability, the next phoneme of the current comparing phoneme is determined to be the target phoneme corresponding to the current comparing speech frame, and the next phoneme of the current comparing phoneme is used as the current comparing phoneme.

[0017] Optionally, after determining the target phoneme corresponding to each of the speech frames in the phoneme of the target wake-up word, the method further includes:

[0018] Determine whether the target phonemes corresponding to the respective speech frames include the last phoneme in the target wake-up word;

[0019] If the target phonemes corresponding to the respective speech frames do not include the last phoneme in the target wake-up word, determining not to wake up the device to be woken up;

[0020] If the target phonemes corresponding to the various speech frames include the last phoneme in the target wake-up word, the step of determining whether to wake up the device to be woken up based on the probability that each of the speech frames corresponds to the target phoneme is performed.

[0021] Optionally, determining whether to wake up the device to be woken up according to the probability that each of the speech frames corresponds to the target phoneme includes:

[0022] Obtaining a wake-up score according to the probability that each of the speech frames corresponds to the target phoneme;

[0023] If the wake-up score is greater than a preset wake-up score, waking up the device to be awakened;

[0024] If the wake-up score is less than or equal to the preset wake-up score, the device to be woken up is not woken up.

[0025] Optionally, obtaining a wake-up score according to the probability that each speech frame corresponds to a target phoneme includes:

[0026] The average of the probabilities that each speech frame corresponds to the target phoneme is determined as the arousal score.

[0027] Optionally, the training method of the wake-up model includes:

[0028] Acquire sample speech data, and determine the target sample phonemes corresponding to each sample speech frame in the sample speech data in each phoneme of the target wake-up word;

[0029] Determining, according to the target sample phonemes corresponding to the sample speech frame, the probability that the sample speech frame corresponds to each phoneme in the target wake-up word;

[0030] The sample speech data is used as input, and the probability that each sample speech frame in the sample speech data corresponds to each phoneme in the target wake-up word is used as label data to train and generate the wake-up model.

[0031] Optionally, the wake-up model is generated using a C language library function; the method further includes:

[0032] A decoder is generated based on the C language library function; wherein the decoder is used to process the probability that each speech frame corresponds to each phoneme in the target wake-up word, and determine whether to wake up the device to be awakened.

[0033] According to a second aspect of the present application, a voice wake-up device is provided, the device comprising:

[0034] A phoneme probability determination module is used to obtain speech data to be processed, input the speech data to be processed into a pre-trained wake-up model, and obtain the probability that each speech frame in the speech data to be processed corresponds to each phoneme in the target wake-up word;

[0035] A target phoneme determination module, configured to determine the target phoneme corresponding to each of the speech frames in the phoneme of the target wake-up word according to the probability that each of the speech frames corresponds to each of the phonemes in the target wake-up word; wherein, for each speech frame corresponding to the target phoneme, the probability that the speech frame corresponds to the next phoneme of the target phoneme is less than or equal to the probability that the speech frame corresponds to the target phoneme;

[0036] The wake-up judgment module is used to determine whether to wake up the device to be woken up according to the probability that each of the speech frames corresponds to the target phoneme.

[0037] Optionally, the target phoneme determination module is specifically used to take the initial speech frame in the voice data to be processed as the current comparison speech frame, and take the initial phoneme in the target wake-up word as the current comparison phoneme; obtain the probability that the current comparison speech frame corresponds to the current comparison phoneme as the first probability, and obtain the probability that the current comparison speech frame corresponds to the next phoneme of the current comparison phoneme in the target wake-up word as the second probability; determine the target phoneme corresponding to the current comparison speech frame by comparing the first probability with the second probability; take the next speech frame of the current comparison speech frame in the voice data to be processed as the current comparison speech frame, until the target phoneme corresponding to each of the speech frames in the phonemes of the target wake-up word is determined.

[0038] Optionally, the target phoneme determination module is specifically configured to determine the target phoneme corresponding to the current comparison speech frame by comparing the first probability with the second probability through the following steps:

[0039] Determining whether the second probability is greater than the first probability;

[0040] If the second probability is less than or equal to the first probability, determining that the current comparing phoneme is the target phoneme corresponding to the current comparing speech frame;

[0041] If the second probability is greater than the first probability, the next phoneme of the current comparing phoneme is determined to be the target phoneme corresponding to the current comparing speech frame, and the next phoneme of the current comparing phoneme is used as the current comparing phoneme.

[0042] Optionally, the voice wake-up device further includes:

[0043] A phoneme determination module, used to determine whether the target phonemes corresponding to the respective speech frames include the last phoneme in the target wake-up word;

[0044] A module for determining not to wake up is used to determine not to wake up the device to be woken up if the target phonemes corresponding to the respective voice frames do not include the last phoneme in the target wake-up word;

[0045] The wake-up judgment module is specifically used to execute the step of determining whether to wake up the device to be woken up based on the probability that each speech frame corresponds to the target phoneme if the target phonemes corresponding to the various speech frames include the last phoneme in the target wake-up word.

[0046] Optionally, the wake-up judgment module is specifically used to obtain a wake-up score based on the probability that each speech frame corresponds to the target phoneme; if the wake-up score is greater than a preset wake-up score, the device to be awakened is awakened; if the wake-up score is less than or equal to the preset wake-up score, the device to be awakened is not awakened.

[0047] Optionally, the wake-up judgment module is specifically configured to obtain a wake-up score according to the probability that each speech frame corresponds to a target phoneme in the following manner:

[0048] The average of the probabilities that each speech frame corresponds to the target phoneme is determined as the arousal score.

[0049] Optionally, the voice wake-up device further includes:

[0050] A wake-up model training module is used to obtain sample speech data and determine the target sample phonemes corresponding to each sample speech frame in the sample speech data among the target wake-up words; determine the probability that the sample speech frame corresponds to each phoneme in the target wake-up word based on the target sample phonemes corresponding to the sample speech frame; take the sample speech data as input and the probability that each sample speech frame in the sample speech data corresponds to each phoneme in the target wake-up word as label data to train and generate the wake-up model.

[0051] Optionally, the wake-up model is generated using a C language library function; and the voice wake-up device further includes:

[0052] A decoder generation module is used to generate a decoder based on the C language library function; wherein the decoder is used to process the probability that each speech frame corresponds to each phoneme in the target wake-up word, and determine whether to wake up the device to be awakened.

[0053] According to a third aspect of the present application, an electronic device is provided, comprising: a processor, wherein the processor is used to execute a computer program stored in a memory, wherein the computer program implements the voice wake-up method described in the first aspect when executed by the processor.

[0054] According to a fourth aspect of the present application, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the voice wake-up method described in the first aspect is implemented.

[0055] According to a fifth aspect of the present application, a computer program product is provided. When the computer program product is run on a computer, the computer is enabled to execute the voice wake-up method described in the first aspect.

[0056] Compared with the prior art, the technical solution provided by the embodiments of the present application has the following advantages:

[0057] After the wake-up model outputs the probability that each speech frame in the to-be-processed speech data corresponds to each phoneme in the target wake-up word, the target phoneme corresponding to each speech frame in the phoneme of the target wake-up word can be determined in sequence according to the order of the speech frames and the order of the phonemes. For each speech frame, the speech frame jumps to the next phoneme only when the probability that the speech frame corresponds to the next phoneme of the current phoneme is greater than the probability that the speech frame corresponds to the current phoneme, otherwise it does not jump, that is, the target phoneme corresponding to the speech frame is still the current phoneme. In this way, the problem of messy output of the wake-up model can be well solved. Since the present application does not select the final decoding path based on the wake-up scores of multiple decoding paths, but calculates the wake-up score after the decoding path is determined, there will be no problem of higher scores for the front phonemes and raising the total wake-up score, resulting in false wake-up. In addition, this method has less dependence on the accurate output of the wake-up model, so the wake-up model can be generated using less training data, and the amount of calculation is small. BRIEF DESCRIPTION OF THE DRAWINGS

[0058] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0059] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0060] Figure 1 A schematic diagram of an application scenario of the wake-up method in an embodiment of the present application;

[0061] Figure 2 A flow chart of the voice wake-up method in an embodiment of the present application;

[0062] Figure 3 A flowchart of a method for determining a decoding path in an embodiment of the present application;

[0063] Figure 4 A schematic diagram of a decoding path in an embodiment of the present application;

[0064] Figure 5 A schematic diagram of the structure of a voice wake-up device in an embodiment of the present application;

[0065] Figure 6 A schematic diagram of the structure of an electronic device in an embodiment of the present application. DETAILED DESCRIPTION

[0066] In order to more clearly understand the above-mentioned purposes, features and advantages of the present application, the scheme of the present application will be further described below. It should be noted that the embodiments of the present application and the features in the embodiments can be combined with each other without conflict.

[0067] In the following description, many specific details are set forth to facilitate a full understanding of the present application, but the present application may also be implemented in other ways different from those described herein; obviously, the embodiments in the specification are only part of the embodiments of the present application, rather than all of the embodiments.

[0068] Figure 1 Schematic diagram of an application scenario of the wake-up method in the embodiment of the present application. Figure 1 As shown, the device to be awakened is a smart speaker, which has a voice wake-up function. The user can shout a specific wake-up word to wake up the smart speaker.

[0069] See also Figure 2 , Figure 2 This is a flow chart of the voice wake-up method in an embodiment of the present application, which may include the following steps:

[0070] Step S210, obtaining the speech data to be processed, inputting the speech data to be processed into a pre-trained wake-up model, and obtaining the probability that each speech frame in the speech data to be processed corresponds to each phoneme in the target wake-up word.

[0071] Step S220, determining the target phoneme corresponding to each speech frame in the phonemes of the target wake-up word according to the probability that each speech frame corresponds to each phoneme in the target wake-up word.

[0072] Step S230 , determining whether to wake up the device to be woken up according to the probability that each speech frame corresponds to the target phoneme.

[0073] The wake-up method of the embodiment of the present application, after the wake-up model outputs the probability that each speech frame in the to-be-processed speech data corresponds to each phoneme in the target wake-up word, can determine the target phoneme corresponding to each speech frame in the phoneme of the target wake-up word in sequence according to the order of the speech frames and the order of the phonemes. For each speech frame, when the probability that the speech frame corresponds to the next phoneme of the current phoneme is greater than the probability that the speech frame corresponds to the current phoneme, the speech frame jumps to the next phoneme, otherwise it does not jump, that is, the target phoneme corresponding to the speech frame is still the current phoneme, so that the problem of messy output of the wake-up model can be well solved. Since the present application does not select the final decoding path based on the wake-up scores of multiple decoding paths, but calculates the wake-up score after the decoding path is determined, there will be no problem of higher scores for the front phonemes and raising the total wake-up score, resulting in false wake-up. In addition, the method has less dependence on the accurate output of the wake-up model, so the wake-up model can be generated using less training data, and the amount of calculation is small.

[0074] The following is a detailed introduction to the voice wake-up method of the embodiment of the present application.

[0075] In step S210, the speech data to be processed is obtained, and the speech data to be processed is input into a pre-trained wake-up model to obtain the probability that each speech frame in the speech data to be processed corresponds to each phoneme in the target wake-up word.

[0076] The voice data to be processed is the voice data input by the user. When the user wants to wake up the device to be awakened (such as a smart speaker, smart TV, etc.), he can shout the target wake-up word. The target wake-up word is the wake-up word corresponding to the device to be awakened. The wake-up words corresponding to different devices to be awakened are usually different. The voice data generated when the user shouts the target wake-up word is the voice data to be processed. The voice data to be processed includes multiple voice frames, each of which can be 10 milliseconds, etc.

[0077] The wake-up model is a model generated by pre-acquiring training data. The input of the wake-up model is speech data, and the output is the probability of each speech frame of the speech data corresponding to each phoneme in the wake-up word. The wake-up model can use any deep learning framework. It is understandable that for different devices to be awakened, since the corresponding wake-up words are different, different devices to be awakened correspond to different wake-up models.

[0078] In some embodiments, a letter can be a phoneme. For example, for "small", x, i, a, and o can all represent a phoneme. Alternatively, it can also be the smallest phonetic unit divided according to the natural attributes of speech, and analyzed according to the pronunciation action, one action constitutes a phoneme. For example, in Chinese, x, i, and ao can all represent a phoneme. Alternatively, x represents a phoneme, and iao also represents a phoneme. This application does not limit the specific form of the phoneme.

[0079] In some embodiments, the training method of the wake-up model may include the following steps:

[0080] First, sample speech data is obtained, and target sample phonemes corresponding to each sample speech frame in the sample speech data in each phoneme of the target wake-up word are determined.

[0081] The sample voice data may include positive sample data (voice data that can wake up the device to be awakened) and negative sample data (voice data that cannot wake up the device to be awakened). Each sample voice data may be divided into multiple sample voice frames, and the target sample phonemes corresponding to each sample voice frame in each phoneme of the target wake-up word are determined. Typically, multiple sample voice frames correspond to the same target sample phoneme.

[0082] Afterwards, the probability that the sample speech frame corresponds to each phoneme in the target wake-up word is determined based on the target sample phoneme corresponding to the sample speech frame. It can be understood that the probability that the sample speech frame corresponds to the target sample phoneme in the target wake-up word is 1, and the probability that it corresponds to the remaining other phonemes in the target wake-up word is 0.

[0083] Finally, the sample speech data is used as input, and the probability that each sample speech frame in the sample speech data corresponds to each phoneme in the target wake-up word is used as label data to train and generate the wake-up model.

[0084] During the model training process, there is usually a certain gap between the predicted probability and the actual probability of each phoneme in the target wake-up word corresponding to each sample speech frame in the sample speech data. Therefore, the loss value can be calculated through the preset loss function. The loss value is used to estimate the degree of inconsistency between the predicted probability and the actual probability. The smaller the loss value, the closer the predicted probability is to the actual probability. When the loss value is less than the preset threshold, the model training ends and the wake-up model is obtained.

[0085] In step S220, the target phoneme corresponding to each speech frame in the phonemes of the target wake-up word is determined according to the probability that each speech frame corresponds to each phoneme in the target wake-up word.

[0086] When the amount of training data is large, the probability that each speech frame output by the wake-up model corresponds to multiple phonemes is more accurate. For example, the speech data contains 100 speech frames, and the target wake-up word contains 5 phonemes. The distribution of the 100 speech frames on each phoneme is relatively uniform, that is, the number of speech frames corresponding to each phoneme is about 10. At this time, you can first determine the multiple decoding paths that may exist, and then compare the wake-up scores of each decoding path, and select the decoding path with the highest wake-up score as the final decoding path. This method can well guarantee the wake-up rate, but it is prone to false wake-ups, is more dependent on the accurate output of the wake-up model, and has a large amount of calculation, which wastes computing resources.

[0087] However, when the amount of training data is small, the distribution of 100 speech frames on each phoneme may be uneven. For example, 10 speech frames actually correspond to one phoneme, but according to the wake-up model, one or two speech frames correspond to one phoneme. If the same method as above is used to first determine multiple decoding paths and then select the final decoding path from the multiple decoding paths, the wake-up effect will be poor.

[0088] Based on this, in the embodiment of the present application, the target phoneme corresponding to each speech frame in each phoneme can be determined directly according to the probability that each speech frame corresponds to each phoneme in the target wake-up word, that is, a final decoding path is directly selected for decoding. Each speech frame corresponds to a target phoneme. Since the duration of each speech frame is short, such as 10 milliseconds, multiple speech frames usually correspond to the same target phoneme.

[0089] In the embodiment of the present application, for each speech frame corresponding to the target phoneme, the probability that the speech frame corresponds to the next phoneme of the target phoneme is less than or equal to the probability that the speech frame corresponds to the target phoneme. In other words, when the probability that the speech frame corresponds to the next phoneme of the target phoneme is greater than the probability that the speech frame corresponds to the target phoneme, the target phoneme corresponding to the speech frame will change, that is, change to the next phoneme of the target phoneme.

[0090] For example, the target wake-up word contains 6 phonemes (phoneme 1 to phoneme 6). For the first 5 speech frames (speech frame 1 to speech frame 5), if the probability of speech frame 1 corresponding to phoneme 2 is less than the probability of speech frame 1 corresponding to phoneme 1, the target phoneme corresponding to speech frame 1 is phoneme 1; if the probability of speech frame 2 corresponding to phoneme 2 is less than the probability of speech frame 2 corresponding to phoneme 1, the target phoneme corresponding to speech frame 2 is still phoneme 1; if the probability of speech frame 3 corresponding to phoneme 2 is less than the probability of speech frame 3 corresponding to phoneme 1, the target phoneme corresponding to speech frame 3 is still phoneme 1. If the probability of speech frame 4 corresponding to phoneme 2 is greater than the probability of speech frame 4 corresponding to phoneme 1, the target phoneme corresponding to speech frame 4 will be phoneme 2. Similarly, if the probability of speech frame 5 corresponding to phoneme 3 is less than the probability of speech frame 5 corresponding to phoneme 2, the target phoneme corresponding to speech frame 5 is still phoneme 2. By analogy, the target phoneme corresponding to each speech frame can be determined.

[0091] It can be seen that when the probability of the next phoneme corresponding to the current phoneme in each speech frame is greater than the probability of the speech frame corresponding to the current phoneme, it will jump to the next phoneme, otherwise it will move horizontally without jumping. In this way, it can be ensured that the probability of the speech frame jumping to the new phoneme corresponding to the new phoneme is increased compared to the probability corresponding to the old phoneme, avoiding the problem of messy output of the neural network.

[0092] In step S230, it is determined whether to wake up the device to be woken up according to the probability that each speech frame corresponds to the target phoneme.

[0093] In an embodiment of the present application, the target phoneme corresponding to each speech frame is determined, that is, the decoding path is determined. According to the probability that each speech frame in the decoding path corresponds to the target phoneme, it can be determined whether to wake up the device to be awakened. In some embodiments, a wake-up score can be obtained based on the probability that each speech frame corresponds to the target phoneme. Optionally, the average value of the probability that each speech frame corresponds to the target phoneme can be determined as the wake-up score, or multiple speech frames corresponding to the same target phoneme can be determined first to obtain the average value (or maximum value) of the probability that the multiple speech frames correspond to the same target phoneme. Then, the average value of each average value (maximum value) is determined as the wake-up score, etc.

[0094] If the wake-up score is greater than a preset wake-up score (for example, 0.8, 0.85, etc.), the device to be awakened is awakened; if the wake-up score is less than or equal to the preset wake-up score, the device to be awakened is not awakened.

[0095] In some embodiments, the wake-up model can be generated using a C language library function. In this way, the decoder can be easily deployed, that is, the decoder can be generated directly based on the C language library function. The decoder is used in conjunction with the aforementioned wake-up model to determine whether to wake up the device to be awakened. Among them, the decoder is used to process the probability that each speech frame corresponds to each phoneme in the target wake-up word, and determine whether to wake up the device to be awakened. That is, the above steps S220 to S230 can be performed by the generated decoder.

[0096] In some embodiments, after determining the target phonemes corresponding to each voice frame in each phoneme, it can be determined whether the target phonemes corresponding to each voice frame include the last phoneme in the target wake-up word. If the target phonemes corresponding to each voice frame do not include the last phoneme in the target wake-up word, it means that the user may not have spoken the complete target wake-up word. Therefore, each voice frame in the voice data to be processed does not cover all the phonemes in the target wake-up word. Alternatively, the accuracy of the probability that each voice frame corresponds to each phoneme in the target wake-up word is low. According to the above-mentioned method for determining the decoding path, each voice frame cannot cover all the phonemes. At this time, it is determined not to wake up the device to be awakened. If the target phonemes corresponding to the voice frame include the last phoneme in the target wake-up word, then determine whether to wake up the device to be awakened based on the probability that each voice frame corresponds to the target phoneme. In this way, false awakening can be better avoided.

[0097] See also Figure 3 , Figure 3 A flowchart of a decoding path determination method in an embodiment of the present application may include the following steps:

[0098] Step S310: Use the initial speech frame in the speech data to be processed as the current comparison speech frame, and use the initial phoneme in the target wake-up word as the current comparison phoneme.

[0099] In an embodiment of the present application, the target phoneme corresponding to each speech frame can be determined in sequence according to the order of the speech frames and the order of the phonemes in the target wake-up word. The current comparison speech frame and the current comparison phoneme are loop variables. In the process of determining the target phoneme corresponding to each speech frame in the phoneme of the target wake-up word, the current comparison speech frame and the current comparison phoneme are continuously updated.

[0100] Since the user starts speaking the target wake-up word from silence when waking up the device to be awakened, in some embodiments, the initial phoneme can also be set to silence, the second phoneme is the first phoneme in the target wake-up word, the third phoneme is the second phoneme in the target wake-up word, and so on. The specific processing method is similar to not setting silence, and will not be described in detail here.

[0101] Step S320, obtaining the probability that the current comparison voice frame corresponds to the current comparison phoneme as the first probability, and obtaining the probability that the current comparison voice frame corresponds to the next phoneme of the current comparison phoneme in the target wake-up word as the second probability.

[0102] Step S330 , determining the target phoneme corresponding to the current comparison speech frame by comparing the first probability with the second probability.

[0103] The larger the first probability, the more likely the current comparison phoneme is to be the target phoneme corresponding to the current comparison speech frame; the larger the second probability, the more likely the next phoneme of the current comparison phoneme is to be the target phoneme corresponding to the current comparison speech frame. Therefore, by comparing the first probability with the second probability, the target phoneme corresponding to the current comparison speech frame is determined.

[0104] In some embodiments, it can be determined whether the second probability is greater than the first probability. If the second probability is less than or equal to the first probability, the current comparison phoneme is determined to be the target phoneme corresponding to the current comparison speech frame. Since no jump occurs at this time, the current comparison phoneme does not change. For example, for the first speech frame, the probability that the first speech frame corresponds to the second phoneme is usually less than the probability that the first speech frame corresponds to the first phoneme. At this time, it can be determined that the target phoneme corresponding to the first speech frame is the first phoneme.

[0105] If the second probability is greater than the first probability, the next phoneme of the current comparison phoneme is determined to be the target phoneme corresponding to the current comparison speech frame, and the next phoneme of the current comparison phoneme is used as the current comparison phoneme. Since a jump occurs at this time, the current comparison phoneme changes. For example, for the second speech frame, the probability that the second speech frame corresponds to the second phoneme is greater than the probability that the second speech frame corresponds to the first phoneme. At this time, it can be determined that the target phoneme corresponding to the second speech frame is the second phoneme, and the current comparison phoneme is updated to the second phoneme.

[0106] Step S340, taking the next voice frame of the current comparison voice frame in the voice data to be processed as the current comparison voice frame, until the target phoneme corresponding to each voice frame in the phoneme of the target wake-up word is determined.

[0107] If the current compared speech frame is not the last speech frame, the next speech frame is used as the current compared speech frame, and the above steps S320 to S330 are executed; if the current compared speech frame is the last speech frame, the process ends.

[0108] See also Figure 4 , Figure 4This is a schematic diagram of a decoding path in an embodiment of the present application. When the path jumps from phoneme one to phoneme two, in the wake-up model output, if the probability that the speech frame corresponds to phoneme two is greater than the probability that the speech frame corresponds to phoneme one, then it jumps, otherwise it moves horizontally, that is, no jump is performed. The probability that speech frame three corresponds to phoneme two is greater than the probability that speech frame three corresponds to phoneme one, therefore, the target phoneme corresponding to speech frame three is phoneme two. The probability that speech frame four corresponds to phoneme two is less than or equal to the probability that speech frame four corresponds to phoneme one, therefore, the target phoneme corresponding to speech frame four is still phoneme two. Among them, the black circles represent the target phonemes corresponding to each speech frame, and the path obtained by connecting the black circles in sequence is the decoding path. It can be seen that the present application directly determines a final decoding path, and then decodes according to the decoding path. And Figure 4 The other paths in are multiple possible decoding paths previously determined in the related art, the wake-up scores of the various decoding paths are compared, and the decoding path with the highest wake-up score is selected as the final decoding path.

[0109] In the wake-up method of the embodiment of the present application, for each speech frame, the speech frame jumps to the next phoneme only when the probability that the speech frame corresponds to the next phoneme of the current phoneme is greater than the probability that the speech frame corresponds to the current phoneme, otherwise it does not jump, which can well solve the problem of messy output of the wake-up model. Since the present application directly determines the decoding path according to the probability that each speech frame corresponds to each phoneme in the target wake-up word, and then calculates the wake-up score, there will be no problem that the score of the front phoneme is higher and the total wake-up score is raised, resulting in false wake-up. In addition, the method is less dependent on the accurate output of the wake-up model, so the wake-up model can be generated using less training data, and the amount of calculation is smaller.

[0110] Corresponding to the above method embodiment, the present application embodiment also provides a voice wake-up device, see Figure 5 , the voice wake-up device 500 includes:

[0111] The phoneme probability determination module 510 is used to obtain the speech data to be processed, input the speech data to be processed into the pre-trained wake-up model, and obtain the probability that each speech frame in the speech data to be processed corresponds to each phoneme in the target wake-up word;

[0112] The target phoneme determination module 520 is used to determine the target phoneme corresponding to each speech frame in the phoneme of the target wake-up word according to the probability that each speech frame corresponds to each phoneme in the target wake-up word; wherein, for each speech frame corresponding to the target phoneme, the probability that the speech frame corresponds to the next phoneme of the target phoneme is less than or equal to the probability that the speech frame corresponds to the target phoneme;

[0113] The wake-up determination module 530 is used to determine whether to wake up the device to be woken up according to the probability that each speech frame corresponds to the target phoneme.

[0114] Optionally, the target phoneme determination module 520 is specifically used to take the initial speech frame in the speech data to be processed as the current comparison speech frame, and take the initial phoneme in the target wake-up word as the current comparison phoneme; obtain the probability that the current comparison speech frame corresponds to the current comparison phoneme as the first probability, and obtain the probability that the current comparison speech frame corresponds to the next phoneme of the current comparison phoneme in the target wake-up word as the second probability; determine the target phoneme corresponding to the current comparison speech frame by comparing the first probability with the second probability; take the next speech frame of the current comparison speech frame in the speech data to be processed as the current comparison speech frame, until the target phoneme corresponding to each speech frame in the phoneme of the target wake-up word is determined.

[0115] Optionally, the target phoneme determination module 520 is specifically configured to determine the target phoneme corresponding to the current comparison speech frame by comparing the first probability with the second probability through the following steps:

[0116] Determine whether the second probability is greater than the first probability;

[0117] If the second probability is less than or equal to the first probability, determining that the current comparison phoneme is the target phoneme corresponding to the current comparison speech frame;

[0118] If the second probability is greater than the first probability, the next phoneme of the current comparing phoneme is determined to be the target phoneme corresponding to the current comparing speech frame, and the next phoneme of the current comparing phoneme is used as the current comparing phoneme.

[0119] Optionally, the voice wake-up device 500 further includes:

[0120] A phoneme determination module, used to determine whether the target phonemes corresponding to each speech frame include the last phoneme in the target wake-up word;

[0121] A module for determining not to wake up, used for determining not to wake up the device to be woken up if the target phonemes corresponding to each voice frame do not include the last phoneme in the target wake-up word;

[0122] The wake-up judgment module 530 is specifically used to execute the step of determining whether to wake up the device to be woken up according to the probability that each speech frame corresponds to the target phoneme if the target phoneme corresponding to each speech frame includes the last phoneme in the target wake-up word.

[0123] Optionally, the wake-up judgment module 530 is specifically used to obtain a wake-up score according to the probability that each speech frame corresponds to the target phoneme; if the wake-up score is greater than the preset wake-up score, the device to be awakened is awakened; if the wake-up score is less than or equal to the preset wake-up score, the device to be awakened is not awakened.

[0124] Optionally, the wake-up judgment module 530 is specifically configured to obtain a wake-up score according to the probability that each speech frame corresponds to the target phoneme in the following manner:

[0125] The average of the probabilities that each speech frame corresponds to the target phoneme is determined as the arousal score.

[0126] Optionally, the voice wake-up device 500 further includes:

[0127] The wake-up model training module is used to obtain sample speech data and determine the target sample phonemes corresponding to each sample speech frame in the sample speech data among the target wake-up words; determine the probability that the sample speech frame corresponds to each phoneme in the target wake-up word based on the target sample phonemes corresponding to the sample speech frame; take the sample speech data as input, and the probability that each sample speech frame in the sample speech data corresponds to each phoneme in the target wake-up word as label data to train and generate the wake-up model.

[0128] Optionally, the wake-up model is generated using a C language library function; the voice wake-up device 500 also includes:

[0129] The decoder generation module is used to generate a decoder based on a C language library function; wherein the decoder is used to process the probability that each speech frame corresponds to each phoneme in the target wake-up word, and determine whether to wake up the device to be woken up.

[0130] The specific details of each module or unit in the above device, as well as the specific details of the online server and the offline server in the system have been described in detail in the corresponding method, so they will not be repeated here.

[0131] It should be noted that, although several modules or units of the equipment for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present application, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into being embodied by multiple modules or units.

[0132] In an exemplary embodiment of the present application, an electronic device is also provided, comprising: a processor; and a memory for storing instructions executable by the processor; wherein the processor is configured to execute the above-mentioned voice wake-up method in this exemplary embodiment.

[0133] Figure 6 This is a schematic diagram of the structure of an electronic device in an embodiment of the present application. It should be noted that: Figure 6The electronic device 600 shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0134] like Figure 6 As shown, electronic device 600 includes a central processing unit (CPU) 601, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 602 or a program loaded from a storage part 608 into a random access memory (RAM) 603. In RAM 603, various programs and data required for system operation are also stored. Central processing unit 601, ROM 602 and RAM 603 are connected to each other via bus 604. Input / output (I / O) interface 605 is also connected to bus 604.

[0135] The following components are connected to the I / O interface 605: an input section 606 including a keyboard, a mouse, etc.; an output section 607 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 608 including a hard disk, etc.; and a communication section 609 including a network interface card such as a local area network (LAN) card, a modem, etc. The communication section 609 performs communication processing via a network such as the Internet. A drive 610 is also connected to the I / O interface 605 as needed. A removable medium 611, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 610 as needed, so that a computer program read therefrom is installed into the storage section 608 as needed.

[0136] In particular, according to an embodiment of the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present application includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program contains program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through the communication part 609, and / or installed from a removable medium 611. When the computer program is executed by the central processing unit 601, various functions defined in the device of the present application are executed.

[0137] In an embodiment of the present application, a computer-readable storage medium is further provided, on which a computer program is stored, and when the computer program is executed by a processor, the above-mentioned voice wake-up method is implemented.

[0138] It should be noted that the computer-readable storage medium shown in the present application may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory, a read-only memory, an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. The program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, optical cable, radio frequency, etc., or any suitable combination of the above.

[0139] In an embodiment of the present application, a computer program product is also provided. When the computer program product is run on a computer, the computer executes the above-mentioned voice wake-up method.

[0140] It should be noted that, in this article, relational terms such as "first" and "second" are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.

[0141] The above description is only a specific implementation of the present application, so that those skilled in the art can understand or implement the present application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to the embodiments described herein, but will conform to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A voice wake-up method, characterized in that: The method comprises: Acquire speech data to be processed, input the speech data to be processed into a pre-trained wake-up model, and obtain the probability that each speech frame in the speech data to be processed corresponds to each phoneme in the target wake-up word; According to the probabilities that the respective speech frames correspond to the respective phonemes in the target wake-up word, the target phoneme corresponding to each speech frame in the phoneme of the target wake-up word is determined; wherein, for each speech frame corresponding to the target phoneme, the probability that the speech frame corresponds to the next phoneme of the target phoneme is less than or equal to the probability that the speech frame corresponds to the target phoneme; Determining whether to wake up the device to be woken up according to the probability that each of the speech frames corresponds to the target phoneme; The determining, according to the probability that each speech frame corresponds to each phoneme in the target wake-up word, a target phoneme corresponding to each speech frame in the phoneme of the target wake-up word comprises: Using the initial speech frame in the speech data to be processed as the current comparison speech frame, and using the initial phoneme in the target wake-up word as the current comparison phoneme; Obtaining a probability that the current comparison voice frame corresponds to the current comparison phoneme as a first probability, and obtaining a probability that the current comparison voice frame corresponds to the next phoneme of the current comparison phoneme in the target wake-up word as a second probability; Determine the target phoneme corresponding to the current comparison speech frame by comparing the first probability with the second probability; The next speech frame of the current comparison speech frame in the speech data to be processed is used as the current comparison speech frame until the target phoneme corresponding to each of the speech frames in the phoneme of the target wake-up word is determined.

2. The method according to claim 1, characterized in that The determining the target phoneme corresponding to the current comparison speech frame by comparing the first probability with the second probability includes: Determining whether the second probability is greater than the first probability; If the second probability is less than or equal to the first probability, determining that the current comparing phoneme is the target phoneme corresponding to the current comparing speech frame; If the second probability is greater than the first probability, the next phoneme of the current comparing phoneme is determined to be the target phoneme corresponding to the current comparing speech frame, and the next phoneme of the current comparing phoneme is used as the current comparing phoneme.

3. The method according to claim 1, characterized in that After determining the target phoneme corresponding to each of the speech frames in the phoneme of the target wake-up word, the method further includes: Determine whether the target phonemes corresponding to the respective speech frames include the last phoneme in the target wake-up word; If the target phonemes corresponding to the respective speech frames do not include the last phoneme in the target wake-up word, determining not to wake up the device to be woken up; If the target phonemes corresponding to the various speech frames include the last phoneme in the target wake-up word, the step of determining whether to wake up the device to be woken up based on the probability that each of the speech frames corresponds to the target phoneme is performed.

4. The method according to claim 1, characterized in that The step of determining whether to wake up the device to be woken up according to the probability that each of the speech frames corresponds to the target phoneme comprises: Obtaining a wake-up score according to the probability that each of the speech frames corresponds to the target phoneme; If the wake-up score is greater than a preset wake-up score, waking up the device to be awakened; If the wake-up score is less than or equal to the preset wake-up score, the device to be woken up is not woken up.

5. The method according to claim 4, characterized in that The step of obtaining a wake-up score according to the probability that each of the speech frames corresponds to the target phoneme comprises: The average of the probabilities that each speech frame corresponds to the target phoneme is determined as the arousal score.

6. The method according to claim 1, characterized in that The training method of the wake-up model includes: Acquire sample speech data, and determine the target sample phonemes corresponding to each sample speech frame in the sample speech data in each phoneme of the target wake-up word; Determining, according to the target sample phonemes corresponding to the sample speech frame, the probability that the sample speech frame corresponds to each phoneme in the target wake-up word; The sample speech data is used as input, and the probability that each sample speech frame in the sample speech data corresponds to each phoneme in the target wake-up word is used as label data to train and generate the wake-up model.

7. The method according to claim 1, characterized in that The wake-up model is generated using a C language library function; the method further includes: A decoder is generated based on the C language library function; wherein the decoder is used to process the probability that each speech frame corresponds to each phoneme in the target wake-up word, and determine whether to wake up the device to be awakened.

8. A voice wake-up device, characterized in that: The device comprises: A phoneme probability determination module is used to obtain speech data to be processed, input the speech data to be processed into a pre-trained wake-up model, and obtain the probability that each speech frame in the speech data to be processed corresponds to each phoneme in the target wake-up word; A target phoneme determination module, configured to determine the target phoneme corresponding to each of the speech frames in the phoneme of the target wake-up word according to the probability that each of the speech frames corresponds to each of the phonemes in the target wake-up word; wherein, for each speech frame corresponding to the target phoneme, the probability that the speech frame corresponds to the next phoneme of the target phoneme is less than or equal to the probability that the speech frame corresponds to the target phoneme; A wake-up judgment module, used to determine whether to wake up the device to be woken up according to the probability that each of the speech frames corresponds to the target phoneme; The target phoneme determination module is specifically used to take the initial speech frame in the speech data to be processed as the current comparison speech frame, and take the initial phoneme in the target wake-up word as the current comparison phoneme; obtain the probability that the current comparison speech frame corresponds to the current comparison phoneme as the first probability, and obtain the probability that the current comparison speech frame corresponds to the next phoneme of the current comparison phoneme in the target wake-up word as the second probability; determine the target phoneme corresponding to the current comparison speech frame by comparing the first probability with the second probability; take the next speech frame of the current comparison speech frame in the speech data to be processed as the current comparison speech frame, until the target phoneme corresponding to each of the speech frames in the phonemes of the target wake-up word is determined.

9. An electronic device, characterized in that: include: A processor, wherein the processor is used to execute a computer program stored in a memory, and when the computer program is executed by the processor, the voice wake-up method according to any one of claims 1 to 7 is implemented.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the voice wake-up method according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Voice wake-up method and device

    CN112509568A

  • Method and device for executing setting operation

    WO2017114201A1