A method, apparatus, electronic device and medium for reducing false wake-up
By performing noise reduction and voice activity detection on ambient audio, and replacing audio segments with energy values below a threshold with silent segments, the problem of false wake-up of voice assistants is solved, and more accurate wake-up control is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-11
- Publication Date
- 2026-03-17
AI Technical Summary
In existing technologies, voice assistants are prone to being falsely activated due to residual noise caused by incomplete noise reduction processing.
After denoising the ambient audio, voice activity is detected for each audio slice to determine whether the energy value is below a specified threshold. Audio slices below the threshold are replaced with silent segments and sent to the wake-up engine.
It effectively reduces false wake-ups of voice assistants caused by residual noise, improving the accuracy and stability of wake-up.
Smart Images

Figure CN116486797B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of audio processing technology, and more particularly to the fields of voice interaction and audio noise reduction technology. Background Technology
[0002] With the development of artificial intelligence and Internet of Things technologies, voice assistants are offering an increasingly diverse range of services. These include functions such as checking the weather, making phone calls, turning lights on and off, and adjusting air conditioning temperatures. Before using a voice assistant, it needs to be activated. Users can issue voice commands to the assistant to wake it up. For example, a voice command might be: "Hey X, Hey X" or "Hey xx". Summary of the Invention
[0003] This disclosure provides a method, apparatus, electronic device, and medium for reducing false wake-ups.
[0004] A first aspect of this disclosure provides a method for reducing false wake-ups, comprising:
[0005] Collect ambient audio and reduce noise in the collected ambient audio;
[0006] For each audio slice in the noise-reduced ambient audio, speech activity detection is performed on the audio slice to obtain the energy value of the audio slice.
[0007] Determine whether the energy value of the audio slice is below a specified threshold;
[0008] If so, the audio slice is replaced with a silent segment, and the replaced audio slice is sent to the voice assistant's wake-up engine.
[0009] A second aspect of this disclosure provides an apparatus for reducing false wake-ups, comprising:
[0010] The noise reduction module is used to collect ambient audio and reduce the noise in the collected ambient audio.
[0011] The detection module is used to perform speech activity detection on each audio slice in the ambient audio after noise reduction by the noise reduction module, and obtain the energy value of the audio slice.
[0012] A determining module is used to determine whether the energy value of the audio slice detected by the detection module is lower than a specified threshold;
[0013] The sending module is configured to replace the audio slice with a silent segment and send the replaced audio slice to the wake-up engine of the voice assistant if the determination result of the determining module is yes.
[0014] A third aspect of this disclosure provides an electronic device, including:
[0015] At least one processor; and
[0016] A memory communicatively connected to the at least one processor; wherein,
[0017] The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method described in any one of the first aspects.
[0018] A fourth aspect of this disclosure provides a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are configured to cause the computer to perform the method according to any one of the first aspects.
[0019] A fifth aspect of this disclosure provides a computer program product including a computer program that, when executed by a processor, implements the method according to any one of the first aspects.
[0020] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0021] The accompanying drawings are provided to better understand this solution and do not constitute a limitation of this disclosure. Wherein:
[0022] Figure 1 This is a flowchart of a method for reducing false wake-ups provided in an embodiment of this disclosure;
[0023] Figure 2 This is a spectrogram of unreplaced audio and silent audio provided in an embodiment of this disclosure;
[0024] Figure 3 This is a flowchart of another method for reducing false wake-ups provided in this disclosure embodiment;
[0025] Figure 4 This is a schematic diagram of the structure of a device for reducing false wake-ups provided in an embodiment of this disclosure;
[0026] Figure 5 This is a block diagram of an electronic device used to implement the method for reducing false wake-ups according to embodiments of the present disclosure. Detailed Implementation
[0027] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.
[0028] To reduce false wake-ups of the voice assistant, the ambient sound is currently collected and then denoised. The denoised ambient sound is then sent to the voice assistant's wake-up engine, which determines whether the voice assistant needs to be woken up based on the received denoised ambient sound.
[0029] Although this method reduces false wake-ups caused by noise, the noise reduction process may have problems such as insufficient echo cancellation, insufficient noise suppression, and insufficient sound zone isolation. As a result, there are still sound remnants in the ambient sound after noise reduction, and these sound remnants can easily cause false wake-ups of the voice assistant.
[0030] To reduce false wake-ups of voice assistants caused by residual noise, embodiments of this disclosure provide a method for reducing false wake-ups. This method is applied to electronic devices that have a voice assistant installed, such as vehicles, mobile phones, or smart interactive terminals—devices with voice interaction capabilities. Figure 1 As shown, the method includes the following steps:
[0031] S101. Collect ambient audio and reduce noise in the collected ambient audio.
[0032] Ambient audio can be captured using a microphone configured in an electronic device. For example, ambient audio can include human voices, noise, echoes, and / or text-to-speech (TTS) playback from a speaker.
[0033] Then, a preset noise reduction algorithm is used to reduce the noise in the collected ambient audio. For example, the preset noise reduction algorithm may be a linear filtering algorithm, spectral subtraction, or a noise reduction algorithm based on a machine learning model, etc., and this embodiment does not specifically limit it.
[0034] S102. For each audio slice in the noise-reduced ambient audio, perform speech activity detection on the audio slice to obtain the energy value of the audio slice.
[0035] The ambient audio collected by the electronic device in S101 consists of multiple audio frames, each audio frame including multiple audio slices, and each audio slice having a preset length. For example, the length of a single audio frame is 160 milliseconds (ms), and the length of a single audio slice is 32 ms, meaning that a single audio frame includes 5 audio slices.
[0036] The Voice Activity Detection (VAD) algorithm can be used to detect speech activity in each audio slice of the denoised environmental audio, following the order of acquisition time from earliest to latest, thereby obtaining the energy value of that audio slice. For example, the average, sum of squares, or weighted sum of the energy values of each sampling point within the audio slice can be calculated, and the result can be used as the energy value of that audio slice.
[0037] Alternatively, the VAD algorithm can be used to detect the amplitude of each sampling point within the audio slice, where the amplitude reflects the energy value of the audio slice. Other VAD algorithms can also be used to determine the energy value of the audio slice; this disclosure does not specifically limit this method.
[0038] S103. Determine whether the energy value of the audio slice is lower than a specified threshold. If so, proceed to S104.
[0039] It can be directly determined whether the energy value of an audio slice is below a specified threshold. Alternatively, it can be determined whether the amplitude of each sampling point is within a preset amplitude range, such as [-200, 200]. If so, the energy value of the audio slice is determined to be below the specified threshold; otherwise, the energy value is determined to be above the specified threshold. The specified threshold used by the electronic device can be pre-configured, for example, by the manufacturer before leaving the factory, or by being sent to the electronic device from the cloud.
[0040] S104. Replace the audio slice with a silent segment and send the replaced audio slice to the voice assistant's wake-up engine.
[0041] If the energy value of the audio slice is below a specified threshold, it indicates that the volume of the audio slice is low, meaning the amplitude of the audio signal is small. Therefore, the sound included is most likely residual noise after noise reduction. Thus, the audio slice can be replaced with a silent segment of equal length, and the replaced audio slice can be sent to the wake-up engine; that is, the silent segment can be sent to the wake-up engine.
[0042] Since electronic devices are generally equipped with multiple microphones, each microphone independently collects ambient audio. This embodiment of the present disclosure can perform noise reduction and VAD detection on the ambient audio collected by each microphone, and replace audio segments with energy values below a specified threshold with silent segments. This facilitates the subsequent wake-up engine to time-align audio from different microphones, enabling it to determine whether to wake up the voice assistant based on the aligned audio.
[0043] Wake-up engines typically have a keep-alive mechanism. If the wake-up engine does not receive audio for a period of time, it may crash or automatically shut down. If no audio is sent to the wake-up engine when the energy value of the audio slice is below a specified threshold, the wake-up engine may crash or automatically shut down, affecting the normal use of the voice assistant. Therefore, in this embodiment, the audio slice is replaced with a silent segment before being sent to the wake-up engine. This not only adapts to the wake-up engine's keep-alive mechanism but also avoids false wake-ups of the voice assistant caused by residual noise in the audio slice.
[0044] The wake-up engine is installed in the above-mentioned electronic device. For ease of description, the functional module in the electronic device that performs the method for reducing false wake-ups provided in the embodiments of this disclosure is called the error reduction module, that is, the error reduction module sends the replaced audio slice to the wake-up engine.
[0045] Using the above method, this embodiment of the present disclosure can perform voice activity detection on each audio slice of the denoised environmental audio. When the energy value of the audio slice is less than a specified threshold, it indicates that the volume of the audio slice is low, and it is likely residual noise after denoising. Therefore, the audio slice is replaced with a silent segment before being sent to the wake-up engine. It is evident that this embodiment of the present disclosure can reduce the occurrence of residual noise after denoising being sent to the wake-up engine, thus reducing false wake-ups of the voice assistant caused by residual noise.
[0046] Furthermore, compared to model-based noise reduction, which involves pre-recording a large number of audio samples for each type of sound requiring noise reduction (e.g., wind noise and tire friction noise from a vehicle), and then using these trained models to suppress each type of sound in the collected ambient noise, this case-by-case approach is problematic. Since real-world acoustic environments are complex, pre-recorded samples cannot cover all types of noise, making it difficult to suppress every type of noise in the environment. This means that noise residue remains after noise reduction, which can also lead to false wake-ups of the voice assistant.
[0047] The embodiments disclosed herein do not distinguish what kind of sound is in the noise-reduced ambient audio, and do not require noise suppression for each type of sound. Instead, they directly replace the entire audio slice with a silent segment, thus eliminating various noise residues in the audio slice and reducing the probability of false wake-up of the voice assistant caused by noise residues.
[0048] See Figure 2 , Figure 2 The upper curve represents the spectrum of an audio slice after noise reduction, and the lower straight line represents the spectrum of a silent segment. From Figure 2 As can be seen, although the frequency of the denoised audio slices is close to 0, it is not exactly equal to 0, and the energy within the slices is also not zero, meaning there is residual sound. However, the frequency of the silent segment is equal to 0, and the corresponding energy is also 0, meaning there is no residual sound. Therefore, replacing audio slices with energy values below a specified threshold with silent segments can prevent false activation of the voice assistant caused by various residual sounds within the audio slices. Figure 2 This is merely an example of a silent segment and a denoised audio slice; the spectrum of an actual denoised audio slice is not limited to this.
[0049] In this disclosure embodiment, see Figure 3 After determining in S103 whether the energy value of the audio slice is lower than the specified threshold, on the other hand, if the energy value of the audio slice is higher than or equal to the specified threshold, the audio slice can be sent to the wake-up engine.
[0050] When the energy value of the audio slice is higher than or equal to a specified threshold, it indicates that the volume of the audio slice is relatively large, meaning the amplitude of the audio signal is large. Since the audio slice has undergone noise reduction processing, most of the noise has been eliminated, therefore, there is a high probability that human voice is present in the audio segment. Therefore, in order to reduce the impact on the wake-up engine's normal wake-up of the voice assistant, this embodiment of the disclosure directly sends the audio slice to the wake-up engine.
[0051] In this disclosure embodiment, see Figure 3 If, in S103, the energy value of the audio slice is determined to be lower than a specified threshold, before replacing the audio slice with a silent segment in S104, the error reduction module in the electronic device may also perform the following steps:
[0052] S301. Determine the time interval between the previous audio slice with an energy value higher than a specified threshold and the current audio slice.
[0053] For example, the time difference between the start time of the previous audio segment with an energy value higher than a specified threshold and the start time of this audio segment can be calculated, and this time difference can be used as the time interval. Alternatively, the time difference between the end time of the previous audio segment with an energy value higher than a specified threshold and the start time of this audio segment can be calculated, and this time difference can be used as the time interval.
[0054] Alternatively, the time interval between two audio segments can be calculated in other ways, and this disclosure does not specifically limit this method.
[0055] S302. Determine whether the time interval is greater than the preset interval. If yes, execute S104 above; if no, execute S303.
[0056] If the time interval calculated by S301 is greater than the preset interval, it means that after the previous audio slice with an energy value higher than the specified threshold, a series of audio slices with energy values lower than the specified threshold have appeared. These audio slices are likely to not contain human voices, so the person has most likely finished speaking. The currently determined audio slice can be replaced with a silent segment. For example, the preset interval is 1.5 seconds.
[0057] S303, Send the audio slice to the wake-up engine.
[0058] The energy of the audio collected during continuous speech may vary. For example, the volume of normal speech differs from the volume of the nasal sound produced when thinking, the distance between the person and the microphone varies, and the degree of obstruction between the person and the microphone may also lead to different audio energy levels during continuous speech.
[0059] Since there is a high probability of human voice in the audio slice where the energy value is higher than the specified threshold, if the time interval calculated by S301 is not greater than the preset interval, the person may not have finished speaking. That is, there may be human voice in the current audio slice. In order to reduce the erroneous replacement of audio segments with human voice, the audio segment can be left unreplaced, that is, the audio slice can be sent directly to the wake-up engine.
[0060] Using the above method, the embodiments of this disclosure can replace audio segments with silent segments only when the energy of an audio segment is detected to be lower than the specified threshold for a continuous preset interval after the previous audio segment with an energy value higher than the specified threshold. This reduces the possibility of mistakenly replacing audio segments containing human voices with silent segments.
[0061] In this embodiment, audio slices with energy values higher than a specified threshold after noise reduction can be sent to the wake-up engine. Although the probability of human voices being present in audio slices with energy values higher than the specified threshold after noise reduction is relatively high, there is still a possibility that they do not contain human voices. Audio slices without human voices but with energy values higher than the specified threshold may cause false wake-ups of the voice assistant. Therefore, the error reduction module in the electronic device can also detect whether the voice assistant has been falsely woken up.
[0062] The detection method can be implemented as follows: Obtain the audio segment that triggers the wake-up engine to wake up the voice assistant; then detect whether a human voice exists in the audio segment. If not, determine that this wake-up is a false wake-up and send a false wake-up message to the cloud. The false wake-up message indicates that the aforementioned electronic device's wake-up of the voice assistant was a false wake-up.
[0063] The audio segment includes at least one denoised audio slice, meaning the audio segment can be a series of denoised audio slices, or a series of denoised audio slices and a silence segment. In this embodiment, the audio slice sent by the error reduction module to the wake-up engine each time may be the denoised audio slice itself, or it may be a replacement silence segment. The wake-up engine can treat one or more received audio slices as a single audio segment, for example, treating the audio slices received every 3 seconds as a single audio segment, and upon receiving each audio segment, it checks whether the audio segment can be used to wake up the voice assistant. If it is determined that the audio segment can be used to wake up the voice assistant, the voice assistant is woken up, and the audio segment is sent to the error reduction module.
[0064] Optionally, the wake-up engine can detect whether a specified wake-up word exists in the audio segment. If so, it determines that the audio segment can be used to wake up the voice assistant; otherwise, it determines that the audio segment cannot be used to wake up the voice assistant.
[0065] Alternatively, the wake-up engine can detect whether an audio segment can be used to wake up a voice assistant in other ways, but this disclosure does not specifically limit this.
[0066] After receiving the audio segment sent by the wake-up engine to trigger the voice assistant's activation, the error reduction module can use a pre-trained voice recognition model to detect whether a human voice exists in the audio segment. If not, it means that the voice assistant was not activated by a human voice command, therefore the wake-up is determined to be a false wake-up, and a false wake-up message is sent to the cloud.
[0067] Conversely, if there is a human voice in the audio clip, then this wake-up is most likely due to a voice command issued by a person, and therefore is a normal wake-up.
[0068] Using the above method, this embodiment of the present disclosure can detect whether each wake-up of the voice assistant is a false wake-up, and when it is determined that the wake-up of the voice assistant is a false wake-up, send false wake-up information to the cloud, so that the cloud can monitor and analyze the false wake-up situation of each device, and facilitate timely optimization of the device's false wake-up in the future.
[0069] In this embodiment of the disclosure, the false wake-up information sent by the electronic device to the cloud includes: a specified threshold and the hardware parameters of the target device where the voice assistant is located. The target device is the electronic device to which the method for reducing false wake-ups provided in this embodiment of the disclosure is applied.
[0070] The hardware parameters include: the device model, the number of microphones, and the spacing between the microphones. Taking a vehicle as an example, the vehicle model can be: a sport utility vehicle (SUV), a sedan, or a bus, etc.
[0071] Furthermore, equipment models can exist at multiple levels. Taking the equipment as a vehicle as an example, the vehicle model can be divided into two levels. For example, the vehicle type can be: SUV-aa manufacturer, SUV-bb manufacturer, or sedan-aa manufacturer, etc.
[0072] Based on the hardware parameters of the devices, the cloud can group devices with the same or similar hardware parameters into one category. Taking vehicles as an example, the cloud can group vehicles with the same model, the same number of microphones, and the same microphone spacing into the same device type. Alternatively, the cloud can group vehicles with the same model, the same number of microphones, and the same microphone spacing into the same device type.
[0073] Optionally, the false wake-up information may also include the name of the noise reduction algorithm used by the target device when denoising ambient audio. This allows the cloud to categorize devices with the same or similar hardware parameters and using the same or the same type of noise reduction algorithm into the same device type. For example, noise reduction types include: noise reduction algorithms based on machine learning models, linear filtering algorithms, and spectral subtraction, etc.
[0074] After classifying the devices, the cloud can count the number of false wake-ups for each device of the same type within each detection cycle, thereby identifying the device with the lowest number of false wake-ups and obtaining the specified threshold used by that device. This specified threshold can then be synchronized to other devices of the same type.
[0075] Correspondingly, after sending false wake-up information to the cloud, the electronic device can also receive statistical thresholds sent by the cloud and update the specified threshold used by the target device to the statistical threshold. The statistical threshold is the specified threshold used by the device with the fewest false wake-ups within the current detection period, as counted by the cloud for each device of the target device type. The target device type refers to the type of hardware parameters of the target device.
[0076] Since the specified threshold used by the device with the fewest false wake-ups is most effective in reducing false wake-ups, and since devices of the same type have similar or identical hardware parameters, applying this specified threshold to other devices of the same type will likely also achieve a better effect in reducing false wake-ups. In other words, this embodiment of the disclosure can flexibly adjust the specified threshold used by the electronic device based on the number of false wake-ups from different devices of the same type, thereby further reducing the probability of false wake-ups.
[0077] The collection, storage, use, processing, transmission, provision, and disclosure of environmental audio in this technical solution comply with relevant laws and regulations and do not violate public order and good morals.
[0078] Based on the same inventive concept, corresponding to the above method embodiments, this disclosure also provides a device for reducing false wake-ups, such as... Figure 4 As shown, the device includes: a noise reduction module 401, a detection module 402, a determination module 403, and a transmission module 404;
[0079] The noise reduction module 401 is used to collect ambient audio and reduce the noise of the collected ambient audio.
[0080] The detection module 402 is used to perform speech activity detection on each audio slice in the environmental audio after noise reduction by the noise reduction module 401, and obtain the energy value of the audio slice.
[0081] The determination module 403 is used to determine whether the energy value of the audio slice detected by the detection module 402 is lower than a specified threshold.
[0082] The sending module 404 is used to replace the audio slice with a silent segment and send the replaced audio slice to the wake-up engine of the voice assistant if the determination result of the determining module 403 is yes.
[0083] In some embodiments of this disclosure, the device may further include:
[0084] The determining module 403 is further configured to determine the time interval between the audio slice and the audio slice before replacing the audio slice with a silent segment;
[0085] The judgment module is used to determine whether the time interval is greater than the preset interval;
[0086] The calling module is used to call the sending module to perform the step of replacing the audio slice with a silent segment if the judgment result of the judgment module is yes;
[0087] The sending module 404 is also used to send the audio slice to the wake-up engine if the judgment result of the judgment module is negative.
[0088] In some embodiments of this disclosure,
[0089] The sending module 404 is further configured to send the audio slice to the wake-up engine if the energy value of the audio slice is higher than or equal to the specified threshold after determining whether the energy value of the audio slice is lower than or equal to the specified threshold.
[0090] In some embodiments of this disclosure, the device may further include:
[0091] The acquisition module is used to acquire the audio segment that triggers the wake-up engine to wake up the voice assistant. The audio segment includes at least one noise-reduced audio slice.
[0092] The detection module 402 is also used to detect whether there is a human voice in the audio segment;
[0093] The sending module 404 is also used to determine that the wake-up is a false wake-up if the detection result of the detection module 402 is negative, and to send false wake-up information to the cloud.
[0094] In some embodiments of this disclosure, the false wake-up information includes: a specified threshold and hardware parameters of the target device where the voice assistant is located; the device may also include
[0095] The receiving module is used to receive the statistical threshold sent by the cloud after sending false wake-up information to the cloud; wherein, the statistical threshold is a specified threshold used by the cloud for each device of the target device type, which has the fewest false wake-ups in the current detection period, and the target device type is the type of hardware parameters of the target device;
[0096] The update module is used to update the specified threshold used by the target device to the statistical threshold received by the receiving module.
[0097] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.
[0098] Figure 5A schematic block diagram of an example electronic device 500 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0099] like Figure 5 As shown, the electronic device 500 includes a computing unit 501, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 502 or a computer program loaded from a storage unit 508 into a random access memory (RAM) 503. The RAM 503 may also store various programs and data required for the operation of the electronic device 500. The computing unit 501, ROM 502, and RAM 503 are interconnected via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.
[0100] Multiple components in electronic device 500 are connected to I / O interface 505, including: input unit 506, such as keyboard, mouse, etc.; output unit 507, such as various types of monitors, speakers, etc.; storage unit 508, such as disk, optical disk, etc.; and communication unit 509, such as network card, modem, wireless transceiver, etc. Communication unit 509 allows electronic device 500 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0101] The computing unit 501 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 501 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 501 performs the various methods and processes described above, such as methods for reducing false wake-ups. For example, in some embodiments, the methods for reducing false wake-ups can be implemented as computer software programs tangibly contained in a machine-readable medium, such as storage unit 508. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 500 via ROM 502 and / or communication unit 509. When the computer program is loaded into RAM 503 and executed by the computing unit 501, one or more steps of the methods for reducing false wake-ups described above can be performed. Alternatively, in other embodiments, the computing unit 501 can be configured to perform methods for reducing false wake-ups by any other suitable means (e.g., by means of firmware).
[0102] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0103] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0104] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0105] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0106] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.
[0107] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.
[0108] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.
[0109] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. A method for reducing false wake-up, comprising: collecting ambient audio and performing noise reduction on the collected ambient audio using a preset noise reduction algorithm; performing voice activity detection on each audio slice in the noise-reduced ambient audio to obtain an energy value of the audio slice; determining whether the energy value of the audio slice is lower than a specified threshold value; if yes, replacing the audio slice with a mute segment and sending the replaced audio slice to a wake-up engine of a voice assistant, wherein the wake-up engine automatically shuts down if no audio is received for a period of time; the method further comprising: if there is a false wake-up of the voice assistant, sending false wake-up information to a cloud, the false wake-up information including the specified threshold value and hardware parameters of a target device where the voice assistant is located, the hardware parameters including the number of microphones; after the sending of the false wake-up information to the cloud, the method further comprising: receiving a statistical threshold value sent by the cloud; wherein the statistical threshold value is a specified threshold value used by a device with the least number of false wake-ups in a current detection period, the device being counted by the cloud for a target device type, the target device type being a type to which the hardware parameters of the target device belong; devices of the same device type are devices with the same hardware parameters or in the same range, or devices with the same noise reduction algorithm or belonging to the same noise reduction type; updating the specified threshold value used by the target device to the statistical threshold value.
2. The method of claim 1, before the replacing of the audio slice with a mute segment, the method further comprising: determining a time interval between an audio slice with a last energy value higher than the specified threshold value and the audio slice; determining whether the time interval is greater than a preset interval; if yes, performing the replacing of the audio slice with a mute segment; if no, sending the audio slice to the wake-up engine.
3. The method of claim 1, after the determining of whether the energy value of the audio slice is lower than the specified threshold value, the method further comprising: if the energy value of the audio slice is higher than or equal to the specified threshold value, sending the audio slice to the wake-up engine.
4. The method of claim 3, the method further comprising: obtaining an audio segment triggering the wake-up engine to wake up the voice assistant, the audio segment including at least one noise-reduced audio slice; detecting whether there is human voice in the audio segment; if no, determining that the current wake-up is a false wake-up.
5. An apparatus for reducing false wake-up, comprising: a noise reduction module configured to collect ambient audio and perform noise reduction on the collected ambient audio using a preset noise reduction algorithm; a detection module configured to perform voice activity detection on each audio slice in the noise-reduced ambient audio to obtain an energy value of the audio slice; a determination module configured to determine whether the energy value of the audio slice detected by the detection module is lower than a specified threshold value; The sending module is configured to replace the audio slice with a mute segment and send the replaced audio slice to a wake-up engine of the voice assistant if the determination result of the determination module is yes, wherein the wake-up engine is automatically turned off if no audio is received for a period of time. The device further includes: The sending module is configured to send mis-wakeup information to the cloud if there is a mis-wakeup of the voice assistant, wherein the mis-wakeup information includes the specified threshold and hardware parameters of a target device where the voice assistant is located, and the hardware parameters include the number of microphones. The device further includes: The receiving module is configured to receive a statistical threshold sent by the cloud after the mis-wakeup information is sent to the cloud, wherein the statistical threshold is a specified threshold used by a device with the least number of mis-wakeups in a current detection period, which is counted by the cloud for devices of a target device type, and the target device type is a type to which the hardware parameters of the target device belong; devices of the same device type are devices with the same hardware parameters or in the same range, or devices with the same noise reduction algorithm or belonging to the same noise reduction type. The updating module is configured to update the specified threshold used by the target device to the statistical threshold received by the receiving module.
6. The device of claim 5, further comprising: The determination module is further configured to determine a time interval between a previous audio slice with an energy value higher than the specified threshold and the audio slice before the audio slice is replaced with the mute segment. The determination module is further configured to determine whether the time interval is greater than a preset interval. The calling module is configured to call the sending module to perform the step of replacing the audio slice with the mute segment if the determination result of the determination module is yes. The sending module is further configured to send the audio slice to the wake-up engine if the determination result of the determination module is no.
7. The device of claim 5, The sending module is further configured to send the audio slice to the wake-up engine if the energy value of the audio slice is higher than or equal to the specified threshold after the determination of whether the energy value of the audio slice is lower than the specified threshold.
8. The device of claim 7, further comprising: The obtaining module is configured to obtain an audio segment triggering the wake-up engine to wake up the voice assistant, wherein the audio segment includes at least one noise-reduced audio slice. The detection module is further configured to detect whether there is human voice in the audio segment. The determination module is further configured to determine that the current wake-up is a mis-wakeup if the detection result of the detection module is no.
9. An electronic device, comprising: at least one processor; and a memory connected to the at least one processor in communication; wherein The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-4.
10. A non-transitory computer readable storage medium having stored thereon computer instructions, wherein, The computer instructions are used to enable the computer to perform the method of any one of claims 1-4.
11. A computer program product comprising a computer program which, when executed by a processor, implements the method according to any one of claims 1-4.
Citation Information
Patent Citations
Method and device for reducing false triggering of driver's voice wakeup instruction words
CN108122556A
Method and device for eliminating court trial noise interference
CN109785864A
Voice wake-up method and device, storage medium and electronic equipment
CN115831109A
Voice wake-up method and device, equipment and storage medium
CN115985319A