Skip to main content

So many ways to compress audio. I am wondering what people find themselves using the most? Slow optical, fast solid state, diode, VCA? Which do you find the most useful flavour ?

Comments

KurtFoster Sun, 05/05/2019 - 14:56

it all depends on the content. different tools for different tasks. i don't think just one compressor could ever be good for all applications but if forced to in a budget situation i would go for a decent VCA comp.

any studio will benefit by have 2 or 3 different types of comps / limiters. my go to's would be an LA3, an 1176 and a VCA comp of some type.

Boswell Sun, 05/05/2019 - 15:23

Difficult to answer the question - different material demands different tools, as Kurt said.

PS : a Dessert Island sounds a nice place to visit. I think I'd start by trying a light compress of fruit salad and ice cream with a glass of squash, then perhaps move on to something more compressed...

Just teasing, Link.

kmetal Sun, 05/05/2019 - 15:46

Im not sure of the components of each of these, so ill just list my top 3. Dbx 163x (blues/rock bass guitar), 1176ln silverface (general purpose), Summit TLA-100 (vocals). I know the tla is tube based.

For my money, im looking into a dbx 160a and a RNC compressirs, along with a neve 1073 (brand new) and/or a focusrite isa 2ch pres. This for a home rig used for songwriting, voice on video, and re-amping for natural ambience.

I tend to used compressors on the way in quite a bit when i have them, and use them for their tone/sonics, as much as their gain reduction.

Fwiw, Id way rather see some more eqs available in for outboard than another compressor.

If i had to choose one compressor only id take an 1176.

Boswell Mon, 05/06/2019 - 15:27

Link555, post: 460933, member: 31690 wrote: Has anyone played around with PWM compressor designs?

It's interesting that you should mention PWM in relation to compressors. As a student in the 1960s, I did an analysis of what were then the main compressor types, with the aim of finding ways to reduce intermodulation distortion. This distortion is caused by the compression dynamics and the signal information using the same modulation method, with the distinction between them being by frequency separation. If you wanted fast-acting compression, you sacrificed low-frequency audio.

PWM (as it later became known) allowed the dynamic modulation to be applied to the amplitude of the two-level signal while the audio signal content shifted the high-frequency changeover points. A simple low-pass filter turned this improbable-looking waveform back into audio whose amplitude could be controlled in a linear fashion. The two inputs to the system did not interact at the electronic level, so removing the distortion mechanism. However, as with all compressors, there can be audible modulation effects.

This was a paper project, so at that stage I didn't get to build a demonstration model. By the time I got round to building my own dynamic effect units, FETs had become available, and I used those until more recently, when opto-FETs at last gave what PWM methods had promised.

bouldersound Mon, 05/06/2019 - 22:11

Measuring by amount of gain reduction, I mostly use one versatile generic compressor plugin. But that's often on signal that's hit one or another analog compressor on the way in. One studio is multipurpose but almost exclusively one band. It's used for rehearsal, live performance and recording, so things stay patched the same way most of the time. The advantage is that I get to know all the inputs pretty well and have time to fine tune settings. I have access to a Drawmer 1960, which is mostly just on the bass, a couple of different kinds of 166 used for backing vocals and some other stuff, and a first generation ART Pro VLA on pedal steel and lead vocal. I'm not slamming things on the way in so they're not a huge part of the sound, and sometimes I even remember to bypass the dbx units while tracking.

I guess that's a roundabout way of saying I use none of the options on the list.

Boswell Tue, 05/07/2019 - 23:34

Link555, post: 460946, member: 31690 wrote: When done well it has many advantages, as Boswell mentioned. Check out the STC8 by cranesong....Dave Hills design is beautiful.

I don't know the innards of the Cranesong designs in detail, but my understanding was that the STC8 is a classic stereo FET compressor with huge variety of control on the sidechain. Their more recent Trakker unit (stackable mono) also used a FET in the audio path, but PWM in the FET control circuitry. This makes it very consistent, such that any number of mono Trakker boxes can be coupled together and track perfectly, as is required for multichannel sound stages in, for example, the film industry.

