Active noise control (ANC) is a common feature of headsets and earbuds. It operates by generating an anti-noise signal via a speaker that is approximately equal in magnitude, but opposite in phase to the ambient noise. The ambient noise and anti-noise signal cancel each other acoustically, allowing the user to hear only a desired audio signal. Typically, signal processing in ANC includes two paths: an ambient noise signal from a reference microphone is taken as the input of a feed-forward ANC filter (FFANC); and an error microphone signal is taken as the input of a feedback ANC filter (FBANC).
Based on the design principle of ANC, howling can happen when the acoustic channel from the speaker to the microphone is drastically changed. For example, when a wearer wraps their hands around the earbuds while wearing the earbuds, a sealed acoustic space is created around the earbuds. This can cause the sound from the earbud's speakers to feed back to the earbud's microphones and to be re-amplified and re-emitted in a feedback loop, thereby resulting in a high-pitched squealing or howling noise. It can be desirable to suppress such howling as quickly as possible by disabling ANC, but also to restore ANC as quickly as possible when the howling is no longer an issue.
Systems and methods are described for adaptively suppressing howling in active noise control (ANC) systems of wearable audio components (WACs) based on detecting whether the WACs are presently being worn. Upon first detecting howling, embodiments can pre-suppress the howling audio signature by reducing ANC output. Then, embodiments detect whether the WAC is presently on-ear (worn) or off-ear and attempt to fully suppress the howling using different parameters, based on this detection. For example, if on-ear, embodiments use on-ear tuning settings to cycle through a set of suppression stages until ANC output can be restored without howling: if off-ear, embodiments use off-ear tuning settings to cycle through the set of suppression stages until ANC output can be restored without howling. Once ANC output can be restored without howling, the system can be released to a normal idle state.
A further understanding of the nature and advantages of various embodiments may be realized by reference to the following figures. In the appended figures, similar components or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label by a dash and a second label that distinguishes among the similar components. If only the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference label.
Active noise control (ANC) operates in earbuds by generating an anti-noise signal via a speaker that is approximately equal in magnitude, but opposite in phase to the ambient noise. The ambient noise and anti-noise signal cancel each other acoustically, allowing the user to hear only a desired audio signal. Typically, signal processing in ANC includes two paths: an ambient noise signal from a reference microphone is taken as the input of a feed-forward ANC filter (FFANC); and an error microphone signal is taken as the input of a feedback ANC filter (FBANC). Based on the design principle of ANC, howling can happen when the acoustic channel from the speaker to the microphone is drastically changed, such as when a wearer wraps their hands around the earbuds.
It can be desirable to suppress such howling as quickly as possible by disabling ANC. Conventionally, two categories of techniques are used to suppress such howling: feedforward suppression, and feedback cancellation. In feedforward suppression techniques, the signal processing path is modified to be stable in conjunction with the acoustic channel change. Common feedforward suppression techniques include notch filtering, open-loop phase response equalization, and time-varying modulation. While these feedforward suppression techniques can suppress howling, they also tend to compromise the basic frequency response of the ANC filter and can appreciably affect ANC performance. Feedback cancellation techniques operate by producing an estimate of the acoustic echo and subtracting the estimate from a microphone signal. As a result, the microphone-speaker-microphone loop is modified and stability is achieved. However, to maintain effectiveness, the feedback canceller must continually adapt to changes in the acoustic echo channel, which can vary significantly depending on the acoustic environment. For example, sounds from jaw movement, wind, or the like, can cause the feedback canceller to generate artificial sounds when its adaptation is too fast. Further, although feedback cancellation techniques can suppress FFANC howling, they cannot suppress FBANC howling.
Turning to
Embodiments of the speaker 105 generally convert an electrical audio signal into sound waves that are delivered to the ear of the wearer of the wearable audio component. As noted above, the goal of the ANC system 100 is generally to deliver the electric audio signal to the speaker 105 in a manner that maximizes the desired audio signal and minimizes ambient noise for the wearer. Embodiments of the reference microphone 110 can be an omnidirectional microphone typically integrated with an outer casing of the wearable audio component. The reference microphone 110 captures a combined audio signal including both the desired audio (e.g., music, speech, etc.) and surrounding ambient noise. This captured reference signal is illustrated as x(n). Embodiments of the error microphone 115 are typically integrated with the inner casing of the wearable audio component to be positioned inside the ear canal or very close to it when the wearable audio component is being worn. The error microphone 115 captures the audio that reaches the eardrum, which includes the desired audio signal and any remaining ambient noise. This captured error signal is illustrated as e(n).
The illustrated ANC system 100 includes a feed-forward noise control path and a feedback noise control path. The feed-forward noise control path includes the FFANC filter 120, which is a digital or analog filter designed to process the audio signal from the reference microphone 110. The FFANC filter 120 applies a specific frequency response to x(n) to adaptively cancel out noise. The specific frequency response is produced by continuously adjusting coefficients of the FFANC filter 120 to minimize the difference between the desired audio signal and the reference signal. The output of the FFANC filter 120 is illustrated as y1(n). The feedback noise control path includes the FBANC filter 125, which is a digital or analog filter designed to process the audio signal from the error microphone 115. The FBANC filter 125 applies a specific frequency response to e(n), and continuously adjusts coefficients of the FBANC filter 125 to minimize the difference between the desired audio signal and remaining ambient noise in the signal that reaches the eardrum. The output of the FFANC filter 120 is illustrated as y2(n). In general, both the FFANC filter 120 and the FBANC filter 125 can adapt their respective filters (e.g., their coefficients) in real-time to a changing audio environment. For example, filter coefficients are iteratively adjusted using least mean squares (LMS), normalized LMS (NLMS), and/or other suitable adaptation algorithms.
Embodiments of the summer 130 combine the filtered output signals from the FFANC filter 120) and the FBANC filter 125. For example, the summer 130 calculates a sum of these signals. If tuned properly, the output of the summer 130 is an “anti-noise” signal that closely represents the ambient noise at opposite polarity. Embodiments of the ANC gain block 135 include an amplifier to provide a controllable amount of gain (G) to the signal at the output of the summer 130, resulting in an output signal, y(n)=G(y1(n)+y2(n)). In effect, the ANC gain block 135 adjusts the overall amplitude (i.e., corresponding to volume) of the combined filtered signal at the output of the summer 130. The output signal is sent to the speaker 105. In some implementations, the desired audio signal can also be mixed in prior to sending the output to the speaker 105 (e.g., at the summer 130), such that what reaches the eardrum is almost entirely the desired audio signal with minimal ambient noise.
As described above, howling (e.g., a high-pitched squeal) can happen when the acoustic channel from the speaker 105 to the microphone (e.g., the reference microphone 110) is drastically changed. One category of situations, referred to herein as “on-ear” conditions, occur while a user is wearing the wearable audio component (e.g., when an earbud is in the user's ear). One such on-ear condition can occur when users wrap their hands around a wearable audio component while wearing the wearable audio component. For example, when a user seeks to adjust an earbud in her ear, her hand may inadvertently create an acoustical shell around the earbud. Similarly, while a user is wearing the wearable audio component, wind, jaw movements, or other ambient changes can affect the acoustic channel enough to cause howling. Another category of situations, referred to herein as “off-ear” conditions, occur while a user is not wearing the wearable audio component. One such off-ear condition can occur when a user holds an earbud in her hand so that her hand may inadvertently create an acoustical shell around the earbud. Another such off-ear condition can occur when a user places an earbud in her pocket, in a case or dock, etc. while the earbud is still playing audio. The on-ear or off-ear conditions can include any on-ear or off-ear condition that changes the acoustic channel enough to create a reinforcing speaker-microphone-speaker feedback loop and resulting in howling.
Embodiments of the AHS system 140 seek to detect howling, detect whether the wearable audio component is in an on-ear or an off-ear condition, and suppress the detected howling in a manner that is adapted to the detected condition. As illustrated, the AHS system 140) includes a mode detector 145, a howling detector 150, and a howling suppressor 155. The howling detector 150 detects howling based on the error microphone 115 signal, e(n). Several techniques can be used, alone or in conjunction with each other, to detect howling.
Some embodiments of the howling detector 150 are configured to detect howling based on detecting a peak/neighbor ratio, dh1. The howling sound is usually a narrow band tone signal. As such, howling can manifest as a strong and narrow peak in the power spectrum of e(n). A peak/neighbor ratio can be computed as dh1=|Eh|−Eh-j|, where Eh is the highest peak in the power spectrum of e(n), and j defines the neighbor frequency range and is tunable. Detecting that this ratio has exceeded a predetermined peak/neighbor threshold (Dh1) can indicate that howling is present (i.e., dh1>Dh1).
Other embodiments of the howling detector 150 are configured to detect howling based on detecting a harmonic peak ratio, dh2. In the power spectrum of e(n), there will typically be only one strong howling peak before e(n) is saturated. On the contrary, natural tones, even such as whistles, tend to have strong peaks at the harmonic frequencies. A main-peak-to-harmonic-peak ratio can be computed as dh2=|Xh|−|Xh(2)|, where is Xh(2) is the second highest peak in the spectrum. Detecting that this ratio has exceeded a predetermined harmonic peak threshold (Dh2) can indicate that howling is present (i.e., dh2>Dh2).
Other embodiments of the howling detector 150 are configured to detect howling based on detecting a number of “out-of-limit” samples γh1. The out-of-limit samples are those having amplitudes beyond a predefined amplitude limit. When howling happens, the loudness of e(n) is expected to be high and continuously increasing until saturation. Howling can be detected by detecting that the number of out-of-limit samples exceeds a pre-calibrated limit threshold, Γh1 (i.e., γh1>Γh1).
Some embodiments of the howling detector 150 are configured to detect howling based on detecting any one of the above conditions as follows:
Other embodiments of the howling detector 150 are configured to detect howling only when all three of the above conditions are detected as follows:
Other embodiments of the howling detector 150 are configured to detect howling based on detecting any two of the above conditions as follows:
The thresholds, Dh1, Dh2, and Γh1, are referred to herein as detection parameters, and each is a tunable threshold. Reducing the values of the detection parameters configures the howling detector 150 for reduced detection latency, but also tends to result in an increased false trigger rate. Increasing the values of the detection parameters configures the howling detector 150 for increased detection latency (i.e., longer detection time), but also tends to result in a decreased false trigger rate. Such tuning of the detection parameters is also referred to herein as tuning the howling detector 150.
Embodiments of the mode detector 145 determine whether the wearable audio component is in an on-ear or an off-ear condition and outputs a mode selection signal (mode), accordingly, to the howling suppressor 155 and/or to the howling detector 150. The mode detector 145 can be implemented in any suitable manner that can distinguish between on-ear and off-ear conditions with sufficient reliability.
Returning to
The mode selection signal is also passed to the howling suppressor 155 to cause suppression, based on the mode, by controlling the gain provided by the ANC gain block 135. For example, the amount (amplitude) of anti-noise signal generated by the ANC system 100 as output to the speaker 105 can effectively be controlled by using the howling suppressor 155 to control the gain at the ANC gain block 135. Accordingly, howling can be suppressed by adjusting the value of G. Embodiments assume that howling is highly unlikely in the off-ear condition. For example, in the off-ear condition, howling may be triggered by certain abnormal conditions, such as by the user tightly wrapping the wearable audio component in her hands, or by outside sounds when the ANC is in a transparency mode. As described below; embodiments of the howling suppressor 155 generally use a three-state approach to suppression, which can be adapted to the detected mode; reduce gain: hold gain: restore gain.
At some subsequent time, howling may be detected by the howling detector 150 (illustrated as “Detect Howling [M1]”). In response to such detection, embodiments of the flow diagram 300 move to a mode detect stage 330, in which the mode detector 145 determines whether the wearable audio component is presently in the on-ear condition or the off-ear condition and outputs the mode selection signal, accordingly. As described herein, this mode selection effectively adapts operation of the howling detector 150 and/or howling suppressor 155 as appropriate for the mode. As described with reference to
In some embodiments, as illustrated, the mode detect stage 330) is preceded by a howling pre-detect and suppress stage 320-0), in which the AHS system 140 controls the ANC output to suppress the present howling. In some embodiments, the AHS system 140 components are set to the on-ear mode in the howling pre-detect and suppress stage 320-0). Based on the present mode detected and selected in the mode detect stage 330, the flow diagram 300 can proceed either to a howling mode 1 (M1) detect and suppress stage 320-1, or to a howling mode 2 (M2) detect and suppress stage 320-2. In the howling M1 detect and suppress stage 320-1, the AHS system 140 uses on-ear mode settings to detect and suppress the present howling until full ANC functionality can be restored: at which time the AHS system 140 releases back to the default idle stage 310 (illustrated as “Release: No Howl”). In the howling M2 detect and suppress stage 320-2, the AHS system 140 uses off-ear mode settings to detect and suppress the present howling until full ANC functionality can be restored. Either the restoration is successful, and the AHS system 140 releases back to the default idle stage 310 (illustrated as “Release: No Howl”); or the restoration is unsuccessful, and the flow diagram 300 switches over to the howling M1 detect and suppress stage 320-1 (e.g., by forcing the mode detect stage to detect the on-ear mode).
Implementations of the stages of
Similar to
In the howling pre-detect and suppress stage 320-0), the howling suppressor 155 cycles for one or more iterations through State 1 425-0) (i.e., a stage-specific version of State 1 425, labeled as “Pre Drop ANC”) and State 2 445-0) (i.e., a stage-specific version of State 2 445, labeled as “Pre Hold”). As illustrated, components can be set to Mode 1 (on-ear) tuning. In each iteration, an attack timer can be started in State 1 425-0), during which time the howling suppressor 155 reduces the total ANC output gain via the ANC gain block 135. When the attack timer is out (i.e., when a preset time elapses, an up-counter reaches a predetermined value, a down-counter reaches zero, etc.), the howling suppressor 155 transitions to State 2 445-0). In State 2 445-0), a check timer is started, during which time the howling suppressor 155 waits to see whether the howling detector 150) (tuned for on-ear mode) detects howling. If howling is detected, the check timer is cleared, the attack timer is reset, and the howling suppressor 155 transitions back to State 1 425-0) for another iteration. In some implementations, the first iteration of State 1 425-0) reduces the total ANC output gain to a lowest level (e.g., 140 decibels) to effectively disable the ANC. In such iterations, there may be no need for a State 2 445-0), as there cannot be any howling with the ANC effectively disabled. In other implementations, each iteration of State 1 425-0) reduces the total ANC output gain by an incremental amount (e.g., 10 decibels), until no howling is detected by the time the check timer is out in the corresponding iteration of State 2 445-0).
If there is no State 2 445-0), or if no howling is detected by the time the check timer is out, the AHS system 140 transitions to the mode detect stage 330, in which the mode detector 145 determines whether the wearable audio component is presently in the on-ear condition or the off-ear condition and outputs the mode selection signal, accordingly. As described herein, the mode detect stage 330) can use on-ear sensing. ILD threshold detection, and/or any other suitable 20) approach to discriminating between the on-ear and off-ear conditions. Though not explicitly shown, implementations relying on ILD threshold detection can obtain an ILD value upon triggering of the howling pre-detect and suppress stage 320-0). For example, prior to a first iteration of State 1 425-0), such implementations measure x(n) and e(n) and can compute a ratio. In such implementations, in the mode detect stage 330, the mode detector 145 can compare the obtained ILD value to the ILD threshold to determine whether the wearable audio component is presently in the on-ear condition or the off-ear condition.
As illustrated (and as described with reference to
If howling is detected by the howling detector 150 at any time prior to the release timer being out, the howling suppressor 155 transitions to State 1 425-1 (i.e., a stage-specific version of State 1 425, labeled as “M1 Drop ANC”). Embodiments can also clear and reset the release timer. The howling M1 detect and suppress stage 320-1 can commence by the howling suppressor 155 cycling for one or more iterations through State 1 425-1 and State 2 445-1 (i.e., a stage-specific version of State 2 445, labeled as “M1 Hold”). In each iteration, an attack timer can be started in State 1 425-1, during which time the howling suppressor 155 reduces the total ANC output gain via the ANC gain block 135. When the attack timer is out, the howling suppressor 155 transitions to State 2 445-1. In State 2 445-1, a check timer is started, during which time the howling suppressor 155 waits to see whether the howling detector 150 (tuned for on-ear mode) detects howling. If howling is detected, the check timer is cleared, the attack timer is reset, and the howling suppressor 155 transitions back to State 1 425-1 for another iteration. In some implementations, the first iteration of State 1 425-1 reduces the total ANC output gain to a lowest level (e.g., 140) decibels) to effectively disable the ANC. In such iterations, there may be no need for a State 2 445-1. In other implementations, each iteration of State 1 425-1 reduces the total ANC output gain by an incremental amount (e.g., 10 decibels), until no howling is detected by the time the check timer is out in the corresponding iteration of State 2 445-1. If there is no State 2 445-1, or if no howling is detected by the time the check timer is out, embodiments restart the release timer and return to State 3 450-1 (i.e., another attempt is made to restore the ANC functionality).
If howling is detected by the howling detector 150 at any time prior to the release timer being out, the howling suppressor 155 transitions to State 1 425-2 (i.e., a stage-specific version of State 1 425, labeled as “M2 Drop ANC”). Embodiments can also clear and reset the release timer. Embodiments also reset a counter (e.g., Count=0). The resetting of the counter can occur upon transition to State 1 425-2, or at any suitable time prior (e.g., prior to State 3 450-21).
The howling M2 detect and suppress stage 320-2 can commence by the howling suppressor 155 cycling for one or more iterations through State 1 425-2 and State 2 445-2 (i.e., a stage-specific version of State 2 445, labeled as “M2 Hold”). In each iteration, an attack timer can be started in State 1 425-2, during which time the howling suppressor 155 reduces the total ANC output gain via the ANC gain block 135. When the attack timer is out, the howling suppressor 155 transitions to State 2 445-2. In State 2 445-2, a check timer is started, during which time the howling suppressor 155 waits to see whether the howling detector 150 (tuned for off-ear mode) detects howling. If no howling is detected by the time the check timer is out, embodiments restart the release timer and return to State 3 450-21 (i.e., another attempt is made to restore the ANC functionality).
If howling is detected, the check timer is cleared, the attack timer is reset, and the count is incremented (i.e., Count=Count+1). A determination is made (illustrated as block 455) as to whether the updated count exceeds a predetermined count threshold, Tc. For example, Tc can be set to ‘5’ to limit the howl M2 detect and suppress stage 320-2 to five iterations. If the updated count has not exceeded the count threshold, and the howling suppressor 155 transitions back to State 1 425-2 for another iteration. In some implementations, the first iteration of State 1 425-2 reduces the total ANC output gain to a predetermined intermediate level (e.g., −20 decibels) at which it is highly unlikely that there would be any howling in the off-ear condition. In other implementations, each iteration of State 1 425-2 reduces the total ANC output gain by an incremental amount (e.g., −5 decibels).
If the updated count has exceeded the count threshold, embodiments can once again seek to restore ANC functionality by transitioning to State 3 450-22 (i.e., a second stage-specific version of State 3 450, also labeled as “Restore ANC”). Embodiments can reset and start a release timer (“RT”), during which time the howling suppressor 155 restores the total ANC output gain via the ANC gain block 135 (e.g., to full ANC operation). Meanwhile, the howling detector 150 is using the off-ear mode settings to detect howling. If no howling is detected before the release timer is out (e.g., before full ANC functionality is restored), embodiments return to State 0 310.
If howling is detected by the howling detector 150 at any time prior to the release timer being out, the AHS system 140 transitions over to the howl M1 detect and suppress stage 320-1. For example, such a condition can indicate that the initial mode determination (i.e., off-ear mode) was incorrect, and that the on-ear mode should have been selected. In the illustrated implementation, the release timer is reset, and the AHS system 140 returns to the howl pre-detect and suppress stage 320-0 (i.e., to re-suppress the howling). Upon returning to the mode detect stage 330), the AHS system 140 forces a determination of the on-ear mode. For example, an ILD value can be fabricated, or a sensor reading can be fabricated to ensure such a determination by the mode detector 145. In another implementation, the howling suppressor 155 can disable ANC functionality, components can be set to on-ear settings, the release timer can be reset, and the howl M1 detect and suppress stage 320-1 can commence directly. In another implementation, the howling suppressor 155 can disable ANC functionality, the AHS system 140 can return to the mode detect stage 330) and can force selection of the on-ear mode.
At stage 516, embodiments can detect (e.g., responsive to the detecting at stage 508) whether the wearable audio component is presently in an on-ear condition or in an off-ear condition. In some embodiments, the detecting at stage 516 includes computing a present inter-channel difference (ILD) value, after the detecting at stage 508 and prior to the pre-suppressing at stage 512, as a ratio between an error audio signal received from an error microphone of the wearable audio component and a reference audio signal received from a reference microphone of the wearable audio component. Such embodiments can then compare the present ILD value to a pre-calibrated ILD threshold, such that the detecting at stage 516 yields that the wearable audio component is presently in the on-ear condition responsive to the present ILD value exceeding the ILD threshold, and the detecting at stage 516 yields that the wearable audio component is presently in the off-ear condition responsive to the present ILD value not exceeding the ILD threshold. In other embodiments, the detecting at stage 516 includes using an on-ear sensor to sense whether the wearable audio component is presently being worn, such that the detecting at stage 516 yields that the wearable audio component is presently in the on-ear condition responsive to sensing that the wearable audio component is presently being worn, and the detecting at stage 516 yields that the wearable audio component is presently in the off-ear condition otherwise.
At stage 520, responsive to and in accordance with the detecting at stage 516, embodiments can suppress the howling audio signature by performing stages 524-536. In particular, at stage 524, embodiments can select either an on-ear mode path or an off-ear mode path corresponding to the condition determined in stage 516. In the on-ear path, the method 500 performs stages 528-536 as stages 528a-536a; in the off-ear path, the method 500 performs stages 528-536 as stages 528b-536b.
In the on-ear path, at stage 528a, embodiments can tune a set of mode-based parameters to on-ear-mode settings. At stage 532a, embodiments can cycle through a set of suppression stages according to the on-ear-mode settings. The set of suppression stages includes one or more iterations of an ANC gain restore/detect stage and an ANC gain reduce/detect stage. Embodiments of the suppression at stage 532a can be implemented as described with reference to the howl M1 detect and suppress stage 320-1 of
In some embodiments, the cycling at stage 532a includes: (a) performing the ANC gain restore/detect stage to detect whether the ANC output gain is restorable without recurrence of the howling audio signature: (b) responsive to determining that the ANC output gain is restorable without recurrence of the howling audio signature, releasing the ANC system back to the idle state; and (c) responsive to determining that the ANC output gain is not restorable without recurrence of the howling audio signature, performing the ANC gain reduce/detect stage. Step (c) can include: (c1) reducing the ANC output gain by a reduction amount to a reduced ANC output gain: (c2) detecting whether the howling audio signature is present at the reduced ANC output gain: (c3) responsive to detecting that the howling audio signature is not present at the reduced ANC output gain, returning to step (a); and (c4) responsive to detecting that the howling audio signature is present at the reduced ANC output gain, returning to step (c1). In some such embodiments, the detecting in steps (a) and (c2) is based on at least one detection threshold tuned for the on-ear mode as part of the set of mode-based parameters. In some such embodiments, the reduction amount in step (c1) is tuned for the on-ear mode as part of the set of mode-based parameters. For example, the reduction is to −140 decibels (or some other maximum negative level) in a single step (i.e., the reduction amount is equal to the maximum negative level), or in parameter-specified increments.
In the off-ear path, at stage 528b, embodiments can tune a set of mode-based parameters to off-ear-mode settings. At stage 532b, embodiments can cycle through a set of suppression stages according to the off-ear-mode settings. The set of suppression stages includes one or more iterations of an ANC gain restore/detect stage and an ANC gain reduce/detect stage. Embodiments of the suppression at stage 532b can be implemented as described with reference to the howl M2 detect and suppress stage 320-2 of
In some embodiments, the cycling at stage 532b includes: (a) performing the ANC gain restore/detect stage to detect whether the ANC output gain is restorable without recurrence of the howling audio signature: (b) responsive to determining that the ANC output gain is restorable without recurrence of the howling audio signature, releasing the ANC system back to the idle state; and (c) responsive to determining that the ANC output gain is not restorable without recurrence of the howling audio signature, performing the ANC gain reduce/detect stage. Step (c) can include: (c1) setting an iteration counter to zero: (c2) reducing the ANC output gain by a reduction amount to a reduced ANC output gain: (c3) detecting whether the howling audio signature is present at the reduced ANC output gain: (c4) responsive to detecting that the howling audio signature is not present at the reduced ANC output gain, returning to step (a): (c5) responsive to detecting that the howling audio signature is present at the reduced ANC output gain, determining whether the iteration counter equals a predetermined maximum count: (c6) responsive to determining that the iteration counter does not equal the predetermined maximum count, returning to step (c2); and (c7) responsive to determining that the iteration counter equals the predetermined maximum count, re-performing at least the suppressing the howling audio signature based on forcing detecting that the wearable audio component is presently in the on-ear condition. In some such embodiments, the detecting in steps (a) and (c3) is based on at least one detection threshold tuned for the off-ear mode as part of the set of mode-based parameters. In some such embodiments, the reduction amount in step (c2) is tuned for the off-ear mode as part of the set of mode-based parameters. For example, the pre-suppressing in stage 512 reduces the ANC output gain to a maximum negative level of −X decibels, and the off-ear reduction amount and the iteration counter are tuned so that when the iteration counter equals the maximum count, the reduced ANC output gain is at −Y decibels, where Y<X/2 (e.g., the maximum negative level is −140 decibels, and the reduced ANC output gain at timeout is-20 decibels). In some embodiments, the re-performing at step (c7) involves: re-performing the pre-suppressing at stage 512: re-performing the detecting at stage 516, however by forcing the detecting to yield that the wearable audio component is presently in the on-ear condition; and re-performing the suppressing at stage 520 based on the re-performing the detecting at stage 516.
As described herein, the set of mode-based parameters includes at least one detection threshold having a first value according to the on-ear-mode settings and a second value according to the off-ear-mode settings, where the first and second values are different. For example, the detection threshold is higher in the on-ear-mode settings so that the on-ear howling detection has fewer false detections (e.g., although it can be slower to detect) and the off-ear howling detection can be faster to detect (e.g., although with more likelihood for false detections). Each of the detecting at stage 508, cycling at stage 532a (i.e., the ANC gain reduce/detect stage and the ANC gain restore/detect stage for the on-ear condition), cycling at stage 532b (i.e., the ANC gain reduce/detect stage and the ANC gain restore/detect stage for the off-ear condition) includes detecting whether the howling audio signature is exceeding the detection threshold at its tuned mode-dependent value. In some embodiments, such detection involves: detecting, in a power spectrum of an error audio signal received from an error microphone of the wearable audio component, a peak/neighbor ratio as a ratio of a highest peak level and peak levels over a surrounding frequency range; and determining whether the peak/neighbor ratio exceeds a pre-calibrated peak/neighbor threshold. In other embodiments, such detection involves: detecting, in a power spectrum of an error audio signal received from an error microphone of the wearable audio component, a harmonic peak ratio as a ratio of a main peak level at a fundamental frequency to peak levels at one or more harmonic frequencies of the fundamental frequency; and determining whether the harmonic peak ratio exceeds a pre-calibrated harmonic peak threshold. In other embodiments, such detection involves: detecting, for time-based samples of an error audio signal received from an error microphone of the wearable audio component, a number of out-of-limit samples as a count of the time-based samples over a time window having amplitudes exceeding a predefined amplitude limit; and determining whether the number of out-of-limit samples exceeds a pre-calibrated limit threshold. In other embodiments, such detection involves any one or more of the above techniques. For example, the detecting involves determining, for an error audio signal received from an error microphone of the wearable audio component whether a peak/neighbor ratio exceeds a pre-calibrated peak/neighbor threshold, whether a harmonic peak ratio exceeds a pre-calibrated harmonic peak threshold, and/or whether a number of out-of-limit samples exceeds a pre-calibrated limit threshold.
The systems and methods described above can be implemented in any suitable wearable electronic audio component.
Embodiments are described above in the context of earbuds operating in a normal mode, such as where a user is listening to desired audio with ANC being used to minimize ambient noise. Techniques described herein can similarly operate in other contexts. One such context is when using earbuds with ANC in transparency mode. Another such context is using earbuds in a hearing aid mode. Another such context is where the wearable audio component is a hearing aid.
Embodiments described herein provide several features. One feature is that embodiments can adaptively optimize the howling detection tunings for different situations. For example, when howling risk is low, the howling detection is tuned to have a low false trigger rate and a long detection time, as ambient noise and playback sound will not tend to cause false detection. When the possibility of howling is high, the howling detection is tuned to have a high false trigger rate and short detection time. This can help to stop howling early and improve user experience. Another feature is that embodiments suppress howling by modifying the total anti-noise gain. Unlike conventional approaches that rely on feed-forward howling suppression techniques (e.g., notch filtering) and can only suppress FFANC-based howling, novel approaches described herein do not tend to introduce distortions to the ANC system output in normal conditions and can suppress both FFANC and FBANC howling.
Having described several example configurations, various modifications, alternative constructions, and equivalents may be used without departing from the spirit of the disclosure. For example, the above elements may be components of a larger system, wherein other rules may take precedence over or otherwise modify the application of the invention. Also, a number of steps may be undertaken before, during, or after the above elements are considered.