I finally sat down and did something that I should have done 20 years ago. I added a couple of instrumentation server sockets into my research-grade version of Crescendo.

Crescendo is the sort of plugin that, once set up to your satisfaction, you put it away and just let it run in the background, and rarely look at it again.

But, after nearly 20 years of hard, deep, thinking about Crescendo, I finally gave myself the insights that I could only see in my mind’s eye.

Here, for the first time in recorded history, we have a live display of the inner workings of Crescendo, and the world’s first live spectral display of audio shown in perceptual space – Bark frequency and Phons loudness.

Screenshot of the live spectral display for Crescendo.

Since I used server sockets inside the Crescendo plugin, I can monitor its inner workings from any computer here in the lab. Indeed, I can even monitor over the internet from afar.

You can view a 15 sec example of the live display here: .

The monitor shows two displays. The left one is the perceptual space spectral display, showing what is coming into Crescendo. The right monitor shows the instantaneous correction gains being applied to the sound for my degree of corrections.

I have seen this display a zillion times before, but only in my imagination. These are what I’m seeing in my head as I discuss how Crescendo works. Thankfully, when I actually saw them on screen, there were no surprises to me. But intricate details of operation stood out to me at various times during live music playback, and jogged my memory of designing them into the software.

Ear safety limiting is clearly visible, since my corrections need to be so extreme for my poor hearing. The hysteresis behavior at levels near the noise floor is also visible, springing from no corrections to full corrections, and back, as the music fades away.

Crescendo makes its corrections about 300 times per sec. The monitor shows snapshots of the processing at syllabic frame rates in the range 5-10 fps. You would not be able to view the actual processing since your eyes have persistence in the neighborhood of 100 ms. That’s why movies are only 24 fps. But the live display is fast enough to capture significant events in the music.

Another socket is devoted to making live settings changes in a more convenient and meaningful manner for me. Here is a screenshot of the remote adjustments GUI:

Contrasted against this tabular view offered by the plugin:

The graphic display allows me to see the effects of adjustment in context against all the other settings. As I change the sliders on the left, the graphs change to display the effect, while at the same time I get to hear those effects on the music.

In all, adding server sockets to running audio plugins was a good idea, and was more easily done than I had imagined all these past years.

  • DM

Author: dbmcclain

Astrophysicist, spook, musician, Lisp aficionado, deaf guy