# US 9,437,210 B2 · Audio signal processing

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,437,210 B2
- Document ID: US9437210B2
- Status: Granted
- Kind: B2
- Application number: 14/459,263
- Filed: 2014-08-13
- Published: 2015-10-15
- Granted: 2016-09-06
- Earliest claimed: 2014-04-11
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Ulf Nils Hammarqvist
- Web page: https://patentgrep.com/patent/US9437210B2

## CPC

- G10L 21/0208: Noise filtering
- G06F 3/162: {Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs}
- H03F 1/3247: {using feedback acting on predistortion circuits (H03F1/3264 takes precedence)}
- H03G 3/001: {Digital control of analog signals}
- H03G 3/32: the control being dependent upon ambient noise level or sound level
- H04B 3/23: using a replica of transmitted signal in the time domain, e.g. echo cancellers
- H04L 27/0008: {arrangements for allowing a transmitter or receiver to use more than one type of modulation (negotiating modulation type for two-way transmission paths H04L5/1453)}
- H04M 1/6033: {for providing handsfree use or a loudspeaker mode in telephone sets (arrangements for preventing acoustic echo H04M9/08)}
- H04R 3/02: for preventing acoustic reaction {, i.e. acoustic oscillatory feedback (specially adapted for hearing aids H04R25/453)}
- H04R 3/04: for correcting frequency response
- G06F 3/16: Sound input; Sound output (speech processing G10L)
- G10L 21/0364: for improving intelligibility
- G10L 2021/02082: {the noise being echo, reverberation of the speech}
- H04M 9/082: {using echo cancellers (echo cancellers per se H04B3/23)}
- H04R 27/00: Public address systems (circuits for preventing acoustic reaction H04R3/02; circuits for distributing signals to loudspeakers H04R3/12; {monitoring or testing arrangements for public address systems H04R29/007}; amplifiers H03F)
- H04R 2201/107: Monophonic and stereophonic headphones with microphone for two-way hands free communication
- H04R 2227/003: Digital PA systems using, e.g. LAN or internet
- G10L: SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H03F: AMPLIFIERS
- H03G: CONTROL OF AMPLIFICATION
- H04B: TRANSMISSION
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)
- H04R: LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; ELECTRIC HEARING AIDS; PUBLIC ADDRESS SYSTEMS (producing sounds with frequency not determined by supply frequency G10K)

## Abstract

Disclosed is a device having an audio interface configured to generate from the audio signal an outgoing audio signal for supplying to a loudspeaker component. The audio interface is configured, in generating the outgoing audio signal, to apply dynamic range compression to the audio signal. Device software is configured to receive an incoming audio signal and generate an audio signal from the incoming audio signal. The audio signal generated by the software is supplied to the audio interface for outputting by the loudspeaker component and is also used as a reference in audio signal processing. Generating the audio signal comprises the software applying initial nonlinear amplitude processing to the incoming audio signal to modify its power envelope. The modified power envelope is sufficiently smooth to be substantially unaffected by the dynamic range compression when applied by the audio interface.

## Claims

### Claim 1

An audio signal processing device having a loudspeaker component for outputting analogue audio signals and a microphone component for receiving analogue audio signals, the device comprising:
an audio interface configured to receive in digital form any audio signal generated on the device for outputting via the loudspeaker component and to generate from the audio signal an outgoing audio signal in analogue form for supplying to the loudspeaker component, the audio interface configured, in generating the outgoing audio signal, to apply dynamic range compression controlled by the audio interface to the audio signal; and
a processor configured to execute software, the software configured to:
receive an incoming audio signal;
generate an audio signal in digital form by pre-processing the incoming signal including:
detecting one or more characteristics of the dynamic range compression applied by the audio interface; and
based on the detected characteristics, applying initial nonlinear amplitude processing controlled by the software to the incoming audio signal to modify its power envelope, the audio signal thereby having a modified power envelopep;
provide the pre-processed audio signal as a reference in audio signal processing of audio signals received via the microphone component; and
supply the pre-processed audio signal for additional processing by the audio interface prior to output via the loudspeaker component including the dynamic range compression applied by the audio interface, wherein the initial nonlinear amplitude processing controlled by the software results in smoothing of the power envelope thereby reducing effects of dynamic range compression applied by the audio interface.

### Claim 2 (depends on 1)

An audio signal processing device according claim 1 wherein the initial nonlinear amplitude processing is initial dynamic range compression.

### Claim 3 (depends on 2)

An audio signal processing device according to claim 2 wherein the initial dynamic range compression has a time constant of ten milliseconds.

### Claim 4 (depends on 2)

An audio signal processing device according to claim 2 wherein the initial dynamic range compression has a time constant set to make initial dynamic range compression occur faster than the dynamic range compression applied by the audio interface.

### Claim 5 (depends on 1)

An audio signal processing device according to claim 1 wherein the audio signal processing is based on an assumption of there being a substantially linear relationship between the reference and a component of the audio signals received via the microphone component.

### Claim 6 (depends on 1)

An audio signal processing device according to claim 1 wherein the audio signal processing comprises applying acoustic echo cancellation to the audio signals received via the microphone component using the generated audio signal as the reference, thereby cancelling echo from those signals.

