Echo joint elimination method, intelligent voice device, electronic device, and storage medium

By sharing the audio signals to be played in the intelligent voice device cluster and using adaptive filters for echo estimation and elimination, the problem of echo signal interference between devices is solved, and the accurate identification of user intentions is achieved.

CN114267367BActive Publication Date: 2024-12-20HAIER YOUJIA INTELLIGENT TECH (BEIJING) CO LTD +1
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202111525794.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-14
Publication Date
2024-12-20
Estimated Expiration
2041-12-14

AI Technical Summary

Technical Problem

Existing smart voice devices cannot effectively eliminate echo signals from other devices, resulting in the inability to accurately identify user intentions.

Method used

By sharing the audio signal to be played between various intelligent voice devices in the device cluster, and using local adaptive filters to perform echo estimation and elimination, subtracting the echo signal step by step to obtain the final audio signal, ensuring the accurate voice signal collected by the microphone. sex.

Benefits of technology

Effectively eliminates echo signals from oneself and other smart voice devices, improves the accuracy of user intention recognition, and ensures the accuracy of device response during voice interaction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114267367B_ABST
    Figure CN114267367B_ABST
Patent Text Reader

Abstract

The present application discloses a joint echo cancellation method and an intelligent voice device, an electronic device, and a storage medium, wherein the method is applied to any intelligent voice device in a device cluster, and the method includes: obtaining the current audio signal to be played of each intelligent voice device in the device cluster; using the adaptive filters corresponding to each of the intelligent voice devices in the local area to perform echo estimation on the current audio signal to be played of each of the intelligent voice devices, and obtaining the echo signal corresponding to the current audio signal to be played of each of the intelligent voice devices; when the local microphone collects the voice signal, the voice signal collected by the local microphone is subtracted from the echo signal corresponding to the current audio signal to be played of each of the intelligent voice devices, and the final audio signal is obtained. Thereby, the echo signals of the self and other intelligent voice devices are effectively eliminated, and the accuracy of the intention recognition is ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of speech recognition technology, and in particular to a method for joint echo elimination, an intelligent speech device, an electronic device, and a storage medium. Background Art

[0002] With the increasing popularity of intelligent voice technology, more and more home electronic devices are embedded with voice control functions. However, during the voice interaction process of intelligent voice devices, the sound played by the intelligent preset device will be re-collected by its microphone, thus interfering with the user's voice, and its speaker and microphone are usually close together, so it will cause the intelligent voice device to be unable to accurately recognize the user's intention.

[0003] Therefore, echo cancellation technology is usually used on current intelligent voice devices to solve this problem. Specifically, the driving process of the echo of the intelligent voice device is modeled through an adaptive filter. When there is a voice to be played, the adaptive filter is used to estimate the echo signal of the voice to be played, and the estimated echo signal is subtracted from the mixed voice signal collected by the microphone, thereby eliminating the interference of the echo signal on the microphone collecting the user's speech, and improving the accuracy of the intelligent voice device's estimation of the user's intention.

[0004] However, there are usually multiple smart voice devices in a household, and the voices played by other smart voice devices will also be collected by the microphone of the currently interacting voice device. Current smart voice devices can only eliminate their own echo signals, so it is impossible to effectively guarantee the accuracy of the smart voice device's estimation of the user's intention. Summary of the invention

[0005] Based on the above-mentioned deficiencies of the prior art, the present application provides a joint echo cancellation method and an intelligent voice device, an electronic device, and a storage medium to solve the problem that the prior art cannot eliminate the echo signals of other devices and thus cannot accurately identify the user's intentions.

[0006] In order to achieve the above objectives, this application provides the following technical solutions:

[0007] The first aspect of the present application provides a joint echo cancellation method, which is applied to any intelligent voice device in a device cluster. The joint echo cancellation method includes:

[0008] Obtaining a current audio signal to be played by each of the intelligent voice devices in the device cluster;

[0009] Using the adaptive filters corresponding to the local intelligent voice devices, respectively, to perform echo estimation on the current audio signals to be played by the intelligent voice devices, so as to obtain echo signals corresponding to the current audio signals to be played by the intelligent voice devices;

[0010] When the local microphone collects a voice signal, the voice signal collected by the local microphone is subtracted from the echo signal corresponding to the current audio signal to be played by each of the intelligent voice devices to obtain a final audio signal.

