Update on Crescendo



Crescendo has certainly come along over the past month. It is now up to version 2017-01-28-B, and appears thus as a plugin:

Not only does it have multiple engine modes (Single, Dual, Dual Pre, and Dual Post), but it now includes calibrated headphone corrective EQ on the Sennheiser HD650, Beyerdynamic DT880, and Studio SM-CB1, as well as user tunable release times for fine tuning the internal dynamic response.

The headphone calibrations and EQ are completely self-contained, being based on FIR corrections above 500 Hz, plus IIR corrections below that. The equalized response through these headphones is within 0.5 dB of the Harman target profile over the range from 20 Hz to 20 kHz. No need for any additional EQ unless you want to color your sound in some way. You can disable internal headphone EQ by choosing None for the Headphone selection.

And there is another special control in the lower right, labeled 1 dB/Oct Rolloff. In this version it is still user selectable until we gain enough use with it to justify either its removal or its permanent inclusion. What is this?

It has now been pretty well established by industry researchers that a calibration room target profile has a gentle downward sloping spectral profile, with a rate of close to 1 dB/Octave. That’s 10 dB level difference between 20 Hz and 20 kHz.

They have found that a truly flat acoustic playback configuration generally sounds too bright. I even have the words of respected mastering engineer, Bob Katz, stating that he has tuned his mastering studio with this same rolloff – which means that this profile is affecting the recordings you listen to.

And since this kind of room response was used to derive the Harman headphone target profile, that kind of rolloff will be present in our headphone calibrations too.

Now Crescendo is devoted to making sounds seem as accurate as possible to people with varying degrees of hearing impairment. We need to include the effects of this listening rolloff in order to produce accurate hearing corrections.

If you present a sound to Crescendo, it will do its very best, knowing how loudly that sound will be heard and your degree of hearing impairment, to make it appear to you as though it were that loud. For someone with a threshold level at that sound’s frequency of, say, 50 dB, they won’t truly hear anything at all until that sound’s level grows above 50 dBSPL (at 1 kHz). And even then, it would seem at first like just the faintest hint of a sound, down near an apparent threshold level.

So to make a sound that has a 40 dBSPL level appear to be 40 dB above threshold for that person, we actually need to add 14.9 dB of boost to that signal. The sound will be presented at a physically measurable level of 54.9 dBSPL. But the hearing impaired person will hear it as though it had a level of 40 dB above threshold.

But if the sound playback system is adding its own spectral profile then the corrections still won’t be enough, growing ever more deficient at frequencies where the playback system more strongly attenuates the sound. And in a room with even a mild roll off like 1 dB/octave, that amounts to 5 or 6 dB fainter at 10 kHz than at 1 kHz.

So to overcome this playback rolloff, we need to let Crescendo know it is happening so that it can prepare the corrections for the level at which the sound will actually be heard. It isn’t sufficient to know only that a -16 dBFS signal at 1 kHz will produce a sound level of 73 dBC in the room or headphones. There is a frequency dependent adjustment that also needs to be made.

That’s just one way of looking at things. But consider this… Recording engineers widely acknowledge that real recording venues produce a spectral rolloff as they record the sound. Then a mastering engineer takes that rough recording, plays it back in his carefully tuned room with a 1 dB/octave rolloff, and adds his own EQ to make the sound seem perfect to him.

So if the sound were already darkening toward higher frequencies in the base recording, then in order to hear it correctly in his mastering room, the mastering engineer will add some treble boost to his mastered recording. But as long as your playback system also has this treble roll off it will sound correct to you… but only if you have perfect hearing.

Now take someone with imperfect hearing who uses a Crescendo. The sound in the recording will be brighter than it should be, compared to how it actually sounded during the base recording. This, thanks to the mastering engineer who interposed his room sound during his listening to make the secondary recording that you are now listening to.

When a sound is stronger, it requires less Crescendo correction. But then we turn around and send the sound through our own playback system which removes that overemphasis of treble. But it also diminishes our corrections, and so the corrections will not have been enough.

