# US 8,787,594 B1 · Multi-stream audio level controller

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

- Number: US 8,787,594 B1
- Document ID: US8787594B1
- Status: Granted
- Kind: B1
- Application number: 11/342,513
- Filed: 2006-01-30
- Granted: 2014-07-22
- Earliest claimed: 2005-01-28
- Assignees: Texas Instruments Incorporated
- Applicants: Stephen J. Fedigan; Daniel S. Jochalson; Jason D. Kridner; Jeffrey S. Hayes
- Inventors: Stephen J. Fedigan; Daniel S. Jochalson; Jason D. Kridner; Jeffrey S. Hayes
- Web page: https://patentgrep.com/patent/US8787594B1

## CPC

- H03G 3/3089: {Control of digital or coded signals}
- H03G 3/3005: {in amplifiers suitable for low-frequencies, e.g. audio amplifiers (H03G3/32, H03G3/34 take precedence)}
- H03G: CONTROL OF AMPLIFICATION

## Abstract

A volume level and crossfade controller with programmable fades and audio stream priority controls saturation for a multiple audio stream mixer. Start of fade and end of fade events trigger updates of relative volume level targets and volume ramps.

## Claims

### Claim 1

A method of a processor for multiple audio stream level control with a single interface, comprising the steps of:
(a) for each of a plurality of audio streams, providing a multi-segment fade volume profile and a state variable, wherein each stream has an independent state variable;
(b) providing model coefficients, via said processor, for volume target priority interactions of said streams to automatically avoid saturation, wherein said saturation is automatically avoided setting a relationship between streams of model coefficients and wherein said relationship changes in real-time and creates a dependency between streams; and
(c) periodically computing volume adjustment factors for said streams using said fade profiles, said state variables, and said model coefficients;
(d) whereby each of said streams with a state variable indicating an active stream may be mixed into an output without saturation for constantly changing the fade volume according to at least one of the provided fade volume profile and the provided state variable, wherein the shape of the fade and the target volume are constantly changing to avoid saturation.

### Claim 2 (depends on 1)

The method of claim 1, wherein said state variables have values including:
(i) stream_on;
(ii) stream_new_fade; and
(iii) stream_delay_fade;
with stream_on indicating a stream is active, stream_new_fade indicating a stream is to begin a fade, and stream_delay_fade indicating a stream is inactive.

### Claim 3 (depends on 1, 2)

The method of claim 2 wherein when one of said state variables is set to said stream_new_fade value and said computing of step (c) of claim 1 includes a change of said value from stream_new_fade to stream_on.

### Claim 4 (depends on 1)

The method of claim 1 wherein each of said fade volume profiles includes an end_of_profile_status which indicates after completion of a fade of a stream one of (i) deletion of the stream, (ii) stream_delay_fade state for the stream, or (iii) the stream is active.

### Claim 5 (depends on 1)

The method of claim 1 wherein said fade volume profiles are piecewise linear.

### Claim 6 (depends on 1)

The method of claim 1, further comprising the steps of:
(a) when a first of said state variables indicates termination of a first of said streams, extending said first stream beyond said termination by replicating and scaling a sample of said first stream prior to termination;
(b) whereby stream termination artifacts are avoided.