[0011] Optionally, in the above-mentioned echo joint cancellation method, the step of obtaining the current audio signal to be played of each of the intelligent voice devices in the device cluster includes:

[0012] The currently to-be-played audio signals of each of the other intelligent voice devices in the device cluster are received through wireless channel transmission.

[0013] Optionally, in the above-mentioned echo joint cancellation method, the method of respectively using the adaptive filters corresponding to each of the local intelligent voice devices to perform echo estimation on the current audio signal to be played by each of the intelligent voice devices to obtain the echo signal corresponding to the current audio signal to be played by each of the intelligent voice devices includes:

[0014] For each of the intelligent voice devices, input the current audio signal to be played by the intelligent voice device into an adaptive filter corresponding to the intelligent voice device in the local area;

[0015] The product of the transpose of the current coefficient vector of the adaptive filter and the current audio signal to be played by the intelligent voice device is calculated by the adaptive filter corresponding to the intelligent voice device to obtain the echo signal corresponding to the current audio signal to be played by the intelligent voice device; wherein the current coefficient vector of the adaptive filter is updated using the estimated error of the adaptive filter.

[0016] Optionally, in the above-mentioned echo joint cancellation method, after obtaining the final audio signal by subtracting the echo signal corresponding to the current audio signal to be played by each of the intelligent voice devices from the voice signal collected by the local microphone, the method further includes:

[0017] Determine whether the current update cycle is in progress;

[0018] If it is determined that the current period is an update period, determining whether the voice signal collected by the local microphone contains a near-end audio signal;

[0019] If it is determined that the speech signal collected by the local microphone does not contain the near-end audio signal, the final audio signal is determined as the current estimation error;

[0020] The current coefficient vector of each adaptive filter is updated respectively based on the current estimation error and the update formula; wherein the update formula is obtained by minimizing the cost function of all the adaptive filters in the local area.

[0021] Optionally, in the above-mentioned echo joint cancellation method, the updating of the current coefficient vector of each adaptive filter based on the estimation error and the update formula includes:

[0022] For each of the adaptive filters in the local area, multiply the product of the current estimated error and the current audio signal to be played by the intelligent voice device corresponding to the adaptive filter by a preset update step size to obtain a current adjustment amount of the adaptive filter;

[0023] The current coefficient vector of the adaptive filter is updated by the sum of the adaptive filter and the current adjustment amount of the adaptive filter.

[0024] Optionally, in the above-mentioned echo joint cancellation method, the voice signal collected by the local microphone is subtracted from the echo signal corresponding to the current audio signal to be played by each of the intelligent voice devices to obtain the final audio signal, including:

[0025] The voice signal collected by the local microphone is subtracted step by step from the adaptive filter of each stage to obtain the echo signal corresponding to the current audio signal to be played by the intelligent voice device, so as to obtain the final audio signal.

[0026] Optionally, in the above-mentioned echo joint cancellation method, after obtaining the final audio signal by subtracting the echo signal corresponding to the current audio signal to be played by each of the intelligent voice devices from the voice signal collected by the local microphone, the method further includes:

[0027] Speech recognition is performed on the final audio signal, and a control instruction corresponding to the speech signal is generated based on a result of the speech recognition.

[0028] A second aspect of the present application provides an intelligent voice device, wherein the intelligent voice device is any intelligent voice device in a device cluster, and the intelligent voice device includes:

[0029] An acquisition unit, configured to acquire a current to-be-played audio signal of each of the intelligent voice devices in the device cluster;

[0030] An estimation unit, configured to respectively use the adaptive filters corresponding to the local intelligent voice devices to perform echo estimation on the current audio signals to be played by the respective intelligent voice devices, so as to obtain echo signals corresponding to the current audio signals to be played by the respective intelligent voice devices;

[0031] The echo cancellation unit is used to subtract the echo signal corresponding to the current audio signal to be played by each intelligent voice device from the voice signal collected by the local microphone when the local microphone collects the voice signal, so as to obtain the final audio signal.

[0032] Optionally, in the intelligent voice device provided above, the acquisition unit includes:

[0033] The acquisition subunit is used to receive the current audio signal to be played from each of the other intelligent voice devices in the device cluster through a wireless channel.