Both of these techniques are quite different from using PWM (or PPM - pulse position modulation) in the forward audio path. I'm not sure whether your original question referred to this aspect or just the side chain.

Link555 Wed, 05/08/2019 - 10:51

Boswell, post: 460947, member: 29034 wrote: I don't know the innards of the Cranesong designs in detail, but my understanding was that the STC8 is a classic stereo FET compressor with huge variety of control on the sidechain. Their more recent Trakker unit (stackable mono) also used a FET in the audio path, but PWM in the FET control circuitry. This makes it very consistent, such that any number of mono Trakker boxes can be coupled together and track perfectly, as is required for multichannel sound stages in, for example, the film industry.

Both of these techniques are quite different from using PWM (or PPM - pulse position modulation) in the forward audio path. I'm not sure whether your original question referred to this aspect or just the side chain.

Below is taken from the STC8 Manual. You are correct...Dave does use the PWM to control the FET in the audio path.....I was originally talking about the control path with PWM, but your post about the idea of it in the audio path is very interesting.....

John S Dyson Tue, 05/14/2019 - 13:55

Boswell, post: 460934, member: 29034 wrote: It's interesting that you should mention PWM in relation to compressors. As a student in the 1960s, I did an analysis of what were then the main compressor types, with the aim of finding ways to reduce intermodulation distortion. This distortion is caused by the compression dynamics and the signal information using the same modulation method, with the distinction between them being by frequency separation. If you wanted fast-acting compression, you sacrificed low-frequency audio.

PWM (as it later became known) allowed the dynamic modulation to be applied to the amplitude of the two-level signal while the audio signal content shifted the high-frequency changeover points. A simple low-pass filter turned this improbable-looking waveform back into audio whose amplitude could be controlled in a linear fashion. The two inputs to the system did not interact at the electronic level, so removing the distortion mechanism. However, as with all compressors, there can be audible modulation effects.

This was a paper project, so at that stage I didn't get to build a demonstration model. By the time I got round to building my own dynamic effect units, FETs had become available, and I used those until more recently, when opto-FETs at last gave what PWM methods had promised.

It is very interesting that you brought up the IMD matter. My project is in the midst of introducing a DolbyA compatible decoder (DHNRDS), and one of the major goals while decoding was to help minimize the dynamic IMD produced when doing fast gain control. I used several techniques to both minmize the IMD and also make sure that the gain control sidebands don't alias. I am including a pointer that show effects of IMD using the the historical DolbyA process, and show some improvements (techniques are applicable to general purpose compressors/limits/expanders also.)

The reason for the DolbyA compatible decoder:
I have found that some amount of material that was originally produced between late '60s through the early '90s is distributed without proper DolbyA decoding. DolbyA encoded material, without decoding, but using a bit of EQ (-3 or -6dB at 3k) is often tolerable, but has a characteristically compressed sound on the high end. I believe that undecoded DolbyA is a large part of the 'harsh' or 'digital' sound of CDs in the early days, and frankly I believe that customers have gotten used to it.

* One note -- my decoder just happens to work well with DolbyA material, and is not legally or officially a DolbyA decoder, but seems to be somewhat compatible.

I wrote the decoder that can fairly accurately decode DolbyA material, producing results that are generally indistinguishable from an actual DolbyA -- except, the DHRNDS is cleaner/produces much less IMD/vocal chorus are more distinct (due to less IMD.)
The improved detail is possible because of the IMD management. The anti-IMD work was not trivial, but some examples of varying amounts of IMD control are at the URL below.

