Some notes of Harmonic Shifted Envelope
When we say “compressor” or other types of dynamic processing, what do we actually mean? We means amp modulation. Yes, all dynamic processings use a curve to modulate audio volume, which is indeed amp modulation.
For amp modulation, when a envelope of frequency A to modulate the signal of frequency B, it generate distortion harmonics on frequency A+B and its multiples. For example, if we use a sine wave of 1000 Hz to modulate another sine wave with same frequency 1000 Hz, the result would contain frequency components on 2000 Hz.
As many effects would generate harmonics, it feels acceptable for those generated from dynamic processing. But here is the problem: inside the envelope detection of dynamic effects, there’s usually an absolution (or power) procedure, which would double the original base frequency of 1000 Hz to its even times: 2000 Hz, 4000 Hz, 6000 Hz, etc..
abs of 1000Hz sine.
This absoluted data is used to create modulation envelope through some low-pass filter-like processing. The all harmonic distortion would be reduced much but won’t be eliminated, and the resultant envelope would still contain some of even harmonics.
Hmm… even harmonics? sounds okay to me.
Wait! Remember the procedure above? When modulate the signal of 1000 Hz using an envelope with 2000 Hz, 4000 Hz, 6000 Hz components, the resultant signal would contain 1000+2000=3000 Hz, 1000+4000=5000 Hz, 1000+6000=7000 Hz, etc., that are odd times of the original signal!
Original audio of 1000 Hz sine wave.
Audio after compressor, odd-time harmonics at 3000 Hz, 5000 Hz, 7000 Hz… are generated.
This is why many bad dynamic effects sound “cold”.
To solve this problem, we developed a technique and we call it “Harmonic Shifted Envelope”. It can “deflect” some energy of odd-time harmonics to even-time harmonics.
How is that possible?
If we speculate this question more clearly, it becames “what kind of stuff would change harmonics?” Yes, a waveshaper! The Harmonic Shifted Envelope is indeed a tiny nerual network that trained using even-time harmonic as input and odd-time harmonic as output. It can “reflect” energy back to odd-time harmonics, and after the amp modulation all those odd harmonics will become even harmonics!
Generation of even-time harmonics at 2000 Hz, 4000 Hz, 6000 Hz…
Back to dynamic EQ, things are more complicated. No matter how does a dynamic EQ implements, it can be seen as a filter that modulates on gain. Besides odd-time harmonics, there are distortions on non-integral times of base frequency.
The non-integral and odd-time harmonic distortion generated from a dynamic EQ working on 1000 Hz sine wave.
These distortion leads to “blur” and “cold” feelings of dynamic EQ. Many dynamic EQ are unaware of this issue. If you analyze the output of some, you may be surprised on how much distortions they have. Luckly, the Harmonic Shifted Envelope still works well on it.
Due to the effect of Harmonic Shifted Envelope, Kirchchoff-EQ reduced overall harmonic distortions, and “moved” harmonic at 3000 Hz to 2000 Hz.
Note that when a dynamic EQ reaches its boundary, it degrades to normal EQ that dont have distortion. So the proper way to test the distortion of a dynamic EQ is to keep its processing around center. This is the configurations used to test Kirchhoff-EQ:
All measurements here are using “PluginDoctor”, which is a powerful tools to analaying plugin.
Very cool… Perhaps a rudimentary way of implementing this would be too write every sample of the sidechain signal to a buffer twice and use some sort of interpolation to effectively half the frequency of the incoming signal before abs/rectification?… I’m just thinking out loud… Blurring the lines of what a compressor is here, I like it!