[0034] Optionally, in the intelligent voice device provided above, the estimation unit includes:

[0035] The estimation subunit is used to input the current audio signal to be played of each intelligent voice device into the adaptive filter corresponding to the local intelligent voice device, so as to calculate the product of the transpose of the current coefficient vector of the adaptive filter and the current audio signal to be played of the intelligent voice device through the adaptive filter corresponding to the intelligent voice device, so as to obtain the echo signal corresponding to the current audio signal to be played of the intelligent voice device; wherein the current coefficient vector of the adaptive filter is updated by using the estimation error of the adaptive filter.

[0036] Optionally, in the intelligent voice device provided above, it also includes:

[0037] A first judging unit, used to judge whether it is currently in an update cycle;

[0038] A second judgment unit, configured to judge whether the voice signal collected by the local microphone contains a near-end audio signal when the first judgment unit judges that the current update cycle is in progress;

[0039] A determination unit, configured to determine a final audio signal as the current estimation error when it is determined that the speech signal collected by the local microphone does not contain a near-end audio signal;

[0040] An updating unit is used to update the current coefficient vector of each adaptive filter based on the current estimation error and an updating formula; wherein the updating formula is obtained by minimizing the cost function of all the adaptive filters in the local area.

[0041] Optionally, in the intelligent voice device provided above, the updating unit includes:

[0042] A calculation unit, configured to multiply the product of the current estimation error and the current audio signal to be played by the intelligent voice device corresponding to the adaptive filter by a preset update step size for each of the adaptive filters in the local area, so as to obtain a current adjustment amount of the adaptive filter;

[0043] The updating subunit is used to update the current coefficient vector of the adaptive filter by the sum of the adaptive filter and the current adjustment amount of the adaptive filter.

[0044] Optionally, in the intelligent voice device provided above, the echo cancellation unit includes:

[0045] The echo cancellation subunit is used to subtract the adaptive filter of each level from the voice signal collected by the local microphone step by step to obtain the echo signal corresponding to the current audio signal to be played by the intelligent voice device, so as to obtain the final audio signal.

[0046] Optionally, in the intelligent voice device provided above, it also includes:

[0047] A generating unit is used to perform speech recognition on the final audio signal and generate a control instruction corresponding to the speech signal based on the result of the speech recognition.

[0048] A third aspect of the present application provides an electronic device, the electronic device comprising a memory and a processor;

[0049] The memory is used to store at least one instruction;

[0050] The processor is used to execute the at least one instruction to implement any one of the above-mentioned echo joint cancellation methods.

[0051] A fourth aspect of the present application provides a computer-readable storage medium, characterized in that the computer-readable storage medium stores at least one instruction, and when the at least one instruction is executed by a processor, the echo joint cancellation method as described in any one of the above is implemented.

[0052] The present application provides a joint echo cancellation method, which is applied to any intelligent voice device in a device cluster. Any intelligent voice device is provided with an adaptive filter corresponding to each intelligent voice device in the device cluster. Therefore, the joint echo cancellation method obtains the current audio signal to be played of each intelligent voice device in the device cluster, and then uses the adaptive filter corresponding to each intelligent voice device in the local area to perform echo estimation on the current audio signal to be played of each intelligent voice device, so as to accurately estimate the echo signal corresponding to the current audio signal to be played of each intelligent voice device. Finally, when the local microphone collects the voice signal, the voice signal collected by the local microphone is subtracted from the echo signal corresponding to the current audio signal to be played of each intelligent voice device to obtain the final audio signal, thereby effectively eliminating the echo signals of itself and other intelligent voice devices from the collected audio signal, thereby ensuring that the intelligent voice device accurately recognizes the user's intention. BRIEF DESCRIPTION OF THE DRAWINGS

[0053] 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, the drawings described below are only embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.

[0054] Figure 1 A flowchart of a method for joint echo cancellation provided in an embodiment of the present application;

[0055] Figure 2 A system schematic diagram of a joint echo cancellation method provided in an embodiment of the present application;

[0056] Figure 3 A flowchart of another echo joint cancellation method provided by another embodiment of the present application;

[0057] Figure 4 A flowchart of a method for updating an adaptive filter provided in another embodiment of the present application;

[0058] Figure 5 A schematic diagram of the structure of an intelligent voice device provided in an embodiment of the present application;

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