Impaired hearing is NOT linear in dB space. If you reduce the level of an impaired frequency by 3 dB, the impaired person might hear it being reduced by 5 dB. And if you reduce the level by 6 dB, the impaired person might hear it as though it had been reduced by 15 dB. The steps in loudness decrease are not simple proportions of the presentation level. The apparent change in loudness depends on how loud it was to begin with.

So we really need to know how loud it should be, for a person with unimpaired hearing. And that’s the purpose of the 1 dB/Oct Rolloff control in the Crescendo panel. By enabling that rolloff, we internally roll off the power estimates with frequency so that Crescendo will be encouraged to add a little bit more of a correction as the rolloff grows stronger.

I have to state that right now, while listening through a pristine audio system with a Lavry DA11 DAC and calibrated Sennheiser HD650 headphones, it is absolutely correct to incorporate this rolloff in the Crescendo processing. But right now I don’t want to force that on anyone, and you are free to disable it if you like.

If you, like me, have been adding a touch of treble shelving boost to get things sounding right, this could be the reason. Now that I have this rolloff incorporated into Crescendo, along with accurate headphone EQ, I no longer need my treble boost, and my vTuning has dropped from 60 dB down to 53 dB.

For point of reference, here are the calibration curves for the three models of headphones currently under correction:

The IIR EQ profiles were obtained by a simultaneous search in frequency, gain, and filter Q for two bands of EQ below 1 kHz that minimized the residual error from the Harman target profile.

The residual in the profile error after applying those two bands of IIR EQ is then fed to Crescendo for it to make up the remaining residual using its own FIR engine. The final residuals after both kinds of EQ are applied is shown by the cyan curve in the lower graphs.

I finally found that using Levenberg-Marquardt was a long, arduous, and error prone method for optimization. I ended up using a Simplex search which converges over 6 dimensions in less than 100 iterations, or about 2 seconds of computing time. The fitting processing takes account of both magnitude and phase for each EQ filter and the headphones themselves.

Finally, version 2017-01-28-B cleaned up the code to keep all internal processing in 64-bit double precision floating point, from the time it enters Crescendo, goes through all processing – HdphX crossover, hearing correction application, and headphone EQ – until it exits Crescendo back in 32-bit floating point format. On the way back to 32-bit format, we dither with a TPDF flat spectrum noise. The processing is now cleaner than ever before. But truly, any prior artifacts were always below audible thresholds anyway.

  • DM

[ I almost forgot… as important as all the other improvements just mentioned, a few weeks ago we also incorporated the corrections to the Traunmuller 1990 model for the CBR (critical band rate) conversion between Hz and Bark frequency scales. This made a huge improvement to the treble region. ]

[ BUT!… Most symphonic recordings are not mastered! What about that 1 dB/octave rolloff button?

True enough, but alas, there is a 1 dB/octave rolloff implicit in the headphone EQ’s to bring them to the Harman target profile, which itself was based on this rolloff in the calibration room.

So yes, we need that rolloff active in the power estimation inside Crescendo, to account for the effects of headphone equalization. But that headphone EQ will darken the unmastered recordings beyond their natural darkening from the recording venue. Yes, so you have to play the role of a mastering engineer and overcome your listening configuration.

An approximate solution can be had by making a very low Q (e.g., Q = 0.1) low-cut shelving filter, cutting 10 dB, centered at 1 kHz, and giving a global gain of 10 dB so you don’t lose the bass. This equalization should be placed ahead of Crescendo. It will cancel out the rolloff in the power estimation, and also cancel out the rolloff in the headphone EQ. The result should sound pretty close to the live venue when you’re done.

PS: An even better approximation looks like using a pair of shelving filters. A low-shelf filter at 200 Hz, Q = 0.1, gain = -7 dB. And a high-shelf filter at 2 kHz, Q = 0.1, gain = +7 dB.]


Author: dbmcclain

Astrophysicist, spook, musician, Lisp aficionado, deaf guy