### Claim 7 (depends on 1)

An audio signal processing device according to claim 1 wherein the audio interface comprises driver software executed on the processor; and
wherein the incoming audio signal is received, and the audio signal generated, by an application executed on the processor, the generated audio signal being supplied to the driver software.

### Claim 8 (depends on 1)

An audio signal processing device according to claim 1 comprising a network interface configured to access a communication network to receive the incoming audio signal.

### Claim 9 (depends on 1)

An audio signal processing device according to claim 1 comprising computer storage and a first controller configured to retrieve at least one piece of device information about the device from the computer storage;
wherein the first controller is configured to access a stored association associating the piece of device information with at least one nonlinear processing parameter, and to control the initial nonlinear amplitude processing based on that association.

### Claim 10 (depends on 1)

An audio signal processing device according to claim 1 comprising a second controller configured to detect a characteristic of the dynamic range compression applied by the audio interface, and to control the initial nonlinear amplitude proceeding based on that detection.

### Claim 11 (depends on 10)

An audio signal processing device according to claim 10, wherein the second controller is configured to detect the characteristic by comparing the audio signal and a microphone audio signal received via the microphone component.

### Claim 12

At least one computer readable device storing software for execution on an audio signal processing device having a loudspeaker component for outputting analogue audio signals, a microphone component for receiving analogue audio signals, and comprising an audio interface configured to receive in digital form any audio signal generated on the device for outputting via the loudspeaker component and to generate from the audio signal an outgoing audio signal in analogue form for supplying to the loudspeaker component, the audio interface configured, in generating the outgoing audio signal, to apply dynamic range compression controlled by the audio interface to the audio signal;
wherein the software is configured when executed to:
receive an incoming audio signal and generate from the incoming audio signal an audio signal in digital form by pre-processing the incoming signal, the pre-processing including:
detecting one or more characteristics of the dynamic range compression applied by the audio interface; and
based on the detected characteristics, applying initial nonlinear amplitude processing controlled by the software to the incoming audio signal to modify its power envelope;
supply the generated audio signal to the audio interface for additional processing by the audio interface prior to output via the loudspeaker component including the dynamic range compression applied by the audio interface, wherein the initial nonlinear amplitude processing controlled by the software results in smoothing of the power envelope thereby reducing effects of dynamic range compression applied by the audio interface; and
provide the generated audio signal for use as a reference in audio signal processing of audio signals received via the microphone component.

### Claim 13 (depends on 12)

At least one computer readable device according to claim 12, wherein the initial nonlinear amplitude processing is initial dynamic range compression.

### Claim 14 (depends on 13)

At least one computer readable device according to claim 13 wherein the initial dynamic range compression has a time constant of ten milliseconds.

### Claim 15 (depends on 13)

At least one computer readable device according to claim 13 wherein the initial dynamic range compression has a time constant set to make initial dynamic range compression occur faster than the dynamic range compression applied by the audio interface.

### Claim 16 (depends on 12)

At least one computer readable device according to claim 12 wherein the additional audio signal processing is based on an assumption of there being a substantially linear relationship between the reference and a component of the audio signals received via the microphone component.

### Claim 17 (depends on 12)

At least one computer readable device according to claim 12 wherein the audio signal processing comprises applying acoustic echo cancellation to the audio signals received via the microphone component using the using the generated audio signal as the reference, thereby cancelling echo from those signals.

### Claim 18 (depends on 12)

At least one computer readable device according to claim 12, wherein the software is an application, and the generated audio signal is supplied by the application to driver software of the audio interface.

### Claim 19

A software-implemented method performed in an acoustic system comprising a loudspeaker component for outputting analogue audio signals, a microphone component for receiving analogue audio signals, and an audio signal processing device comprising an audio interface configured to receive in digital form any audio signal generated on the device for outputting via the loudspeaker component and to generate from the audio signal an outgoing audio signal in analogue form for supplying to the loudspeaker component, the audio interface configured, in generating the outgoing audio signal, to apply dynamic range compression controlled by the audio interface to the audio signal, the method comprising:
receiving an incoming audio signal and generating from the incoming audio signal an audio signal in digital form by pre-processing the incoming signal, the pre-processing including:
detecting one or more characteristics of the dynamic range compression applied by the audio interface; and
based on the detected characteristics, applying initial nonlinear amplitude processing controlled by the software to the incoming audio signal to modify its power envelope;
supplying the generated audio signal to the audio interface for additional processing by the audio interface prior to output via the loudspeaker component including the dynamic range compression controlled by the audio interface, wherein the initial nonlinear amplitude processing controlled by the software results in smoothing of the power envelope thereby reducing effects of dynamic range compression applied by the audio interface; and
providing the generated audio signal for use as a reference in applying acoustic echo cancellation to audio signals received via the microphone component, thereby cancelling echo from those signals.

### Claim 20 (depends on 19)

A software-implemented method according to claim 19, wherein the additional audio signal processing is based on an assumption of there being a substantially linear relationship between the reference and a component of the audio signals received via the microphone component.
