With the implementation of the AGC(Automatic Gain Control) being on the playback side rather than the input side of TeamSpeak, I have gotten an idea for a feature similar to ducking. Rather than AGC attempting to bring all incoming voice channels close to or at a set decibel level, it instead monitors other sound sources on the system mixer and automatically adjusts the levels to maintain voice chat above those other sources. The idea is that as a game or any other audio source gets louder or quieter, TeamSpeak would automatically increase or decrease the AGC set level to keep voice chat audible at all times.
One area this would benefit is during scenes that are quiet in a game or video. This would lower the volume of other users so that you can listen for other sounds, or still hear the video that you are watching.
An area of concern though, is when games or videos get really loud. This algorithm could level too high and incur distortion and/or clipping. This brings me to a feature for this feature, which could be a min/max decibel level for this algorithm to use to keep users from getting too quiet, and keep them from getting too loud if distortion/clipping does begin to occur.
This is simply an idea, and honestly might be very situational, but as for all ideas, others’ feedback or support for the idea would be appreciated.
Getting simple playback ducking in general would be nice though for people who do want to hear their teammates in games that can get loud like Call of Duty, Squad, or Battlefield.
“Ducking Alternative” as a title seemed a little misleading since this seems more like an AGC alternative, rather than a playback level reduction method.
Incorrect use of WASAPI. I originally thought it was the mixer for Windows, but is in fact a protocol in which audio data travels from the application to the audio endpoint, I.E. sound card.