I applied the DHNRDS to a DolbyA copy of the song 'The Boxer' from Simon & Garfunkel. (one of 100's of recordings in my collection, all commercially available, which are 'leaked' DolbyA.)

Unfortunately, I only created mp3s, but in an hour or so, I'll recreate the results in flac also. However, the maximum quality mp3 is sufficient to show the difference.
I demonstrated 4 decoding modes: --basic (no curve shaping, no anti-IMD), --basicx (attack/release curve shaping), --finalize (attack/release curve shaping & anti-IMD, --finalizeplus (attack/release curve shaping & maximum anti-IMD)

The decoding modes are encoded into the file names, and I limited the demo lengths to acceptable amount of time.

One might notice that the voices 'merge together' in --basic mode, 'a little more distinct' in --basicx, 'somewhat distinct' in --finalize, and 'distinct' in --finalizeplus.
A true DolbyA works most similar to --basic mode --and one reason why some recording engineers didn't like DolbyA very much - there is a loss of detail in DolbyA and almost any other gain control based NR process.

The anti-IMD uses hilbert transforms, manipulating the gain control sidebands, etc. In all cases, the basic 'sound' and attack/release characteristics are almost identical to an actual DolbyA. Other than IMD reduction,
all 4 modes sound pretty much the same.

Demos: https://www.dropbox.com/sh/hacnxy5aj3mo60v/AABxjQ5iyWd1y1elvpA50-yPa?dl=0

Boswell Wed, 05/15/2019 - 04:16

To think I was grappling with the compression IMD problem over 50 years ago...

I dug around in my paper achives to see if I could find the thesis I wrote on the topic, but it probably got lost somewhere in the intervening years. I remember there being what seemed at the time to be a huge amount of maths involved. Things like summation and integral signs were not mechanical typewriter-friendly.

Your demos are nicely arranged. However, in some of them there is a problem with the stereo image dancing about. It's much better constrained in the last one (finalizeplus).

John S Dyson Wed, 05/15/2019 - 04:56

Boswell, post: 461061, member: 29034 wrote: To think I was grappling with the compression IMD problem over 50 years ago...

I dug around in my paper achives to see if I could find the thesis I wrote on the topic, but it probably got lost somewhere in the intervening years. I remember there being what seemed at the time to be a huge amount of maths involved. Things like summation and integral signs were not mechanical typewriter-friendly.

Your demos are nicely arranged. However, in some of them there is a problem with the stereo image dancing about. It's much better constrained in the last one (finalizeplus).

Any problem with the image comes from the DA calibration -- On the 'leaked' (normally available though) examples, I didn't have tones for an estimate of the calibration level, so I had to do the calibratiion by listening for distortion & dynamics (which is incredibly & infinitely difficult.) In most cases, it is even difficult/tricky to determine if the 'compression' comes from the production choices or DolbyA. One of the challenges -- often, undecoded material is EQed with -3dB or -6dB at 3kHz/Q=0.707. So, I try undoing that -- and then choosing one of the common calibration levels. Since most of the gain control activity in the higher frequencies is at/above 3kHz (the MF band is usually pinned or nearly so at 0dB), that means that detecting the correct calibration can easily be 3dB in error -- should it be -17dB or -20dB (because of the possible 3dB additional gain at HF.) It is NOT a trivial piece of software to use for 'leaked' DolbyA, considering the rather frustrating variability of the source material. Professionally maintained recordings, with tones -- the DHNRDS is bordering on trivial to use.

If the calibration is in error, then the gains can get out of sync. As I mentioned, listening for distortion or decoding artifacts is very difficult -- esp for the DHNRDS because it doesn't let bad signals cause distortion (well, not very much.) If there IS a kind of distotrtion, it is mostly due to the gains not lining up, and an apparent ugliness becasue (for example) the HF0/HF1 bands not changing gains in the same way.

The attack/release time is very variable -- between 1msec about 30msec for attack and 30 - 120msec for release (approx), LF/MF are 2X slower than the HF bands, each band can dynamically change the release times in a 2:1 ratio. It is also dependent on the exponential curves -- very tricky thing to nearly perfectly match a true DolbyA -- no simple R/C timeconstants need apply. Per some professional recordists hearing, it appears that the DHNRDS matches a true DolbyA well within DolbyA to DolbyA variation. (No simple feat, considering the conversion from feedback to feedforward, and all of the conversions needed for that.)

The front end settings for the 4 demos were identical for each version though -- absolutely identical, the only difference was in the anti-IMD code (which is an incredibly intricate and CPU intensive piece of code*), where there are three or four modes, but only two of the anti-IMD modes are availabel to the user. The only difference caused by the anti-IMD is the suppression of sidebands during the time the signal is of a substantial level (in essense, when the waveform is large, the gain control speed is dynamically retarded -- much more rapidly than shaping the gain control signal itself.) it is so very obvious when comparing with an actual DolbyA -- the DHNRDS is no longer able to produce the slight grain of a DolbyA (the minimum mode does some curve shaping, thereby still suppressing the distortion a little bit.)
* one hint about the 1st level of anti-IMD, and should probably be done in every software based compressor/expander -- use a push-pull technique, so that in a 1st order sense, the distortion is partially cancelled. It doesn't seem intuitively that it will help, until thinking of the gain control as modulation -- then consider the phase of each sideband. If thinking in a static sense, a push pull scheme might seem superfluous. This stuff is mind-numbingly tricky.
22
The biggest disadvantage per my hearing in the highest modes -- the slightest detail in sibilance (spit sounds) are transparent. Not necessarily a good thing, therefore, sometimes using one of the modes that aren't so pristine/aggressive at removing IMD can be a good thing.

Perhaps the most eye-opening is ABBA -- imagine ABBA with very little IMD. Probably the closest thing to what was sent to the DolbyA some 40+yrs ago.

Refer to the Orban patent for one analog IMD solution in the case of a limiter. In the analog HW days, it was a daunting challenge... In this brave-new-software world, it is just a very difficult and confusing challenge :).
One more add-on: Orban Patent is US 6,205,225

John

John S Dyson Fri, 05/17/2019 - 04:49

John S Dyson, post: 461062, member: 50354 wrote: Any problem with the image comes from the DA calibration -- On the 'leaked' (normally available though) examples, I didn't have tones for an estimate of the calibration level, so I had to do the calibratiion by listening for distortion & dynamics (which is incredibly & infinitely difficult.) In most cases, it is even difficult/tricky to determine if the 'compression' comes from the production choices or DolbyA. One of the challenges -- often, undecoded material is EQed with -3dB or -6dB at 3kHz/Q=0.707. So, I try undoing that -- and then choosing one of the common calibration levels. Since most of the gain control activity in the higher frequencies is at/above 3kHz (the MF band is usually pinned or nearly so at 0dB), that means that detecting the correct calibration can easily be 3dB in error -- should it be -17dB or -20dB (because of the possible 3dB additional gain at HF.) It is NOT a trivial piece of software to use for 'leaked' DolbyA, considering the rather frustrating variability of the source material. Professionally maintained recordings, with tones -- the DHNRDS is bordering on trivial to use.

If the calibration is in error, then the gains can get out of sync. As I mentioned, listening for distortion or decoding artifacts is very difficult -- esp for the DHNRDS because it doesn't let bad signals cause distortion (well, not very much.) If there IS a kind of distotrtion, it is mostly due to the gains not lining up, and an apparent ugliness becasue (for example) the HF0/HF1 bands not changing gains in the same way.

The attack/release time is very variable -- between 1msec about 30msec for attack and 30 - 120msec for release (approx), LF/MF are 2X slower than the HF bands, each band can dynamically change the release times in a 2:1 ratio. It is also dependent on the exponential curves -- very tricky thing to nearly perfectly match a true DolbyA -- no simple R/C timeconstants need apply. Per some professional recordists hearing, it appears that the DHNRDS matches a true DolbyA well within DolbyA to DolbyA variation. (No simple feat, considering the conversion from feedback to feedforward, and all of the conversions needed for that.)

The front end settings for the 4 demos were identical for each version though -- absolutely identical, the only difference was in the anti-IMD code (which is an incredibly intricate and CPU intensive piece of code*), where there are three or four modes, but only two of the anti-IMD modes are availabel to the user. The only difference caused by the anti-IMD is the suppression of sidebands during the time the signal is of a substantial level (in essense, when the waveform is large, the gain control speed is dynamically retarded -- much more rapidly than shaping the gain control signal itself.) it is so very obvious when comparing with an actual DolbyA -- the DHNRDS is no longer able to produce the slight grain of a DolbyA (the minimum mode does some curve shaping, thereby still suppressing the distortion a little bit.)
* one hint about the 1st level of anti-IMD, and should probably be done in every software based compressor/expander -- use a push-pull technique, so that in a 1st order sense, the distortion is partially cancelled. It doesn't seem intuitively that it will help, until thinking of the gain control as modulation -- then consider the phase of each sideband. If thinking in a static sense, a push pull scheme might seem superfluous. This stuff is mind-numbingly tricky.
22
The biggest disadvantage per my hearing in the highest modes -- the slightest detail in sibilance (spit sounds) are transparent. Not necessarily a good thing, therefore, sometimes using one of the modes that aren't so pristine/aggressive at removing IMD can be a good thing.

Perhaps the most eye-opening is ABBA -- imagine ABBA with very little IMD. Probably the closest thing to what was sent to the DolbyA some 40+yrs ago.

Refer to the Orban patent for one analog IMD solution in the case of a limiter. In the analog HW days, it was a daunting challenge... In this brave-new-software world, it is just a very difficult and confusing challenge :).
One more add-on: Orban Patent is US 6,205,225