[0060] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0061] In this application, relational terms such as first and second, etc. are used only 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 "comprise", "include" 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, an element defined by the statement "comprises a ..." does not exclude the presence of other identical elements in the process, method, article or device including the element.

[0062] An embodiment of the present application provides a method for joint echo cancellation, which is applied to any intelligent voice device in a device cluster. The device cluster is usually composed of various intelligent voice devices that will bring echo signals to each other. Of course, it can also be a cluster composed of multiple intelligent voice devices specified according to needs, or an intelligent voice device cluster defined in other ways.

[0063] like Figure 1 As shown, an echo joint cancellation method provided in an embodiment of the present application includes the following steps:

[0064] S101. Obtain the current audio signal to be played of each intelligent voice device in the device cluster.

[0065] It should be noted that in the embodiment of the present application, while each intelligent voice device in the device cluster plays the audio signal to be played through the speaker, it is necessary to share the audio signal to be played with each intelligent voice device in the device cluster, so that each intelligent voice device can eliminate the echo of each intelligent voice device through the method provided in the embodiment of the present application.

[0066] Therefore, in the embodiment itself, step S101 may specifically be: transmitting the current audio signal to be played of each other intelligent voice device in the receiving device cluster through a wireless channel.

[0067] That is to say, for each intelligent voice device, it is necessary to share its own local audio signal to be played with other intelligent voice devices through a wireless channel.

[0068] So specifically, for an intelligent voice device, the current audio signal to be played of each intelligent voice device in the device cluster can be obtained through the wireless channel. Of course, if an intelligent voice device in the device cluster is not currently playing audio, it can obviously not be considered in the processing process, or its currently playing audio signal can be determined to be a null value.

[0069] Moreover, for an intelligent voice device, it is included in the device cluster, so when it obtains the current audio signal to be played of each intelligent voice device in the device cluster, it includes obtaining its own local audio signal to be played and the audio signal to be played shared by other intelligent voice devices.

[0070] It should also be noted that obtaining the current audio signal to be played of each intelligent voice device in the device cluster will not affect the intelligent voice device's playback of the current audio signal to be played. It will normally input the audio signal to be played into the speaker for playback.

[0071] S102: Use the adaptive filters corresponding to the local intelligent voice devices to perform echo estimation on the current audio signals to be played by the intelligent voice devices to obtain echo signals corresponding to the current audio signals to be played by the intelligent voice devices.

[0072] It should be noted that each intelligent voice device in the device cluster is locally equipped with the same number of adaptive filters as the devices in the device cluster. Since there are differences between each intelligent voice device and the audio signals to be played obtained at different times are different, it is necessary to set an adaptive filter corresponding to each intelligent voice device locally so that it can continuously perform adaptive adjustments, thereby better eliminating the echo signal in the voice signal collected by the local microphone.

[0073] Furthermore, each local adaptive filter corresponds to an intelligent voice device and is used for the corresponding intelligent voice device to perform echo estimation. Figure 2 The system diagram of the echo joint cancellation method provided by the embodiment of the present application is shown in FIG. It includes two devices, each of which is provided with two adaptive filters for performing echo estimation on the audio signal to be played by the corresponding intelligent voice device.

[0074] Specifically, the current audio signal to be played of each intelligent voice device is input into the corresponding adaptive filter, and the state function of the echo driving process of the intelligent device simulated by the adaptive filter is used to calculate the current audio signal to be played of the intelligent voice device, and the echo signal corresponding to the current audio signal to be played of the intelligent voice device is obtained and output.

[0075] Among them, each adaptive filter can continuously and adaptively adjust based on the received audio signal to be played by the corresponding intelligent voice device, thereby dynamically adjusting the state function of the echo formation process of the corresponding intelligent voice device to ensure the accuracy of the estimated echo signal.

[0076] S103: When the local microphone collects a voice signal, the voice signal collected by the local microphone is subtracted from the echo signal corresponding to the current audio signal to be played by each intelligent voice device to obtain a final audio signal.

[0077] After each intelligent voice device in the device cluster plays the current audio signal through its own speaker player, the local microphone of each intelligent voice device will collect the audio signal mixed with various sounds.

