Audio gain selection
By using multiple gain adjusters and gain controllers in audio devices, the appropriate gain adjustment signal is dynamically selected, which solves the problem of signal saturation and voice detection difficulties caused by changes in input signal level, and improves the performance of audio processing.
Patent Information
- Application Number
- CN202080101748.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-06-10
- Publication Date
- 2025-08-22
- Estimated Expiration
- 2040-06-10
AI Technical Summary
In the prior art, changes in the input signal level of the audio signal lead to improper gain selection, which may lead to signal saturation or difficulty in voice detection.
Using multiple gain regulators and gain controllers, the appropriate gain adjustment signal is selected based on external criteria or signal criteria, and the gain is dynamically adjusted to adapt to different input signal levels.
Improves the performance of audio processing operations, avoids signal saturation and improves voice detectability.
Smart Images

Figure CN115769567B_ABST
Abstract
Description
Technical Field
[0001] Generally speaking, the present disclosure relates to audio gain selection. Background Art
[0002] The advancement of technology has led to smaller and more powerful computing devices. For example, there are currently various portable personal computing devices, including small, lightweight and easily portable wireless phones (such as mobile and smart phones, tablet devices and laptop computers). These devices can transmit voice and data packets on wireless networks. In addition, many such devices incorporate additional functions, such as digital cameras, digital video cameras, digital recorders and audio file players. In addition, such devices can process executable instructions, including software applications (such as web browser applications) that can be used to access the Internet. Therefore, these devices can include critical computing capabilities.
[0003] Such computing devices typically incorporate functionality for receiving an audio signal from a microphone. For example, the audio signal may represent a user's voice captured by the microphone. A predetermined gain is applied to the audio signal to amplify the audio signal, such as for voice activation processing. However, the input signal level of the audio signal may vary due to various factors. For example, if the user is closer to the microphone or speaks loudly, the signal level may be higher. Alternatively, if the user is farther away from the microphone or speaks softly, the signal level may be lower. When the input signal level is high, applying too much gain may result in signal saturation. When the input signal level is low, applying too little gain may make it difficult to detect the user's voice. Summary of the Invention
[0004] According to one implementation of the present disclosure, a device includes one or more processors configured to output a first gain-adjusted signal from a first gain adjuster or a second gain-adjusted signal from a second gain adjuster as input to an audio processing operation based on at least one of an external criterion or a signal-based criterion. The first gain-adjusted signal corresponds to a first gain applied to an audio signal from a microphone, and the second gain-adjusted signal corresponds to a second gain applied to an audio signal from the microphone. The signal-based criterion is based on whether a first signal metric associated with the first gain-adjusted signal or a second signal metric associated with the second gain-adjusted signal is closer to a target metric.
[0005] According to another implementation of the present disclosure, a method includes determining at least one criterion selected from an external criterion or a signal-based criterion. The signal-based criterion is based on whether a first signal metric associated with a first gain-adjusted signal or a second signal metric associated with a second gain-adjusted signal is closer to a target metric. The method further includes outputting the first gain-adjusted signal from a first gain adjuster or the second gain-adjusted signal from a second gain adjuster as input to an audio processing operation based on the at least one criterion determined. The first gain-adjusted signal is based on applying a first gain to an audio signal from a microphone. The second gain-adjusted signal is based on applying a second gain to the audio signal.
[0006] According to another implementation of the present disclosure, a computer-readable storage device stores instructions that, when executed by one or more processors, cause the one or more processors to perform the following operations: determine at least one criterion among an external criterion or a signal-based criterion. The signal-based criterion is based on whether a first signal metric associated with a first gain-adjusted signal or a second signal metric associated with a second gain-adjusted signal is closer to a target metric. The instructions, when executed by the one or more processors, also cause the one or more processors to perform the following operations: based on the at least one criterion determined, output the first gain-adjusted signal from the first gain adjuster or the second gain-adjusted signal from the second gain adjuster as input to an audio processing operation. The first gain-adjusted signal is based on applying a first gain to an audio signal from a microphone. The second gain-adjusted signal is based on applying a second gain to the audio signal.
[0007] According to another implementation of the present disclosure, a device includes: a unit for determining at least one criterion of an external criterion or a signal-based criterion. The signal-based criterion is based on whether a first signal metric associated with a first gain-adjusted signal or a second signal metric associated with a second gain-adjusted signal is closer to a target metric. The device also includes: a unit for outputting one of the first gain-adjusted signal from a first gain adjuster or the second gain-adjusted signal from a second gain adjuster as an input to an audio processing operation. The one of the first gain-adjusted signal or the second gain-adjusted signal is based on the at least one criterion determined. The first gain-adjusted signal is based on applying a first gain to an audio signal from a microphone. The second gain-adjusted signal is based on applying a second gain to the audio signal.
[0008] Other aspects, advantages, and features of the present disclosure will become apparent after reviewing the entire application, including the following sections: Brief Description of the Drawings, Detailed Description, and Claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Figure 1 is a block diagram of certain illustrative aspects of a system operable to perform audio gain selection according to some examples of the present disclosure.
[0010] Figure 2 According to some examples of the present disclosure Figure 1 Schematic diagram of illustrative aspects of a gain controller of a system.
[0011] Figure 3 is a schematic diagram of illustrative aspects of a system operable to perform audio gain selection according to some examples of the present disclosure.
[0012] Figure 4 is a schematic diagram of illustrative aspects of a system operable to perform audio gain selection according to some examples of the present disclosure.
[0013] Figure 5 is a schematic diagram of illustrative aspects of a system operable to perform audio gain selection according to some examples of the present disclosure.
[0014] Figure 6 Examples of integrated circuits including a gain controller according to some examples of the present disclosure are shown.
[0015] Figure 7 is a schematic diagram of a first example of a vehicle including a gain controller according to some examples of the present disclosure.
[0016] Figure 8 is a schematic diagram of a second example of a vehicle including a gain controller according to some examples of the present disclosure.
[0017] Figure 9 is a schematic diagram of a headset, such as a virtual reality or augmented reality headset, including a gain controller according to some examples of the present disclosure.
[0018] Figure 10 is a schematic diagram of a wearable electronic device including a gain controller according to some examples of the present disclosure.
[0019] Figure 11 is a schematic diagram of a voice-controlled speaker system including a gain controller according to some examples of the present disclosure.
[0020] Figure 12 Some examples according to the present disclosure may be Figure 1A schematic diagram of a specific implementation of a method for audio gain selection performed by a device.
[0021] Figure 13 is a block diagram of a specific illustrative example of a device operable to perform audio gain selection according to some examples of the present disclosure. DETAILED DESCRIPTION
[0022] The audio signal received from the microphone is typically amplified by applying gain to the signal before performing other audio processing operations. When the input signal level of the audio signal is high, applying too much gain may cause signal saturation. When the input signal level is low, applying too little gain may make it difficult to detect any user voice.
[0023] Disclosed are systems and methods for selecting an audio gain for an audio signal received from a microphone. For example, a device includes multiple gain adjusters, wherein a first gain adjuster is configured to apply a lower gain to the audio signal and a second gain adjuster is configured to apply a higher gain to the audio signal. A gain controller outputs one of a first gain-adjusted signal from the first gain adjuster or a second gain-adjusted signal from the second gain adjuster as input to an audio processing operation. For example, the gain controller outputs a first gain-adjusted signal (e.g., corresponding to a lower gain) in response to determining that the audio signal may have a higher input level (e.g., during the day when the user is closer to the device). In a specific example, the gain controller outputs the first gain-adjusted signal (e.g., corresponding to a lower gain) in response to determining that clipping is detected in the second gain-adjusted signal indicating that the second gain-adjusted signal is saturated. Alternatively, the gain controller outputs a second gain-adjusted signal in response to determining that the audio signal may have a lower input level (e.g., during the night or when the user is farther away from the device) and no clipping is detected in the second gain-adjusted signal.
[0024] The following describes certain aspects of the present disclosure with reference to the accompanying drawings. In this description, common features are designated by common reference numerals. As used herein, various terms are used only for the purpose of describing a particular implementation and are not intended to limit the implementation. For example, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. In addition, some features described herein are singular in some implementations and plural in other implementations. For example, Figure 1 Depicts a system comprising one or more processors ( Figure 1190), indicating that in some implementations, the device 102 includes a single processor 190, while in other implementations, the device 102 includes multiple processors 190. For ease of reference, such features are generally introduced as "one or more" features and are subsequently referred to in the singular unless aspects related to multiple features are being described.
[0025] It will be further understood that the terms "comprise," "comprises," and "comprising" can be used interchangeably with "include," "includes," or "including." Additionally, it will be understood that the term "wherein" can be used interchangeably with "wherein." As used herein, "exemplary" can indicate examples, implementations, and / or aspects and should not be interpreted as limiting or indicating preferences or preferred implementations. As used herein, ordinal numbers (e.g., "first," "second," "third," etc.) used to modify elements such as structures, components, operations, etc. do not, by themselves, indicate any priority or order of the element relative to another element, but merely distinguish the element from another element having the same name (but using an ordinal number). As used herein, the term "set" refers to one or more of a particular element, and the term "plurality" refers to multiple (e.g., two or more) of a particular element.
[0026] As used herein, "coupling" may include "communicatively coupled," "electrically coupled," or "physically coupled," and may also (or alternatively) include any combination thereof. Two devices (or components) may be coupled (e.g., communicatively coupled, electrically coupled, or physically coupled) directly or indirectly via one or more other devices, components, lines, buses, networks (e.g., a wired network, a wireless network, or a combination thereof), etc. As illustrative, non-limiting examples, two electrically coupled devices (or components) may be included in the same device or different devices, and may be connected via electronics, one or more connectors, or inductive coupling. In some implementations, two devices (or components) that are communicatively coupled (such as in electronic communication) may send and receive signals (e.g., digital signals or analog signals) directly or indirectly (via one or more lines, buses, networks, etc.). As used herein, "directly coupled" may include two devices that are coupled (e.g., communicatively coupled, electrically coupled, or physically coupled) without an intervening component.
[0027] In this disclosure, terms such as "determine," "calculate," "estimate," "shift," "adjust," etc. may be used to describe how to perform one or more operations. It should be noted that such terms should not be construed as limiting, and other techniques may be utilized to perform similar operations. Additionally, as referenced herein, "generate," "calculate," "estimate," "use," "select," "access," and "determine" may be used interchangeably. For example, "generating," "calculating," "estimating," or "determining" a parameter (or signal) may refer to actively generating, estimating, calculating, or determining a parameter (or signal), or may refer to using, selecting, or accessing a parameter (or signal) that has already been generated, for example, by another component or device.
[0028] refer to Figure 1 , discloses certain illustrative aspects of a system configured to select a gain for a received microphone signal and generally designated 100. System 100 includes a device 102 coupled to a microphone 104, one or more external systems 140, a voice activation system 150, or a combination thereof.
[0029] Device 102 includes an input interface 106 configured to be coupled to microphone 104. Input interface 106 is coupled to gain adjuster 110 and gain adjuster 120. Input interface 106 is configured to receive audio signal 107 from microphone 104 and provide audio signal 107 to gain adjuster 110 and gain adjuster 120. Device 102 also includes one or more processors 190. Processor 190 includes a gain controller 130 coupled to gain adjuster 110 and gain adjuster 120. As an illustrative example, a specific configuration is provided in which input interface 106 and gain controller 130 are coupled to two gain adjusters. In other implementations, input interface 106 and gain controller 130 are coupled to more than two gain adjusters.
[0030] A gain adjuster is a device, component, or circuit configured to apply a gain to an audio signal, convert an analog signal to a digital signal, or perform both operations. For example, gain adjuster 110 includes an amplifier 112 and an ADC 114, wherein amplifier 112 is configured to generate a gain-adjusted signal by applying a gain 115 (e.g., 7.5 decibels (dB)) to the audio signal, and ADC 114 is configured to generate a digital signal by performing analog-to-digital conversion on the analog signal. By way of example, gain adjuster 110 is configured to generate a gain-adjusted signal 111 by applying a gain 115 to audio signal 107, performing analog-to-digital conversion, or performing both operations. Gain adjuster 120 includes an amplifier 122 and an ADC 124, wherein amplifier 122 is configured to generate a gain-adjusted signal by applying a gain 125 (e.g., 27.0 dB) to the audio signal, and ADC 124 is configured to generate a digital signal by performing analog-to-digital conversion on the analog signal. By way of example, the gain adjuster 120 is configured to generate the gain adjusted signal 121 by applying a gain 125 to the audio signal 107 , performing an analog-to-digital conversion, or both.
[0031] In certain aspects, gain 115 is less than gain 125. For example, gain-adjusted signal 111 corresponds to a lower gain applied to audio signal 107, while gain-adjusted signal 121 corresponds to a higher gain applied to audio signal 107. When audio signal 107 has higher power (e.g., a user's voice at a higher volume), higher gain 125 may cause signal saturation. In these cases, providing gain-adjusted signal 111 corresponding to lower gain 115 to audio processing operation 152 can result in improved performance of audio processing operation 152. In certain examples, audio processing operation 152 includes a speech recognition operation (e.g., a keyword detection operation). When audio signal 107 has lower power (e.g., a user's voice at a lower volume), lower gain 115 may reduce the detectability of the user's voice. In these cases, providing gain-adjusted signal 121 corresponding to higher gain 125 to audio processing operation 152 can result in improved performance of audio processing operation 152.
[0032] The gain controller 130 is coupled to one or more external systems 140. For example, the external system 140 includes a time sensor 142, a motion sensor 144, a user proximity (UP) sensor 146, or a combination thereof. The time sensor 142 is configured to generate time sensor data 143 that indicates a detected time of day (e.g., nighttime, daytime, system clock time, or a combination thereof). In some examples, such as reference Figure 2As further described, the time sensor 142 includes one or more of a clock, a wireless signal indicating the time (e.g., a global positioning system (GPS) signal), or a camera. The motion sensor 144 is configured to generate motion sensor data 145 indicating the amount of movement detected. In some examples, such as reference Figure 2 As further described, the motion sensor 144 includes one or more of a GPS receiver, a camera, or an accelerometer. The UP sensor 146 is configured to generate UP sensor data 147 that indicates a detected distance 154 of the user. In some examples, as described with reference to FIG. Figure 2 As further described, the UP sensor 146 includes one or more of a camera or microphone 104 .
[0033] Although the time sensor 142, the motion sensor 144, and the UP sensor 146 are shown as separate components, in other implementations, one or more of the time sensor 142, the motion sensor 144, or the user proximity UP sensor 146 may be combined into a single component. In a specific example, a camera may operate as one or more of the time sensor 142, the motion sensor 144, or the user proximity UP sensor 146. For example, the gain controller 130 may process the image data from the camera into time sensor data 143 by detecting whether it is nighttime or daytime based on the amount of light indicated by the image data from the camera. The gain controller 130 may process the image data from the camera into motion sensor data 145 by detecting the amount of movement indicated by the image data from the camera. For example, the image data may include time-sequential image frames that can be analyzed to detect the amount of movement. The gain controller 130 may process the image data into UP sensor data 147 by determining a detected distance 154 of the user based on the image of the user indicated by the image data from the camera. In certain aspects, gain controller 130 is configured to update gain 115 , gain 125 , or both based on detected distance 154 .
[0034] Gain controller 130 is configured to determine at least one of an external criterion 132 or a signal-based criterion 134. External criterion 132 is based on external data from external system 140. In certain aspects, gain controller 130 is configured to determine external criterion 132 based on time sensor data 143, motion sensor data 145, UP sensor data 147, one or more other types of external data, or a combination thereof. Signal-based criterion 134 is based on gain-adjusted signal 111, gain-adjusted signal 121, or both. For example, gain controller 130 is configured to determine signal metric 162 based on gain-adjusted signal 111, signal metric 164 based on gain-adjusted signal 121, or both. In certain aspects, gain controller 130 is configured to determine signal-based criterion 134 based on at least one of signal metric 162, signal metric 164, or target metric 160. For example, signal-based criterion 134 is based on whether signal metric 162 or signal metric 164 is closer to target metric 160. The target metric 160 is based on default data, configuration settings, user input, or a combination thereof. In certain aspects, the target metric 160 represents an audio signal having an audio level that is large enough to improve (e.g., maximize) detection of features in the signal without saturation (which results in loss of feature information in the signal).
[0035] The gain controller 130 is configured to output one of the gain-adjusted signal 111 or the gain-adjusted signal 121 as an input to the voice activation system 150 based on at least one of the external criteria 132 or the signal-based criteria 134. For example, the gain controller 130 provides an output signal 135 to the voice activation system 150, and the output signal 135 includes the gain-adjusted signal 111 or the gain-adjusted signal 121. The voice activation system 150 is configured to perform an audio processing operation 152 based on the output signal 135.
[0036] During operation, the input interface 106 receives an audio signal 107 from the microphone 104. For example, the audio signal 107 corresponds to speech captured by the microphone 104, for example, from the user 101. In a specific example, the audio signal 107 indicates one or more keywords (e.g., "Hi, assistant") spoken by the user 101 to initiate an operation of the voice activation system 150 (e.g., waking up the virtual assistant, switching the device 102 to active mode, or both). The input interface 106 provides the audio signal 107 to the gain adjuster 110, the gain adjuster 120, one or more additional gain adjusters, or a combination thereof.
[0037] Gain controller 130 receives external data from external system 140, for example, concurrently with input interface 106 receiving audio signal 107 from microphone 104. For example, concurrently with input interface 106 receiving audio signal 107, gain controller 130 receives time sensor data 143, motion sensor data 145, UP sensor data 147, or a combination thereof. In certain aspects, gain controller 130 determines a detected distance 154 between device 102 and user 101 based on UP sensor data 147. In certain examples, UP sensor 146 includes an image sensor (e.g., a camera), UP sensor data 147 includes image data representing an image of user 101 captured by the image sensor, and gain controller 130 determines detected distance 154 by performing image analysis on the image. In another example, UP sensor 146 includes microphone 104, UP sensor data 147 includes audio signal 107, and gain controller 130 determines detected distance 154 by performing audio analysis on audio signal 107.
[0038] In a particular implementation, the gain 115 (e.g., 7.5 dB), the gain 125 (e.g., 27.0 dB), or both are based on one or more configuration settings, default values, user input, hardware configuration, or a combination thereof. In a particular implementation, the gain controller 130 is configured to update the gain 115, the gain 125, or both based on external data from the external system 140. In a particular example, the gain controller 130 sets the gain 115 to a first value (e.g., 7.5 dB) in response to determining that the detected distance 154 is less than or equal to a threshold distance (e.g., 0.3 meters). Alternatively, the gain controller 130 sets the gain 115 to a second value (e.g., 13.5 dB) in response to determining that the detected distance 154 (e.g., 0.6 meters) is greater than a threshold distance (e.g., 0.3 meters). For example, if the detected distance 154 indicates that the user 101 is relatively close to the device 102, the gain 115 is lower.
[0039] In a particular implementation, the gain controller 130 is configured to update the gain 115, the gain 125, or both based on historical data from the voice activation system 150. For example, the gain controller 130 determines that the historical data indicates a greater-than-threshold error in speech detection under specific conditions (e.g., a specific user, a specific time of day, a specific time range, a detected distance, or a combination thereof) using a specific value of the gain 115 (e.g., 7.5 dB). The gain controller 130 sets the gain 115 to a second value (e.g., 13.5 dB) that is higher than the specific value (e.g., 7.5) in response to detecting the specific conditions (e.g., a specific user, a specific time of day, a time within a specific time range, a detected distance, or a combination thereof). As another example, the gain controller 130 determines that the historical data indicates a greater-than-threshold saturation occurred under specific conditions (e.g., a specific user, a specific time of day, a specific time range, a detected distance, or a combination thereof) using a specific value of the gain 125 (e.g., 27.0 dB). The gain controller 130 sets the gain 125 to a second value (e.g., 24.0 dB) that is lower than a specific value (e.g., 27.0 dB) in response to detecting a specific condition (e.g., a specific user, a specific time of day, a time within a specific time range, a detected distance, or a combination thereof).
[0040] In a specific implementation, the gain controller 130 determines an external criterion 132 based on external data and activates the gain adjuster 110, the gain adjuster 120, or both based on the external criterion 132, as described with reference to FIG. Figure 2 In one example, the gain controller 130 activates the gain adjuster 110 and deactivates the gain adjuster 120 in response to determining that the external criteria 132 indicates that the audio signal 107 may correspond to an audio signal of higher power (e.g., higher volume) and a lower gain would be more appropriate (such as when the user 101 is relatively close to the device 102 during the day). Alternatively, the gain controller 130 activates the gain adjuster 120 and deactivates the gain adjuster 110 in response to determining that the external criteria 132 indicates that the audio signal 107 may correspond to an audio signal of lower power (e.g., lower volume) and a higher gain would be more appropriate (such as when the user 101 is relatively far away from the device 102, or when the audio signal 107 is received in the middle of the night).
[0041] In a particular example, gain controller 130 activates both gain adjuster 110 and gain adjuster 120 in response to determining that external criteria 132 indicate that lower gain 115 or higher gain 125 may be appropriate. In a particular implementation, gain adjuster 110 and gain adjuster 120 are activated independent of external criteria 132 (e.g., are always activated when device 102 is activated).
[0042] Gain controller 130 supports multiple operating modes, including single-channel mode 180, multi-channel mode 182, and polling mode 184. Single-channel mode 180 corresponds to activation of a single gain adjuster in gain adjuster 110 or gain adjuster 120. Multi-channel mode 182 corresponds to activation of multiple gain adjusters (e.g., gain adjuster 110 and gain adjuster 120).
[0043] As reference Figure 2 As further described, polling mode 184 corresponds to the gain controller 130 activating multiple gain adjusters (e.g., gain adjuster 110 and gain adjuster 120) during the polling phase of polling mode 184 and activating a single gain adjuster in gain adjuster 110 or gain adjuster 120 during the inter-poll phase of polling mode 184. For example, during the polling phase, gain controller 130 determines whether a lower gain or a higher gain would be more appropriate, and uses the gain-adjusted audio signal corresponding to the appropriate gain during the inter-poll phase. Polling intermittently enables gain controller 130 to dynamically adjust to changing conditions while saving power by activating a single gain adjuster during the inter-poll phase.
[0044] In certain implementations, the gain controller 130 is configured to switch between a single channel mode 180, a multi-channel mode 182, a polling mode 184, or a combination thereof, as described with reference to FIG. Figure 2 For example, gain controller 130 may transition to multi-channel mode 182 in response to determining that a power mode (eg, charging mode or battery life) of device 102 indicates that power conservation is not a high priority.
[0045] In a particular implementation, gain controller 130 sends a control signal 131 to gain adjuster 110 to activate or deactivate gain adjuster 110. For example, a first logic value (e.g., 1) of control signal 131 activates gain adjuster 110, while a second logic value (e.g., 0) of control signal 131 deactivates gain adjuster 110. Similarly, gain controller 130 sends a control signal 133 to gain adjuster 120 to activate or deactivate gain adjuster 120. For example, a first logic value (e.g., 1) of control signal 133 activates gain adjuster 120, while a second logic value (e.g., 0) of control signal 133 deactivates gain adjuster 120.
[0046] When activated, gain adjuster 110 generates a gain-adjusted signal 111 by applying a gain 115 to audio signal 107. In certain aspects, audio signal 107 comprises an analog signal, ADC 114 generates a digital signal by performing an analog-to-digital conversion on audio signal 107, and amplifier 112 generates gain-adjusted signal 111 by applying gain 115 to the digital signal. In alternative implementations, amplifier 112 generates a gain-adjusted analog signal by applying gain 115 to audio signal 107 (e.g., an analog signal), and ADC 114 generates gain-adjusted signal 111 by performing an analog-to-digital conversion on the gain-adjusted analog signal. In certain implementations, gain adjuster 110 includes amplifier 112 without an ADC for performing analog-to-digital conversion. For example, amplifier 112 generates gain-adjusted signal 111 by applying gain 115 to audio signal 107. When activated, gain adjuster 110 provides gain-adjusted signal 111 to gain controller 130.
[0047] Similarly, when activated, gain adjuster 120 generates a gain-adjusted signal 121 by applying a gain 125 to audio signal 107. In a particular implementation, ADC 124 generates a digital signal by performing an analog-to-digital conversion on audio signal 107, and amplifier 122 generates gain-adjusted signal 121 by applying gain 125 to the digital signal. In an alternative implementation, amplifier 122 generates a gain-adjusted analog signal by applying gain 125 to audio signal 107 (e.g., an analog signal), and ADC 124 generates gain-adjusted signal 121 by performing an analog-to-digital conversion on the gain-adjusted analog signal. In a particular implementation, gain adjuster 120 includes amplifier 122, rather than an ADC for performing analog-to-digital conversion. For example, amplifier 122 generates gain-adjusted signal 121 by applying gain 125 to audio signal 107. When activated, gain adjuster 120 provides gain-adjusted signal 121 to gain controller 130.
[0048] During the inter-polling phase of the single-channel mode 180 or the polling mode 184, the gain controller 130 receives a gain-adjusted signal (e.g., the gain-adjusted signal 111 or the gain-adjusted signal 121) from the gain adjuster 110 or the gain adjuster 120 and provides the received gain-adjusted signal to the voice activation system 150 as an output signal 135, as described with reference to FIG. Figure 3 and 5 Further described.
[0049] During the polling phase of the multi-channel mode 182 or the polling mode 184, the gain controller 130 receives a plurality of gain-adjusted signals from the plurality of gain adjusters. For example, the gain controller 130 receives the gain-adjusted signal 111 from the gain adjuster 110 and the gain-adjusted signal 121 from the gain adjuster 120. The gain controller 130 generates a signal metric 162 based on the gain-adjusted signal 111, generates a signal metric 164 based on the gain-adjusted signal 121, or performs both operations, as described with reference to FIG. Figure 4 As further described. The gain controller 130 determines the signal-based criterion 134 based on the signal metric 162, the signal metric 164, the target metric 160, or a combination thereof, as described in reference to Figure 4 Further described. For example, the signal-based criterion 134 is based on whether the signal metric 162 or the signal metric 164 is closer to the target metric 160. For example, the target metric 160 is based on an audio model, and a gain-adjusted signal that is closer to the target metric 160 results in improved performance of the audio processing operation 152. The gain controller 130 provides one of the gain-adjusted signal 111 or the gain-adjusted signal 121 that corresponds to the metric that is closer to the target metric 160 (e.g., the signal metric 162 or the signal metric 164) as an input to the audio processing operation 152. For example, the gain controller 130 provides an output signal 135 to the voice activation system 150, and the output signal 135 includes one of the gain-adjusted signal 111 or the gain-adjusted signal 121.
[0050] The voice activation system 150 performs audio processing operations 152 based on the output signal 135. For example, the audio processing operations 152 include keyword detection by the voice activation system 150, and the voice activation system 150 initiates a specific operation based on one or more keywords (e.g., "Hey, virtual assistant, what's the weather like tomorrow?") detected in the output signal 135. When the audio signal 107 is likely to correspond to a higher power audio signal, the output signal 135 (e.g., the gain-adjusted signal 111) corresponds to a lower gain applied to the audio signal 107. Alternatively, when the audio signal 107 is likely to correspond to a lower power audio signal, the output signal 135 (e.g., the gain-adjusted signal 121) corresponds to a higher gain applied to the audio signal 107.
[0051] Thus, the system 100 improves the performance of the audio processing operation 152 by dynamically applying an appropriate gain, regardless of whether the audio signal 107 corresponds to a relatively low-power audio signal or a relatively high-power audio signal. When the audio signal 107 corresponds to a relatively low-power audio signal, a higher gain improves the detectability of the user's voice in the output signal 135. Alternatively, when the audio signal 107 corresponds to a relatively high-power audio signal, a lower gain reduces the likelihood that the output signal 135 provided to the audio processing operation 152 will be saturated.
[0052] refer to Figure 2 , schematic 200 includes an example of a gain controller 130 including a mode selector 202 configured to select one of the single channel mode 180 , the multi-channel mode 182 , or the polling mode 184 as a selected mode 207 .
[0053] The gain controller 130 is configured to perform operations corresponding to the selected mode 207. Schematic diagram 200 includes table 270, which indicates examples of use cases for various modes. For example, multi-channel mode 182 corresponds to a use case without power constraints (e.g., improving performance is a high priority). Each of single-channel mode 180 and polling mode 184 corresponds to a use case with power conservation (e.g., reducing power consumption is a high priority).
[0054] In certain aspects, the mode selector 202 is configured to determine the selected mode 207 based on one or more mode selection criteria 205. The mode selection criteria 205 include a performance criterion 231, a power criterion 233, an external criterion 132, one or more additional criteria, or a combination thereof. As an illustrative example, the performance criterion 231 and the power criterion 233 are shown as being different from the external criterion 132. In some implementations, the external criterion 132 includes the performance criterion 231, the power criterion 233, or both.
[0055] In a specific example, the power criterion 233 may be based on the gain controller 130, Figure 1 102 or both. For example, the power criteria 233 may indicate that when the power setting 243 indicates that the device 102 is charging (e.g., connected to an external power source), the multi-channel mode 182 is to be selected. In certain implementations, the power criteria 233 may indicate that when the power setting 243 indicates that the device 102 is not charging and the remaining battery life is greater than or equal to a threshold, the polling mode 184 is to be selected; when the power setting 243 indicates that the device 102 is not charging and the remaining battery life is less than a threshold, the single-channel mode 180 is to be selected; or both.
[0056] In a particular implementation, power criteria 233 may indicate that mode selector 202 is to select between two of the three modes. For example, power criteria 233 may indicate that when power setting 243 indicates that device 102 is charging, multi-channel mode 182 is to be selected; and when power setting 243 indicates that device 102 is not charging, single-channel mode 180 is to be selected. In this example, polling mode 184 is not to be selected. In another particular example, power criteria 233 may indicate that when power setting 243 indicates that device 102 is charging, multi-channel mode 182 is to be selected; and when power setting 243 indicates that device 102 is not charging, polling mode 184 is to be selected. In this example, single-channel mode 180 is not to be selected. In a particular example, power criteria 233 may indicate that when power setting 243 indicates that device 102 is charging, polling mode 184 is to be selected; and when power setting 243 indicates that device 102 is not charging, single-channel mode 180 is to be selected. In this example, multi-channel mode 182 would not be selected.
[0057] In a specific example, the performance criteria 231 may be based on the gain controller 130, Figure 1 102 or both. For example, the performance criteria 231 may indicate that when the performance setting 241 indicates that performance is a high priority (e.g., improving performance is a higher priority than reducing power consumption), the multi-channel mode 182 is to be selected. In certain implementations, the performance criteria 231 may indicate that when the performance setting 241 indicates that performance is a medium priority (e.g., improving performance is the same priority as reducing power consumption), the polling mode 184 is to be selected; when the performance setting 241 indicates that performance is a low priority (e.g., improving performance is a lower priority than reducing power consumption), the single-channel mode 180 is to be selected; or both operations are performed.
[0058] In a particular implementation, performance criteria 231 may indicate that mode selector 202 is to select between two of the three modes. For example, performance criteria 231 may indicate that when performance setting 241 indicates that performance is a high priority, multi-channel mode 182 is to be selected; whereas, when performance setting 241 indicates that power consumption is a high priority, single-channel mode 180 is to be selected. In this example, polling mode 184 is not to be selected. In another particular example, performance criteria 231 may indicate that when performance setting 241 indicates that performance is a high priority, multi-channel mode 182 is to be selected; whereas, when performance setting 241 indicates that power consumption is a high priority, polling mode 184 is to be selected. In this example, single-channel mode 180 is not to be selected. In a particular example, performance criteria 231 may indicate that when performance setting 241 indicates that performance is a high priority, polling mode 184 is to be selected; whereas, when performance setting 241 indicates that power consumption is a high priority, single-channel mode 180 is to be selected. In this example, multi-channel mode 182 is not to be selected. In particular aspects, performance settings 241 , power settings 243 , or both are based on default values, user input, configuration settings, input from external system 140 , hardware configuration, or a combination thereof.
[0059] In certain examples, the external criteria 132 can be based on time sensor data 143, movement sensor data 145, UP sensor data 147, or a combination thereof. The time sensor data 143 indicates a time of day (e.g., night or day), a time of day (e.g., clock time), or both. In certain implementations, the time sensor 142 includes a clock (e.g., Figure 1 102 or an external clock), and the time sensor data 143 is based on the time indicated by the clock. In a specific implementation, the time sensor 142 includes an image sensor, and the time sensor data 143 includes image frames captured by the image sensor. In a specific example, the mode selector 202 determines the time based on the timestamp of the image frame. In another example, the mode selector 202 determines the time of day based on the amount of light detected in the image frame. In a specific implementation, the time sensor 142 includes a wireless signal indicating the time (e.g., a GPS signal), and the mode selector 202 determines the time based on the data indicated by the wireless signal (e.g., the time sensor data 143).
[0060] In certain aspects, the external criteria 132 include time-based criteria and are based on the time of day, time of day, or both indicated by the time sensor data 143. For example, a first time of day (e.g., nighttime), a first time of day (e.g., late at night between 8 p.m. and 6 a.m.), or both correspond to a higher likelihood that the input audio level (e.g., power level) of the audio signal 107 is low because the user 101 speaks softly at night. A second time of day (e.g., daytime), a second time of day (e.g., between 6 a.m. and 8 p.m.), or both correspond to a higher likelihood that the input audio level (e.g., power level) of the audio signal 107 is high because the user 101 speaks louder.
[0061] The external criteria 132 indicate that the single channel mode 180 is to be used when the time sensor data 143 indicates a first day period (e.g., nighttime), a first time of day (e.g., between 8 p.m. and 6 a.m.), or both, and the single channel corresponds to Figure 1 For example, during single channel mode 180, the gain adjuster 120 corresponding to a higher gain (e.g., gain 125) will be activated, while the gain adjuster 110 corresponding to a lower gain (e.g., gain 115) will be deactivated, so that the higher gain is applied when the user 101 is likely speaking softly.
[0062] In a particular example, the external criteria 132 indicates that the single channel mode 180 is to be used when the temporal sensor data 143 indicates a second period of day (e.g., daytime), a second time of day (e.g., between 6 a.m. and 8 p.m.), or both, and the single channel corresponds to Figure 1 For example, during single-channel mode 180, the gain adjuster 110 corresponding to a lower gain (e.g., gain 115) will be activated, while the gain adjuster 120 corresponding to a higher gain (e.g., gain 125) will be deactivated, so that the lower gain is applied when the user 101 is likely to be speaking louder.
[0063] The motion sensor data 145 indicates the amount of detected movement of the device 102. In a particular implementation, the motion sensor 144 includes a global positioning system (GPS) receiver, and the motion sensor data 145 indicates the detected GPS location of the device 102. The mode selector 202 determines the amount of detected movement based on a comparison (e.g., the difference between) a first GPS location of the device 102 at a first time and a second GPS location of the device 102 at a second time. In a particular implementation, the motion sensor 144 includes a camera, and the motion sensor data 145 includes image frames representing images captured by the camera. The mode selector 202 determines the amount of detected movement based on a comparison (e.g., the difference between) a first image frame corresponding to the image captured at the first time and a second image frame corresponding to the image captured at the second time. In a particular implementation, the motion sensor 144 includes an accelerometer, and the motion sensor data 145 includes accelerometer data. The mode selector 202 determines the amount of movement detected based on a comparison of (eg, a difference between) first accelerometer data generated at a first time and second accelerometer data generated at a second time.
[0064] In particular aspects, external criteria 132 include motion-based criteria and are based on an amount of detected movement indicated by motion sensor data 145. For example, detected movement greater than a threshold movement corresponds to a higher likelihood that the input audio level (e.g., power level) of audio signal 107 is high because device 102 is moving and may be carried by user 101 or is in close proximity to user 101. Detected movement less than the threshold movement corresponds to a higher likelihood that the input audio level (e.g., power level) of audio signal 107 is low because device 102 is not moving and user 101 may have walked away from device 102.
[0065] In a particular example, the external criteria 132 indicates that the single channel mode 180 is to be used when the motion sensor data 145 indicates that the amount of detected motion is less than a threshold, and the single channel corresponds to Figure 1 For example, during single-channel mode 180, the gain adjuster 120 corresponding to a higher gain (e.g., gain 125) will be activated, while the gain adjuster 110 corresponding to a lower gain (e.g., gain 115) will be deactivated, so that the higher gain is applied when the user 101 is likely to be farther away from the device 102.
[0066] In a particular example, the external criteria 132 indicates that the single channel mode 180 is to be used when the motion sensor data 145 indicates that the amount of detected motion is greater than or equal to a threshold, and the single channel corresponds to Figure 1For example, during single-channel mode 180, the gain adjuster 110 corresponding to a lower gain (e.g., gain 115) will be activated, while the gain adjuster 120 corresponding to a higher gain (e.g., gain 125) will be deactivated, so that the lower gain is applied when the user 101 is likely to be closer to the device 102.
[0067] UP sensor data 147 indicates a detected distance 154 of user 101. In a particular implementation, UP sensor 146 includes a camera, and UP sensor data 147 includes image data representing an image of user 101 captured by the camera. Mode selector 202 determines detected distance 154 by applying various image distance analysis techniques to the image data. In a particular implementation, UP sensor 146 includes microphone 104, and UP sensor data 147 includes audio signal 107. Mode selector 202 determines detected distance 154 by applying various audio distance analysis techniques to audio signal 107. For example, mode selector 202 determines detected distance 154 based on the input signal level (e.g., volume, intensity, or power) of audio signal 107. In a particular aspect, mode selector 202 uses voice processing techniques to classify the user's voice as whispered, normal, or shouted speech, and determines detected distance 154 based on the classification and the input signal level.
[0068] In particular aspects, external criteria 132 include a user proximity criterion based on detected distance 154. For example, a detected distance 154 within a threshold distance corresponds to a higher likelihood that the input audio level (e.g., power level) of audio signal 107 is higher because user 101 is closer to device 102. A detected distance 154 exceeding the threshold distance corresponds to a higher likelihood that the output audio level (e.g., power level) of audio signal 107 is lower because user 101 is farther away from device 102.
[0069] In a specific example, the external criteria 132 indicates that the single channel mode 180 is to be used when the detected distance 154 is greater than or equal to the threshold distance, and the single channel corresponds to Figure 1 For example, during single-channel mode 180, the gain adjuster 120 corresponding to a higher gain (e.g., gain 125) will be activated, while the gain adjuster 110 corresponding to a lower gain (e.g., gain 115) will be deactivated, so that the higher gain is applied when the user 101 is farther away from the device 102.
[0070] In a specific example, the external criteria 132 indicates that the single channel mode 180 is to be used when the detected distance 154 is less than the threshold distance, and the single channel corresponds to Figure 1For example, during single-channel mode 180, the gain adjuster 110 corresponding to a lower gain (e.g., gain 115) will be activated, while the gain adjuster 120 corresponding to a higher gain (e.g., gain 125) will be deactivated, so that the lower gain is applied when the user 101 is closer to the device 102.
[0071] In certain aspects, the mode selection criteria 205 include resolution rules for situations where multiple criteria are satisfied and the multiple criteria indicate conflicting mode selections. In a specific example, the mode selection criteria 205 indicate that the power criteria 233 has a higher priority than the performance criteria 231, and the performance criteria 231 has a higher priority than the external criteria 132. For example, the mode selector 202 selects the mode indicated by the higher priority criteria satisfied among the power criteria 233, the performance criteria 231, or the external criteria 132 as the selected mode 207.
[0072] In certain aspects, the mode selection criteria 205 include a combination of criteria based on two or more of the performance criteria 231, the power criteria 233, or the external criteria 132. For example, the power criteria 233 indicates that the multi-channel mode 182 is to be selected when the device 102 (e.g., a phone) is charging. A first combination of criteria indicates that the single-channel mode 180 is to be selected in response to a determination that the device 102 is not charging (e.g., a power criterion) during the night (e.g., an external criterion based on time) or when the phone is moving (e.g., a criterion based on movement). A second combination of criteria indicates that the polling mode 180 is to be selected in response to a determination that the device 102 is not charging (e.g., a power criterion) during the day (e.g., an external criterion based on time) and the phone is not moving (e.g., a criterion based on movement).
[0073] exist Figure 2, state diagram 260 illustrates an example of a mode selection by mode selector 202 based on mode selection criteria 205, which include power criteria 233, a first combination criteria, and a second combination criteria. Gain controller 130 is configured to perform operations corresponding to selected mode 207. For example, gain controller 130 switches between single-channel mode 180, multi-channel mode 182, or polling mode 184 in response to mode selector 202 updating selected mode 207. For example, mode selector 202 selects multi-channel mode 182 as selected mode 207 in response to determining that power setting 243 indicates that device 102 is charging. Gain controller 130 switches to multi-channel mode 182 in response to determining that selected mode 207 indicates multi-channel mode 182. For example, the gain controller 130 receives the gain-adjusted signal 111 from the gain adjuster 110 and the gain-adjusted signal 121 from the gain adjuster 120, and outputs the gain-adjusted signal 111 or the gain-adjusted signal 121 as an output signal 135, as shown in FIG. Figure 4 Further described.
[0074] The mode selector 202 selects the polling mode 184 as the selected mode 207 in response to determining that the update to the power setting 243 indicates that the device 102 is not charging when the multi-channel mode 182 is selected. The gain controller 130 transitions from the multi-channel mode 182 to the polling mode 184 in response to determining that the selected mode 207 indicates the polling mode 184. When the motion sensor data 145 indicates that the detected motion is less than the threshold motion and the time sensor data 143 indicates that daytime is detected, the gain controller 130 repeatedly transitions between the polling phase 217 for the polling duration and the inter-poll phase 219 for the inter-poll duration, as shown in FIG. Figure 5 Further described.
[0075] The mode selector 202 sets the single-channel mode 180 to the selected mode 207 in response to determining that an update to the motion sensor data 145 indicates that the detected motion is greater than or equal to the threshold distance, or that an update to the time sensor data 143 indicates that nighttime is detected, or both, when the polling mode 184 is selected. The gain controller 130 switches from the polling mode 184 to the single-channel mode 180 in response to determining that the selected mode 207 indicates the single-channel mode 180. During the single-channel mode 180, the gain controller 130 activates a single gain adjuster of the gain adjuster 110 or the gain adjuster 120 and outputs a corresponding gain-adjusted signal (e.g., the gain-adjusted signal 111 or the gain-adjusted signal 121) as the output signal 135, as shown in FIG. Figure 3 Further described.
[0076] The mode selector 202 sets the polling mode 184 to the selected mode 207 in response to determining that the update to the motion sensor data 145 indicates that the detected motion is less than or equal to the threshold distance and the update to the time sensor data 143 indicates that daylight is detected when the single channel mode 180 is selected. The gain controller 130 switches from the single channel mode 180 to the polling mode 184 in response to determining that the selected mode 207 indicates the polling mode 184.
[0077] Mode selector 202 sets selected mode 207 to multi-channel mode 182 in response to determining that power setting 243 indicates device 102 is charging while in single-channel mode 180 or polling mode 184. Gain controller 130 transitions from single-channel mode 180 or polling mode 184 to multi-channel mode 182 in response to determining that selected mode 207 indicates multi-channel mode 182.
[0078] Thus, the mode selector 202 enables the gain controller 130 to dynamically switch between various modes based on the mode selection criteria 205. In certain aspects, the mode selection criteria 205 are based on default values, configuration settings, user input, or a combination thereof.
[0079] Figure 3-5 Examples of the operation of the gain controller 130 during various modes are provided. Figure 3 An example of the operation of the gain controller 130 during the single channel mode 180 is provided. Figure 4 An example of the operation of the gain controller 130 during the multi-channel mode 182 is provided. Figure 5 An example of the operation of the gain controller 130 during the polling mode 184 is provided.
[0080] refer to Figure 3 , a system operable to perform audio gain selection is shown and generally designated 300. In certain aspects, Figure 1 System 100 includes one or more components of system 300 . System 300 includes channel selector 320 configured to determine one of gain adjuster 110 or gain adjuster 120 as a selected adjuster 307 during single channel mode 180 .
[0081] The channel selector 320 is configured to determine the selected adjuster 307 based on the external criteria 132 (e.g., a time-based criteria, a motion-based criteria, a proximity-based criteria, or a combination thereof) during the single-channel mode 180. For example, the channel selector 320 selects the gain adjuster 110 as the selected adjuster 307 based at least in part on determining that the temporal sensor data 143 indicates a first time of day (e.g., daytime), a first time of day (e.g., between 6:00 a.m. and 8:00 p.m.), or both. Alternatively, the channel selector 320 selects the gain adjuster 120 as the selected adjuster 307 based at least in part on determining that the temporal sensor data 143 indicates a second time of day (e.g., nighttime), a second time of day (e.g., between 8:00 p.m. and 6:00 a.m.), or both.
[0082] In a particular example, the channel selector 320 selects the gain adjuster 110 as the selected adjuster 307 based at least in part on determining that the motion sensor data 145 indicates detected motion that is greater than or equal to a motion threshold. Alternatively, the channel selector 320 selects the gain adjuster 120 as the selected adjuster 307 based at least in part on determining that the motion sensor data 145 indicates detected motion that is less than the motion threshold.
[0083] In a particular example, the channel selector 320 selects the gain adjuster 110 as the selected adjuster 307 based at least in part on determining that the UP sensor data 147 indicates a detected distance 154 that is within a distance threshold (e.g., less than the distance threshold). Alternatively, the channel selector 320 selects the gain adjuster 120 as the selected adjuster 307 based at least in part on determining that the detected distance 154 is greater than or equal to the distance threshold.
[0084] During single-channel mode 180, gain controller 130 activates selected adjusters 307 and deactivates the remaining adjusters. In a specific example, selected adjuster 307 includes gain adjuster 110. Gain controller 130 sends a control signal 131 having a first logic value (e.g., 1) to gain adjuster 110 to activate gain adjuster 110, and sends a control signal 133 having a second logic value (e.g., 0) to gain adjuster 120 to deactivate gain adjuster 120. Gain controller 130 outputs gain-adjusted signal 111 from gain adjuster 110 as output signal 135.
[0085] In another specific example, the selected adjuster 307 includes the gain adjuster 120. The gain controller 130 sends a control signal 131 having a second logic value (e.g., 0) to the gain adjuster 110 to deactivate the gain adjuster 110, and sends a control signal 131 having a first logic value (e.g., 1) to the gain adjuster 120 to activate the gain adjuster 120. The gain controller 130 outputs the gain-adjusted signal 121 from the gain adjuster 120 as an output signal 135.
[0086] Thus, the gain controller 130 saves power by activating a single gain adjuster and deactivating the remaining gain adjusters during the single channel mode 180. For example, the deactivated gain adjuster consumes reduced power resources (eg, consumes no power resources).
[0087] refer to Figure 4 , a system operable to perform audio gain selection is shown and generally designated 400. In certain aspects, Figure 1 System 100 includes one or more components of system 400. System 400 includes a channel selector 420 configured to select one of gain-adjusted signal 111 or gain-adjusted signal 121 as output signal 135 during multi-channel mode 182.
[0088] During multi-channel mode 182, gain adjuster 110 and gain adjuster 120 are activated. In a particular aspect, gain controller 130 provides a control signal 131 having a first logic value (e.g., 1) to gain adjuster 110 to activate gain adjuster 110, and provides a control signal 133 having a first logic value (e.g., 1) to gain adjuster 120 to activate gain adjuster 120. In a particular implementation, gain adjuster 110 and gain adjuster 120 are activated (e.g., always activated) independently of the control signal during multi-channel mode 182. Gain controller 130 receives gain-adjusted signal 111 from gain adjuster 110 and receives gain-adjusted signal 121 from gain adjuster 120. Channel selector 420 is configured to select one of gain-adjusted signal 111 or gain-adjusted signal 121 based on one or more channel selection criteria 422. Channel selection criteria 422 include external criteria 132, signal-based criteria 134, or a combination thereof.
[0089] In a specific example, the channel selector 420 uses the same Figure 3In a similar manner to the description of channel selector 320 for selecting one of gain adjuster 110 or gain adjuster 120, channel selector 420 selects one of gain-adjusted signal 111 or gain-adjusted signal 121 based on external criteria 132. For example, channel selector 420 selects gain-adjusted signal 111 as output signal 135 based at least in part on determining that temporal sensor data 143 indicates a first time period of day (e.g., daytime), a first time of day (e.g., between 6:00 a.m. and 8:00 p.m.), or both. Alternatively, channel selector 420 selects gain-adjusted signal 121 as output signal 135 based at least in part on determining that temporal sensor data 143 indicates a second time period of day (e.g., nighttime), a second time of day (e.g., between 8:00 p.m. and 6:00 a.m.), or both.
[0090] In a particular example, the channel selector 420 selects the gain-adjusted signal 111 as the output signal 135 based at least in part on determining that the motion sensor data 145 indicates detected motion that is greater than or equal to a motion threshold. Alternatively, the channel selector 420 selects the gain-adjusted signal 121 as the output signal 135 based at least in part on determining that the motion sensor data 145 indicates detected motion that is less than the motion threshold.
[0091] In a particular example, the channel selector 420 selects the gain-adjusted signal 111 as the output signal 135 based at least in part on determining that the UP sensor data 147 indicates a detected distance 154 that is within a distance threshold (e.g., less than the distance threshold). Alternatively, the channel selector 420 selects the gain-adjusted signal 121 as the output signal 135 based at least in part on determining that the detected distance 154 is greater than or equal to the distance threshold.
[0092] exist Figure 4 , an example 460 of the operation of the channel selector 420 to select one of the gain-adjusted signal 111 or the gain-adjusted signal 121 based on the signal-based criteria 134 is shown. In a particular aspect, the channel selector 420 performs a signal-based calculation 441 (e.g., a root mean square (RMS) calculation) based on the gain-adjusted signal 111 to generate a calculated value 442 (e.g., an RMS value). The channel selector 420 performs a signal-based calculation 443 (e.g., an RMS calculation) based on the gain-adjusted signal 121 to generate a calculated value 444 (e.g., an RMS value). At 445, the channel selector 420 determines whether the calculated value 444 indicates audio clipping. For example, the channel selector 420 determines that the calculated value 444 indicates audio clipping in response to determining that the calculated value 444 indicates that the input audio level of the gain-adjusted signal 121 is greater than the threshold support audio level.
[0093] At 445, channel selector 420 performs metric generation 447 in response to determining that calculated value 444 does not indicate clipping. For example, channel selector 420 generates signal metric 162 based on a comparison of calculated value 442 and target metric 160 (e.g., the absolute difference therebetween) (e.g., signal metric 162 = |calculated value 442 − target metric 160|). By way of example, signal metric 162 indicates how close calculated value 442 (e.g., an RMS value) will be to target metric 160 (e.g., a target RMS value). Similarly, channel selector 420 generates signal metric 164 based on a comparison of calculated value 444 and target metric 160 (e.g., the absolute difference therebetween) (e.g., signal metric 164 = |calculated value 444 − target metric 160|). By way of example, signal metric 164 indicates how close calculated value 444 (e.g., an RMS value) will be to target metric 160 (e.g., a target RMS value).
[0094] At 449, channel selector 420 compares signal metric 162 and signal metric 164. In response to determining that signal metric 162 is greater than or equal to signal metric 164, channel selector 420 selects gain-adjusted signal 121 as output signal 135. For example, channel selector 420 selects gain-adjusted signal 121 in response to determining that signal metric 164 is closer to target metric 160 (compared to signal metric 164) or that signal metric 164 is the same distance from target metric 160 as signal metric 162. Alternatively, in response to determining at 449 that signal metric 162 is less than signal metric 164, or in response to determining at 445 that calculated value 444 indicates clipping, channel selector 420 selects gain-adjusted signal 111 as output signal 135. For example, channel selector 420 selects gain-adjusted signal 111 in response to determining that signal metric 162 is closer to target metric 160 (compared to signal metric 164).
[0095] In a particular example, channel selector 420 selects gain-adjusted signal 111 having signal metric 162 that is likely closer to target metric 160 (compared to signal metric 164), independently of performing metric generation 447 to determine signal metric 162 or signal metric 164. For example, if clipping is detected in gain-adjusted signal 121, signal metric 164 (if determined for gain-adjusted signal 121) will likely be further away from target metric 160. Signal metric 162 (if determined for gain-adjusted signal 111) will likely be closer to target metric 160 because gain-adjusted signal 111 corresponds to a lower gain applied to audio signal 107 and is less likely to indicate clipping. Therefore, channel selector 420 can select gain-adjusted signal 111 as output signal 135 in response to determining that clipping is detected in gain-adjusted signal 121, independently of performing metric generation 447. Thus, signal-based criterion 134 is based on whether signal metric 162 or signal metric 164 is closer to target metric 160. In particular aspects, target metric 160 indicates a characteristic (eg, an RMS value) that is preferred in an audio signal to improve performance of audio processing operation 152. Thus, selecting an audio signal that is closer to target metric 160 may improve performance of audio processing operation 152.
[0096] Thus, the gain controller 130 enables selection of one of the gain adjusted signal 111 received from the gain adjuster 110 or the gain adjusted signal 121 received from the gain adjuster 120. The selection is based on external criteria 132, signal based criteria 134, or a combination thereof.
[0097] refer to Figure 5 , a system operable to perform audio gain selection is shown and generally designated 500. In certain aspects, Figure 1 System 100 includes one or more components of system 500 .
[0098] The system 500 includes a phase selector 502 configured to select one of the polling phase 217 or the inter-poll phase 219 as the active phase 507 during the polling mode 184. For example, the phase selector 502 initializes the active phase 507 as the polling phase 217. The gain controller 130 enters the polling phase 217 in response to determining that the active phase 507 indicates the polling phase 217. In certain aspects, the gain controller 130 initializes a polling timer upon entering the polling phase 217.
[0099] During the polling phase 217, the gain adjuster 110 and the gain adjuster 120 are activated. For example, the gain controller 130 activates the gain adjuster 110 by providing a control signal 131 having a first logic value (e.g., 1) to the gain adjuster 110, activates the gain adjuster 120 by providing a control signal 133 having a first logic value (e.g., 1) to the gain adjuster 120, or performs both operations. During the polling phase 217, the gain controller 130 performs a comparison with the reference voltage. Figure 4 For example, the gain controller 130 selects one of the gain-adjusted signal 111 received from the gain adjuster 110 or the gain-adjusted signal 121 from the gain adjuster 120 based on the channel selection criteria 422, as described in reference to FIG. Figure 4 During the polling duration 522 of the polling phase 217, the gain controller 130 outputs the selected one of the gain-adjusted signal 111 or the gain-adjusted signal 121 as the output signal 135. Figure 5 , an example of a polling duration 522 of the polling phase 217 is shown in timeline 560. Double arrows are used to indicate that both the gain adjusted signal 111 and the gain adjusted signal 121 are received by the gain controller 130.
[0100] In a particular aspect, during the polling duration 522, the gain controller 130 evaluates the channel selection criteria 422 multiple times to selectively update the selected one of the gain-adjusted signal 111 or the gain-adjusted signal 121 and output the selected one of the gain-adjusted signal 111 or the gain-adjusted signal 121 as the output signal 135. In a particular example, the gain controller 130 outputs the gain-adjusted signal 111 as the output signal 135 during a first portion of the polling duration 522 and outputs the gain-adjusted signal 121 as the output signal 135 during a second portion of the polling duration 522.
[0101] While in the polling phase 217 and in response to determining that the polling duration elapsed criterion 544 is satisfied, the phase selector 502 selects the inter-poll phase 219 as the active phase 507. For example, the phase selector 502 determines that the polling duration elapsed criterion 544 is satisfied in response to the polling timer having expired, a change in audio conditions is unlikely, or both. For example, the phase selector 502 determines that a change in audio conditions is unlikely in response to determining that the motion sensor data 145 does not indicate significant movement within a threshold time (e.g., greater than a motion threshold), the time sensor data 143 indicates a time within a first range (e.g., between 8 p.m. and 6 a.m.), the time sensor data 143 indicates a particular time of day (e.g., nighttime), the UP sensor data 147 indicates a detected distance 154 greater than a threshold distance, or a combination thereof.
[0102] During polling mode 184 and in response to determining that the activity phase 507 indicates an inter-poll phase 219, the gain controller 130 transitions from the polling phase 217 to the inter-poll phase 219. In certain implementations, the gain controller 130 identifies the gain adjuster selected for the inter-poll phase 219. For example, the gain controller 130 identifies the gain adjuster 110 as the selected gain adjuster in response to determining that the output signal 135 includes the gain-adjusted signal 111 at the end of the polling phase 217. Alternatively, the gain controller 130 identifies the gain adjuster 120 as the selected gain adjuster in response to determining that the output signal 135 includes the gain-adjusted signal 121 at the end of the polling phase 217. In certain aspects, the gain controller 130 initializes an inter-poll timer upon entering the inter-poll phase 219.
[0103] During the inter-poll phase 219 of the polling mode 184, a single gain adjuster (e.g., the active gain adjuster) of the gain adjusters 110 or 120 is activated, and any remaining gain adjusters are deactivated. In a specific implementation, during the inter-poll duration 524 of the inter-poll phase 219, the gain adjuster selected at the end of the polling phase 217 remains activated, and any remaining gain adjusters are deactivated during the inter-poll duration 524. An example of the inter-poll duration 524 is shown in timeline 560. A single arrow is used to indicate that a single gain-adjusted signal of the gain-adjusted signal 111 and the gain-adjusted signal 121 is received by the gain controller 130. In the specific example, the gain controller 130 sends a control signal 133 including a second logic value (e.g., 0) to deactivate the gain adjuster 120 in response to determining that the selected gain adjuster includes the gain adjuster 110. Alternatively, gain controller 130 sends control signal 131 including a second logic value (e.g., 0) to deactivate gain adjuster 110 in response to determining that the selected gain adjuster includes gain adjuster 120. When in the inter-poll phase 219 of polling mode 184, gain controller 130 outputs either gain-adjusted signal 111 or gain-adjusted signal 121 received from the selected gain adjuster during the inter-poll duration 524 and avoids switching between gain-adjusted signal 111 and gain-adjusted signal 121 during the inter-poll duration 524.
[0104] In a particular implementation, during the inter-polling phase 219 of the polling mode 184, the gain controller 130 performs a Figure 3 For example, the gain controller 130 selects one of the gain adjusters 110 or 120 based on the external criteria 132, as shown in FIG. Figure 3 When in the inter-poll phase 219 of the polling mode 184, the gain controller 130 outputs the gain-adjusted signal 111 or the gain-adjusted signal 121 from the selected one of the gain adjuster 110 or the gain adjuster 120 as the output signal 135 during the inter-poll duration 524.
[0105] In a particular aspect, the gain controller 130 evaluates the external criterion 132 multiple times during the inter-poll duration 524 to selectively update the selected one of the gain adjuster 110 or the gain adjuster 120 and outputs the gain-adjusted signal 111 or the gain-adjusted signal 121 from the selected one of the gain adjuster 110 or the gain adjuster 120 as the output signal 135. In a particular example, the gain controller 130 outputs the gain-adjusted signal 111 as the output signal 135 during a first portion of the inter-poll duration 524 and outputs the gain-adjusted signal 121 as the output signal 135 during a second portion of the inter-poll duration 524.
[0106] While in the inter-poll phase 219 and in response to determining that the inter-poll duration elapse criterion 542 is satisfied, the phase selector 502 selects the poll phase 217 as the active phase 507. For example, the phase selector 502 determines that the inter-poll duration elapse criterion 542 is satisfied in response to determining that the inter-poll timer has expired, a change in audio conditions is likely, or both. For example, the phase selector 502 determines that a change in audio conditions is likely in response to determining that the motion sensor data 145 indicates detected motion greater than or equal to a motion threshold, the time sensor data 143 indicates a time within a particular range (e.g., between 6:00 a.m. and 8:00 p.m.), the time sensor data 143 indicates a particular time of day (e.g., daytime), the UP sensor data 147 indicates a detected distance 154 less than or equal to a threshold distance, or a combination thereof. During the polling mode 184 and in response to the active phase 507 indicating the poll phase 217, the gain controller 130 transitions from the inter-poll phase 219 to the poll phase 217.
[0107] In a particular aspect, while in the polling mode 184, the gain controller 130 repeatedly transitions between the polling phase 217 and the inter-poll phase 219. In a particular example, the gain controller 130 is in the polling phase 217 during the polling duration 522, in the inter-poll phase 219 during the inter-poll duration 524, in the polling phase 217 during the polling duration 526, in the inter-poll phase 219 during the inter-poll duration 528, or a combination thereof.
[0108] In a particular implementation, the poll duration has a first fixed length (e.g., based on a poll timer), and the inter-poll duration has a second fixed length (e.g., based on an inter-poll timer) that is greater than the first fixed length. For example, the poll duration 522 has the same length as the poll duration length 526, and the inter-poll duration 524 has the same length as the inter-poll duration 528. In a particular aspect, the inter-poll duration 524 is greater than the poll duration 522.
[0109] In certain implementations, the polling duration, the inter-poll duration, or both can be dynamically changed when the polling duration elapses through criteria 544 is based on a factor other than or different from the polling timer, the inter-poll duration elapses through criteria 542 is based on a factor other than or different from the inter-poll timer, or both. For example, each of the polling duration 522, the inter-poll duration 524, the polling duration 526, or the inter-poll duration 528 is greater than, the same as, or less than another of the polling duration 522, the inter-poll duration 524, the polling duration 526, or the inter-poll duration 538.
[0110] Thus, gain controller 130 achieves power savings by activating a single gain adjuster and deactivating any remaining gain adjusters during at least a first portion of the duration of polling mode 184. Gain controller 130 balances power savings with performance by activating multiple gain adjusters during a second portion of polling mode 184 to compare the gain adjusted signals and select the best performing gain adjusted signal for use during the first portion.
[0111] Figure 6 Implementation 600 of device 102 is depicted as an integrated circuit 602 including one or more processors 190. Integrated circuit 602 also includes a signal input 604 and a signal input 606 (such as a bus interface) to enable receiving gain-adjusted signal 111 and gain-adjusted signal 121 from gain adjuster 110 and gain adjuster 120, respectively. For example, signal input 604 receives gain-adjusted signal 111 from gain adjuster 110 and provides gain-adjusted signal 111 to gain controller 130. Similarly, signal input 606 receives gain-adjusted signal 121 from gain adjuster 120 and provides gain-adjusted signal 121 to gain controller 130. Integrated circuit 602 also includes a signal output 612 (such as a bus interface) to enable (e.g., to) Figure 1 The integrated circuit 602 implements audio gain selection as a component in a system including a microphone, such as in Figure 7 or the vehicle depicted in 8, as in Figure 9 A virtual reality or augmented reality headset, such as that depicted in Figure 10 Wearable electronic devices such as those depicted in Figure 11 The voice controlled speaker system described in Figure 13 The wireless communication device depicted in FIG.
[0112] Figure 7 An implementation 700 is depicted in which the device 102 corresponds to a vehicle 702 (shown as a car) or is integrated within the vehicle 702. In some implementations, the audio gain selection can be performed based on audio signals received from an internal microphone (e.g., microphone 104) (such as for voice commands from a passenger), based on audio signals received from an external microphone (e.g., microphone 104) (such as for an authorized user of the vehicle), or both. In a particular implementation, the external system 140 is located within or integrated into the vehicle 702. The gain controller 130 provides the voice activation system 150 with the audio gain. Figure 1 135 in the output signal 135. For example, the voice activation system 150 initiates one or more operations of the vehicle 702 based on one or more keywords (e.g., "unlock," "start the engine," "play music," "show the weather forecast," or another voice command) detected in the output signal 135. In certain aspects, audio gain selection improves voice detection by the vehicle 802 by outputting either the gain-adjusted signal 111 or the gain-adjusted signal 121 based on the state of the vehicle 802. For example, when the vehicle 702 is traveling at a high speed and the user 101 is likely speaking above highway noise (e.g., wind noise or engine acceleration noise), the gain controller 130 selects the gain-adjusted signal 111 (corresponding to a lower gain). Selecting the gain-adjusted signal 111 corresponding to a lower gain reduces the likelihood of saturation due to highway noise. As another example, when the vehicle is stationary (e.g., idling or with the engine off) and the user 101 is likely speaking softly, the gain controller 130 selects the gain-adjusted signal 121 (corresponding to a higher gain). When the user 101 is speaking softly, selecting the gain adjusted signal 121 corresponding to a higher gain increases the likelihood of speech recognition.
[0113] Figure 8 Another implementation 800 is depicted in which the device 102 corresponds to a vehicle 802 (shown as a manned or unmanned aerial vehicle (e.g., a package delivery drone)) or is integrated within the vehicle 802. Audio gain selection can be performed based on audio signals received from one or more microphones (e.g., microphone 104) of the vehicle 802, such as delivery instructions for an authorized user of the vehicle 802. For example, the audio gain selection improves speech detection by the vehicle 802.
[0114] Figure 9 An implementation 900 is depicted in which device 102 is a portable electronic device corresponding to a virtual reality, augmented reality, or mixed reality headset 902. A gain controller 130, microphone 104, voice activation system 150, external system 140, or a combination thereof is integrated into headset 902. Audio gain selection can be performed based on an audio signal received from microphone 104 of headset 902. For example, audio gain selection can improve speech detection performed by headset 902. A visual interface device is positioned in front of the user's eyes to enable display of augmented reality or virtual reality images or scenes to the user while headset 902 is worn. In a specific example, gain controller 130 is configured to display a notification indicating speech detected in the audio signal. In a specific aspect, audio gain selection improves speech detection performed by headset 902 by outputting a gain-adjusted signal 111 or a gain-adjusted signal 121 based on the state of headset 902 (e.g., virtual game state). For example, during portions of the game in the immersive environment where the wearer is likely to speak softly (e.g., when the player is trying to avoid detection by an in-game opponent), the gain controller 130 selects the gain-adjusted signal 121 (corresponding to a higher gain). When the wearer is likely to speak loudly (e.g., during noisy or exciting scenes of the wearer's activity), the gain controller 130 selects the gain-adjusted signal 111 (corresponding to a lower gain).
[0115] Figure 10An implementation 1000 is depicted in which device 102 is a portable electronic device corresponding to a wearable electronic device 1002 (illustrated as a "smartwatch"). A gain controller 130, a microphone 104, a voice activation system 150, an external system 140, or a combination thereof are integrated into the wearable electronic device 1002. Audio gain selection can be performed based on an audio signal received from microphone 104 of the wearable electronic device 1002. The audio gain selection improves speech detection performed by the wearable electronic device 1002. For example, when the wearable electronic device 1002 is closer to the user's ear (e.g., the wearable electronic device 1002 is located on a wrist closer to the user's face because the user is checking the time), the gain controller 130 selects the gain-adjusted signal 111 (corresponding to a lower gain). When the wearable electronic device 1002 is farther from the user's ear (e.g., the wearable electronic device 1002 is located on a wrist and the user's arm is outstretched), the gain controller 130 selects the gain-adjusted signal 121 (corresponding to a higher gain). The wearable electronic device 1002 includes a display screen configured to display a notification based on the voice detected by the wearable electronic device 1002. In a specific example, the wearable electronic device 1002 includes a haptic device that provides a tactile notification (e.g., vibration) in response to the detection of a keyword. The tactile notification can cause a user to look at the wearable electronic device 1002 to view a displayed notification indicating that a keyword has been detected. Thus, the wearable electronic device 1002 can alert a hearing-impaired user or a user wearing headphones that a keyword has been detected.
[0116] Figure 11 1 is an illustrative example of an audio device including a wireless speaker and voice-activated device 1100. The wireless speaker and voice-activated system 1100 may have a wireless network connection and be configured to perform assistant operations. The processor 190, the gain controller 130, the microphone 104, the voice-activated system 150, the external system 140, or a combination thereof are included in the wireless speaker and voice-activated device 1100. The wireless speaker and voice-activated device 1100 also includes a speaker 1104. During operation, in response to receiving a spoken command, the wireless speaker and voice-activated device 1100 may perform an assistant operation, such as by executing the voice-activated system 150 (e.g., an integrated assistant application). The assistant operation may include adjusting the temperature, playing music, turning on a light, etc. For example, the assistant operation may be performed in response to receiving a command followed by a keyword (e.g., "Hello, assistant"). Audio gain selection may be performed based on an audio signal received from the microphone 104 of the wireless speaker and voice-activated device 1100. For example, the audio gain selection improves voice detection performed by the wireless speaker and voice-activated device 1100.
[0117] refer to Figure 12, shows a specific implementation of the method 1200 for audio gain selection. In certain aspects, one or more operations of the method 1200 are performed by the gain controller 130, the processor 190, the device 102, Figure 1 The method is performed by at least one of the system 100 or a combination thereof.
[0118] At 1202, method 1200 includes determining at least one of an external criterion or a signal-based criterion. For example, Figure 1 The gain controller 130 in the embodiment determines at least one of an external criterion 132 or a signal-based criterion 134, as shown in FIG. Figure 1-5 The signal-based criterion 134 is based on whether the signal metric 162 associated with the gain-adjusted signal 111 or the signal metric 164 associated with the gain-adjusted signal 121 is closer to the target metric 160, as described in reference Figure 4 described.
[0119] At 1204, the method 1200 further includes outputting the first gain-adjusted signal from the first gain adjuster or the second gain-adjusted signal from the second gain adjuster as input to an audio processing operation based on the determined at least one criterion. Figure 1 The gain controller 130 in FIG. 1 outputs the gain-adjusted signal 111 from the gain adjuster 110 or the gain-adjusted signal 121 from the gain adjuster 120 as an input to the voice activation system 150 based on at least an external criterion 132 or a signal-based criterion 134, as shown in FIG. Figure 1-5 Gain-adjusted signal 111 is based on applying gain 115 to audio signal 107 from microphone 104 , and gain-adjusted signal 121 is based on applying gain 125 to audio signal 107 .
[0120] In some implementations, the method 1200 further includes selecting a mode (e.g., the selected mode 207) from the single channel mode 180, the multi-channel mode 182, or the polling mode 184 based on the mode selection criteria 205, as described in reference to FIG. Figure 2 The gain-adjusted signal 111 or the gain-adjusted signal 121 is output to the audio processing operation 152 based on the selected mode 207. The mode selection criteria 205 include performance criteria 231, power criteria 233, external criteria 132, default values, configuration settings, or a combination thereof.
[0121] Method 1200 implements dynamic selection of an audio gain for generating a gain-adjusted signal to improve the performance of audio processing operations on the gain-adjusted signal. For example, a higher gain is applied to an audio signal with a lower input audio level, while a lower gain is applied to an audio signal with a higher input audio level. When the audio signal has a higher input audio level, the lower gain prevents saturation, while when the audio signal has a lower input audio level, the higher gain improves voice detection.
[0122] Figure 12 The method 1200 may be implemented by a field programmable gate array (FPGA) device, an application specific integrated circuit (ASIC), a processing unit such as a central processing unit (CPU), a DSP, a controller, another hardware device, a firmware device, or any combination thereof. As an example, Figure 12 The method 1200 may be performed by a processor executing instructions, such as reference Figure 13 described.
[0123] refer to Figure 13 , depicts a block diagram of a particular illustrative implementation of a device, and generally designated 1300. In various implementations, device 1300 may have the same Figure 13 In an illustrative implementation, device 1300 may correspond to device 102. In an illustrative implementation, device 1300 may execute the following operations: Figure 1-12 Describes one or more operations.
[0124] In certain implementations, the device 1300 includes a processor 1306 (e.g., a central processing unit (CPU)). The device 1300 may include one or more additional processors 1310 (e.g., one or more DSPs). In certain aspects, Figure 1 The processor 190 in the embodiment corresponds to the processor 1306, the processor 1310, or a combination thereof. The processor 1310 may include a speech and music coder decoder (CODEC) 1308, the gain controller 130, the external system 140, the voice activation system 150, or a combination thereof. The speech and music codec 1308 may include a speech coder ("vocoder") encoder 1336, a vocoder decoder 1338, or both.
[0125] Device 1300 may include memory 1386 and CODEC 1334. Memory 1386 may include instructions 1356 that are executable by one or more additional processors 1310 (or processor 1306) to implement the functionality described with reference to gain controller 130, external system 140, voice activation system 150, or any combination thereof. Device 1300 may include a wireless controller 1340 coupled to antenna 1352 via transceiver 1350.
[0126] Device 1300 may include a display 1328 coupled to a display controller 1326. Speaker 1392 and microphone 104 may be coupled to CODEC 1334. CODEC 1334 may include digital-to-analog converter 1302, gain adjuster 110, and gain adjuster 120. In certain implementations, CODEC 1334 may receive an analog signal from microphone 104, convert the analog signal to a digital signal using at least one of gain adjuster 110 or gain adjuster 120, and provide the digital signal to speech and music codec 1308. Speech and music codec 1308 may process the digital signal, and the digital signal may be further processed by voice activation system 150. In certain implementations, speech and music codec 1308 may provide the digital signal to CODEC 1334. CODEC 1334 may convert the digital signal to an analog signal using digital-to-analog converter 1302, and may provide the analog signal to speaker 1392.
[0127] In a particular implementation, the device 1300 may be included in a system-in-package or system-on-chip device 1322. In a particular implementation, the memory 1386, the processor 1306, the processor 1310, the display controller 1326, the CODEC 1334, and the wireless controller 1340 are included in the system-in-package or system-on-chip device 1322. In a particular implementation, the input device 1330 and the power supply 1344 are coupled to the system-on-chip device 1322. Additionally, in a particular implementation, as shown in FIG. Figure 13 As shown, the display 1328, input device 1332, speaker 1392, microphone 104, antenna 1352, and power supply 1344 are located external to the system-on-chip device 1322. In particular implementations, the display 1328, input device 1330, speaker 1392, microphone 104, antenna 1352, and power supply 1344 may be coupled to a component of the system-on-chip device 1322, such as an interface or controller.
[0128] Device 1300 may include a smart speaker, a speaker bar, a mobile communication device, a smart phone, a cellular phone, a laptop, a computer, a tablet device, a personal digital assistant, a display device, a television, a game console, a music player, a radio unit, a digital video player, a digital video disc (DVD) player, a tuner, a camera, a navigation device, a vehicle, a headset, an augmented reality headset, a virtual reality headset, an aircraft, a home automation system, a voice-activated device, a wireless speaker and voice-activated device, a portable electronic device, a car, a vehicle, a computing device, a communication device, an Internet of Things (IoT) device, a virtual reality (VR) device, a base station, a mobile device, or any combination thereof.
[0129] In conjunction with the described implementations, an apparatus includes means for determining at least one of an external criterion or a signal-based criterion. The signal-based criterion is based on whether a first signal metric associated with a first gain-adjusted signal or a second signal metric associated with a second gain-adjusted signal is closer to a target metric. For example, the means for determining may correspond to the gain controller 130, the processor 190, one or more processors 1310, one or more other circuits or components configured to determine at least one of the external criterion or the signal-based criterion, or any combination thereof.
[0130] The device also includes a unit for outputting one of a first gain-adjusted signal from the first gain adjuster or a second gain-adjusted signal from the second gain adjuster as an input to an audio processing operation. The first gain-adjusted signal or the second gain-adjusted signal is based on at least one determined criterion. The first gain-adjusted signal is based on applying a first gain to an audio signal from a microphone. The second gain-adjusted signal is based on applying a second gain to an audio signal. For example, the unit for outputting can correspond to a gain controller 130, a processor 190, one or more processors 1310, one or more other circuits or components configured to output one of a first gain-adjusted signal from the first gain adjuster or a second gain-adjusted signal from the second gain adjuster, or any combination thereof.
[0131] In some implementations, a non-transitory computer-readable medium (e.g., a computer-readable storage device such as memory 1386) includes instructions (e.g., instructions 1356) that, when executed by one or more processors (e.g., one or more processors 1310 or processor 1306), cause the one or more processors to perform operations to determine at least one of an external criterion (e.g., external criterion 132) or a signal-based criterion (e.g., signal-based criterion 134). The signal-based criterion (e.g., signal-based criterion 134) is based on whether a first signal metric (e.g., signal metric 162) associated with a first gain-adjusted signal (e.g., gain-adjusted signal 111) or a second signal metric (e.g., signal metric 164) associated with a second gain-adjusted signal (e.g., gain-adjusted signal 121) is closer to a target metric (e.g., target metric 160). The instructions (e.g., instructions 1356), when executed by one or more processors, further cause the one or more processors to: output a first gain-adjusted signal (e.g., gain-adjusted signal 111) from a first gain adjuster (e.g., gain adjuster 110) or a second gain-adjusted signal (e.g., gain-adjusted signal 121) from a second gain adjuster (e.g., gain adjuster 120) as input to an audio processing operation (e.g., audio processing operation 152) based on the determined at least one criterion. The first gain-adjusted signal (e.g., gain-adjusted signal 111) is based on applying a first gain (e.g., gain 115) to an audio signal (e.g., audio signal 107) from a microphone (e.g., microphone 104). The second gain-adjusted signal (e.g., gain-adjusted signal 121) is based on applying a second gain (e.g., gain 125) to the audio signal (e.g., audio signal 107).
[0132] It will also be understood by those skilled in the art that the various illustrative logic blocks, configurations, modules, circuits, and algorithmic steps described in conjunction with the implementations disclosed herein can be implemented as electronic hardware, computer software executed by a processor, or a combination of the two. Various illustrative components, blocks, configurations, modules, circuits, and steps have been generally described above around their functions. Whether such functions are implemented as hardware or processor-executable instructions depends on the specific application and the design constraints imposed on the entire system. Those skilled in the art may implement the described functions in varying ways for each specific application, and such implementation decisions will not be interpreted as causing a departure from the scope of this disclosure.
[0133] The steps of the method or algorithm described in conjunction with the implementation disclosed herein can be directly embodied in hardware, in a software module executed by a processor, or in a combination of the two. The software module can reside in a random access memory (RAM), a flash memory, a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a register, a hard disk, a removable disk, a compact disc read-only memory (CD-ROM), or any other form of non-transitory storage medium known in the art. An exemplary storage medium is coupled to a processor so that the processor can read information from the storage medium and write information to the storage medium. Alternatively, a memory device can be integrated into a processor. The processor and storage medium can be located in an application specific integrated circuit (ASIC). The ASIC can be located in a computing device or a user terminal. Alternatively, the processor and storage medium can be located in a computing device or a user terminal as discrete components.
[0134] The previous description of the disclosed implementations is provided to enable those skilled in the art to implement or use the disclosed aspects. Various modifications to these aspects will be readily apparent to those skilled in the art, and the principles defined herein may be applied to other aspects without departing from the scope of the present disclosure. Therefore, the present disclosure is not intended to be limited to the aspects shown herein, but is to be accorded the widest possible scope consistent with the principles and novel features defined by the claims below.
Claims
1. A device comprising: a memory configured to store instructions; as well as One or more processors coupled to the memory and configured to execute the instructions to perform the following operations: during multi-channel mode and based on a signal criterion, select one of a first gain-adjusted signal from a first gain adjuster or a second gain-adjusted signal from a second gain adjuster as an input to an audio processing operation, the first gain-adjusted signal corresponding to a first gain applied to an audio signal from a microphone and the second gain-adjusted signal corresponding to a second gain applied to the audio signal, wherein the signal-based criterion is based on whether a first signal metric associated with the first gain-adjusted signal or a second signal metric associated with the second gain-adjusted signal is closer to a target metric.
2. The device according to claim 1, wherein The audio processing operation includes keyword detection for a voice activation system, wherein the first signal metric includes a first root mean square (RMS) value of the first gain-adjusted signal, wherein the second signal metric includes a second RMS value of the second gain-adjusted signal, wherein the target metric includes a target RMS value, and wherein the one or more processors are configured to provide one of the first gain-adjusted signal or the second gain-adjusted signal having an RMS value that is closer to the target RMS value for the keyword detection.
3. The apparatus according to claim 1, further comprising: an input interface configured to receive the audio signal from the microphone; The first gain adjuster is coupled to the input interface and is configured to apply the first gain to the audio signal; as well as The second gain adjuster is coupled to the input interface and is configured to apply the second gain to the audio signal.
4. The device according to claim 3, wherein The audio signal comprises an analog signal, and wherein the first gain adjuster is configured to: applying the first gain to the analog signal to generate a first gain-adjusted analog signal; and Analog-to-digital conversion is performed on the first gain-adjusted analog signal to generate the first gain-adjusted signal.
5. The apparatus according to claim 3, wherein The audio signal comprises an analog signal, and wherein the first gain adjuster is configured to: generating a digital signal by performing analog-to-digital conversion on the analog signal; and The first gain is applied to the digital signal to generate the first gain-adjusted signal.
6. The apparatus according to claim 1, wherein The one or more processors are configured to execute the instructions to perform the following operations: select a mode from a single-channel mode, a multi-channel mode, or a polling mode based on one or more mode selection criteria, wherein the first gain-adjusted signal or the second gain-adjusted signal is output to the audio processing operation based on the selected mode.
7. The apparatus according to claim 1, wherein The one or more processors are configured to execute the instructions to, during single channel mode and based on a power setting, perform the following operations: switching from the single-channel mode to a multi-channel mode by activating the first gain adjuster to generate the first gain-adjusted signal and activating the second gain adjuster to generate the second gain-adjusted signal; as well as One of the first gain adjusted signal or the second gain adjusted signal is selected for output to the audio processing operation.
8. The apparatus according to claim 1, wherein The one or more processors are configured to execute the instructions to, during single channel mode and based on a performance setting, perform the following operations: switching from the single-channel mode to a multi-channel mode by activating the first gain adjuster to generate the first gain-adjusted signal and activating the second gain adjuster to generate the second gain-adjusted signal; as well as One of the first gain adjusted signal or the second gain adjusted signal is selected for output to the audio processing operation.
9. The apparatus according to claim 1, wherein The one or more processors are configured to execute the instructions to, during single channel mode and based on a power setting and a performance setting, perform the following operations: switching from the single-channel mode to a multi-channel mode by activating the first gain adjuster to generate the first gain-adjusted signal and activating the second gain adjuster to generate the second gain-adjusted signal; as well as One of the first gain adjusted signal or the second gain adjusted signal is selected for output to the audio processing operation.
10. The apparatus according to claim 6, wherein The one or more mode selection criteria include a performance criterion.
11. The apparatus according to claim 6, wherein The one or more mode selection criteria include a power criterion.
12. The apparatus according to claim 6, wherein The one or more mode selection criteria include a default value.
13. The apparatus according to claim 6, wherein The one or more mode selection criteria include configuration settings.
14. The apparatus according to claim 6, wherein The one or more mode selection criteria include a combination of performance criteria, power criteria, default values, and configuration settings.
15. The apparatus according to claim 1, wherein The first gain and the second gain are based on hardware configuration.
16. The apparatus according to claim 1, wherein The first gain and the second gain are based on one or more default values.
17. The apparatus according to claim 1, wherein The first gain and the second gain are based on a configuration setting.
18. The apparatus according to claim 1, wherein The first gain and the second gain are based on user input.
19. The apparatus according to claim 1, wherein The first gain and the second gain are based on a combination of one or more default values, configuration settings, user input, and hardware configuration.
20. The apparatus of claim 1, wherein The one or more processors are configured to execute the instructions to perform the following operations: after a first polling duration during a polling mode, deactivate the gain adjuster of the first gain adjuster or the second gain adjuster corresponding to the non-selected one of the first gain-adjusted signal or the second gain-adjusted signal for a first inter-poll duration.
21. The apparatus according to claim 20, wherein The one or more processors are configured to execute the instructions to output a selected one of the first gain adjusted signal or the second gain adjusted signal to the audio processing operation during the first inter-polling duration.
22. The apparatus according to claim 20, wherein The one or more processors are configured to execute the instructions to: during the polling mode and after the first inter-poll duration: reactivating the deactivated gain adjuster of the first gain adjuster or the second gain adjuster; as well as During a second polling duration, one of the first gain adjusted signal received from the first gain adjuster or the second gain adjusted signal received from the second gain adjuster is selected for output to the audio processing operation.
23. The apparatus of claim 20, wherein: The first inter-poll duration is based on a power setting.
24. The apparatus of claim 20, wherein: The first inter-poll duration is set based on performance.
25. The apparatus of claim 20, wherein The first inter-poll duration is based on a power setting and a performance setting.
26. The apparatus of claim 20, wherein: The one or more processors are configured to execute the instructions to determine that the first inter-poll duration has elapsed based on determining whether a timer has expired, whether movement is detected, whether the detected time is within a specific time range, whether a proximate user is detected, or a combination thereof.
27. A method for audio gain selection, comprising: determining a signal-based criterion, wherein the signal-based criterion is based on whether a first signal metric associated with the first gain-adjusted signal or a second signal metric associated with the second gain-adjusted signal is closer to a target metric; and during a multi-channel mode and based on the determined criteria, selecting one of the first gain adjusted signal from the first gain adjuster or the second gain adjusted signal from the second gain adjuster as an input to an audio processing operation, Wherein the first gain-adjusted signal is based on applying a first gain to an audio signal from a microphone, and wherein the second gain-adjusted signal is based on applying a second gain to the audio signal.
28. The method according to claim 27, further comprising: A mode is selected from a single-channel mode, a multi-channel mode, or a polling mode based on one or more mode selection criteria, wherein the first gain-adjusted signal or the second gain-adjusted signal is output to the audio processing operation based on the selected mode.
29. The method according to claim 28, wherein The one or more mode selection criteria include a performance criterion.
30. The method of claim 28, wherein The one or more mode selection criteria include a power criterion.
31. The method of claim 28, wherein The one or more mode selection criteria include a default value.
32. The method of claim 28, wherein: The one or more mode selection criteria include configuration settings.
33. The method of claim 28, wherein: The one or more mode selection criteria include a combination of performance criteria, power criteria, default values, and configuration settings.
34. A non-transitory computer-readable storage medium storing instructions that, when executed by one or more processors, cause the one or more processors to: Determine a signal-based criterion where The signal-based criterion is based on whether a first signal metric associated with the first gain-adjusted signal or a second signal metric associated with the second gain-adjusted signal is closer to a target metric; as well as During multi-channel mode and based on the determined criteria, one of the first gain-adjusted signal from the first gain adjuster or the second gain-adjusted signal from the second gain adjuster is selected as an input to an audio processing operation, wherein the first gain-adjusted signal is based on applying a first gain to an audio signal from a microphone, and wherein the second gain-adjusted signal is based on applying a second gain to the audio signal.
35. The non-transitory computer-readable storage medium of claim 34, wherein: When executed by the one or more processors, the instructions cause the one or more processors to perform the following operations: A mode is selected from a single-channel mode, a multi-channel mode, or a polling mode based on one or more mode selection criteria, wherein the first gain adjusted signal or the second gain adjusted signal is output to the audio processing operation based on the selected mode.
36. An apparatus comprising: means for determining a signal-based criterion, wherein the signal-based criterion is based on whether a first signal metric associated with the first gain-adjusted signal or a second signal metric associated with the second gain-adjusted signal is closer to a target metric; and Unit for selecting one of the first gain-adjusted signal from a first gain adjuster or the second gain-adjusted signal from a second gain adjuster as an input to an audio processing operation, the one of the first gain-adjusted signal or the second gain-adjusted signal being selected during a multi-channel mode and based on at least one determined criterion, wherein the first gain-adjusted signal is based on applying a first gain to an audio signal from a microphone, and wherein the second gain-adjusted signal is based on applying a second gain to the audio signal.
37. The apparatus according to claim 36, wherein The unit for determining and the unit for selecting are integrated into a home automation system.
38. The apparatus of claim 36, wherein: The unit for determining and the unit for selecting are integrated into a voice-activated device.
39. The apparatus of claim 36, wherein: The means for determining and the means for selecting are integrated into a wireless speaker and a voice activated device.
40. The apparatus of claim 36, wherein The means for determining and the means for selecting are integrated into a portable electronic device.
41. The apparatus of claim 36, wherein: The unit for determining and the unit for selecting are integrated into a motor vehicle.
42. The apparatus of claim 36, wherein: The unit for determining and the unit for selecting are integrated into a vehicle.
43. The apparatus of claim 36, wherein: The unit for determining and the unit for selecting are integrated into a computing device.
44. The apparatus of claim 36, wherein: The unit for determining and the unit for selecting are integrated into a communication device.
45. The apparatus of claim 36, wherein The unit for determining and the unit for selecting are integrated into an Internet of Things (IoT) device.
46. The apparatus of claim 36, wherein: The unit for determining and the unit for selecting are integrated into a virtual reality (VR) device.
47. The apparatus of claim 36, wherein: The unit for determining and the unit for selecting are integrated into a base station.
48. The apparatus of claim 36, wherein: The unit for determining and the unit for selecting are integrated into a mobile device.
49. The apparatus of claim 36, wherein: The means for determining and the means for selecting are integrated into a combination of a home automation system, a voice activated device, a wireless speaker and a voice activated device, a portable electronic device, an automobile, a vehicle, a computing device, a communication device, an Internet of Things (IoT) device, a virtual reality (VR) device, a base station, and a mobile device.
Citation Information
Patent Citations
Microphone Interface and Method of Operation
US20110064246A1
Gain adjustment device, remote conversation device, and gain adjustment method
US20200120420A1