John

One more MINOR deviation from the specific subject, but talking about IMD and the potential improvements. I have a whole bunch of DA decoding examples (using the new DHNRDS decoder, that *just happens* to decode DolbyA encoded material generally better than a true DolbyA.)
The encoding/decoding process on most noise reduction systems would add some intermodulation distortion (IMD.) Since nowadays we have lots of computing power available, a lot of brute force or simply time consuming algorithms can be used to improve on original designs.

Writing a SUPER DUPER good compressor/expander in a sampled environment has to be done with care so that aliasing will be minimized or eliminated. That is, when mixing the gain control with the original signal, the process is modulation, quite similar to normal AM broadcast modulation. That modulation creates sidebands, and with fast attack/release times, the sidebands can easily wrap the Nyquist frequency (1/2 the sample rate.) This matter is off topic WRT the IMD, but the various IMD issues are made more important due to sampling and aliasing.

In the case of decoding legacy NR systems (for old analog tape), there is a real problem to deal with -- intermodulation distortion. In this brave, new digital world, the IMD issues just don't happen the same. In the old analog world, we had IMD from noise reduction, IMD from AGC/compressors/limiters, IMD even just from tape alone. Some of the forms of IMD cause a smoothing or almost 'dynamic range compressed' sound. Some kinds of IMD can sound grainy. The old DolbyA encode/decode process could cause both forms of IMD, but the 'smoothing' or 'softening' seems to be the most pronounced for my own perception. Of course, there is also a 'grain' that might be perceived in the demo..

