If Vista dedicates an audio path to each and every application running on your system, why not create a subroutine that listens for commands on the output of these applications? If it receives a command from any other path than the mic input it puts that command into a list of temporarily ignored commands so that if it receives the same command from the mic input within a certain time frame it will ignore it. Under normal circumstances you should never see a voice command originate from any other source than the mic, and the time frame would be incredibly short as the latency involved is very low.
This would eliminate the problem entirely and would not require nearly as much processing power as running real time wave form mapping and inverse transfer functions for noise cancelation.
If Vista dedicates an audio path to each and every application running on your system, why not create a subroutine that listens for commands on the output of these applications? If it receives a command from any other path than the mic input it puts that command into a list of temporarily ignored commands so that if it receives the same command from the mic input within a certain time frame it will ignore it. Under normal circumstances you should never see a voice command originate from any other source than the mic, and the time frame would be incredibly short as the latency involved is very low. This would eliminate the problem entirely and would not require nearly as much processing power as running real time wave form mapping and inverse transfer functions for noise cancelation.