I'm sure this has been asked before but I can't seem to find anything about this, in theory, is it possible to write an audio driver which takes the incoming audio (from microphone), and compares it to outgoing audio (sound played through speakers/headset).
The reason I ask?
I know for a fact lots of gamers would love to be able to play sound through their speakers instead of their headsets, but when they use VoIP programs people tend to complain a lot about echoes & ambient noise.
As for a more tangible example:
User plays music through speakers, but when talking on VoIP (without any volume reduction), the driver then takes that incoming sound & "subtracts" the outgoing audio from it, which leads to the other VoIP users not being able to hear the music/themselves talking, but they will still be able to hear the user.
Note: I'm not entirely sure if this is possible even in theory due to my lack of understanding of the workings of sound (be it digital signals and actual waveforms).