Would it be possible for an algorithm to look so many frames forward in the stream, compare them, and if there is a mostly static waveform, drop some of the frames?
Dare you to try that and see how it sounds.

Those calculus-heavy algorithms I mentioned above aren't there because the people who wrote them were trying to do it the hard way. They're there because it truly is difficult to do it intelligibly, and there aren't really any short-cuts.
_________________________
Tony Fabris