[0078] At this time, the voice signal collected by the local microphone can be subtracted from the echo signal corresponding to the current audio signal to be played by each intelligent voice device, so as to eliminate the echo signal corresponding to the current audio signal to be played by each intelligent voice device and obtain the final audio signal, thereby ensuring that the user's intention can be accurately identified through the final audio signal.

[0079] Optionally, in the embodiment of the present application, after executing step S103, the following may be further included:

[0080] A local latest audio signal to be played is generated based on the final audio signal, and the latest audio signal to be played is transmitted to a local speaker for playing.

[0081] However, it should be noted that not all final audio signals need to generate the latest audio signal to be played. It is mainly necessary to generate the local latest audio signal to be played based on the final audio signal when a voice reply to the user is required or the corresponding audio is played.

[0082] The embodiment of the present application provides a joint echo cancellation method, which is applied to any intelligent voice device in a device cluster. Any intelligent voice device is provided with an adaptive filter corresponding to each intelligent voice device in the device cluster. Therefore, the joint echo cancellation method obtains the current audio signal to be played of each intelligent voice device in the device cluster, and then uses the adaptive filter corresponding to each intelligent voice device in the local area to perform echo estimation on the current audio signal to be played of each intelligent voice device, so as to accurately estimate the echo signal corresponding to the current audio signal to be played of each intelligent voice device. Finally, when the local microphone collects the voice signal, the voice signal collected by the local microphone is subtracted from the echo signal corresponding to the current audio signal to be played of each intelligent voice device to obtain the final audio signal, thereby effectively eliminating the echo signals of itself and other intelligent voice devices from the collected audio signal, thereby ensuring that the intelligent voice device accurately recognizes the user's intention.

[0083] Another embodiment of the present application provides another echo joint cancellation method, which is also applied to any intelligent voice device in the device cluster. Figure 3 As shown, the echo joint cancellation method provided in the embodiment of the present application includes the following steps:

[0084] S301. Obtain the current audio signal to be played of each intelligent voice device in the device cluster.

[0085] It should be noted that the specific implementation of step S301 may refer to step S101 in the above method embodiment, and will not be described in detail here.

[0086] S302: For each intelligent voice device, the current audio signal to be played is input into an adaptive filter corresponding to the local intelligent voice device.

[0087] S303. Calculate the product of the transpose of the current coefficient vector of the adaptive filter and the current audio signal to be played by the intelligent voice device through the adaptive filter corresponding to the intelligent voice device to obtain the echo signal corresponding to the current audio signal to be played by the intelligent voice device.

[0088] Among them, the current coefficient vector of the adaptive filter is updated using the estimated error of the adaptive filter, that is, in the embodiment of the present application, the adaptive filter will continuously update the coefficient vector according to the estimated error, so that the echo signal obtained by the transpose of the coefficient vector and the product of the current audio signal to be played by the intelligent voice device is more accurate.

[0089] Therefore, in the embodiment of the present application, the adaptive adjustment of the adaptive filter is achieved by updating the current coefficient vector of the adaptive filter. Therefore, in another embodiment of the present application, after executing step S303, the updating method of the adaptive filter can be further executed, as follows: Figure 4 As shown, including:

[0090] S401: Determine whether the current state is in an update cycle.

[0091] It should be noted that, since the intelligent voice device may be performing echo cancellation all the time, in order to avoid updating the coefficient vector continuously and causing unnecessary waste of resources, an update period is set in the embodiment of the present application. Of course, in order to ensure the accuracy of the echo estimation, the update period is usually relatively short.

[0092] If it is determined that the current period is an update period, step S402 is executed.

[0093] S402: Determine whether the voice signal collected by the local microphone contains a near-end audio signal.

[0094] It should be noted that the near-end audio signal mainly refers to the user's voice. When the coefficient vector is updated, it needs to be updated based on the estimated error. When the voice signal collected by the local microphone does not contain the near-end audio signal, the voice signal collected by the local microphone is a mixed signal of all echo signals. At this time, the difference between the voice signal collected by the local microphone and the estimated echo signal corresponding to the current audio signal to be played by each intelligent voice device is the estimated error. Specifically, the estimated error can be expressed as:

[0095]

[0096] Where d(n) is the voice signal collected by the microphone, N is the number of audio signals to be played, Represents the echo signal corresponding to the audio signal to be played by the i-th intelligent voice device.

[0097] Therefore, if it is determined that the voice signal collected by the local microphone does not contain the near-end audio signal, step S403 is executed.

