I'm manually editing the WAV files for an audiobook. There are often sections where I have to amplify a section, and then amplify sub-sections due to the variability of the quality of the original audio. It occurs to me that it wouldn't be hard to write an algorithm to perform automated normalization based on an exponentially weighted moving average of the nearby loudness levels.
Except that, of course, if it were that easy, someone would have already done this. Probably several people, in several different ways. Searching the internet gives me an endless repetition of "compress then normalize," so I thought I'd ask people who should know. What algorithms and/or tools exist for dynamic normalization of spoken audio?