Method and apparatus for dynamic volume adjustment via audio classification
Through audio signal classification and real-time volume measurement, the target gain value is calculated, which solves the problem of continuous and perceptible dynamic range compression of audio signals in the prior art, and achieves efficient volume adjustment and audio quality protection.
Patent Information
- Application Number
- CN202411143348.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2018-10-12
- Filing Date
- 2019-09-06
- Publication Date
- 2024-12-13
AI Technical Summary
The prior art, when dynamic range compression of audio signals from multiple audio sources, results in continuous and perceptible volume adjustment, affects audio quality, and fails to effectively handle differences in different volume levels, resulting in discomfort among listeners.
Through audio signal classification and real-time input volume measurement, the neural network analyzes the parameters of the audio signal, determines its classification group, and calculates the target gain value based on the classification group and input volume, reduces the dynamic range compression of the volume, and realizes dynamic volume adjustment.
This achieves the ability to maintain audio quality while minimizing dynamic range compression, reduce the impact of volume adjustment on listeners, and ensures that the audio signal is within the target volume range, providing a consistent volume experience.
Smart Images

Figure CN119127114A_ABST
Abstract
Description
[0001] This application is a divisional application of the invention patent application with the original application number 201980072115.2 (International application number: PCT / US2019 / 050080, application date: September 6, 2019, invention name: Method and device for dynamic volume adjustment via audio classification). Technical Field
[0002] The present disclosure relates generally to volume adjustment, and more particularly, to methods and apparatus for dynamic volume adjustment via audio classification. Background Art
[0003] In recent years, a large amount of media with time-varying properties has been delivered using an increasing number of channels. It can be received using more traditional channels (e.g., radio) or using recently developed channels (such as streaming devices using Internet connections). As these channels have developed, systems have also been developed that can process and output audio from multiple sources. For example, some automotive media systems can deliver media from compact discs (CDs), Bluetooth connected devices, universal serial bus (USB) connected devices, Wi-Fi connected devices, auxiliary inputs, and other sources. Summary of the invention
[0004] In one aspect, an apparatus is disclosed. The apparatus includes an audio signal classifier that analyzes a parameter of an audio signal associated with a first volume level using a neural network to determine a classification group associated with the audio signal, an input volume detector that determines an input volume of the audio signal, a volume adjuster that applies a gain value to the audio signal, the gain value being based on the classification group and the input volume, the gain value modifying the first volume level to a second volume level, and a dynamic range compressor that applies a compression value to the audio signal, the compression value modifying the second volume level to a third volume level that satisfies a target volume threshold.
[0005] In another aspect, an apparatus is disclosed. The apparatus includes: a unit for analyzing, the unit for analyzing analyzing a parameter of an audio signal associated with a first volume level using a neural network to determine a classification group associated with the audio signal; a unit for determining, the unit for determining determining an input volume of the audio signal; a first unit for applying, the first unit for applying applying a gain value to the audio signal, the gain value being based on the classification group and the input volume, the gain value modifying the first volume level to a second volume level; and a second unit for applying, the second unit for applying applying a compression value to the audio signal, the compression value modifying the second volume level to a third volume level that meets a target volume threshold.
[0006] In yet another aspect, a method is disclosed. The method includes the steps of analyzing a parameter of an audio signal associated with a first volume level using a neural network to determine a classification group associated with the audio signal, determining an input volume of the audio signal, applying a gain value to the audio signal, the gain value being based on the classification group and the input volume, the gain value modifying the first volume level to a second volume level, and applying a compression value to the audio signal, the compression value modifying the second volume level to a third volume level that satisfies a target volume threshold. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Figure 1 is a schematic diagram of an example system for dynamic volume adjustment via audio classification constructed in accordance with the teachings of the present disclosure.
[0008] Figure 2 It is shown Figure 1 A block diagram of a media unit with additional details.
[0009] Figure 3 is a block diagram illustrating an audio classification engine capable of providing a trained model for Figure 1 and Figure 2 The media unit used.
[0010] Figure 4 and Figure 5 is a flowchart representing example machine readable instructions that may be used to implement Figure 1 and Figure 2 The media unit 106 can perform dynamic volume adjustment via audio classification.
[0011] Figure 6 It is executable Figure 4 and Figure 5 Instructions to achieve Figure 1 and Figure 2 Schematic diagram of an example processor platform for an example media unit 106.
[0012] The drawings are not drawn to scale. Wherever possible, the same reference numbers will be used throughout the drawings and accompanying written description to refer to the same or like parts. DETAILED DESCRIPTION
[0013] In conventional audio media implementations, audio signals associated with different media may have different volumes. For example, media on one CD may be recorded and / or mastered at a significantly different volume than the media on another CD. Similarly, media read from a streaming device may have a significantly different volume level than media read from a different device or media read from the same device via different applications. As users increasingly listen to media from a variety of different sources, differences in volume levels between sources and between media from the same source may become very noticeable and may cause discomfort to the listener.
[0014] In some conventional methods for volume adjustment, a dynamic range compressor is used to compress the total dynamic range of an audio signal to meet a volume threshold. In some conventional implementations, such dynamic range compression continuously monitors and adjusts the volume of the audio signal to meet the volume threshold of the audio signal. Such continuous adjustment has a perceptible impact on the listener's perception of the audio signal because the original dynamics of the track can be significantly altered. In some examples, dynamic range compression significantly reduces the perceived audio signal quality (e.g., by introducing artifacts into the audio).
[0015] In the example methods, devices, systems and articles disclosed herein, audio classification is used to determine the category of an audio signal, and then volume adjustment is performed to minimize the amount of dynamic range compression required to place the audio signal within a target volume range. The example methods, devices, systems and articles disclosed herein utilize a combination of classification of audio signals and real-time input audio measurements to determine a target gain value that can be applied to an audio signal. For example, after determining a classification group associated with an audio signal, the classification gain value can be read (e.g., from a lookup table that associates a volume gain adjustment value with a classification group). The input volume of the audio signal can be additionally determined. Then, based on the input volume and the recommended classification gain value, a target gain value can be determined. The target gain value is such a volume adjustment: it is applied to the input audio signal to bring the volume closer to the target volume range (e.g., within + / -1dbFS of -21dbFS), so that when the gain-adjusted signal is provided to a compressor, the amount of compression required to place the gain-adjusted signal within the target volume range is reduced.
[0016] In the example methods, devices, systems, and articles disclosed herein, a target gain value is calculated based on the classification of an input audio signal and based on the input volume of the audio signal to reduce the amount of compression required to bring the volume of the audio signal within a target volume range. In some examples, when the input audio signal is first detected, the dynamic range of the audio signal is initially compressed so that the volume of the audio signal is within the target volume range until the input audio signal is classified and the volume of the input audio signal is determined. In some examples, by adjusting the audio signal using only compression when the audio signal is first detected, the listener can briefly perceive the compression because the reduction in the audio level is not caused by manual volume adjustment. However, once the initial volume of the audio signal and the classification of the audio signal are determined, the target gain value is calculated to reduce the amount of compression required to bring the volume of the audio signal within the target volume range. In some examples, the classification and initial volume determination can occur quickly enough (e.g., within five seconds, within one second, etc.) so that the listener cannot perceive the initial use of compression.
[0017] Some example methods, devices, systems, and articles disclosed herein determine changes in audio signal sources and respond to them. In some examples, in addition to or instead of using compression, an initial volume adjustment is performed. For example, in response to an audio signal input change (e.g., a change from no audio signal to presenting an audio signal, a change from one audio signal input source to another audio signal input source, etc.), an initial volume level can be determined (e.g., based on a previous volume adjustment setting specific to the audio signal source), and an initial volume level adjustment can be performed. In some examples, an initial volume level adjustment is performed using a "fade-in" technique that gradually increases the audio volume level after the input signal changes. In some examples, the initial volume level adjustment can be based on a stored setting associated with the type of audio input signal (e.g., FM radio, AM radio, CD, auxiliary audio source, etc.).
[0018] The example methods, devices, systems, and articles disclosed herein classify audio signals into one or more of a plurality of classification groups. When determining the classification group, the characteristics of the classification group (e.g., available dynamic headroom, typical dynamic range, etc.) can be used to adjust the volume of the audio signal with minimal loss (e.g., using minimum dynamic range compression). In some examples, pattern recognition can be used in training data to identify the classification group. For example, audio signals can be grouped based on factors such as the instrument represented in the signal, the year the audio signal was produced, the music genre, etc. Once the training data is grouped, characteristics such as dynamic range value distribution, volume value distribution, or any other audio characteristics can be stored in association with the classification group (e.g., in a lookup table). In some examples, when classifying an audio signal, a probability distribution can be determined (e.g., as opposed to a specific classification group to which the output audio signal belongs). For example, the classification process may output that the audio signal has a 50% probability of belonging to a group representing music without drums from 1976 to 1995, a 30% probability of belonging to a group representing music without drums from 1996 to present, an 18% probability of belonging to a group representing music with synthesized drums from 1976 to 1995, or a 2% probability of belonging to another group. In some such examples, selecting gain values associated with the classification groups to perform volume adjustment may involve an averaging technique (e.g., determining gain values associated with respective groups, and weighting the respective values according to the probability that the audio signal belongs to the respective group).
[0019] In some example methods, devices, systems, and articles disclosed herein, a large number of volume profiles representing various audio signals (e.g., representing multiple genres, multiple time periods, etc.) are used to train an audio signal classifier to perform classification of audio signals. For example, the volume profile includes volume values by time in a song. In some examples, in addition to or instead of the volume profile, other profiles and / or representations of the audio signal can be used to train the audio signal classifier. In some examples, clustering is performed on the volume profile to train the audio signal classifier. In some examples, the audio signal classifier is trained to determine clusters of volume profiles based on volume, dynamic range, and / or any other attributes of the volume profile. The audio signal classifier can cluster the volume profile into dynamic range groups, and then the audio signal classifier can assign the incoming audio (e.g., input audio signal) to one or more of the classification groups.
[0020] In the example methods, devices, systems, and articles disclosed herein, after determining the classification group of the audio signal, the volume level of the audio signal can be adjusted by applying a gain value to the audio signal. The gain value can be specific to the classification group. For example, if the classification group is associated with an audio signal with a relatively small, normalized dynamic range (e.g., as in some pop music), a larger volume adjustment can be made to bring the volume level of the audio signal close to the target volume range (e.g., because the approximate volume deviation of the entire track can be determined). Conversely, if the classification group is associated with an audio signal with a relatively wide dynamic range, a smaller volume adjustment can be made to keep the audio signal within an audible level.
[0021] After applying the gain value based on the classification group associated with the audio signal, compression can be used to bring the volume of the audio signal within the target volume range. Since dynamic range compression may result in a reduction in overall audio quality (e.g., some loss of the audio signal), the example methods, devices, systems, and articles disclosed herein improve volume adjustment techniques by first applying a gain value that is specific to the type of audio presented (e.g., specific to the classification group), thereby reducing the amount of dynamic range compression required to adjust the volume level of the audio signal to be within the target volume range.
[0022] In some example methods, apparatus, systems, and articles disclosed herein, once an audio signal is classified according to a dynamic volume adjustment setting, characteristics of the audio signal can be inferred based on the audio signal classification group and used to determine a target gain value to bring the volume of the audio signal close to a target volume threshold with minimal or no compression.
[0023] In some example methods, devices, systems, and articles disclosed herein, input volume measurements are considered when determining a target gain value. For example, if the input volume is determined to be -15dbFS, and the target volume range is + / -1dbFS above and below -21dbFS (e.g., -20dbFS to -22dbFS), the target gain value should be a negative gain value that is smaller than when the input volume is determined to be -10dbFS, even if the classification group is constant. In some such examples, when determining the target gain value, the input volume measurement has a higher weight than the classification gain value, because ultimately the actual input volume level of a particular audio signal is more indicative of the amount by which the volume can be adjusted than a class-based prediction (e.g., a real-time measurement can be more accurate than a prediction associated with a class of an audio signal). In some examples, an average between the classification gain value and the input volume is determined to calculate the target gain value. For example, if the input volume is determined to be -15dbFS, and the classification gain value (e.g., determined based on the average dynamic range of the audio signal of the classification group) indicates that the volume can be adjusted by -6dbFS, but the target volume range is + / -1dbFS of -21dbFS, then relying solely on the classification gain value will provide little room for error (e.g., if the dynamic range is greater than expected, the volume will likely often fall outside the -020dbFS to 22dbFS target volume range). In contrast, if the target gain value is calculated as an intermediate value (e.g., an average) between the input volume and the classification gain value, the target gain value will bring the volume of the audio signal closer to the target gain value while still leaving room for error.
[0024] In some example methods, devices, systems, and articles disclosed herein, input volume levels are measured at regular intervals (e.g., every three seconds, every ten seconds, etc.), and classification is performed at regular intervals. In response to changes in input volume (e.g., changes in the average input volume within the interval, changes in the input volume deviation within the interval), and / or in response to changes in the classification group, a new target gain value can be determined. In some examples, when transitioning between target gain values, a smoothing filter can be used to smoothly transition between two gain values to avoid significant volume fluctuations at each interval. In some examples, a larger change in the target gain value is ramped at a slower rate than a relatively smaller change in the target gain value.
[0025] The example methods, devices, systems and products disclosed herein adjust the volume level of the audio signal to be within the target volume range. In some examples, the listener can then manually adjust the volume level (e.g., by rotating the volume knob, by providing a voice command to change the volume level, etc.), and then this occurs by applying a gain value to the audio signal adjusted by the volume. Therefore, the listener can still choose the volume at which they listen to the audio signal, but they can do so from a consistent standard volume level (e.g., from a target volume range), which is contrary to adjusting for changes between different sources, changes between tracks, etc. Therefore, the technology disclosed herein enables the input audio to be adjusted to be locked within a consistent volume range. In some example methods, devices, systems and products disclosed herein, dynamic volume adjustment can be stopped once the manual volume adjustment is performed. For example, if the user manually adjusts the volume level (e.g., by rotating the volume knob, by providing a voice command to change the volume level, etc.), the automatic adjustment of the audio level (e.g., by classifying the audio, selecting a gain value based on the classification, monitoring the audio level, etc.) can be stopped to enable the user to fully control the audio level.
[0026] In some example methods, devices, systems, and articles disclosed herein, audio signals can be identified to further improve volume adjustment. For example, in some example techniques disclosed herein, audio watermarks are used to identify media in order to read metadata related to audio signals. Audio watermarking is a technique for identifying media (such as television broadcasts, radio broadcasts, advertisements (television and / or radio), downloaded media, streaming media, prepackaged media, etc.). Existing audio watermarking techniques identify media by embedding one or more audio codes (e.g., one or more fingerprints) such as media identification information and / or identifiers that can be mapped to media identification information into audio components and / or video components. In some examples, the audio component or video component is selected to have signal characteristics sufficient to hide the watermark. As used herein, the terms "fingerprint", "code", "signature", or "watermark" are used interchangeably and are defined to represent any identification information (e.g., identifier) that can be inserted or embedded in the audio or video of a media (e.g., a program or advertisement) for the purpose of identifying the media or for another purpose such as tuning (e.g., a packet identification header). As used herein, "media" refers to audio and / or visual (still or moving) content and / or advertisements. To identify media using fingerprints, the fingerprint is extracted and used to access a reference fingerprint table that is mapped to media identification information.
[0027] In the examples disclosed herein, volume adjustment can be performed by a component of the audio system of the vehicle or a component communicating with the audio system of the vehicle. In some examples, a media unit including a dynamic volume adjuster or other components with a dynamic volume adjustment function can be included in the head unit. In such an example, the head unit can receive an audio signal from an auxiliary input, a CD input, a radio signal receiver input, an external stream from a smart device, a Bluetooth input, a network connection (e.g., a connection to the Internet) or via any other source. For example, dynamic volume adjustment can be performed on a media system in a home entertainment system, wherein a plurality of sources (e.g., DVD players, set-top boxes, etc.) can transmit an audio signal that is dynamically adjusted to attempt to standardize the volume level between sources and between media. In other examples, dynamic volume adjustment can be performed according to any setting or for any media device.
[0028] In the example process of dynamic volume adjustment via audio classification, an audio signal is accessed, which corresponds to normalized high volume pop music. After detecting the audio signal input change associated with the audio signal, the dynamic range compressor compresses the audio to the target volume range (e.g., -21dbFS). In parallel with the compression, the audio signal classifier determines the classification group corresponding to the audio signal. For example, the classification group can correspond to the music with synthetic drums and bass from the time period from 1996 to the present. The classification group can be associated with a specific volume adjustment level (e.g., -15dbFS). In some examples, in addition to the volume level adjustment determined based on the current audio volume level or instead of the volume level adjustment determined based on the current audio volume level, the volume adjustment level associated with the classification group can also be considered. After the volume adjustment associated with the volume adjustment level, only a small amount of audio compression needs to be performed to reach the target volume range. For example, if the volume adjustment step turns the volume down to a first value (e.g., -17.50 dbFS), and the target volume range is around a second value (e.g., -21 dbFS) that is larger than the first value, a small amount of audio compression may be performed to bring the audio signal to the first value (e.g., to around -21 dbFS and into the target volume range). Thus, where dynamic range compression is only performed to reduce the signal by a relatively small amount (e.g., 3.5 dbFS), the audio quality is significantly better than reducing the signal that needs to be compressed from the original audio input to the target volume range (e.g., compressing the audio signal by -21 dbFS).
[0029] Figure 11 is a schematic diagram of an example system 100 for dynamic volume adjustment constructed in accordance with the teachings of the present disclosure. The example system 100 includes media devices 102, 104 that send audio signals to a media unit 106. The media unit 106 processes the audio signals and sends the signals to an audio amplifier 108, which then outputs an amplified audio signal to be presented via an output device 110.
[0030] Figure 1 The example media device 102 of the illustrated example is a portable media player (e.g., an MP3 player). The example media device 102 stores or receives audio signals corresponding to the media and is capable of sending audio signals to other devices. Figure 1 In the illustrated example of , the media device 102 sends the audio signal to the media unit 106 via the auxiliary cable. In some examples, the media device 102 can send the audio signal to the media unit 106 via any other interface.
[0031] Figure 1 The example media device 104 of the illustrated example is a mobile device (e.g., a cellular phone). The example media device 104 stores or receives audio signals corresponding to media and is capable of sending audio signals to other devices. Figure 1 In the illustrated example of , the media device 104 wirelessly transmits audio signals to the media unit 106. In some examples, the media device 104 can use Wi-Fi, Bluetooth, and / or any other technology to transmit audio signals to the media unit 106. In some examples, the media device 104 can interact with components or other devices of the vehicle for the listener to select media presented in the vehicle. The media devices 102, 104 can be any device capable of storing and / or accessing audio signals. In some examples, the media devices 102, 104 can be integrated into the vehicle (e.g., a CD player, a radio, etc.).
[0032] Figure 1 The example media unit 106 of the illustrated example is capable of receiving an audio signal and processing the audio signal. Figure 1In the illustrated example of , the example media unit 106 receives a media signal from the media devices 102 and 104 and processes the media signal to perform dynamic volume adjustment. The example media unit 106 can identify the audio signal based on an identifier (e.g., fingerprint, watermark, signature, etc.) embedded in the media. The example media unit 106 can also access metadata corresponding to the media associated with the audio signal. In some examples, the metadata is stored in a storage device of the media unit 106. In some examples, the metadata is accessed from another location (e.g., from a server via a network). In addition, the example media unit 106 can perform dynamic volume adjustment by determining and applying an average gain value based on the metadata to adjust the average volume of the audio signal to meet the volume threshold. The example media unit 106 can also monitor the audio being output by the output device 110 to determine the average volume level of the audio clip in real time. In the case where the audio signal is not identified as corresponding to the media, and / or in the case where the metadata including the volume information is not available for the audio signal, the example media unit 106 can perform dynamic range compression to provide compression of the audio signal, thereby achieving the desired volume level. In some examples, the example media unit 106 is included as part of another device in a vehicle (e.g., a car radio head unit). In some examples, the example media unit 106 is implemented as software and is included as part of another device available through a direct connection (e.g., a wired connection) or through a network (e.g., available on the cloud). In some examples, the example media unit 106 can be combined with the audio amplifier 108 and the output device 110, and can output the audio signal itself after processing of the audio signal.
[0033] Figure 1 The example audio amplifier 108 of the illustrated example is a device that is capable of receiving an audio signal that has been processed by the media unit 106 and performing appropriate amplification on the signal for output by the output device 110. In some examples, the audio amplifier 108 may be incorporated into the output device 110. In some examples, the audio amplifier 108 amplifies the audio signal based on an amplified output value from the media unit 106. In some examples, the audio amplifier 108 amplifies the audio signal based on input from a listener (e.g., a passenger or driver in a vehicle adjusting a volume selector).
[0034] Figure 1 The example output device 110 of the illustrated example is a speaker. In some examples, the output device 110 can be a plurality of speakers, headphones, or any other device capable of presenting an audio signal to a listener. In some examples, the output device 110 can also output visual elements (e.g., a television with speakers).
[0035] Although the implementation of dynamic volume control in a vehicle is described with reference to Figure 1 1, but some or all of the devices included in the example system 100 may be implemented in any environment and in any combination. For example, the system 100 may be located in an entertainment room of a house, where the media devices 102, 104 may be game consoles, virtual reality devices, set-top boxes, or any other devices capable of accessing and / or transmitting media. Additionally, in some examples, the media may also include visual elements (e.g., television programs, movies, etc.).
[0036] Figure 2 Yes Figure 1 A block diagram 200 of additional details of an example implementation of the media unit 106 is shown. The example media unit 106 is capable of receiving an audio signal and processing the audio signal to dynamically adjust the volume of the audio signal to be within a target volume range. After dynamic volume adjustment, the example media unit 106 sends the volume-adjusted audio signal 228 to the audio amplifier 108 for amplification before being output by the output device 110.
[0037] The example media unit 106 includes an example input audio signal 202, an example input signal detector 204. The signal detector includes an example compressor gain comparator 206, an example audio volume / power comparator 208, an example audio sample comparator 210, all of which are used to determine whether the audio source changes have changed 212. The example media unit 106 also includes an example input volume detector 214, an example audio signal classifier 216, an example classification database 218, an example volume adjuster 220, an example audio signal identifier 222, an example dynamic range compressor 224, and an example real-time audio monitor 226. The resulting output of the system is an example volume adjusted audio signal 228.
[0038] The example input audio signal 202 is an audio signal to be processed and output for presentation. The input audio signal 202 may be accessed from a radio signal (e.g., an FM signal, an AM signal, a satellite radio signal, etc.), from a compact disc, from an auxiliary cable (e.g., connected to a media device), from a Bluetooth signal, from a Wi-Fi signal, or from any other medium. The input audio signal 202 is accessed by the input signal detector 204, the audio signal classifier 216, and / or by the real-time audio monitor 226. The input audio signal 202 is transformed by a volume adjuster 220 and / or a dynamic range compressor 224.
[0039] The example input signal detector 204 detects the input audio signal 202. In some examples, the input signal detector 204 detects whether the input audio signal 202 is associated with a new input audio signal or a new input audio signal source (e.g., an AM signal switching to an FM signal, an auxiliary device signal switching to a CD, etc.). In some examples, the input signal detector 204 detects the input audio signal 202 when the input audio signal 202 begins after the media unit 106 is in a powered-off state (e.g., the media unit 106 is powered on and the input audio signal 202 begins). In some examples, when the input audio signal 202 is new (e.g., it represents a new type of input audio signal indicating a changing input, it represents a signal that begins after the media unit has not previously presented an audio signal, etc.), the input signal detector 204 communicates with the audio signal classifier 216 to initiate a classification process. In some examples, the input signal detector 204 determines whether the audio source has changed. For example, the input signal detector 204 may determine whether the audio input source has changed via the example compressor gain comparator 206 , the example volume / power comparator 208 , and the example audio sample comparator 210 , which are used by the example source change determiner to determine whether the audio source signal has changed 212 .
[0040] The example compressor gain comparator 206 compares the current gain of the dynamic range compressor 224 to a previous gain of the dynamic range compressor 224. For example, the compressor gain comparator 206 may compare the gain of the dynamic range compressor 224 associated with the current block of samples of the input audio signal 202 to an average (e.g., mean, median, etc.) gain of the dynamic range compressor 224 associated with a previous block of samples (e.g., samples from the previous three seconds, samples from the previous five seconds, samples from the previous ten seconds, etc.). In some examples, the compressor gain comparator 206 may output a ratio of the current gain of the dynamic range compressor 224 to the average of the previous gains of the dynamic range compressor 224. In other examples, the compressor gain comparator 206 may output any other suitable value (e.g., difference, etc.) associated with the comparison of the current gain of the dynamic range compressor 224 to the average of the previous dynamic gains of the dynamic range compressor 224.
[0041] The example volume / power comparator 208 compares the current power of the input audio signal 202 with the previous power of the input audio signal 202. For example, the power comparator 208 can compare the current power of the input audio signal 202 with the average (e.g., mean, median, etc.) power associated with a previous block of samples (e.g., samples of the previous three seconds, samples of the previous five seconds, samples of the previous ten seconds, etc.) of the input audio signal 202. In some examples, the power comparator 208 can compare the root mean square (RMS) power of the current sample of the input audio signal 202 with the RMS power associated with the previous sample of the input audio signal 202. In some examples, the power comparator 208 can query the peak output of the media unit 106 to determine the RMS power of the audio sample. In some examples, after K-weighting has been applied, the power comparator 208 can output the ratio of the current RMS power to the average of the previous RMS power. In other examples, the power comparator 208 may output any other suitable value (eg, a difference, etc.) associated with a comparison of the current RMS power of the input audio signal 202 and an average of previous RMS powers of the input audio signal 202 .
[0042] The example audio sample comparator 210 compares the current value of a sample of the input audio signal 202 with a previous value of the input audio signal 202. In some examples, the audio sample comparator 210 determines the value of the audio sample based on the maximum amplitude of the samples of the current block from the input audio signal 202. In some examples, the audio sample comparator 210 determines the value of the audio sample as a normalized value (e.g., between 1 and -1, etc.). In other examples, the audio sample comparator 210 can determine the value of the audio sample based on any suitable ratio. In some examples, the audio sample comparator 210 determines the absolute value of the determined audio sample value. For example, the audio sample comparator 210 can compare the current maximum audio sample value of the input audio signal 202 with the average (e.g., mean, median, etc.) audio sample value of the input audio signal 202 associated with a previous sample block (e.g., samples of the previous three seconds, samples of the previous five seconds, samples of the previous ten seconds, etc.). In some examples, the audio sample comparator 210 can output a ratio of the current maximum audio sample value to the average of the previous audio sample block. In other examples, the audio sample comparator 210 may output any other suitable value (eg, a difference, etc.) associated with a comparison of a current audio sample of the input audio signal 202 and an average of a previous block of audio samples of the input audio signal 202 .
[0043] The example source change determiner 212 determines whether the audio source of the input audio signal 202 has changed based on the output of the example compressor gain comparator 206, the example power comparator 208, and / or the example audio sample comparator 210. For example, the source change determiner 212 can use regression analysis (e.g., linear regression, binomial regression, least squares, logistic regression, etc.) to determine whether a source change has occurred. In such an example, the source change determiner 212 can also use the labeled input data as the basis for the regression analysis. For example, as a result of the classification according to the value corresponding to the power comparison, the compressor gain comparison, and / or the audio sample comparison, the labeled input data can include an indication of whether the audio source has changed by making a binary decision of a source change or no source change. In other examples, the source change determiner 212 can use any other suitable prediction model (e.g., machine learning, neural network, etc.) to determine whether an audio source change has occurred. In some examples, the source change determiner 212 can output a binary value indicating whether a source change has occurred within a time frame (e.g., the first three seconds, etc.). For example, source change determiner 212 may output a "0" to indicate that no source change has occurred, and may output a "1" to indicate that a source change has occurred. In other examples, source change determiner 212 may output any other suitable indication to indicate that an audio source change has occurred.
[0044] The example input volume detector 214 determines a volume level associated with the input audio signal 202. In some examples, when the input signal detector 204 indicates that the input audio signal 202 is a new input audio signal, the input volume detector 214 determines an initial input volume level value associated with the input audio signal 202. In some examples, the input volume detector 214 provides the volume level to the dynamic range compressor 224 to enable dynamic range compression of the input audio signal 202 when the input audio signal is first received. For example, the input volume detector 214 can provide the initial volume level of the input audio signal 202 to the dynamic range compressor 224, and then the dynamic range compressor 224 can adjust the dynamic range so that the volume level of the input audio signal 202 falls within the target volume range. The input volume detector 214 of the illustrated example determines the volume level at regular intervals (e.g., for three second intervals, for five second intervals, etc.). In some examples, the input volume detector 214 determines an average (e.g., mean, median, etc.) volume level for the interval. In some examples, the input volume detector 214 determines the deviation of the volume level for the interval.
[0045] The example audio signal classifier 216 determines the classification of the input audio signal. In some examples, the audio signal classifier 216 analyzes characteristics of the input audio signal 202 to determine the classification group to which the input audio signal 202 belongs. In some examples, the audio signal classifier 216 utilizes a neural network to assist in the prediction of the dynamic range and to inform the volume leveler 220 of the amount of volume reduction to be applied to the input audio signal 202. For example, a neural network can be utilized to train and output a classification model that can be utilized by and / or incorporated into the audio signal classifier 216. Figure 3 A block diagram illustrating an example audio classification engine capable of providing a trained model for use by a media unit 106 (e.g., for an audio signal classifier 216, etc.) is illustrated. In some examples, audio characteristics associated with the training data are used by a neural network to identify classification groups that are stored in association with the classification groups. For example, audio characteristics (such as average dynamic range, dynamic range deviation, average volume, average volume deviation, etc.) can be determined for the classification groups and stored (e.g., in a lookup table) in a classification database 218 and / or at another accessible location.
[0046] In some examples, the audio signal classifier 216 and / or Figure 3 The audio classification engine 300 accesses volume profiles and / or other representations of representative various audio signals (e.g., representing various instruments, various genres, etc.) and trains a model of the audio signal classifier 216 (e.g., using clustering) to identify classes based on the volume profiles and / or other representations of the representative various audio signals. For example, the volume profiles and / or other representations can be clustered based on volume and / or dynamic range. The audio signal classifier 216 can then classify the input audio signal 202 by analyzing the input audio signal 202 to determine the volume, dynamic range, and / or another attribute of the input audio signal 202 that can be compared to one or more attributes associated with the class.
[0047] The audio signal classifier 216 of the illustrated example determines one or more classification groups from a plurality of classification groups (e.g., nine classification groups, ten classification groups, etc.) associated with various types of audio signals. For example, the classification groups may be associated with the genre of music represented by the input audio signal 202, the time period of music represented by the input audio signal 202, different instruments identified in the input audio signal 202, etc. In some examples, the classification groups may be associated with speech content, pop music, rock music, hip-hop music, etc. Some example classification groups include speech, music without drums before 1975, music without drums from 1976 to 1995, music without drums from 1996 to present, music with synthetic drums from 1976 to 1995, music with synthetic drums from 1996 to present, music with real drums before 1975, music with real drums from 1976 to 1995, and / or music with real drums from 1996 to present. The classification groups may thus correspond to different eras of music / sound works, where technical differences in sound recording and / or reproduction capabilities correspond to differences in the volume and / or dynamic range of the produced music / sounds. The classification groups may additionally or alternatively be based on observed (e.g., heuristically derived) characteristics of the volume and / or dynamic range of the audio content.
[0048] The audio signal classifier 216 can utilize any characteristic of the input audio signal 202 to classify the input audio signal 202. For example, the audio signal classifier 216 can use spectral characteristics of the input audio signal 202, constant Q transform (CQT) characteristics of the input audio signal 202, or any other parameter. In some examples, time samples, spectrograms, summaries, transforms, and / or descriptions of the audio signal are used as inputs to the audio signal classifier 216. Such characteristics can be input into a neural network model to determine a classification group for the input audio signal. In some examples, the neural network model can be accessed from a classification database 218.
[0049] The audio signal classifier 216 of the illustrated example can output a single class (e.g., speech, music with drums after 1996, etc.) or output a probability distribution associated with multiple classes. In some examples, the audio signal classifier 216 determines the class with the highest probability corresponding to the audio signal, and outputs an indication that the audio signal belongs to the class. In other examples, the audio signal classifier 216 outputs the probability associated with the corresponding class in the class that the audio signal belongs to (e.g., the possibility that the audio signal belongs to the "speech" class is 60 percent). In some examples, compared with when to output probability distribution, a threshold percentage can be utilized to determine when to output a single class. For example, if the audio signal classifier 216 identifies that the possibility that the audio signal belongs to the speech class is 90 percent, this can exceed the threshold percentage and allow the audio signal classifier 216 to identify the audio signal as belonging to the speech class. In some examples, if the threshold percentage is not met, a probability distribution can be output, or the audio signal classifier 216 can indicate that it cannot identify the class associated with the audio signal.
[0050] In response to determining the classification group of the input audio signal 202, the audio signal classifier 216 can select a classification gain value associated with the classification group, which can be transmitted to the volume adjuster 220 and / or the dynamic range compressor 224. In some examples, the audio signal classifier 216 accesses the classification gain value from one or more lookup tables associated with the classification group. In some examples, the classification gain value is determined as a combination of values from one or more tables associated with one or more classification groups. For example, if the audio signal classifier 216 outputs a probability distribution indicating the probability that the audio signal belongs to each classification group, the table associated with each group can be retrieved, and the gain value or other adjustment value (e.g., EQ value) can be combined and weighted based on the relative probability of each classification group.
[0051] In some examples, the audio signal classifier 216 provides the classification group to the volume adjuster 220 and / or the dynamic range compressor 224, which then accesses and / or determines adjustment parameters associated with the classification group. In some examples, the audio signal classifier 216 outputs (1) a classification gain value and / or (2) a time period corresponding to when the volume level of the audio should be re-analyzed.
[0052] The example classification database 218 is a storage location for data associated with audio signal classification. In some examples, the classification database 218 stores models (e.g., neural network models) to be used to classify audio signals. In some examples, the models are accessed and / or read from an audio classification engine, such as in Figure 3106. In some examples, the classification database 218 can store audio signals, audio fingerprints, and / or any other data utilized by the media unit 106. The classification database 218 stores a lookup table or other storage implementation, including storing audio parameters associated with the classification group. The example classification database 218 can be implemented by a volatile memory (e.g., a synchronous dynamic random access memory (SDRAM), a dynamic random access memory (DRAM), a RAMBUS dynamic random access memory (RDRAM), etc.) and / or a non-volatile memory (e.g., a flash memory). The classification database 218 can be implemented additionally or alternatively by one or more double data rate (DDR) memories (such as DDR, DDR2, DDR3, mobile DDR (mDDR), etc.). The classification database 218 can be implemented additionally or alternatively by one or more mass storage devices (such as hard disk drives, optical disk drives, digital universal disk drives, etc.). Although in the illustrated example, the classification database 218 is illustrated as a single database, the classification database 218 can be implemented by any number and / or any type of database. Furthermore, the data stored in the classification database 218 may be in any data format (such as, for example, binary data, comma-delimited data, tab-delimited data, structured query language (SQL) structures, etc.).
[0053] Figure 2 The example volume adjuster 220 of the illustrated example adjusts the volume level of the audio signal. In some examples, the example volume adjuster 220 determines a single average gain value that transforms the volume of the audio signal from a known volume value (e.g., determined by the input volume detector 214) to a desired volume value (e.g., a value around a target volume range). The volume adjuster 220 of the illustrated example communicates with the input volume detector 214 and / or the audio signal classifier 216 to determine the target gain value. The volume adjuster 220 calculates the target gain (e.g., by calculating the average between the classification gain value and the input volume) based on the classification gain values corresponding to one or more classification groups identified by the audio signal classifier 216 and the input volume level detected by the input volume detector 214. In some examples, the volume adjuster 220 applies one or more weights to the classification gain values accessed from the audio signal classifier 216 and the input volume accessed from the input volume detector 214.
[0054] In some examples, when a source change is detected (e.g., a source change from an FM station to an auxiliary input), the volume adjuster 220 resets the gain value applied to the audio signal. In some such examples, the volume adjuster 220 sets the gain value to zero, and the dynamic range compressor 224 performs compression to adjust the volume of the audio signal to be within a target volume range until the input volume detector 214 and the audio signal classifier 216 provide information about the most recently detected audio signal to the volume adjuster 220 to determine the target gain value.
[0055] The volume adjuster 220 of the illustrated example smoothly transitions between different volume adjustments (e.g., using a smoothing filter, an averaging filter, etc.). In some examples, if the volume adjuster 220 determines that a large change in the target gain value is needed, the volume adjuster 220 slowly transitions to the new target gain value. Conversely, the volume adjuster 220 may transition more quickly between smaller, less noticeable changes in the target gain value. The volume adjuster 220 of the illustrated example uses a single-pole smoothing filter to transition between target gain values.
[0056] In some examples, the volume adjuster 220 determines whether an updated input volume value from the input volume detector 214 and / or an updated classification output from the audio signal classifier 216 satisfies a difference threshold relative to a previous input volume value and / or a previous classification output. In some such examples, the volume adjuster 220 only determines a new target gain value if the updated input volume value and / or the updated classification output satisfies the difference threshold relative to the previous value used to calculate the target gain value.
[0057] The example volume adjuster 220 of the illustrated example applies the target gain value to the audio signal to transform the audio signal. In some examples, when the input signal detector 204 detects that the input audio signal 202 uses the fade-in volume adjustment, the volume adjuster 220 performs the initial volume adjustment (e.g., minimizes the volume when a new signal is detected, and then gradually increases the volume). In some examples, the volume adjuster 220 can set the initial volume value based on the previous volume value of the type of the input signal being accessed. For example, if the input audio signal 202 is an FM audio signal, the volume adjuster 220 can determine the previous volume level for the FM audio signal, and the current initial volume is set to the value. The volume adjuster 220 can independently adjust the initial volume of the input audio signal 202, or can work in conjunction with the dynamic range compressor 224 to adjust the input audio signal 202 when the input audio signal 202 is first detected.
[0058] Figure 2The example audio signal identifier 222 of the illustrated example identifies the media corresponding to the input audio signal 202. In some examples, the media unit 106 may not include the audio signal identifier 222, and may modify the input audio signal 202 based solely on the classification performed by the audio signal classifier 216. In some examples, the audio signal identifier 222 performs a comparison of a media identifier (e.g., a fingerprint) embedded in the audio signal with a known or reference audio signature to determine the media of the audio signal. In some examples, the example audio signal identifier 222 is able to find a matching reference media identifier. In such an example, the audio signal identifier 222 may pass the identification information to the volume adjuster 220 and / or to the dynamic range compressor 224 to adjust the input audio signal 202 specifically to the media included in the input audio signal 202. In some examples, the audio signal identifier 222 may interact with an external database (e.g., at a central facility) to find a matching reference signature. In some examples, the audio signal identifier 222 may interact with an internal database (eg, the classification database 218 , etc.) to find a matching reference signature.
[0059] Figure 2 The example dynamic range compressor 224 of the illustrated example is capable of compressing the input audio signal 202. In some examples, the dynamic range compressor 224 performs audio compression so that the input audio signal 202 has an average volume level that satisfies a target volume threshold (e.g., associated with a desired volume level). In some examples, the dynamic range compressor 224 is continuously active and performs compression on the input audio signal 202 after any volume adjustment by the volume adjuster 220 so that the input audio signal 202 is within the target volume threshold (e.g., within + / -.5dbFS of -21dbFS). In some examples, the dynamic range compressor 224 acts as the last step to ensure that the input audio signal 202 is adjusted to fall within the target volume threshold. In some examples, the amount of dynamic range compression performed on the input audio signal 202 is inversely proportional to the output quality of the volume-adjusted audio signal 228 (e.g., greater dynamic volume compression causes the volume-adjusted audio signal 228 to have a lower quality, such as having more losses).
[0060] Figure 2The example real-time audio monitor 226 of the illustrated example collects real-time volume measurement data. For example, the real-time audio monitor 226 can determine the current audio volume level as an average value within a time period (e.g., 750ms). In some examples, the real-time audio monitor 226 continuously monitors the input audio signal 202 for a monitoring duration (e.g., ten seconds, one minute, etc.). In such an example, the real-time audio monitor 226 can analyze the volume level during the monitoring duration to determine whether subsequent adjustment is required by the volume adjuster 220 or by the dynamic range compressor 224. In some examples, the real-time audio monitor 226 continuously monitors the input audio signal 202 for the duration of the input audio signal 202. In some examples, the real-time audio monitor 226 determines whether the average volume level within a time period (e.g., 750ms) falls within a target volume range (e.g., within + / -.5dbFS of -21dbFS). In response to the volume level not falling within the target volume range, the audio signal classifier 216 can attempt to reanalyze the characteristics of the input audio signal 202 to reclassify the input audio signal 202. In some examples, the volume adjuster 220 and / or the dynamic range compressor 224 further adjusts the input audio signal 202 in response to the real-time audio monitor 226 determining that an average volume level over a period of time does not fall within a target volume range.
[0061] The real-time audio monitor 226 of the illustrated example includes and / or accesses a timer to determine whether the duration since the audio signal classifier 216 outputs the previous classification satisfies the update time threshold. In some examples, the update time threshold is configured by the operator. For example, the real-time audio monitor 226 can be configured with an update time threshold of three seconds, which means that the audio signal classifier 216 will reclassify the audio signal at three-second intervals (e.g., perform classification processing on the past three seconds every three seconds). Additionally or alternatively, the input volume detector 214 of the illustrated example determines the input volume (e.g., average input volume) of the audio signal within the duration (e.g., three seconds, previous example) since the last classification and / or since the last input volume calculation. In some such examples, after reclassifying the audio signal and / or determining the new input volume, the volume adjuster 220 can determine a new target gain value based on the new classification and / or the new input volume.
[0062] Although Figure 4 Demonstrates the implementation Figure 2 The example method of the media unit 106, however Figure 2One or more of the illustrated elements, processes and / or devices may be combined, divided, rearranged, omitted, eliminated and / or implemented in any other manner. In addition, an example input signal detector 204, an example compressor gain comparator 206 used by an example source change determiner 212, an example volume / power comparator 208 and an example audio sample comparator 210, an example input volume detector 214, an example audio signal classifier 216, an example classification database 218, an example volume adjuster 220, an example audio signal identifier 222, an example dynamic range compressor 224, an example real-time audio monitor 226 and / or more generally Figure 2 The example media unit 106 may be implemented by hardware, software, firmware, and / or any combination of hardware, software, and / or firmware. Thus, for example, the example input signal detector 204, the example compressor gain comparator 206 used by the example source change determiner 212, the example volume / power comparator 208 and the example audio sample comparator 210, the example input volume detector 214, the example audio signal classifier 216, the example classification database 218, the example volume adjuster 220, the example audio signal identifier 222, the example dynamic range compressor 224, the example real-time audio monitor 226, and / or more generally Figure 2 Any of the example media units 106 of can be implemented by one or more analog or digital circuits, logic circuits, programmable processors, programmable controllers, graphics processing units (GPUs), digital signal processors (DSPs), application specific integrated circuits (ASICs), programmable logic devices (PLDs), and / or field programmable logic devices (FPLDs). When any of the apparatus or system claims of the present patent is understood to cover pure software and / or firmware implementations, the example input signal detector 204, the example compressor gain comparator 206 used by the example source change determiner 212, the example volume / power comparator 208 and the example audio sample comparator 210, the example input volume detector 214, the example audio signal classifier 216, the example classification database 218, the example volume adjuster 220, the example audio signal identifier 222, the example dynamic range compressor 224, the example real-time audio monitor 226 and / or more generally Figure 2 At least one of the example media units 106 is hereby explicitly defined as comprising a non-transitory computer-readable storage device or storage disk (such as a memory, a digital versatile disk (DVD), a compact disk (CD), a Blu-ray disk, etc.) having software and / or firmware. Further, Figure 1 An example media unit 106 may include, in addition to Figure 2 Elements, processes and / or devices other than or in place of the illustrated elements, processes and / or devices Figure 2One or more of the illustrated elements, processes and / or devices, and / or may include more than one of any or all of the illustrated elements, processes and devices. As used herein, the phrase "communicating" (including variations thereof) encompasses direct communication and / or indirect communication through one or more intermediate components, and does not require direct physical (e.g., wired) communication and / or continuous communication, but additionally includes selective communication at regular intervals, scheduled intervals, non-periodic intervals and / or one-time events.
[0063] Figure 3 is a block diagram illustrating an audio classification engine 300 that can provide a trained model for Figure 1 and Figure 2 The media unit 106 of the present invention is used. For example, machine learning techniques (whether deep learning networks or other empirical / observational learning systems) can be used to optimize results, locate objects in images, understand speech and convert speech into text, and improve the relevance of search engine results. Although many machine learning systems are implanted with initial features and / or network weights to be modified by learning and updating machine learning networks, deep learning networks train themselves to identify "good" features for analysis. Using a multi-layer architecture, machines using deep learning techniques can process raw data better than machines using conventional machine learning techniques. Using different evaluation or abstraction layers helps to examine data for groups of highly relevant values or unique topics.
[0064] For example, machine learning techniques (whether neural networks, deep learning networks, and / or other empirical / observational learning systems) can be used to generate optimal results, locate objects in images, understand speech and convert speech into text, and improve the relevance of search engine results. Deep learning is a subset of machine learning that uses a set of algorithms to model a high level of abstraction of data using a deep graph with multiple processing layers (including linear and nonlinear transformations). Although many machine learning systems are implanted with initial features and / or network weights to be modified by learning and updating machine learning networks, deep learning networks train themselves to identify "good" features for analysis. Using a multi-layer architecture, machines using deep learning techniques can process raw data better than machines using conventional machine learning techniques. Using different evaluation or abstraction layers helps to examine data for groups of highly correlated values or unique topics.
[0065] For example, deep learning using convolutional neural networks (CNNs) uses convolutional filters to segment data to locate and identify learned observable features in the data. Each filter or layer of the CNN architecture transforms the input data to increase selectivity and invariance of the data. This data abstraction allows the machine to focus on the features in the data it is trying to classify and ignore irrelevant background information.
[0066] Deep learning operates on the understanding that many data sets consist of high-level features that consist of lower-level features. For example, when examining an image, it is more effective not to look for objects but to look for edges that form patterns that form parts of the objects being looked for. These hierarchies of features can be found in many different forms of data.
[0067] Learned observable features include objects and quantifiable regularities that the machine learned during supervised learning. A machine fed with large amounts of well-classified data can better discriminate and extract features that are relevant to successfully classifying new data.
[0068] A deep learning machine using transfer learning can correctly connect data features to certain classifications confirmed by human experts. Conversely, the same machine can update classification parameters when a human expert tells it that a classification is incorrect. Settings and / or other configuration information can be guided, for example, by learned use of settings and / or other configuration information, and as the system is used more and more (e.g., repeatedly and / or by multiple users), the number of variations and / or other possibilities of settings and / or other configuration information can be reduced for a given scenario.
[0069] For example, an example deep learning neural network can be trained on an expert classification dataset. This dataset establishes the first parameters of the neural network, and this will be the supervised learning phase. During the supervised learning phase, it can be tested whether the neural network has achieved the desired behavior.
[0070] Once the desired neural network behavior is achieved (e.g., the machine has been trained to operate according to specified thresholds, etc.), the machine can be deployed for use (e.g., tested with "real" data, etc.). During operation, the neural network classification can be confirmed or rejected (e.g., by an expert user, an expert system, a reference database, etc.) to continue to improve the neural network behavior. The example neural network is then in a transfer learning state because the classification parameters that determine the neural network behavior are updated based on continuous interaction. In some examples, a neural network such as neural network 302 can provide direct feedback to another process such as audio classification scoring engine 304. In some examples, neural network 302 outputs data that is buffered (e.g., via the cloud, etc.) and verified before being provided to another process.
[0071] exist Figure 3In the example of , the neural network 302 receives input from previous result data associated with the classification training data and outputs an algorithm that predicts the classification group associated with the audio signal. The network 302 can be implanted with some initial correlations and can then learn from continued experience. In some examples, the neural network 302 continuously receives feedback from at least one classification training data. Figure 3 In the example of the audio classification engine 300, the neural network 302 is continuously trained via feedback throughout the life of the audio classification engine 300, and the example audio classification scoring engine 304 can be updated as needed based on the neural network 302 and / or additional classification training data. The network 302 can learn and evolve based on role, location, context, etc.
[0072] In some examples, the accuracy level of the model generated by the neural network 302 can be determined by the example audio classification scoring engine validator 306. In such an example, at least one of the audio classification scoring engine 304 and the audio classification scoring engine validator 306 receives a classification training data set. Also in such an example, the audio classification scoring engine 304 receives input associated with classification verification data and predicts one or more audio classifications associated with the classification verification data. The prediction results are distributed to the audio classification scoring engine validator 306. The audio classification scoring engine validator 306 additionally receives known audio classifications associated with the classification verification data and compares the known audio classifications with the predicted classifications received from the audio classification scoring engine 304. In some examples, the comparison will produce a level of accuracy of the model generated by the neural network 302 (e.g., if 95 comparisons produce matches and 5 produce errors, the model is 95% accurate, etc.). Once the neural network 302 reaches a desired level of accuracy (e.g., the network 302 is trained and ready for deployment), the audio classification scoring engine validator 306 can output the model to Figure 2 The audio signal classifier 216 is used to classify audio other than the classification training data and / or the classification verification data.
[0073] Figure 4 and Figure 5 shows a representation for implementing Figure 3 106 of the media unit 106, a flowchart of example hardware logic, machine readable instructions, hardware implemented state machine and / or any combination thereof. The machine readable instructions may be instructions for a computer processor (such as the following in conjunction with Figure 6The program may be embodied in software stored on a non-transitory computer-readable storage medium such as a CD-ROM, floppy disk, hard drive, DVD, Blu-ray disk, or memory associated with the processor 612, but the entire program and / or portions thereof may alternatively be executed by a device other than the processor 612, and / or embodied in firmware or dedicated hardware. In addition, although reference is made to Figure 4 and Figure 5 The illustrated flowcharts describe example programs, but many other methods of implementing the example media unit 106 may alternatively be used. For example, the order of execution of the blocks may be changed, and / or some of the blocks may be changed, eliminated, or combined. Additionally or alternatively, any or all of the blocks may be implemented by one or more hardware circuits (e.g., discrete and / or integrated analog and / or digital circuits, FPGAs, ASICs, comparators, operational amplifiers (op-amps), logic circuits, etc.) that are configured to perform corresponding operations without executing software or firmware.
[0074] As described above, the present invention may be implemented using executable instructions (e.g., computer and / or machine readable instructions) stored on a non-transitory computer and / or machine readable medium (such as a hard drive, flash memory, read-only memory, compact disk, digital versatile disk, cache, random access memory, and / or any other storage device or storage disk in which information is stored for any duration (e.g., for an extended period of time, permanently, for a simple instance, for temporary buffering, and / or for caching information)). Figure 4 and Figure 5 As used herein, the term non-transitory computer readable medium is expressly defined to include any type of computer readable storage devices and / or storage disks and to exclude propagating signals and to exclude transmission media.
[0075] "Include" and "comprising" (and all forms and tenses thereof) are used herein as open-ended terms. Thus, whenever a claim employs any form of "includes" or "comprising" (e.g., comprises, includes, comprising, including, having, etc.) as a preamble or within any type of claim recitation, it will be understood that additional elements, terms, etc. may be present without falling outside the scope of the corresponding claim or recitation. As used herein, when the phrase "at least" is used as a transitional term in, for example, a preamble of a claim, it is open-ended in the same manner as the terms "includes" and "comprising" are open-ended. When used, for example, in a form such as A, B, and / or C, the term "and / or" refers to any combination or subset of A, B, C, such as (1) A alone, (2) B alone, (3) C alone, (4) A and B, (5) A and C, (6) B and C, and (7) A and B and C. As used herein, in the context of describing structures, components, items, objects, and / or things, the phrase “at least one of A and B” is intended to mean implementations that include any of the following: (1) at least one A, (2) at least one B, and (3) at least one A and at least one B. Similarly, as used herein, in the context of describing structures, components, items, objects, and / or things, the phrase “at least one of A or B” is intended to mean implementations that include any of the following: (1) at least one A, (2) at least one B, and (3) at least one A and at least one B. As used herein, in the context of describing the execution of processes, instructions, actions, activities, and / or steps, the phrase “at least one of A and B” is intended to mean implementations that include any of the following: (1) at least one A, (2) at least one B, and (3) at least one A and at least one B. Similarly, as used herein, in the context of describing the execution of a process, instruction, action, activity, and / or step, the phrase "at least one of A or B" is intended to mean an implementation that includes any of the following: (1) at least one A, (2) at least one B, and (3) at least one A and at least one B.
[0076] Figure 4 and Figure 5 Example machine readable instructions are illustrated for implementing Figure 1 and Figure 2The media unit 106 can be executed to perform dynamic volume adjustment via audio classification. Referring to the previous figures and associated descriptions, the example machine-readable instructions 400 begin at box 402. At box 402, the example media unit 106 detects a change in audio signal input. In some examples, the input signal detector 204 detects a change in audio signal input. For example, an audio signal may have started (e.g., the media unit 106 did not previously access any audio signal, and a new audio signal has started), or the audio signal may have changed (e.g., an FM radio signal has changed to an AM radio signal). Figure 5 The execution of block 402 is discussed in more detail.
[0077] At block 404, the example media unit 106 compresses the input audio signal 202 to meet the target volume range. In some examples, the dynamic range compressor 224 compresses the input audio signal 202 to meet the target volume range.
[0078] At block 406, the example media unit 106 determines a classification group for the input audio signal 202. In some examples, the audio signal classifier 216 determines the classification group for the input audio signal. In some examples, the audio signal classifier 216 determines the classification group based on a comparison of one or more characteristics (e.g., CQT values) of the input audio signal using a trained machine learning model. The audio signal classifier 216 may additionally or alternatively determine a probability distribution associated with one or more classification groups.
[0079] At block 408, the example media unit 106 determines an input volume of the input audio signal 202. In some examples, the input volume detector 214 determines the input volume of the input audio signal 202. In some examples, the input volume detector 214 determines an average input volume of the input audio signal 202 over a time period (e.g., three seconds, five seconds, etc.). In some examples, the input volume detector 214 determines a volume deviation of the input audio signal 202 over the time period. In some examples, the input volume detector 214 determines one or more instantaneous volume values.
[0080] At block 410, the example media unit 106 determines a classification gain value using a lookup table associated with the classification group of the input audio signal 202. In some examples, the audio signal classifier 216 determines the classification gain value using a lookup table associated with one or more classification groups determined by the audio signal classifier 216 as being associated with the input audio signal 202. In some examples, the classification gain value is a single value representing the classification group (e.g., based on an average dynamic range observed in training data for the classification group, based on an average volume observed in training data for the classification group, etc.). In some examples, the classification gain value is determined based on a probability distribution output by the audio signal classifier 216 (e.g., one or more gain values are calculated based on a probability that the input audio signal 202 belongs to one or more of the classification groups).
[0081] In box 412, the example media unit 106 weights the input volume and the classification gain value to determine the target gain value. In some examples, the volume adjuster 220 applies a first weight to the input volume and a second weight to the classification gain value, and then determines the target gain value based on the weighted input volume and the weighted classification gain value. In some examples, the volume adjuster 220 applies a weight greater than the classification gain value to the input because the input volume indicates the actual condition of the audio signal, rather than a prediction of the classification gain value. In some examples, the volume adjuster 220 determines the target gain value as a value between the input volume measurement and the target volume range. In some examples, the volume adjuster 220 calculates the average value between the input volume and the volume level generated by applying the classification gain value, and the target classification gain value is determined as the gain required to make the volume of the input audio signal 202 reach the average volume level.
[0082] At block 414, the example media unit 106 applies the target gain value to the audio signal using a smoothing filter. In some examples, the volume adjuster 220 applies the target gain value to the input audio signal 202 using a smoothing filter. The volume adjuster 220 can utilize different types of filters (e.g., a median filter, a Kalman filter, etc.) to smooth the transition between the first gain value and the updated gain value (e.g., when updating the classification and / or input volume), or the transition between no gain value and the gain value (e.g., when a new audio signal is detected).
[0083] At block 416, the example media unit 106 adjusts the compression value to satisfy the target volume range. In some examples, the dynamic range compressor 224 adjusts the compression value to satisfy the target volume range. For example, if the volume adjuster 220 increases the gain value applied to the input audio signal 202, the dynamic range compressor 224 may decrease the compression value because less dynamic range compression is required to bring the input audio signal 202 within the target volume range. Conversely, if the volume adjuster 220 decreases the gain value applied to the input audio signal 202, the dynamic range compressor 224 may increase the compression value because more dynamic range compression is required to bring the input audio signal 202 within the target volume range.
[0084] At block 418, the example media unit 106 determines whether the time since the last classification meets or exceeds the update time threshold. In some examples, the real-time audio monitor 226 determines whether the time since the last classification was performed meets or exceeds the update time threshold. In some examples, the real-time audio monitor 226 determines whether the time since the last input volume calculation was performed and / or the time since the last volume adjustment was performed by the volume adjuster 220 meets or exceeds the update time threshold. In response to the time since the last classification meeting or exceeding the update time threshold, processing transfers to block 424. Conversely, in response to the time since the last classification not meeting or not exceeding the update time threshold, processing transfers to block 420.
[0085] At block 420, the example media unit 106 determines whether an audio input source change has occurred. In some examples, the input signal detector 204 determines whether an audio input source change has occurred (e.g., the input source has changed from FM radio to auxiliary input, the input source has changed from CD to AM radio, etc.). In response to an audio input source change occurring, processing transfers to block 422. Conversely, in response to no audio input source change occurring, processing transfers to block 418. Figure 5 The execution of block 420 is discussed in more detail.
[0086] At block 422, the example media unit 106 resets the gain value. In some examples, the volume adjuster 220 resets the gain value. For example, the volume adjuster 220 may set the gain value to zero because a previous target gain value (determined for a previous audio signal from a different input source) may no longer be valid for the new audio signal. Therefore, until a new target gain value is determined (e.g., after classification and input volume determination), the gain value is reset to one and the dynamic range compressor 224 compresses the input audio signal 202 to meet the target volume range.
[0087] At block 424, the example media unit 106 determines the input volume for the duration since the last classification. In some examples, the input volume detector 214 determines the input volume for the duration since the last classification. For example, if the real-time audio monitor 226 is configured with a three-second update interval, once the entire duration of the update interval expires (e.g., at block 418), the input volume detector 214 determines the input volume for the update interval. In some examples, an average input volume is determined for the update interval.
[0088] At block 426, the example media unit 106 determines an updated classification group based on the audio signal for the duration since the last classification. In some examples, the audio signal classifier 216 determines the updated classification group based on the audio signal for the duration since the last classification. For example, if the real-time audio monitor 226 is configured with a three-second update interval, once three seconds have passed since the last classification, the audio signal classifier 216 analyzes one or more characteristics of the audio signal to determine an updated classification group. In some examples, the updated classification group is the same as the previously determined classification group.
[0089] At block 428, the example media unit 106 determines whether dynamic volume is enabled. For example, an operator of the media unit 106 may enable or disable dynamic volume (e.g., via a switch, via a setting on the media unit 106, etc.). In response to dynamic volume being enabled, processing transfers to block 410. Conversely, in response to dynamic volume not being enabled, processing terminates.
[0090] Figure 5 is an example Figure 4 4 and / or 420 of FIG. 4 . The example process 500 begins at block 502. At block 502, the compressor gain comparator 206 compares a current compressor gain to a most recent past compressor gain. For example, the compressor gain comparator 206 may compare a gain of the dynamic range compressor 224 associated with a current sample of the input audio signal 202 to an average (e.g., mean, median, etc.) gain of the dynamic range compressor 224 associated with a previous block of samples (e.g., samples from the previous three seconds, samples from the previous five seconds, samples from the previous ten seconds, etc.). In some examples, the compressor gain comparator 206 may output a ratio of a current gain of the dynamic range compressor 224 associated with a current block of samples of the input audio signal 202 to an average (e.g., mean, median, etc.) gain of the dynamic range compressor 224 associated with a previous block of samples (e.g., samples from the previous three seconds, samples from the previous five seconds, samples from the previous ten seconds, etc.).
[0091] At block 504, the power comparator 208 compares the current volume / power of the input audio signal 202 with the most recent past volume / power of the audio signal. For example, the power comparator 208 may compare the current RMS power of the input audio signal 202 with the average (e.g., mean, median, etc.) power of the input audio signal 202 associated with a previous block of samples (e.g., samples from the previous three seconds, samples from the previous five seconds, samples from the previous ten seconds, etc.). In some examples, the power comparator 208 may query the peak meter output to determine the RMS power. In some examples, the power comparator 208 may output a ratio of the current RMS power to the average of the previous RMS powers.
[0092] At block 506, the audio sample comparator 210 compares the maximum value of the current audio sample block with the most recent audio sample value. For example, the audio sample comparator 210 may compare the current audio sample value of the input audio signal 202 with an average (e.g., mean, median, etc.) audio sample value associated with a previous block of samples (e.g., samples from the previous three seconds, samples from the previous five seconds, samples from the previous ten seconds, etc.) of the input audio signal 202. In some examples, the audio sample comparator 210 may output a ratio of the current audio sample value to the average value of the previous block of samples.
[0093] At block 508, the source change determiner 212 analyzes the audio sample comparison, the compressor gain comparison, and the power comparison to determine whether a source change has occurred. For example, the source change determiner 212 may use regression analysis (e.g., linear regression, binomial regression, least squares, logistic regression, etc.) to determine whether a source change has occurred. In other examples, the source change determiner 212 may use any other suitable means (e.g., a neural network, etc.) to determine whether a source change has occurred.
[0094] At block 510, source change determiner 212 determines whether the RMS comparison, compressor gain comparison, and / or audio sample compression indicates that a source change has occurred. If source change determiner 212 determines via logistic regression or other classification methods that the RMS comparison, compressor gain comparison, and / or audio sample compression indicates that a source change has occurred, then process 500 proceeds to block 512. If source change determiner 212 determines that the RMS comparison, compressor gain comparison, and / or audio sample compression indicates that a source change has not occurred, then process 500 proceeds to block 514.
[0095] At block 512, the source change determiner 212 indicates that a source change has occurred. For example, the source change determiner 212 may cause the input signal detector 204 to indicate to the media unit 106 that a source change has occurred.
[0096] At block 514, source change determiner 212 indicates that no source change has occurred. For example, source change determiner 212 may cause input signal detector 204 to indicate to media unit 106 that no source change has occurred. Process 500 then ends.
[0097] Figure 6 is constructed to execute Figure 4 Instructions to achieve Figure 1 and Figure 2 106 of the media unit 106. For example, the processor platform 600 can be a server, a personal computer, a workstation, a self-learning machine (e.g., a neural network), a mobile device (e.g., a cell phone, a smart phone, an iPod, etc.) TM tablet), personal digital assistant (PDA), Internet appliance, DVD player, CD player, digital video recorder, Blu-ray player, game console, personal video recorder, set-top box, head-mounted device or other wearable device, or any other type of computing device.
[0098] The processor platform 600 of the illustrated example includes a processor 612. The processor 612 of the illustrated example is hardware. For example, the processor 612 can be implemented by one or more integrated circuits, logic circuits, microprocessors, GPUs, DSPs, or controllers from any desired series or manufacturer. The hardware processor can be a semiconductor-based (e.g., silicon-based) device. In this example, the processor implements the example input signal detector 204, the example compressor gain comparator 206 used by the example source change determiner 212, the example volume / power comparator 208 and the example audio sample comparator 210, the example input volume detector 214, the example audio signal classifier 216, the example classification database 218, the example volume adjuster 220, the example audio signal identifier 222, the example dynamic range compressor 224, the example real-time audio monitor 226 and / or more generally Figure 2 An example media unit 106 is shown.
[0099] The processor 612 of the illustrated example includes a local memory 613 (e.g., cache). The processor 612 of the illustrated example communicates with a main memory including a volatile memory 614 and a non-volatile memory 616 via a bus 618. The volatile memory 614 may be comprised of a synchronous dynamic random access memory (SDRAM), a dynamic random access memory (DRAM), Dynamic Random Access Memory The non-volatile memory 616 may be implemented by a flash memory and / or any other desired type of memory device. Access to the main memory 614, 616 is controlled by a memory controller.
[0100] The processor platform 600 of the illustrated example also includes an interface circuit 620. The interface circuit 620 may be implemented by any type of interface standard (such as an Ethernet interface, a universal serial bus (USB), interface, near field communication (NFC) interface and / or PCI express interface).
[0101] In the example shown, one or more input devices 622 are connected to the interface circuit 620. The input devices 622 allow a user to input data and / or commands into the processor 1012. For example, the input devices may be implemented by an audio sensor, a microphone, a camera (still or video), a keyboard, buttons, a mouse, a touch screen, a trackpad, a trackball, isopoint, and / or a voice recognition system.
[0102] One or more output devices 624 are also connected to the interface circuit 620 of the illustrated example. The output device 1024 can be implemented, for example, by a display device (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display (LCD), a cathode ray tube display (CRT), an in-plane switching (IPS) display, a touch screen, etc.), a tactile output device, a printer, and / or a speaker. Therefore, the interface circuit 620 of the illustrated example typically includes a graphics driver card, a graphics driver chip, and / or a graphics driver processor.
[0103] The interface circuitry 620 of the illustrated example also includes a communication device (such as a transmitter, receiver, transceiver, modem, residential gateway, wireless access point, and / or network interface) to facilitate exchanging data with an external machine (e.g., any kind of computing device) via a network 626. For example, the communication may be via an Ethernet connection, a digital subscriber line (DSL) connection, a telephone line connection, a coaxial cable system, a satellite system, a direct-line wireless system, a cellular telephone system, etc.
[0104] The processor platform 600 of the illustrated example also includes one or more mass storage devices 628 for storing software and / or data. Examples of such mass storage devices 628 include floppy disk drives, hard disk drives, optical disk drives, Blu-ray disk drives, redundant array of independent disks (RAID) systems, and digital versatile disk (DVD) drives.
[0105] Figure 4 The machine-executable instructions 632 may be stored in the mass storage device 628, the volatile memory 614, the non-volatile memory 616, and / or on a removable, non-transitory computer-readable storage medium such as a CD or DVD.
[0106] Based on the foregoing, it will be appreciated that example methods, apparatuses, and articles have been disclosed that adjust the volume of media in a manner that enables media with different characteristics to be played at approximately the same volume while minimizing the amount of compression required to achieve that volume. Although conventional implementations of volume equalization rely solely on compression and thus result in perceptible changes to audio signals, the examples disclosed herein are capable of intelligently classifying audio signals and determining average gain values based on the classification associated with the audio signals, thereby, for example, being able to distinguish between audio signals with relatively small dynamic ranges (which can be significantly modified using gain values) and audio signals with larger dynamic ranges (which may require more compression). The example techniques disclosed herein utilize a combination of input volume measurements and parameters associated with the classification of the audio signal to intelligently adjust the volume of the input audio signal in real time. The examples disclosed herein describe techniques for continuously adjusting the volume level in the event that a correction to the volume adjustment is required after an initial analysis (e.g., due to a change in the classification of the audio signal, a change in the observed input volume, etc.). The example techniques disclosed herein also include techniques for initially adjusting the volume level of an audio signal after an audio signal input change. Such techniques are advantageous over conventional implementations because they are imperceptible to the user and enable different media from different or similar sources to be played at approximately the same volume for a seamless media presentation experience.
[0107] In some examples, the example audio dynamic range compressor can be always active to reduce the signal to a certain range (e.g., -21dbFS), as in the current dynamic volume (Dynamic Volume). In other examples, the audio dynamic range compressor can be active for a portion of the time.
[0108] In some examples, an example real-time volume detector can be applied to the input, measuring the current average level over one or more intervals (e.g., 750ms intervals), just like the current dynamic volume. In such examples, the current average level can now be used as an initial and ongoing guess to guide how much the volume can be reduced.
[0109] In some examples, neural network based classifiers may also assist in the prediction of dynamic range and will inform the volume reduction that may be applied. This may initially be based on the current category classifiers (e.g., 9 classifiers, 15 classifiers, etc.) with potential improvements. In some examples, increasing the number of current category classifiers may result in a more accurate dynamic range predictor using different real-time features and neural network methods. In various examples, the accuracy associated with the amount by which the volume may be reduced may be increased.
[0110] In some examples, the goal is to reduce the volume closer to a specific level that the compressor can reach (e.g., -12dbFS). Once the reduction amount is determined, a single-pole smoothing filter can be used to reduce the current full volume at the input to the determined amount. The compressor will continue to keep the volume at an average specific level (e.g., -21dbFS), but the amount the compressor must push the input down may become smaller when this amount is reduced to the target.
[0111] In the described example of the operation of the methods, devices, and systems disclosed herein, fully normalized and loud pop music can be distributed via an input. A compressor can move 0.0dbFS material down to -21dbFS. Roughly in parallel, an input volume detector determines that the input runs at -1dbFS on average, and a classifier determines that music with synthesized drums and bass from 1996 to the present is presented. This category produces a reduction of -15dbFS, while the volume detector produces a reduction of -20dbFS. These two values are averaged and the signal can be reduced by -17.50dbFS, and can be reduced by another 3.5 decibels to reach a baseline of -21dbFS. Since the compressor reduces signals that are 3.5 decibels greater than its threshold (e.g., based on the above reduction), the audio quality is improved compared to reducing signals that are 21 decibels higher than its threshold (which is what would happen if only the compressor was used).
[0112] Disclosed herein are example methods, devices, systems, and articles of manufacture for dynamic volume adjustment via audio classification. Additional examples and combinations thereof include the following: Example 1 includes an apparatus comprising: an audio signal classifier that analyzes parameters of an audio signal associated with a first volume level using a neural network to determine a classification group associated with the audio signal; an input volume detector that determines an input volume of the audio signal; a volume adjuster that applies a gain value to the audio signal, the gain value being based on the classification group and the input volume, the gain value modifying the first volume level to a second volume level; and a dynamic range compressor that applies a compression value to the audio signal, the compression value modifying the second volume level to a third volume level that meets a target volume threshold.
[0113] Example 2 includes the apparatus of Example 1, further comprising a source change determiner that determines whether a source of the audio signal has changed.
[0114] Example 3 includes the apparatus of Example 2, wherein the source change determiner determines whether the source of the audio signal has changed based on at least one of: (1) a comparison of a current compressor gain associated with the audio signal with a previous compressor gain associated with the audio signal, (2) a comparison of an RMS power associated with the audio signal with a previous RMS power associated with the audio signal, or (3) a comparison of a current audio sample value associated with the audio signal with a previous audio sample value associated with the audio signal.
[0115] Example 4 includes the apparatus of Example 2, wherein the volume leveler is further to reset the gain value of the audio signal in response to determining that the source of the audio signal has changed.
[0116] Example 5 includes the apparatus of Example 1, wherein the classification group is associated with at least one of: (1) a genre of music represented by the audio signal, (2) a time period of the music represented by the audio signal, or (3) an instrument present in the music represented by the audio signal.
[0117] Example 6 includes the apparatus of Example 1, wherein the input volume detector further determines that a fourth volume level within a first time period does not fall within the target volume threshold, the first time period occurs after a second time period, the third volume level is associated with the second time period, and the dynamic range compressor further adjusts the compression value to accommodate a fifth volume level, the adjusted compression value modifying the fourth volume level to a fifth volume level that satisfies the target volume threshold.
[0118] Example 7 includes the apparatus of Example 1, wherein the target volume threshold is within 5 decibels relative to full scale (dBFS) to 21 dBFS.
[0119] Example 8 includes a non-transitory computer-readable storage medium comprising instructions that, when executed, cause a processor to at least: analyze a parameter of an audio signal associated with a first volume level using a neural network to determine a classification group associated with the audio signal; determine an input volume of the audio signal; apply a gain value to the audio signal, the gain value being based on the classification group and the input volume, the gain value modifying the first volume level to a second volume level; and apply a compression value to the audio signal, the compression value modifying the second volume level to a third volume level that satisfies a target volume threshold.
[0120] Example 9 includes the non-transitory computer-readable storage medium of Example 8, wherein the instructions, when executed, cause the processor to determine whether a source of the audio signal has changed.
[0121] Example 10 includes the non-transitory computer-readable storage medium of Example 9, wherein determining whether the source of the audio signal has changed is based on at least one of: (1) a comparison of a current compressor gain associated with the audio signal with a previous compressor gain associated with the audio signal, (2) a comparison of an RMS power associated with the audio signal with a previous RMS power associated with the audio signal, or (3) a comparison of a current audio sample value associated with the audio signal with a previous audio sample value associated with the audio signal.
[0122] Example 11 includes the non-transitory computer-readable storage medium of Example 9, wherein the instructions, when executed, cause the processor to reset the gain value of the audio signal in response to determining that the source of the audio signal has changed.
[0123] Example 12 includes the non-transitory computer-readable storage medium of Example 11, wherein the classification group is associated with at least one of: (1) a genre of music represented by the audio signal, (2) a time period of the music represented by the audio signal, or (3) an instrument present in the music represented by the audio signal.
[0124] Example 13 includes the non-transitory computer-readable storage medium of Example 8, wherein the instructions, when executed, cause the processor to determine that a fourth volume level within a first time period does not fall within the target volume threshold, the first time period occurring after a second time period, the third volume level being associated with the second time period, and adjust the compression value to accommodate a fifth volume level, the adjusted compression value modifying the fourth volume level to a fifth volume level that satisfies the target volume threshold.
[0125] Example 14 includes the method of Example 1, wherein the target volume threshold is within 5 relative decibels full scale (dBFS) to 21 dBFS.
[0126] Example 15 includes a method comprising: analyzing parameters of an audio signal associated with a first volume level using a neural network to determine a classification group associated with the audio signal; determining an input volume of the audio signal; applying a gain value to the audio signal, the gain value being based on the classification group and the input volume, the gain value modifying the first volume level to a second volume level; and applying a compression value to the audio signal, the compression value modifying the second volume level to a third volume level that meets a target volume threshold.
[0127] Example 16 includes the method of Example 15, further comprising determining whether a source of the audio signal has changed.
[0128] Example 17 includes the method of Example 16, wherein determining whether the source of the audio signal has changed is based on at least one of: (1) a comparison of a current compressor gain associated with the audio signal with a previous compressor gain associated with the audio signal, (2) a comparison of an RMS power associated with the audio signal with a previous RMS power associated with the audio signal, or (3) a comparison of a current audio sample value associated with the audio signal with a previous audio sample value associated with the audio signal.
[0129] Example 18 includes the method of Example 16, further comprising resetting the gain value of the audio signal in response to determining that the source of the audio signal has changed.
[0130] Example 19 includes the method of Example 15, wherein the classification group is associated with at least one of: (1) a genre of music represented by the audio signal, (2) a time period of the music represented by the audio signal, or (3) an instrument present in the music represented by the audio signal.
[0131] Example 20 includes the method of Example 15, further comprising: determining that a fourth volume level within a first time period does not fall within the target volume threshold, the first time period occurring after a second time period, the third volume level being associated with the second time period, and adjusting the compression value to modify the fourth volume level to a fifth volume level that satisfies the target volume threshold.
[0132] Although certain example methods, apparatus, and articles of manufacture are disclosed herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus, and articles of manufacture fairly falling within the scope of the claims of this patent.
Claims
1. A non-transitory machine-readable medium having instructions stored thereon, the instructions, when executed, causing one or more processors to perform a set of operations, the operations comprising: analyzing, by a neural network, a parameter of an input audio signal associated with an input volume level to determine a classification group associated with the input audio signal; determining an input volume of the input audio signal; determining a classification gain value based on the classification group and the input volume; determining a target gain value as an intermediate value between the input volume and the classification gain value, wherein the target gain value is determined by applying one or more weights to the input volume and the classification gain value; and By applying the target gain value to the input audio signal, a gain-adjusted volume is generated.
2. The non-transitory machine-readable medium of claim 1, wherein: The target gain value is determined by applying a first weight to the input volume and applying a second weight to the classification gain value.
3. The non-transitory machine-readable medium of claim 1 , wherein: The set of operations also includes applying the intermediate value to the input audio signal, wherein the intermediate value modifies the input volume level to a second volume level.
4. The non-transitory machine-readable medium of claim 3, wherein: The set of operations also includes applying a compression value to the input audio signal, wherein the compression value modifies the second volume level to a third volume level that satisfies a target volume threshold.
5. The non-transitory machine-readable medium of claim 1, wherein: The set of operations also includes determining whether a source of the input audio signal has changed.
6. The non-transitory machine-readable medium of claim 5, wherein: Determining whether the source of the input audio signal has changed is based on at least one of: (1) a comparison of a current compressor gain associated with the input audio signal with a previous compressor gain associated with the input audio signal, (2) a comparison of an RMS power associated with the input audio signal with a previous RMS power associated with the input audio signal, and (3) a comparison of a current audio sample value associated with the input audio signal with a previous audio sample value associated with the input audio signal.
7. The non-transitory machine-readable medium of claim 5, wherein: The set of operations also includes resetting the intermediate value of the input audio signal in response to determining that a source of the input audio signal has changed.
8. The non-transitory machine-readable medium of claim 1, wherein: The classification group includes at least one of: (1) a genre of music represented by the input audio signal, (2) a time period of music represented by the input audio signal, and (3) instruments present in the music represented by the input audio signal.
9. A method comprising the steps of: analyzing, by a neural network, a parameter of an input audio signal associated with an input volume level to determine a classification group associated with the input audio signal; determining an input volume of the input audio signal; determining a classification gain value based on the classification group and the input volume; determining a target gain value as an intermediate value between the input volume and the classification gain value, wherein the target gain value is determined by applying one or more weights to the input volume and the classification gain value; and By applying the target gain value to the input audio signal, a gain-adjusted volume is generated.
10. The method according to claim 9, wherein: The target gain value is determined by applying a first weight to the input volume and applying a second weight to the classification gain value.
11. The method according to claim 9, wherein: The method further includes applying the intermediate value to the input audio signal, wherein the intermediate value modifies the input volume level to a second volume level.
12. The method according to claim 11, wherein: The method also includes applying a compression value to the input audio signal, wherein the compression value modifies the second volume level to a third volume level that satisfies a target volume threshold.
13. The method according to claim 9, wherein: The method also includes determining whether a source of the input audio signal has changed.
14. The method according to claim 13, wherein: Determining whether the source of the input audio signal has changed is based on at least one of: (1) a comparison of a current compressor gain associated with the input audio signal with a previous compressor gain associated with the input audio signal, (2) a comparison of an RMS power associated with the input audio signal with a previous RMS power associated with the input audio signal, and (3) a comparison of a current audio sample value associated with the input audio signal with a previous audio sample value associated with the input audio signal.
15. The method according to claim 13, wherein: The method also includes resetting the intermediate value of the input audio signal in response to determining that a source of the input audio signal has changed.
16. The method according to claim 9, wherein: The classification group includes at least one of: (1) a genre of music represented by the input audio signal, (2) a time period of music represented by the input audio signal, and (3) instruments present in the music represented by the input audio signal.
17. A computing device, the computing device comprising: one or more processors; as well as A non-transitory machine-readable medium having instructions stored thereon, the instructions, when executed, causing one or more processors to perform a set of operations, the operations comprising: analyzing, by a neural network, a parameter of an input audio signal associated with an input volume level to determine a classification group associated with the input audio signal; determining an input volume of the input audio signal; determining a classification gain value based on the classification group and the input volume; determining a target gain value as an intermediate value between the input volume and the classification gain value, wherein the target gain value is determined by applying one or more weights to the input volume and the classification gain value; and By applying the target gain value to the input audio signal, a gain-adjusted volume is generated.
18. The computing device of claim 17, wherein: The target gain value is determined by applying a first weight to the input volume and applying a second weight to the classification gain value.
19. The computing device of claim 17, wherein: The set of operations also includes applying the intermediate value to the input audio signal, wherein the intermediate value modifies the input volume level to a second volume level.
20. The computing device of claim 19, wherein: The set of operations also includes applying a compression value to the input audio signal, wherein the compression value modifies the second volume level to a third volume level that satisfies a target volume threshold.