[0098] S403: Determine the final audio signal as the current estimation error.

[0099] Since the difference between the voice signal collected by the local microphone and the estimated echo signal corresponding to the current audio signal to be played by each intelligent voice device is the final audio signal, the final audio signal can be directly determined as the current estimation error at this time.

[0100] S404: Update the current coefficient vector of each adaptive filter based on the current estimation error and the update formula.

[0101] The update formula is obtained by minimizing the cost function of all adaptive filters in the local area.

[0102] Specifically, in the embodiment of the present application, the cost functions of all the adaptive filters in the local area are pre-constructed, and then the constructed cost functions are minimized to obtain the update formula. Therefore, when the estimated error is obtained, the estimated error and other parameters can be used to calculate the value to be updated based on the update formula, and the current coefficient vector of the adaptive filter is replaced to achieve the update of the current coefficient vector of the adaptive filter.

[0103] Specifically, the echo signal estimated by the adaptive filter is the product of the transpose of the current coefficient vector of the adaptive filter and the current audio signal to be played by the intelligent voice device, which can be specifically expressed as:

[0104]

[0105] in, represents the transpose of the current coefficient vector of the adaptive filter, x i (n) is the audio signal to be played by the i-th intelligent voice device.

[0106] Based on the expression of the echo signal estimated by the adaptive filter and the expression of the estimation error, the least mean square algorithm is used as the adaptive update algorithm of the filter, and the cost function of the filter is obtained as follows:

[0107]

[0108] Minimizing the above cost function, we get:

[0109]

[0110] Finally, the preset update step size can be set according to the requirements, so the update formula for the current coefficient vector update of the adaptive filter is:

[0111] w i (n+1)=w i (n)+μx i (n)e(n)

[0112] Among them, μ is the preset update step size.

[0113] Therefore, according to the above update formula, the specific implementation of step S404 can be:

[0114] For each adaptive filter in the local area, the product of the current estimated error and the current audio signal to be played by the intelligent voice device corresponding to the adaptive filter is multiplied by the preset update step size to obtain the current adjustment amount of the adaptive filter. Then, the current coefficient vector of the adaptive filter is updated to the sum of the current coefficient vector of the adaptive filter and the current adjustment amount of the adaptive filter.

[0115] S304: When the local microphone collects a voice signal, the voice signal collected by the local microphone is subtracted step by step from the adaptive filter of each level to obtain an echo signal corresponding to the current audio signal to be played by the intelligent voice device, so as to obtain a final audio signal.

[0116] It should be noted that in the embodiment of the present application, each adaptive filter is set up step by step, so that for each adaptive filter, its input audio signal and output audio signal can be obtained, so as to determine its effect of eliminating the echo signal, so as to adjust each adaptive filter separately. Therefore, the voice signal collected by the local microphone is subtracted step by step from each level of the adaptive filter to obtain the echo signal corresponding to the current audio signal to be played by the intelligent voice device, and the final audio signal is obtained.

[0117] Also optionally, after executing step S304, the method may further include: performing speech recognition on the final audio signal, and generating a control instruction corresponding to the speech signal based on the result of the speech recognition.

[0118] Another embodiment of the present application provides an intelligent voice device, which is any intelligent voice device in a device cluster. Figure 5 As shown, the intelligent voice device provided in the embodiment of the present application includes:

[0119] The acquisition unit 501 is used to acquire the current audio signal to be played of each intelligent voice device in the device cluster.

[0120] The estimation unit 502 is used to respectively use the adaptive filters corresponding to each local intelligent voice device to perform echo estimation on the current audio signal to be played of each intelligent voice device to obtain the echo signal corresponding to the current audio signal to be played of each intelligent voice device.

[0121] The echo cancellation unit 503 is used to subtract the echo signal corresponding to the current audio signal to be played by each intelligent voice device from the voice signal collected by the local microphone to obtain a final audio signal.

[0122] Optionally, in the intelligent voice device provided in another embodiment of the present application, the acquiring unit includes:

[0123] The acquisition subunit is used to receive the current audio signal to be played from each of the other intelligent voice devices in the device cluster through a wireless channel.

[0124] Optionally, in the intelligent voice device provided in another embodiment, the estimation unit includes:

[0125] The estimation subunit is used to input the current audio signal to be played of each intelligent voice device into the adaptive filter corresponding to the local intelligent voice device, so as to calculate the product of the transpose of the current coefficient vector of the adaptive filter and the current audio signal to be played of the intelligent voice device through the adaptive filter corresponding to the intelligent voice device, and obtain the echo signal corresponding to the current audio signal to be played of the intelligent voice device.

[0126] The current coefficient vector of the adaptive filter is updated by using the estimation error of the adaptive filter.

[0127] Optionally, in the intelligent voice device provided in another embodiment of the present application, the device further includes:

[0128] The first judgment unit is used to judge whether it is currently in an update cycle.

[0129] The second judgment unit is used to judge whether the voice signal collected by the local microphone contains the near-end audio signal when the first judgment unit judges that the current period is in the update period.

[0130] The determination unit is configured to determine the final audio signal as the current estimation error when it is determined that the speech signal collected by the local microphone does not contain the near-end audio signal.

[0131] The updating unit is used to update the current coefficient vector of each adaptive filter based on the current estimation error and the updating formula, wherein the updating formula is obtained by minimizing the cost function of all adaptive filters in the local area.

[0132] Optionally, in the intelligent voice device provided in another embodiment of the present application, the updating unit includes:

[0133] The calculation unit is used to multiply the product of the current estimation error and the current audio signal to be played by the intelligent voice device corresponding to the adaptive filter by a preset update step size for each adaptive filter in the local area to obtain the current adjustment amount of the adaptive filter.

[0134] The updating subunit is used to update the current coefficient vector of the adaptive filter by the sum of the adaptive filter and the current adjustment amount of the adaptive filter.

[0135] Optionally, in the intelligent voice device provided above, the echo cancellation unit includes:

[0136] The echo cancellation subunit is used to subtract the adaptive filter of each level from the voice signal collected by the local microphone step by step to obtain the echo signal corresponding to the current audio signal to be played by the intelligent voice device, and obtain the final audio signal.

[0137] Optionally, in the intelligent voice device provided in another embodiment of the present application, the echo cancellation unit includes:

[0138] The echo cancellation subunit is used to subtract the adaptive filter of each level from the voice signal collected by the local microphone step by step to obtain the echo signal corresponding to the current audio signal to be played by the intelligent voice device, and obtain the final audio signal.

[0139] Optionally, in the intelligent voice device provided in another embodiment of the present application, the device further includes:

[0140] The generating unit is used to perform speech recognition on the final audio signal and generate a control instruction corresponding to the speech signal based on the result of the speech recognition.

[0141] Another embodiment of the present application provides an electronic device. Figure 6 As shown, including:

[0142] Memory 601 and processor 602 .

[0143] The memory 601 is used to store at least one instruction.

[0144] The processor 602 is configured to execute at least one instruction stored in the memory 601 to implement the echo joint cancellation method provided by any one of the above embodiments.

[0145] Another embodiment of the present application provides a computer-readable storage medium, which stores at least one instruction. When the at least one instruction is executed by a processor, the echo joint cancellation method provided by any of the above embodiments is implemented.

[0146] Computer readable storage media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0147] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0148] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may 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 shown herein, but will conform to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A joint echo cancellation method, characterized in that: Applied to any intelligent voice device in a device cluster, the echo joint cancellation method includes: Obtaining a current audio signal to be played by each of the intelligent voice devices in the device cluster; Using the adaptive filters corresponding to each of the local intelligent voice devices to respectively perform echo estimation on the current audio signal to be played by each of the intelligent voice devices, and obtaining the echo signal corresponding to the current audio signal to be played by each of the intelligent voice devices; the echo signal is a signal calculated based on the current coefficient vector of the adaptive filter and the current audio signal to be played by the intelligent voice device; When the local microphone collects a voice signal, the voice signal collected by the local microphone is subtracted from the echo signal corresponding to the current audio signal to be played by each of the intelligent voice devices to obtain a final audio signal; Determine whether the current update cycle is in progress; If it is determined that the current period is an update period, determining whether the voice signal collected by the local microphone contains a near-end audio signal; If it is determined that the speech signal collected by the local microphone does not contain the near-end audio signal, determining the final audio signal as the current estimation error; The current coefficient vector of each adaptive filter is updated respectively based on the current estimation error and the update formula; wherein the update formula is obtained by minimizing the cost function of all the adaptive filters in the local area.