I have another site that has various examples of 'leaked' DolbyA material (material purchased as CD or download, but the DolbyA hadn't been properly decoded), and at least one (currently one) example of both normal DolbyA HW decoding, and a decoding example using the DHNRDS decoding with full anti-IMD enabled.

The examples are "ABBA-TakeAChanceOnMe-Polar.mp3" for the original Polar music version, obviously DolbyA decoded. There is another version, decoded from a 'leaked' DolbyA Japanese release (the CD is in storage, so I don't remember all of the details), decoded witih thie DHNRDS decoder. The demo/experiment is not 100% controlled, but the results are so typical that I have great confidence that it is at least mostly accurate. The 'locally' decoded version is "ABBA-TakeAChanceOnMe-DHNRDSDA.mp3". Of course, the lengths have been truncated to be politte to the IP owners, but this example should show the lost detail in the 'Polar Music', DolbyA decoded version. This difference in detail has nothing to do with non-compliance or amount of expansion. Actually, even though the locally decoded version is more detailed, the difference is partially due to the attack/release being carefully shaped (effectively slowed down) and the sidebands have been cancelled in a proprietary way (the sidebands still exist, or there'd be no gain control -- but the sidebands/gain control is generated in a very particular way -- maybe to be patented.) With the selective slow-doown of the gain control time trajectory (not really a difference in attack/release time per-se), and a massaging of the distortion sidebands (pretty much a removal of extraneous signal), the result is clearer/cleaner -- much better reproducing the material before DolbyA encoding 40yrs ago.

Here is the site:
https://www.dropbox.com/sh/mduka8faqv1nva7/AAATBBBRIFDht8pVsDN5Dv7Aa?dl=0

John

John S Dyson Mon, 06/03/2019 - 04:18

John S Dyson, post: 461082, member: 50354 wrote: One more MINOR deviation from the specific subject, but talking about IMD and the potential improvements. I have a whole bunch of DA decoding examples (using the new DHNRDS decoder, that *just happens* to decode DolbyA encoded material generally better than a true DolbyA.)
The encoding/decoding process on most noise reduction systems would add some intermodulation distortion (IMD.) Since nowadays we have lots of computing power available, a lot of brute force or simply time consuming algorithms can be used to improve on original designs.

Writing a SUPER DUPER good compressor/expander in a sampled environment has to be done with care so that aliasing will be minimized or eliminated. That is, when mixing the gain control with the original signal, the process is modulation, quite similar to normal AM broadcast modulation. That modulation creates sidebands, and with fast attack/release times, the sidebands can easily wrap the Nyquist frequency (1/2 the sample rate.) This matter is off topic WRT the IMD, but the various IMD issues are made more important due to sampling and aliasing.

In the case of decoding legacy NR systems (for old analog tape), there is a real problem to deal with -- intermodulation distortion. In this brave, new digital world, the IMD issues just don't happen the same. In the old analog world, we had IMD from noise reduction, IMD from AGC/compressors/limiters, IMD even just from tape alone. Some of the forms of IMD cause a smoothing or almost 'dynamic range compressed' sound. Some kinds of IMD can sound grainy. The old DolbyA encode/decode process could cause both forms of IMD, but the 'smoothing' or 'softening' seems to be the most pronounced for my own perception. Of course, there is also a 'grain' that might be perceived in the demo..

I have another site that has various examples of 'leaked' DolbyA material (material purchased as CD or download, but the DolbyA hadn't been properly decoded), and at least one (currently one) example of both normal DolbyA HW decoding, and a decoding example using the DHNRDS decoding with full anti-IMD enabled.

The examples are "ABBA-TakeAChanceOnMe-Polar.mp3" for the original Polar music version, obviously DolbyA decoded. There is another version, decoded from a 'leaked' DolbyA Japanese release (the CD is in storage, so I don't remember all of the details), decoded witih thie DHNRDS decoder. The demo/experiment is not 100% controlled, but the results are so typical that I have great confidence that it is at least mostly accurate. The 'locally' decoded version is "ABBA-TakeAChanceOnMe-DHNRDSDA.mp3". Of course, the lengths have been truncated to be politte to the IP owners, but this example should show the lost detail in the 'Polar Music', DolbyA decoded version. This difference in detail has nothing to do with non-compliance or amount of expansion. Actually, even though the locally decoded version is more detailed, the difference is partially due to the attack/release being carefully shaped (effectively slowed down) and the sidebands have been cancelled in a proprietary way (the sidebands still exist, or there'd be no gain control -- but the sidebands/gain control is generated in a very particular way -- maybe to be patented.) With the selective slow-doown of the gain control time trajectory (not really a difference in attack/release time per-se), and a massaging of the distortion sidebands (pretty much a removal of extraneous signal), the result is clearer/cleaner -- much better reproducing the material before DolbyA encoding 40yrs ago.

Here is the site:
https://www.dropbox.com/sh/mduka8faqv1nva7/AAATBBBRIFDht8pVsDN5Dv7Aa?dl=0

John

I am taking down the examples -- if anyone is REALLY interested, just drop me a message, and I'll make some really, really good examples available. Just passed a new release to my project partner, that release invalidating any of the DHNRDS demos. The new release of the DHNRDS makes the anti-IMD code a little less needed -- I developed a gain-control-only nonlinear filter that mitigates some more of the unneeded sideband creation without impacting the attack time in any noticeable way. The anti-IMD routines still help (really still clean up the material), but at the cost of lots of CPU.

The anti-IMD scheme is something that there will be a paper written someday (along with some of the other technqiues done in the decoder._ The anti-IMD is very useful for any compressor/expander that has a fast attack time, and has ZERO audible effect (it lets the gain control happen in a sneaky way -- looking at the signal & gain control TOGETHER and not just filtering the gain control.) The anti-IMD scheme is mathematically smooth -- it does use nonlinear sideband manipulation methods (e..g. Hilbert transforms are one of the techniques utilized.)

Recently, I have done a survey of recordings that are moderately heavily compressed (well, in the 2000's anyway), and noted that IN SOME CASES, the anti-IMD might really be useful. I am trying to find a partner to help do some math and help write a paper. Once the information is 'loosed' on the development community, there just might be an improvement in compression/expansion (hopefully, where compression/expansion/limiting SHOULD be done.) Unlike the Orban patent, this scheme works almost anywhere that fast gain control is done -- only on a computer. (A HW implementation would be ludicrously difficult.) The method is NOT dependent on the kind of gain manipulation -- the exact same code will work with compression or expansion.

John

John S Dyson Tue, 06/04/2019 - 07:12

Boswell, post: 461195, member: 29034 wrote: That sounds an interesting scheme, John.

I wish I had had that amount of computing power available when attempting to tackle the IMD problem in the late 1960s.

I understand about the frustration. Everytime the I revisit the issue about how much CPU the method uses, it just ends up being -- it is as fast as the method allows... *Really* frustrating.

I would REALLY like an 8-10 core at least to do testing. The tests have to be run overnight (I have several hundred DolbyA encoded songs -- about 20-30 albums -- cannot run all of them in a single night), and run slightly faster than realtime (about 1.5X faster) in the highest quality mode (at 96k). LOTS of CPU. When running in the 'slightly better than DolbyA HW mode', it runs about 5X realtime (I could make it significantly faster, but I have been very busy.) Compressor/expanders using the technology would be significantly improved (some of the distortions that creep in would be almost totally (audibly) mitigated.) The 'slightly' better than DolbyA HW mode uses Hilbert transforms also -- but for a purpose that is different than the anti-IMD. The front-end Hilbert transform is used for the simple mitigation of gain control ripple in the 3k->20k range -- which isn't all that bad anyway -- just gilding the lily.

* point being -- the anti-IMD method runs at best 2X realtime on a 4 core Haswell. Not intending on focusing on the DolbyA particularly.

The anti-IMD scheme is really 'evil' and 'brute force', cancels the sidebands on portions of the signal at higher waveform values (kind of), so squeezes more gain control at lower waveform values (sort-of). Doing a 'gain control at zero crossing' would intuitively seem to do the right thing, but it doesn't really work. So, instead of stashing the gain control into one (prettier sounding) sideband -- which is the Orban patent (it changes the gain control trajectory in the time domain -- but the total attack time is the same), my scheme both directly changes the trajectory (using nonlinear filtering) before the gain control, and then 'bends' the gain control as the audio waveform changes. (I would happily explain the details privately -- it does use sideband manipulation to affect the attack curve bending -- but exposing too much of the method might give someone else enough info to write the paper that I'd like to do.) The effect on the sound over a simple suboptimal gain control waveform -- is a pretty significant improvement. If only one Hilbert transform was needed, then it wouldn't take a lot of CPU power -- but a lot of very *accurate* Hilbert transforms are needed. For best quality, even a very special/specific window function for the FIR Hilbert implementation was helpful. (The Kaiser-Bessel window -- it has some really nice characteristics WRT sidebands.) The method is so very dependent on the quality of the Hilbert transform, and analog HW 90deg schemes just wont work very well (at all.)

Doing the anti-IMD technique is practically impossible in HW -- and SW would have been a dream in the time of the CDC6500/6600, IBM7094, DEC-10 or even the fastest VAX. My estimation is that the technique would have just started being practical in the early 2000s, perhaps the best Pentium4 starts being able to run 5-10X slower than realtime in the highest quality mode (basically speaking to the anti-IMD method). When watching the stats on instruction usage -- truly more than 95% of the instructions/CPU time are tied up in SIMD operations (8 floating point operations per instruction.)

Buuut... Much of that grit/distortion coming from lots of fast gain control and band gain differences can be either almost totally elminated by the anti-IMD in some cases, and decreased in others.

The big 'downer' for me using the anti-IMD technique is that the DolbyA market is limited (not that I plan to make any money), I am currently starting a C4 decoder (even smaller market), and the situation is that very few people/organizations need/can use a DolbyA decoder, but those who can use it -- really need it (the DHNRDS really does sound like a DolbyA -- often difficult to distinguish, except for the cleaner 'cymbals, vocals', etc.)

So, after C4 -- it looks like DolbySR will be next... I don't know if SR can use the anti-IMD like the DolbyA emulation does. The SR will require a feedback design, and the anti-IMD would not be simple (maybe even possible) to use in a feedback design.

However, for simple compressors/expanders (up to the DolbyA type schemes) -- I do have a pretty much complete transformation method between between feedforward and feedback (which are more complex than what might initially seem.)

So, if anyone is really interested in the anti-IMD scheme, I am willing to explain privately (given a solemn promise not to disclose it.)

John

Mictester Tue, 08/27/2024 - 19:19

I did a huge amount of work on use of PWM for compression (more particularly Limiting) in broadcast equipment.  The use of the PWM approach makes channel matching easy, and if the recovery filters are well designed and the PWM frequency is sufficiently high so as to avoid Nyquist aliasing problems, there's much to recomment the approach.

In broadcasting, absolute level limiting is essential to maintain standards compliance and to prevent interference issues.  To this end, many engineers use clippers as well as analogue limiters (to try to handle any overshoots), but I abhor adding distortion in that way.

My current broadcast product design uses a delay line and a feed-forward topology.  Level-sensing is done before the delay line, and the PWM attenuation is done afterwards.  This allows the limiter to "see the peaks coming" and pull down the gain almost in advance.  Effectively, the limiter has zero attack time!  This confers several advantages, most notable of which is the elimination of overshoots and "pumping" artefacts, leading to the removal of the clippers altogether!.  

My design uses three-band limiting - to completely eliminate the "pumping" issue and avoid the spurious dipping in level of the midrange and treble when there is a particularly loud bass sound.

The PWM frequency is a multiple of the stereo pilot tone (19 kHz) frequency, to eliminate the possibility of intermodulation or "beating" issues.  Also the frequency is chosen so that the maximum modulating frequency (15 kHz in FM broadcasting) is one eighth of the PWM switching frequency.  Our "active" PWM switching elements are cheap CMOS transmission gates (4066!), and this has saved considerable supply logistic problems that we had when we used junction FETs - FETs are getting very hard (and expensive) to find.