Patent ID: 7142678

Claim:
A method comprising: receiving an indication to automatically adjust a volume level for sound output by one or more speakers in a system; generating a first attenuation value based on whether a user of the system is expected to speak, wherein generating the first affenuation value comprises: determining whether a first flag value is set indicating that the user of the system is expected to speak; if the first flag value is not set then setting a ProgAtten value equal to zero, wherein the first attenuation value comprises the ProgAtten value; and if the first flag value is set, then setting the ProgAtten value as follows, where Volume Control Setting represents a volume level that is manually set by the user, Volume control range represents a range of volume settings that are manually set by the user, Voice level-forced represents a maximum voice level for a user when the user is trying to overcome the ambient noise and program sound, Voice level-relaxed represents a voice level for a user when the user is not trying to overcome ambient noise and program sound, Maximum amplifier SPL represents how loud an unattenuated signal in the system will be based at least in part on a power amplifier in the system and the one or more speakers, Voice isolation attenuation of noise and program sound represents how well the voice of the user is isolated, acoustic echo cancellation attenuation represents how well sound being output by the one or more speakers is removed from data picked up by a microphone in the system, and minimum user voice over program sound represents a difference threshold that is enforced between a user voice level and a program sound level for audio data from an entertainment source that is output by the one or more speakers: ProgAtten = MIN(0, (Volume Control Setting/Volume control range *(Voice level-forced − Voice level-relaxed) + Voice level-relaxed) − ((Maximum amplifier SPL + (-(Volume control range − Volume Control Setting)*2)) + Voice isolation attenuation of noise and program sound + acoustic echo cancellation attenuation) − minimum user voice over program sound); generating a second attenuation value based on whether a communications source is ready to output a UI sound; summing the first attenuation value and the second attenuation value; and using the sum of the first attenuation value and the second attenuation value as an amount by which a volume level for program sound output by the one or more speakers in the system is further attenuated beyond attenuation already existing due to a manual volume level setting by the user.