2. The method according to claim 1, characterized in that The obtaining of the current to-be-played audio signal of each of the intelligent voice devices in the device cluster includes: The currently to-be-played audio signals of each of the other intelligent voice devices in the device cluster are received through wireless channel transmission.

3. The method according to claim 1, characterized in that: The method of respectively using the adaptive filters corresponding to the local intelligent voice devices to perform echo estimation on the current audio signals to be played by the intelligent voice devices to obtain the echo signals corresponding to the current audio signals to be played by the intelligent voice devices includes: For each of the currently to-be-played audio signals of the intelligent voice device, inputting the currently to-be-played audio signals of the intelligent voice device into an adaptive filter corresponding to the locally intelligent voice device; The product of the transpose of the current coefficient vector of the adaptive filter and the current audio signal to be played by the intelligent voice device is calculated by the adaptive filter corresponding to the intelligent voice device to obtain the echo signal corresponding to the current audio signal to be played by the intelligent voice device.

4. The method according to claim 1, characterized in that: The updating of the current coefficient vector of each adaptive filter based on the current estimation error and the update formula comprises: For each of the adaptive filters in the local area, multiply the product of the current estimated error and the current audio signal to be played by the intelligent voice device corresponding to the adaptive filter by a preset update step size to obtain a current adjustment amount of the adaptive filter; The current coefficient vector of the adaptive filter is updated by the sum of the current coefficient vector of the adaptive filter and the current adjustment amount of the adaptive filter.

5. The method according to any one of claims 1 to 4, characterized in that: The step of subtracting the echo signal corresponding to the current audio signal to be played by each of the intelligent voice devices from the voice signal collected by the local microphone to obtain the final audio signal includes: The voice signal collected by the local microphone is subtracted step by step from the adaptive filter of each stage to obtain the echo signal corresponding to the current audio signal to be played by the intelligent voice device, so as to obtain the final audio signal.

6. The method according to any one of claims 1 to 4, characterized in that: Also includes: Speech recognition is performed on the final audio signal, and a control instruction corresponding to the speech signal is generated based on a result of the speech recognition.

7. An intelligent voice device, characterized in that: The intelligent voice device is any intelligent voice device in the device cluster, and the intelligent voice device includes: An acquisition unit, configured to acquire a current to-be-played audio signal of each of the intelligent voice devices in the device cluster; An estimation unit, configured to respectively use the adaptive filters corresponding to the local intelligent voice devices to perform echo estimation on the current audio signals to be played by the intelligent voice devices, and obtain echo signals corresponding to the current audio signals to be played by the intelligent voice devices; the echo signals are signals calculated based on the current coefficient vectors of the adaptive filters and the current audio signals to be played by the intelligent voice devices; An echo cancellation unit, configured to, when a local microphone collects a voice signal, subtract an echo signal corresponding to a current audio signal to be played by each of the intelligent voice devices from the voice signal collected by the local microphone to obtain a final audio signal; A first judging unit, used to judge whether it is currently in an update cycle; A second judgment unit, configured to judge whether the voice signal collected by the local microphone contains a near-end audio signal when the first judgment unit judges that the current update cycle is in progress; A determination unit, configured to determine the final audio signal as the current estimation error when it is determined that the speech signal collected by the local microphone does not contain the near-end audio signal; An updating unit is used to update the current coefficient vector of each adaptive filter based on the current estimation error and an updating formula; wherein the updating formula is obtained by minimizing the cost function of all the adaptive filters in the local area.

8. An electronic device, characterized in that: The electronic device comprises a memory and a processor; The memory is used to store at least one instruction; The processor is used to execute the at least one instruction to implement the echo joint cancellation method according to any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores at least one instruction, and when the at least one instruction is executed by a processor, the method for joint echo cancellation according to any one of claims 1 to 6 is implemented.

Citation Information

Patent Citations

  • Echo cancellation method and terminal

    CN109346098A

  • Echo cancellation method and device and intelligent sound box

    CN111356058A

  • Audio processing method and device, electronic equipment and storage medium

    CN111583952A

  • Audio processing method and device, electronic equipment and storage medium

    CN113421578A

  • Method and terminal for echo cancellation

    US20210321005A1