An adaptive dual-microphone noise reduction method
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-24
- Publication Date
- 2026-08-11
AI Technical Summary
[0005]综上所述,现有的自适应方向性降噪算法基于对信号和噪声声源到达方向(Direction OfArrival,DOA)的估算,而DOA估算算法如SRP-PHAT、MUSIC等大多需要通过网格搜索的方式,为提高角度计算的精度,需要增加搜索的空间角度,这样必然带来运算量的上升,为具有低功耗要求、算力较低的边缘设备带来负担
[0068]1.本发明的一种自适应双麦克风降噪方法,采用类似网格搜索的左右搜索方式,将计算量拆分到不同的时间窗,逐步获得逼近噪声源方向的小数延时,从而降低了实时运算资源消耗。
Smart Images

Figure CN119763595B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of signal processing technology, and specifically relates to an adaptive dual-microphone noise reduction method. Background Technology
[0002] For hearing-impaired individuals wearing hearing aids or cochlear implants, speech recognition rates significantly decline in noisy environments, while the call quality of hearing individuals is also greatly affected by surrounding noise. An effective solution is to use speech enhancement technology to digitally process the noisy speech signals captured by the device's microphone, reducing noise, improving the speech signal-to-noise ratio, and thus enhancing speech recognition rates.
[0003] Based on the number of microphone channels, speech enhancement technologies can be divided into single-microphone enhancement technologies and microphone array enhancement technologies. The latter, by introducing spatial information, can selectively enhance or suppress signals in specific directions, achieving good noise reduction when the signal source and noise source are spatially separated. Generally, the more microphones there are, the stronger the directivity and the better the noise reduction effect, but the cost and requirements for device size also increase accordingly. To balance applicability and directional noise reduction needs, dual-microphone noise reduction technologies have received widespread attention in small-device applications. Among them, first-order differential microphone arrays (DMAs) technology features a compact array placement, a frequency-invariant beam pattern, and achieves maximum directional gain for a given number of array elements, making it suitable for broadband speech signal processing in small devices.
[0004] Directional microphone noise reduction technology can be broadly categorized into two types based on the noise reduction angle: directional noise reduction and adaptive directional noise reduction. The former eliminates noise from a predetermined direction (fixed beam), while the latter calculates the source location of both the target signal and noise based on the input signal, adaptively attenuating the directional signal with stronger noise energy while preserving the target signal (adaptive beam). Clearly, the latter has a wider range of applications in daily use and eliminates the need for users to manually switch the noise reduction angle according to the scene. However, this angle estimation (sound source localization) and adaptive control obviously increase the computational load, posing a significant technical challenge for edge devices with low power consumption requirements and limited memory and computing power. Commonly used sound source localization algorithms, such as Generalized Cross-Correlation-Steered-Response Power (GCC-SRP), Multiple Signal Classification (MUSIC), and Steered ResponsePower-PHAse Transform (SRP-PHAT), often involve grid search and have a high computational cost.
[0005] In summary, existing adaptive directional noise reduction algorithms are based on estimating the direction of arrival (DOA) of signal and noise sources. However, most DOA estimation algorithms, such as SRP-PHAT and MUSIC, require grid search. To improve the accuracy of angle calculation, the search space angle needs to be increased, which inevitably leads to an increase in computational load and burdens edge devices with low power consumption and low computing power requirements. Summary of the Invention
[0006] To solve the above problems, the technical solution of the present invention is as follows: an adaptive dual-microphone noise reduction method, comprising the following steps:
[0007] S10: Detect stable noise segment, calculate the feature value of the current frame of the main microphone signal m1; if the feature value of the current frame is lower than the feature value threshold, the current frame is determined to be a noise frame and the frame count is incremented by 1; when the frame count is greater than or equal to NoiseCounter, it is determined to enter the stable noise segment; if the feature value of the current frame is higher than the feature value threshold, NoiseCounter is set to zero and it is determined not to belong to the stable noise segment.
[0008] Dynamically update the baseline value and threshold value of the feature values;
[0009] S20: Based on minimizing the output power of the differential microphone array, noise tracking is performed on the stable noise segment, and the delay d of the secondary microphone signal m2 is updated in real time to obtain the delay-varying result D_sm;
[0010] S30: Based on the time-delayed, slowly varying result D_sm, perform first-level noise reduction to obtain frequency domain DMA output;
[0011] S40: Output after secondary noise reduction.
[0012] Preferably, the feature values include, but are not limited to, energy entropy ratio estimation, energy-zero ratio, feature values based on autocorrelation function, feature values based on subband variance, feature values based on spectral distance, cepstral distance, and spectral entropy.
[0013] Preferably, in the stable noise segment detection of step S10, the specific steps for calculating the energy entropy ratio estimate are as follows:
[0014] S101: Calculate the energy entropy ratio. Perform windowed frame segmentation and Fast Fourier Transform on the main microphone signal m1. The formula for calculating the spectral entropy of the i-th frame is:
[0015]
[0016] Where i represents the i-th frame, N represents the frame length of the data segment, k represents the k-th frequency component, and Pro i,k The normalized spectral probability density function for each frequency component is defined as follows:
[0017]
[0018] Among them, P i,K This represents the energy of the k-th frequency component in the i-th frame;
[0019] The short-time average energy is calculated using the following formula:
[0020] The energy entropy ratio EER i The calculation formula is:
[0021] S102: Calculate the estimated value of the energy entropy ratio. A decision-oriented method is used to estimate the current energy entropy ratio by combining the previous time-instance estimation result. The calculation formula is as follows:
[0022]
[0023] Where β is the smoothing factor, and its value is between 0 and 1;
[0024] S103: Noise Frame and Stable Noise Segment Determination: Calculate the estimated energy entropy ratio of the main microphone signal m1 for the current frame; if the estimated energy entropy ratio of the current frame is lower than the energy entropy ratio threshold, the current frame is determined to be a noise frame, and the frame count is incremented by 1; when the frame count is greater than or equal to NoiseCounter, it is determined to enter the stable noise segment; if the estimated energy entropy ratio of the current frame is higher than the energy entropy ratio threshold, NoiseCounter is set to zero, and it is determined not to belong to the stable noise segment.
[0025] The baseline value of the energy entropy ratio and the threshold value of the energy entropy ratio are dynamically updated.
[0026] Preferably, in step S10, the specific steps for dynamically updating the energy entropy ratio baseline value are as follows:
[0027] S104: Dynamically update the energy entropy ratio baseline value, and select the average of the energy entropy ratio estimates of several main microphone noisy speech signals as the energy entropy ratio baseline value; if the current frame is determined to be a frame containing speech signals, the energy entropy ratio baseline value is not updated and the previous calculation result is continued; if the current frame is determined to be a noisy frame, different updates are performed according to whether it belongs to a stable noise segment.
[0028] Preferably, in step S10, the energy entropy ratio threshold is dynamically updated based on the energy entropy ratio calculation result, the energy entropy ratio estimate, and the energy entropy ratio baseline value.
[0029] Preferably, in the noise tracking step S20, the specific steps for updating the secondary microphone signal delay d are as follows:
[0030] S201: Calculate d i-1 Delay to obtain DMA output signal strength:
[0031] S2011: Let the delay variable of the i-th frame be d. i , with d i-1 The delay value is used to apply a fractional delay to the secondary microphone signal m2 to obtain the delayed secondary microphone signal m2d;
[0032] S2012: Calculate the differential signal between the current frame's main microphone signal m1 and m2d to obtain the time-domain DMA output dmac;
[0033] S2013: Calculate the signal strength pc of the DMAC. The calculation formula is:
[0034]
[0035] S202 and S203: Delay the delayed secondary microphone signal m2d by step and advance it by step sampling points respectively to obtain m2dr and m2dl, and calculate the time-domain DMA output with m1 respectively. Calculate the intensity of the output signal to obtain pr and pl. The calculation formula is as follows:
[0036]
[0037]
[0038] S204: Compare the values of pc, pr, and pl, and update the secondary microphone delay d based on the delay corresponding to the minimum value, as follows:
[0039]
[0040] S205: The delayed, slowly varying result D_sm is calculated using a decision-oriented method, as shown in the following formula:
[0041] D_sm i =μ*D_sm i-1 +(1-μ)*d i
[0042] Where μ is the smoothing factor, and its value ranges from 0 to 1.
[0043] Preferably, in step S30, the specific steps of the first-level noise reduction are as follows:
[0044] The delayed, gradually varying result D_sm obtained in step S20 is used to apply a fractional delay to the secondary microphone signal m2, obtaining the output dma1 of the first-order differential microphone array in the time domain. This is then converted to the frequency domain using a fast Fourier transform and filtered by filter H. L To perform low-frequency energy compensation and obtain frequency-domain DMA output, the method is as follows:
[0045] dma1=m1-m2d
[0046] out dma =fft(dma1)H L
[0047] The compensation filter for the first-order DMA is:
[0048]
[0049] Angular frequency ω=2*pi*f, τ0=D / c, where D is the distance between the main microphone and the secondary microphone, c is the speed of sound, and α 1,1 =cosθ, where θ is the zero point of the system.
[0050] Preferably, in step S40, a Wiener filtering algorithm based on an improved prior signal-to-noise ratio estimation method is used in conjunction with speech activity detection for secondary noise reduction. The specific steps are as follows:
[0051] S401: Decision-oriented energy estimation and minimum energy estimation update;
[0052] S402: Decision-oriented noise spectrum estimation and speech activity detection update;
[0053] S403:2DD algorithm for estimating prior signal-to-noise ratio ξ i,j ;
[0054] S404: Calculate the Wiener filter frequency gain coefficient g using the following formula:
[0055]
[0056] S405: Adjust Wiener filter coefficients based on speech activity detection;
[0057] S406: Calculate the Wiener filter noise reduction output and convert it to the time domain output through inverse Fourier transform.
[0058] Preferably, step S401 specifically includes the following steps:
[0059] S4011: Frequency point energy calculation after first-level noise reduction. Speech detection and noise spectrum update are based on minimum energy value tracking. Let the energy corresponding to frequency point j after frequency domain compensation in step S30 of the i-th frame be Pow. i,j ;
[0060] S4012: Energy estimation and minimum energy estimation based on DD (Discrete Derivatives) method, obtaining energy estimates through the DD method.
[0061] The specific steps of S402 are as follows:
[0062] S4021: Frequency point speech activity detection, let the threshold for detecting speech activity at the j-th frequency point in the i-th frame be TH. i,j If the instantaneous energy value Pow of the current frame at a certain frequency point i,j The threshold TH of the previous frame i-1,j If so, it is determined that there is voice activity on that frequency, i.e., VAD. i,j =1, otherwise, VAD i,j =0;
[0063] S4022: VAD decision threshold and noise spectrum update based on DD.
[0064] Preferably, in step S405, the noise suppression level is controlled by setting a suppression factor R, as shown in the following formula:
[0065]
[0066] Where R takes values from 0 to 1.
[0067] The beneficial effects of this invention are as follows:
[0068] 1. An adaptive dual-microphone noise reduction method of the present invention adopts a left-right search method similar to grid search, splits the computational load into different time windows, and gradually obtains the fractional delay in the direction of the noise source, thereby reducing the consumption of real-time computing resources.
[0069] 2. In an adaptive dual-microphone noise reduction method of the present invention, in order to prevent the frontal speech signal from interfering with noise direction tracking, noise source tracking is only performed under stable noise conditions.
[0070] 3. In the adaptive dual-microphone noise reduction method of the present invention, the signal processed by the differential microphone array still has a certain amount of noise residue, especially when the noise source and the signal source are spatially close, the noise residue is even greater. By employing an improved Wiener filtering method for two-stage noise reduction, real-time, efficient, and deep noise reduction is achieved.
[0071] 4. An adaptive dual-microphone noise reduction method of the present invention further reduces the gain value of the frequency point with a value of 0 in the VAD detection during the secondary noise reduction, and controls the degree of noise suppression by setting a suppression factor R, thereby further suppressing background noise and improving the noise reduction effect. Attached Figure Description
[0072] Figure 1 This is an overall flowchart of an adaptive dual-microphone noise reduction method according to a specific embodiment of the present invention;
[0073] Figure 2 This is a schematic diagram of the stable noise detection process of an adaptive dual-microphone noise reduction method according to a specific embodiment of the present invention.
[0074] Figure 3 This is a schematic diagram of the first-stage noise reduction process of an adaptive dual-microphone noise reduction method according to a specific embodiment of the present invention.
[0075] Figure 4 This is a schematic diagram of the two-stage noise reduction algorithm of an adaptive dual-microphone noise reduction method according to a specific embodiment of the present invention;
[0076] Figure 5 This is a schematic diagram of a recording environment for an adaptive dual-microphone noise reduction method according to a specific embodiment of the present invention;
[0077] Figure 6 This is an example diagram of secondary microphone delay tracking in an adaptive dual-microphone noise reduction method according to a specific embodiment of the present invention;
[0078] Figure 7 This is a comparison image before and after noise reduction of an adaptive dual-microphone noise reduction method according to a specific embodiment of the present invention;
[0079] Figure 8 This is an enlarged schematic diagram showing the comparison before and after noise reduction of an adaptive dual-microphone noise reduction method according to a specific embodiment of the present invention;
[0080] Figure 9 This is a statistical chart showing the improvement values of various noise reduction indicators under different signal-to-noise ratios in an adaptive dual-microphone noise reduction method according to a specific embodiment of the present invention. Detailed Implementation
[0081] The preferred embodiments of the present invention will now be described in detail with reference to the accompanying drawings.
[0082] See Figure 1 The present invention provides an adaptive dual-microphone noise reduction method, comprising the following steps:
[0083] S10: Detect stable noise segment, calculate the feature value of the current frame of the main microphone signal m1; if the feature value of the current frame is lower than the feature value threshold, the current frame is determined to be a noise frame, and the frame count is incremented by 1; when the frame count is greater than or equal to NoiseCounter, it is determined to enter the stable noise segment; if the feature value of the current frame is higher than the feature value threshold, NoiseCounter is set to zero, and it is determined not to belong to the stable noise segment.
[0084] Specifically, a stable noise segment refers to a continuous no-voice segment, that is, a period of time during which there is no main voice signal input.
[0085] Dynamically update the baseline value and threshold value of the feature values;
[0086] Furthermore, the eigenvalues include energy entropy ratio estimates, energy-to-zero ratios, calculations based on autocorrelation functions, subband variance, spectral distance, cepstral distance, and spectral entropy eigenvalues, etc., which will not be elaborated here. In a specific embodiment of the present invention, the energy entropy ratio estimate can be used as the eigenvalue for detecting stable noise segments, and for dynamically updating the energy entropy ratio baseline value and the energy entropy ratio threshold.
[0087] S20: Based on minimizing the output power of the differential microphone array (DMA), noise tracking is performed on the stable noise segment, and the delay d of the secondary microphone signal m2 is updated in real time to obtain the delay-varying result D_sm;
[0088] S30: Based on the time-delayed, slowly varying result D_sm, perform first-level noise reduction to obtain frequency domain DMA output;
[0089] S40: Output after secondary noise reduction.
[0090] This application employs a method based on energy entropy ratio for detecting stable noise segments, while noise source tracking is only performed within stable noise segments, effectively improving the noise reduction effect. It adopts a left-right search method similar to grid search, splitting the computational load into different time windows to gradually obtain fractional delays in the direction of the noise source, thereby reducing the consumption of real-time computing resources. By setting first-level and second-level noise reduction, it achieves instantaneous, efficient, and deep noise reduction.
[0091] See Figure 1 and Figure 2 Assume that the microphone closer to the signal source is the main microphone and the other is the secondary microphone, and the distance between the two microphones is D.
[0092] The specific steps of S10 are as follows:
[0093] S101: Calculate the energy entropy ratio. Perform windowed framing and Fast Fourier Transform (FFT) processing on the main microphone signal m1. That is, after windowed framing, the i-th frame of speech signal is obtained. Then, it is transformed by N-point length Fast Fourier Transform (FFT). The formula for calculating the spectral entropy of the i-th frame of data is:
[0094]
[0095] Where i represents the i-th frame, N represents the frame length of the data segment, k represents the k-th frequency component, and Pro i,k The normalized spectral probability density function for each frequency component is defined as follows:
[0096]
[0097] Among them, P i,K This represents the energy of the k-th frequency component in the i-th frame;
[0098] Specifically, noise has a relatively uniform distribution of its normalized spectral probability density function, resulting in a larger spectral entropy value. However, speech signals, due to their formant spectral characteristics, have an uneven distribution of their normalized spectral probability density function. Therefore, the spectral entropy of speech is generally lower than that of noise.
[0099] The next step is to calculate the short-time average energy (STOE). STOE is a commonly used feature for speech endpoint detection. Generally, when the signal-to-noise ratio (SNR) is not too low, the STOE of segments with speech is higher than that of segments without speech. The formula for calculating STOE is:
[0100] Energy Entropy Ratio (EER) i The calculation formula is:
[0101] Furthermore, in order to reduce the interference of abnormal extreme values on the feature value, the present invention can also use the square root of the energy entropy ratio as the detection feature value of the stable noise segment. The energy entropy ratio value or some parameters related to the energy entropy ratio mentioned in the following scheme can also be based on the square root of the energy entropy ratio, which will not be elaborated here.
[0102] Furthermore, based on the short-term stationarity of speech, a frame length of 10 to 30 ms is reasonable; in this embodiment of the invention, the frame length is set to 16 ms, the sampling rate is 16 kHz, the FFT points are set to 256, and the frame overlap is 8 ms.
[0103] S102: Calculate the estimated value of the energy entropy ratio. A decision-oriented method is used to estimate the current energy entropy ratio by combining the previous time-instance estimation result. The calculation formula is as follows:
[0104]
[0105] Here, β is the smoothing factor, which takes a value between 0 and 1. Its value affects the smoothing performance. The larger the value, the smoother the result. However, the instantaneity of the calculation result will be reduced. It is recommended to use a value of 0.95 or higher here.
[0106] S103: Noise Frame and Stable Noise Segment Determination: If the estimated energy entropy ratio of the current frame is lower than the energy entropy ratio threshold, the current frame is determined to be a noise frame, and the frame count is incremented by 1; when the frame count is greater than or equal to NoiseCounter, it is determined to enter the stable noise segment; if the estimated energy entropy ratio of the current frame is higher than the energy entropy ratio threshold, NoiseCounter is set to zero, and it is determined not to belong to the stable noise segment.
[0107] Furthermore, NoiseCounter can be set to 125, or any other reasonable value.
[0108] S104: Dynamically update the energy entropy ratio baseline value, and select the average of the energy entropy ratio estimates of several (up to 50) main microphone noisy speech signals as the energy entropy ratio baseline value; if there are fewer than 50, take the average of all elements in the vector.
[0109] If the current frame is determined to contain speech signals, the baseline value of the entropy ratio is not updated, and the previous calculation result is continued. If the current frame is determined to be a noisy frame, different updates are made depending on whether it belongs to a stable noise segment. If it belongs to a stable noise segment, when the number of frames is less than 50, the estimated value of the current frame's entropy ratio is directly appended to the result; otherwise, 80% of the estimated value of the entropy ratio is appended. When the number of frames is greater than 50, the first element is removed, and based on the determination result of whether it belongs to a stable noise segment, the estimated value of the current frame's entropy ratio or 80% thereof is appended to the end. In this way, the vector has at most 50 elements. Of course, 50 is the value in this embodiment, but other reasonable values are also possible.
[0110] S105: Dynamically update the energy entropy ratio threshold based on the calculated energy entropy ratio, the estimated energy entropy ratio, and the baseline energy entropy ratio.
[0111] Specifically, the energy entropy ratio threshold is updated dynamically, similar to the update method for the energy entropy ratio estimate. However, the smoothing factor is adjusted by the current instantaneous energy entropy ratio, the estimated energy entropy ratio, and the baseline energy entropy ratio. If the current energy entropy ratio is higher than the energy entropy ratio threshold of the previous frame, the smoothing factor value should be set higher, preferably above 0.99. If the current energy entropy ratio is lower than the energy entropy ratio threshold of the previous frame, i.e., the current frame is determined to be a noisy frame, further updates are performed based on the estimated energy entropy ratio and the baseline energy entropy ratio. When the estimated energy entropy ratio is less than 1.2 times the baseline energy entropy ratio, a faster update is performed, i.e., a smaller smoothing factor value is set, preferably 0.85 to 0.9. Otherwise, a slower update is performed, and a smoothing factor value of 0.99 or higher is recommended.
[0112] Furthermore, to reduce the attenuation of the speech signal and prevent background noise energy instability due to speech pauses during speech segments, the noise tracking step is performed only in stable noise segments. Based on minimizing the output power of the differential microphone array, the delay d of the secondary microphone signal m2 is updated in real time. To accurately achieve the delay, d is initialized to 0, and its update step size is set to a small decimal less than 1; in this embodiment, 0.1 is used, with the unit being sampling points.
[0113] See Figure 2 and Figure 3 In step S20, the specific steps for updating the secondary microphone signal delay d during noise tracking are as follows:
[0114] S201: Calculate d i-1 Delay to obtain DMA output signal strength:
[0115] S2011: Let the delay variable of the i-th frame be d. i , with d i-1The delay value is used to perform a fractional delay on the secondary microphone signal m2 to obtain the delayed secondary microphone signal m2d; specifically, the fractional delay can be achieved by constructing a fractional delay filter or other methods.
[0116] S2012: Calculate the differential signal between the current frame's main microphone signal m1 and m2d to obtain the time-domain DMA output dmac;
[0117] S2013: Calculate the signal strength pc of the DMAC. The calculation formula is:
[0118]
[0119] S202 and S203: Delay the delayed secondary microphone signal m2d by step and advance it by step sampling points respectively to obtain m2dr and m2dl, and calculate the time-domain DMA output with m1 respectively. Calculate the intensity of the output signal to obtain pr and pl. The calculation formula is as follows:
[0120]
[0121]
[0122] S204: Compare the values of pc, pr, and pl, and update the secondary microphone delay d based on the delay corresponding to the minimum value, as follows:
[0123]
[0124] S205: The delayed, slowly varying result D_sm is calculated using a decision-oriented method, as shown in the following formula:
[0125] D_sm i =μ*D_sm i-1 +(1-μ)*d i
[0126] Where μ is the smoothing factor, and its value ranges from 0 to 1.
[0127] S206 If the current frame belongs to an unstable noise segment, then take the average value of the slow-change delay results within a short period of time (e.g., 100-1000ms) as the delay value of the current frame.
[0128] In step S30, the specific steps of the first-level noise reduction are as follows:
[0129] S301: Use the delay and gradual change result D_sm obtained in step S20 to perform a fractional delay on the secondary microphone signal m2 to obtain m2d;
[0130] S302: Acquire the output dma1 of the first-order differential microphone array (DMA) in the time domain, perform a Fast Fourier Transform (FFT) to convert it to the frequency domain, and use filter H. L To perform low-frequency energy compensation and obtain frequency-domain DMA output, the method is as follows:
[0131] dma1=m1-m2d
[0132] ouot dma =fft(dma1)H L
[0133] The compensation filter for the first-order DMA is:
[0134]
[0135] Angular frequency ω=2*pi*f, τ0=D / c, where D is the distance between the main microphone and the secondary microphone, c is the speed of sound, and α 1,1 =cosθ, where θ is the zero point of the system.
[0136] Even after primary noise reduction using DMA, the output still retains some noise. To further reduce noise, this embodiment employs a Wiener filtering algorithm based on an improved prior signal-to-noise ratio (SNR) estimation method combined with Voice Activity Detection (VAD) for secondary noise reduction. Of course, other methods can also be used for secondary noise reduction. The Wiener filtering algorithm relies on accurate prior SNR estimation, and one of the most commonly used methods for estimating prior SNR is the Decision-Directed (DD) method. This method has low algorithmic complexity and can reduce residual music noise after noise reduction. However, in traditional DD methods, the smoothing factor is a pre-set fixed value, which forces the algorithm to balance speech distortion and residual music noise.
[0137] To address this issue, this application employs a convex combination (2DD algorithm) of two Wiener filtering methods with different smoothing factors. Based on the principle of minimizing the root mean square error between the estimated and true prior signal-to-noise ratio (SNR), a mixing parameter is calculated to control the influence of the prior SNR estimated by the 2DD method on the final prior SNR estimate. Furthermore, this application combines the Wiener filter coefficients calculated in this way with a speech detection algorithm to further suppress the coefficients corresponding to the estimated noise frequencies.
[0138] See Figure 4 The specific steps for the S40's secondary noise reduction are as follows:
[0139] S401: Decision-oriented energy estimation and minimum energy estimation update;
[0140] The specific steps of step S401 are as follows:
[0141] S4011: Frequency point energy calculation after primary noise reduction; speech detection and noise spectrum update are based on minimum energy value tracking; let the energy corresponding to frequency point j after frequency domain compensation in frame i be Pow. i,j ;
[0142] S4012: Energy estimation and minimum estimation based on DD (Digital Directive), obtaining energy estimates through the DD method. The calculation method is as follows:
[0143]
[0144] Wherein, β is the smoothing factor, and its value ranges from 0 to 1.
[0145] Then, the minimum energy estimate Pow_min is updated using two DDs with different smoothing factors. i,j The method is as follows:
[0146]
[0147] Let β1 be less than β2, and the value of β2 be close to 1.
[0148] S402: Decision-oriented noise spectrum estimation and speech activity detection update;
[0149] Step S402 is as follows:
[0150] S4021: Frequency-based Voice Activity Detection (VAD); Let the threshold for detecting voice activity at the j-th frequency point in the i-th frame be TH. i,j If the instantaneous energy value Pow of the current frame at a certain frequency point i,j The threshold TH of the previous frame i-1,j If so, it is determined that there is voice activity on that frequency, i.e., VAD. i,j =1, otherwise, VAD i,j =0;
[0151] S4022: VAD decision threshold and noise spectrum update based on DD;
[0152] VAD detection threshold TH i,j and noise spectrum estimation i,j The update is dynamically performed using multiple decision-oriented methods with different smoothing factors to achieve different levels of update under different conditions. The method is as follows: Calculate the ratio of the energy estimate to the minimum energy estimate for each frequency point. If the ratio is higher than a certain set threshold, the probability of speech activity at that frequency point is relatively high. To improve the instantaneity of the decision, the instantaneous energy Pow of the current frequency point is then compared. i,j With THi-1,j If the instantaneous energy is high, then it will not be updated, i.e., let TH... i,j =TH i-1,j noise i,j =noise i-1,j Otherwise, the DD method with a high smoothing factor (close to 1) is applied to both for updating. If the ratio of the energy estimate to the minimum energy estimate at each frequency point is lower than a set threshold, the probability of speech activity at that frequency point is low. In this case, the instantaneous energy Pow of the current frequency point is further compared. i,j With TH i-1,j Based on the comparison results, different smoothing factor decision methods are implemented to adjust the VAD detection threshold TH. i,j and noise spectrum estimation i,j When updating, in principle, if the instantaneous energy is high, a larger smoothing factor value should be set.
[0153] S403:2DD algorithm for estimating prior signal-to-noise ratio ξ i,j ;
[0154] Let the posterior signal-to-noise ratio (SNR) and prior signal-to-noise ratio (SNR) of the j-th frequency point in the i-th frame be η. i,j and ξ i,j The calculation formula is as follows:
[0155]
[0156] Since the true prior signal-to-noise ratio is unavailable in practice, an estimated value is used here to obtain the estimated value λ of the mixing factor in the 2DD algorithm.
[0157] ξ i,j =max(η i,j -1,0)
[0158] set up and The DD method is used to adjust the prior signal-to-noise ratio ξ using two smoothing factors of different sizes (a and b, assuming a > b, in this embodiment a value of 0.99 and b value of 0.6). i,j The estimation results are as follows:
[0159]
[0160] The method for estimating the prior signal-to-noise ratio using 2DD is as follows:
[0161]
[0162] Where λ is the mixing factor, the value of which is derived by minimizing the cost loss function J:
[0163]
[0164] In the above formula, E{.} represents the expected value. The derivative of J with respect to λ is...
[0165]
[0166] make
[0167]
[0168] The calculated values of λ are as follows:
[0169]
[0170] S404: Calculate the Wiener filter frequency gain coefficient g using the following formula:
[0171]
[0172] S405: Adjust the Wiener filter coefficients based on the VAD results. To further suppress background noise, the gain value of the frequency points with a value of 0 in the VAD detection is further reduced. The degree of noise suppression is controlled by setting a suppression factor R, as shown in the following formula:
[0173]
[0174] Where R takes values from 0 to 1.
[0175] S406: Calculate the Wiener filter output and transform it to the time domain output using Inverse Fast Fourier Transform (IFFT); let the value corresponding to frequency point j of the i-th frame after frequency domain compensation in S302 be Y. i,j The corresponding estimated frequency points after noise reduction are The FFT has N points, and the final output is calculated using the following formula:
[0176]
[0177] See Figure 5 The specific testing method is as follows:
[0178] In this embodiment, the device uses a 66mm distance between the two microphones and an ADC sampling rate of 16kHz. The device is used to collect dual-microphone audio signals as input to the algorithm to evaluate its noise reduction effect. The device is placed in the center of a soundproof room equipped with a circular sound field with 12 speakers, spaced 30 degrees apart. Audio selection, speaker selection, signal-to-noise ratio (SNR) settings, and playback duration are controlled by a sound field control system software installed on a computer outside the soundproof room. Noise types include white noise, spectroscopic noise (SSN), baby talk, and canteen noise. The speech is a Chinese female broadcast voice. The SNR of the noisy speech is set to -5, 0, 5, and 10dB. During recording, 10 seconds of noise is played first, followed by 20 seconds of noisy speech. The speech signal is fixed at 0 degrees directly in front of the device, while the noise comes from one of four angles: 0, 90, 180, and 270 degrees. The dual-microphone audio signals are buffered and saved locally on another recording computer. See the diagram for the recording environment. Figure 5 The locally stored audio is spliced together in a way that is manually set to simulate the change in the direction of noise sources in real life. The spliced audio is used as the input of this algorithm to obtain the noise-reduced output. Then, the improvement in speech signal-to-noise ratio and speech intelligibility before and after noise reduction is compared as an indicator to measure the noise reduction performance of this algorithm.
[0179] Statistical test methods:
[0180] Data analysis was performed using Matlab R2016a software. The Lilliefers test was used to assess the normality of the data distribution, and the Bartlett test was used to assess the homogeneity of variance. For comparisons between two groups, if the data were normally distributed, paired t-tests or two-sample t-tests were used to test the significance of the difference in the data distribution means. If the data were not normally distributed, the Wilcoxon signed-rank test (paired samples) or the Mann-Whitney U test (independent samples) was used to test the significance of the difference in the data distribution medians. For comparisons of the improvement values of various noise reduction indicators under different signal-to-noise ratios, except for the LSD indicator which met the requirements of normality and homogeneity of variance for each group, one-way ANOVA was used. All other indicators were tested using the Kruskal-Wallis nonparametric test, and the Bonferroni test was used for post-hoc multiple comparisons.
[0181] Noise Reduction Specifications:
[0182] Four metrics were used to measure the objective noise reduction performance of the algorithm: segmental signal-to-noise ratio (segSNR), log-spectral distance (LSD), short-time objective intelligibility (STOI), and perceptual evaluation of speech quality (PESQ, using wideband MOS LQO values). segSNR first divides the input speech signal into frames, then calculates the signal-to-noise ratio for each frame, and finally calculates the average. LSD is a distance metric between two spectra, also known as "log-spectral distortion." STOI, as an objective evaluation metric for measuring the improvement in speech intelligibility after noise reduction (Taal et al., 2011), ranges from 0 to 1; a higher value indicates higher intelligibility and greater clarity. The PQESQ algorithm was originally proposed by the International Telecommunication Union (ITU) as one of the objective speech quality assessment algorithms. It is one of the objective speech quality assessment algorithms published by the ITU that has a high correlation with subjective evaluation results. The original PESQ model score ranges from -0.5 to 4.5 (after mapping to MOS LQO, the value ranges from 1.0 to 4.6). The higher the score, the better the speech quality.
[0183] Noise reduction effect example:
[0184] See the example of time-lapse tracking effect. Figure 6 The noise type is "babble," and the signal-to-noise ratio of the noisy speech segment is 5 dB. The noise comes from speakers at 0, 90, 180, and 270 degrees. The time-domain waveforms and time-frequency diagrams before and after noise reduction are shown in the attached file. Figure 7 To show a clearer view, zoom in on a portion of it. Figure 8 .
[0185] Noise reduction effect analysis:
[0186] To simulate as many usage scenarios as possible, the recording file was trimmed and spliced into 32 files by distinguishing between speaker gender, noise type, noise source change direction, and signal-to-noise ratio. The proposed denoising algorithm was used to denoise each file, and four objective metrics were calculated before and after denoising: segmented signal-to-noise ratio (segSNR), log-spectral distance (LSD), short-time speech objective intelligibility (STOI), and speech quality index PESQ. Table 1 shows the improvement values of each metric in various noisy environments after using the proposed denoising algorithm compared to before denoising. Statistical analysis of the differences in metrics before and after denoising showed that the performance of each metric was significantly improved after denoising (segSNR, p = 7.95e-7; LSD, p = 1.62e-22; STOI, p = 1.01e-4; PESQ, p = 1.71e-4).
[0187]
[0188] Table 1. Improvement values of various indicators after noise reduction (after noise reduction - before noise reduction)
[0189] Analysis of the differences in the improvement values of various noise reduction indicators under different noise backgrounds:
[0190] The mean SegSNR improvement (Mean±SD) of noise reduction output in backgrounds with stable noise (white and SSN) is 17.56±0.68dB, while that in backgrounds with unstabilized noise (including babble and canteen) is... The mean improvement in segSNR for noise reduction output in background noise was 13.85±0.85dB, which was significantly different from the previous example (p=1.54e-6); the mean improvement in LSD for noise reduction output in background noise stabilization was -13.12±2.38, while the mean improvement in LSD for noise reduction output in background noise unequalization was -10.88±2.44, which was significantly different from the previous example (p=0.01); the mean improvement in STOI for noise reduction output in background noise stabilization was 0.02±0.04, while the mean improvement in STOI for noise reduction output in background noise unequalization was 0.03±0.02, which was not significantly different from the previous example (p=0.30); the mean improvement in PESQ for noise reduction output in background noise stabilization was 0.40±0.19, while the mean improvement in PESQ for noise reduction output in background noise unequalization was 0.18±0.44, which was not significantly different from the previous example (p=0.13).
[0191] Analysis of the differences in the improvement values of various noise reduction indicators under different signal-to-noise ratios:
[0192] Figure 9The graph shows the differences in the improvement values of four metrics after noise reduction compared to before noise reduction at various signal-to-noise ratios (SNRs). The red horizontal line represents the median value, and the upper and lower short black horizontal lines represent the third and first quartiles, respectively. For the STOI and PESQ plots, the middle horizontal black dashed line indicates the 0 value. It can be seen that the segSNR improvement is not significantly different across various SNRs, while the LSD and PESQ improvements increase with increasing SNR. The STOI value improvement decreases with increasing SNR; at a high SNR of 10dB, the STOI improvement is less than 0, meaning the STOI value actually decreases after noise reduction. The segSNR increases (Mean ± SD) at -5, 0, 5, and 10 dB were 15.22 ± 2.32, 15.51 ± 2.01, 15.80 ± 2.30, and 16.30 ± 1.66 dB, respectively, with no significant differences among the groups (p = 0.50); the LSD increases were -8.65 ± 1.27, -11.27 ± 1.37, -13.44 ± 1.58, and -14.6 dB, respectively. The STOI increase was 5 ± 0.92, showing a significant difference between the groups (p = 2.87e-9). Post-hoc multiple comparisons showed significant differences between the -5dB and 0dB, -5dB and 5dB, -5dB and 10dB, 0dB and 5dB, and 0dB and 10dB groups (p = 2.46e-3, 3.31e-7, 3.69e-9, 1.49e-2, and 1.04e-4, respectively). The values were 0.056±0.013, 0.044±0.014, 0.012±0.013, and -0.014±0.015, showing significant differences among the groups (p = 1.42e-5). Post-hoc multiple comparisons showed significant differences between the -5dB and 5dB, -5dB and 10dB groups, and 0dB and 10dB groups (p = 1.30e-2, 4.23e-5, and 1.73e-3, respectively). The ESQ increases were -0.12±0.48, 0.27±0.09, 0.44±0.11, and 0.56±0.09, respectively, with significant differences among the groups (p=1.33e-5). Post-hoc multiple comparisons showed significant differences between the -5dB and 5dB, -5dB and 10dB, and 0dB and 10dB groups (p=2.36e-3, 1.86e-5, and 1.86e-2, respectively).
[0193] This invention discloses an adaptive dual-microphone noise reduction method that employs a stable noise segment detection approach based on energy entropy ratio, and performs noise tracking within the stable noise segment. Simultaneously, it breaks down the computational load into different time windows, gradually obtaining fractional delays to approximate the noise source direction, thereby reducing real-time computational resource consumption. Furthermore, it utilizes first-level and second-level noise reduction to achieve immediate, efficient, and deep noise reduction.
[0194] Finally, it should be noted that the above preferred embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit it. Although the present invention has been described in detail through the above preferred embodiments, those skilled in the art should understand that various changes can be made to it in form and detail without departing from the scope defined by the claims of the present invention.
Claims
1. An adaptive dual-microphone noise reduction method, characterized in that, Includes the following steps: S10: Detect stable noise segment, calculate the feature value of the current frame of the main microphone signal m1; if the feature value of the current frame is lower than the feature value threshold, the current frame is determined to be a noise frame and the frame count is incremented by 1; when the frame count is greater than or equal to NoiseCounter, it is determined to enter the stable noise segment; if the feature value of the current frame is higher than the feature value threshold, NoiseCounter is set to zero and it is determined not to belong to the stable noise segment. The feature value baseline and feature value threshold are dynamically updated, wherein the feature value baseline is the average of the feature values of several main microphone signals, and the feature value threshold is dynamically updated based at least on the feature value baseline. S20: Based on minimizing the output power of the differential microphone array, noise tracking is performed on the stable noise segment, and the delay d of the secondary microphone signal m2 is updated in real time to obtain the slowly varying delay result D_sm, which specifically includes: Let the delay variable of the i-th frame be d. i , with d i-1 The delay value is applied to the secondary microphone signal m2 with a fractional delay to obtain the delayed secondary microphone signal m2d. The difference signal between the current frame's main microphone signal m1 and m2d is calculated to obtain the time-domain DMA output dmac, and the signal strength of dmac is calculated. PC ; The delayed secondary microphone signal m2d is delayed by step and advanced by step sampling points respectively to obtain m2dr and m2dl. The time-domain DMA outputs of these signals and m1 are then calculated, and the signal strengths of the output signals are determined to obtain... pr and pl ; Compare pc, pr, pl The delay d of the secondary microphone is updated based on the delay corresponding to the minimum value of the three values. The updated secondary microphone delay d is processed to obtain the delay gradient result D_sm; S30: Based on the time-delayed, slowly varying result D_sm, perform first-level noise reduction to obtain frequency domain DMA output; S40: Output after secondary noise reduction.
2. The adaptive dual-microphone noise reduction method according to claim 1, characterized in that, The eigenvalues include at least one of the following: energy entropy ratio estimate, energy-zero ratio, autocorrelation function, subband variance, spectral distance, cepstral distance, and spectral entropy eigenvalue.
3. The adaptive dual-microphone noise reduction method according to claim 2, characterized in that, When the characteristic value is the energy entropy ratio estimate, the specific steps for calculating the energy entropy ratio estimate in the stable noise segment detection of step S10 are as follows: S101: Calculate the energy entropy ratio. Perform windowed frame segmentation and Fast Fourier Transform on the main microphone signal m1. The formula for calculating the spectral entropy of the i-th frame is: ; Where i represents the i-th frame, N represents the frame length of the data segment, and k represents the k-th frequency component. Pro i,k The normalized spectral probability density function for each frequency component is defined as follows: ; in, P i,k This represents the energy of the k-th frequency component in the i-th frame; The short-time average energy is calculated using the following formula: ; The energy entropy ratio EER i The calculation formula is: ; S102: Calculate the estimated value of the energy entropy ratio. A decision-oriented method is used to estimate the current energy entropy ratio by combining the previous time-instance estimation result. The calculation formula is as follows: ; in, β This is a smoothing factor, with a value between 0 and 1; S103: Noise Frame and Stable Noise Segment Determination: Calculate the estimated energy entropy ratio of the main microphone signal m1 for the current frame; if the estimated energy entropy ratio of the current frame is lower than the energy entropy ratio threshold, the current frame is determined to be a noise frame, and the frame count is incremented by 1; when the frame count is greater than or equal to NoiseCounter, it is determined to enter the stable noise segment; if the estimated energy entropy ratio of the current frame is higher than the energy entropy ratio threshold, NoiseCounter is set to zero, and it is determined not to belong to the stable noise segment. The baseline value of the energy entropy ratio and the threshold value of the energy entropy ratio are dynamically updated.
4. The adaptive dual-microphone noise reduction method according to claim 3, characterized in that, In step S10, the specific steps for dynamically updating the energy entropy ratio baseline value are as follows: S104: Dynamically update the energy entropy ratio baseline value, and select the average of the energy entropy ratio estimates of several main microphone noisy speech signals as the energy entropy ratio baseline value; if the current frame is determined to be a frame containing speech signals, the energy entropy ratio baseline value is not updated and the previous calculation result is continued; if the current frame is determined to be a noisy frame, different updates are performed according to whether it belongs to a stable noise segment.
5. The adaptive dual-microphone noise reduction method according to claim 4, characterized in that, In step S10, the energy entropy ratio threshold is dynamically updated based on the energy entropy ratio calculation result, the energy entropy ratio estimate, and the energy entropy ratio baseline value.
6. The adaptive dual-microphone noise reduction method according to claim 1, characterized in that, In the noise tracking step S20, the specific steps for updating the secondary microphone signal delay d are as follows: S201: Calculate d i-1 Delay to obtain DMA output signal strength: S2011: Let the delay variable of the i-th frame be d. i , with d i-1 The delay value is used to apply a fractional delay to the secondary microphone signal m2 to obtain the delayed secondary microphone signal m2d; S2012: Calculate the differential signal between the current frame's main microphone signal m1 and m2d to obtain the time-domain DMA output dmac; S2013: Calculate the signal strength pc of the DMAC. The calculation formula is: ; S202 and S203: Delay the delayed secondary microphone signal m2d by step and advance it by step sampling points respectively to obtain m2dr and m2dl, and calculate the time-domain DMA output with respect to m1 respectively. Calculate the intensity of the output signal to obtain... pr and pl The calculation formula is: ; S204: Comparison pc, pr, pl The delay d of the secondary microphone is updated based on the delay corresponding to the minimum value of the three values, as follows: ; S205: The delayed, slowly varying result D_sm is calculated using a decision-oriented method, as shown in the following formula: ; in, μ It is a smoothing factor, with a value range of 0 to 1.
7. The adaptive dual-microphone noise reduction method according to claim 1, characterized in that, In step S30, the specific steps of the first-level noise reduction are as follows: The delayed, gradually varying result D_sm obtained in step S20 is used to apply a fractional delay to the secondary microphone signal m2, obtaining the output dma1 of the first-order differential microphone array in the time domain. This is then converted to the frequency domain using a fast Fourier transform and filtered by filter H. L To perform low-frequency energy compensation and obtain the frequency domain DMA output, the method is as follows: ; The compensation filter for the first-order DMA is: ; angular frequency D is the distance between the main microphone and the secondary microphone, and c is the speed of sound. α 1,1 = cosθ , θ This is the system zero point.
8. The adaptive dual-microphone noise reduction method according to claim 1, characterized in that, In step S40, a Wiener filtering algorithm based on an improved prior signal-to-noise ratio estimation method is used in conjunction with speech activity detection for secondary noise reduction. The specific steps are as follows: S401: Decision-oriented energy estimation and minimum energy estimation update; S402: Decision-oriented noise spectrum estimation and speech activity detection update; S403: 2DD algorithm for estimating prior signal-to-noise ratio ξ i,j ; S404: Calculate the Wiener filter frequency gain coefficient g using the following formula: ; S405: Adjust Wiener filter coefficients based on speech activity detection; S406: Calculate the Wiener filter noise reduction output and convert it to the time domain output through inverse Fourier transform.
9. The adaptive dual-microphone noise reduction method according to claim 8, characterized in that, The specific steps of step S401 are as follows: S4011: Frequency point energy calculation after first-level noise reduction. Speech detection and noise spectrum update are based on minimum energy value tracking. Let the energy of frequency point j in the i-th frame after frequency domain compensation in step S30 be... Pow i,j ; S4012: Energy estimation and minimum energy estimation based on DD (Discrete Derivatives) method, obtaining energy estimates through the DD method. ; The specific steps of S402 are as follows: S4021: Frequency-based speech activity detection (VAD), where the threshold for detecting speech activity at the j-th frequency point in the i-th frame is... TH i, j If the instantaneous energy value of the current frame at a certain frequency point Pow i,j Higher than the threshold of the previous frame TH i-1, j If so, it is determined that there is voice activity on that frequency point, that is... VAD i,j =1, otherwise, VAD i,j =0; S4022: VAD decision threshold and noise spectrum update based on DD.
10. The adaptive dual-microphone noise reduction method according to claim 9, characterized in that, In S405, the noise suppression level is controlled by setting a suppression factor R, as shown in the following formula: ; Where R takes values from 0 to 1.
Citation Information
Patent Citations
Low-noise differential microphone array
CN103856866A
Open acoustic device
US20230164478A1