Voxengo SPAN, spectrum question

DSP, Plugin and Host development discussion.
RELATED
PRODUCTS
SPAN SPAN Plus

Post

Yes, SPAN is great.

What would make it perfect would be an option to show true peak levels (for each peak in the spectrum show the peak level as the power sum of the surrounding 3 or 5 bands - which is also what a "flat top" window does, but that reduces resolution).

Post

mda wrote:Yes, SPAN is great.

What would make it perfect would be an option to show true peak levels (for each peak in the spectrum show the peak level as the power sum of the surrounding 3 or 5 bands - which is also what a "flat top" window does, but that reduces resolution).
Isn't "spectrum max" display mode not enough for this? I do not think SPAN can display exactly what you need, because it still runs averaging between time frames, you can set averaging time to minimum, but it's still not an instant spectral image. "spectrum max" was meant exactly for seeing true spectral peaks without time averaging.
Image

Post

Aleksey It is off-topic the original question, but I kept meaning to email a SPAN suggestion. I haven't looked for new versions for awhile and maybe SPAN already has such a feature--

I've mainly used SPAN for my amateur remastering of old songs. I have an instance of SPAN and TBProAudio dpMeter permanently on the stereo output bus. Using dpMeter for peak and LUFs measurements and SPAN for "whole song spectrum". I usually set SPAN for AVG, and if I click to clear the display before playing an entire song, the AVG appears to give a reasonable average spectrum of the entire song, 2 minutes or 5 minutes or whatever.

I really like your SLOPE implementation. A couple of years ago I did some sloppy non-rigorous research on mastered frequency distributions. Maybe some day would do more work on it in a more rigorous fashion. Probably not. For a day or two I picked an old-hand long-career mastering engineer I admire. Went to the all music database and captured sample files of a number of albums he had mastered. The all music preview playback at that time would play about 30 second snippets of each album song. So for each album I ended up with maybe 6 minute audio files containing all the 30 sec snippets of the "rockers" in the album. Was interested in up-tempo freq distribution so I didn't capture ballads or other non-rockers.

Then I took each "snippet album" file thru SPAN in AVG mode, adjusting SLOPE to determine the approx slope which that particular ME applied to that particular album. Tabulated paper notes of the "average album spectrum" for each album.

Not all albums had identical distributions of course but there were similarities. For this one ME, generally a SLOPE of 0 displays flat below about 90 or 100 Hz (until the bass begins to roll off at whatever low frequency point). The average of all album slopes from about 100 Hz up around 2 kHz or 4 kHz was 3.9 (in order to display flat in that frequency range). The slope above the breakpoint around 2 or 4 kHz had a slope bigger than 3.9.

All the MEs say do freq bal by ear and not eye and thats cool, but the ear is easily fooled and IMO can benefit from some help. Especially the discovery that bass is generally flat freq distribution (in the guy's work I admired) was a good hint about how to do bass that is neither too opressively loud nor too shy.

So I experimented "general guidelines" on some of my old songs and had as good success following those slope guidelines as earlier efforts doing it entirely by ear. Obviously if the spectrum display looks good but the music sounds bad you don't give the spectrum display highest priority.

Anyway, I would set SPAN slope to 0 then work on bass EQ until it sounded OK and looked fairly flat up to 100 Hz in SPAN. Then set span slope to 3.9 and work on 100 Hz up to 2 or 4 kHz until SPAN looks reasonably flat and also the mids sound OK to the ear. Then let it roll off above the "natural breakpoint" so the music is neither too bright nor too dark.

So if SPAN could allow breakpoints in the slope curve-- Maybe if we could set SPAN to have slope = 0 up to 90 Hz, slope = 3.9 up to 3 kHz, slope = 6 above 3 kHz (or whatever makes sense)-- It would allow quicker work without having to repeatedly change the slope setting to examine different frequency ranges in a song.

Of course a good eye could judge curves as good as flat lines, but my eye seems to easier-recognize whether a line segment is near-horizontal, and see deviations from horizontal, rather than try to remember if a curvy line looks too peaky or too droopy.

Thanks
Last edited by JCJR on Tue Aug 07, 2018 1:18 am, edited 1 time in total.

Post

JCJR, thanks for sharing your findings. I can't comment on the validity of your findings, they may be correct. A long time ago I was planning to add some kind of "equal loudness" correction, but never managed to implement it, because it did not follow a lot of successful commercial tracks, so I assumed some other "rules" are at play.

My personal finding is that Slope=4.5 is "valid" across the whole range for many tracks, except of course deviations like you've mentioned. I'll think about adding a "multi-slope" mode with, for example 3 break points, sounds like an interesting addition considering my prior search and your input.
Image

Post

I might as well chime in with my feature request.
I would like to have a control to set the 0dB line at some other volume. For example, when testing filters with an impulse, the peaks of the spectrum can lie at about -70dB. To get better visual fidelity requires lowering the ceiling and lowering the floor of the display, where the control I propose would offset the display, making two adjustments into one.
Also since the most recent UI update, clicking within the SPAN window (child window) does not focus the plugin. Is it just me or is that happening to others?

Post

Thanks Aleksey. Maybe it is a silly approach or maybe not. Dunno.

I slightly edited the previous post, mistyped bass slope = 1 when I intended to type bass slope = 0.

I think it was something between 20 and 30 albums crudely plotted. Midrange slope on individual outliers IIRC could be as bright as 3 or dark as 6, but the mean midrange slope of all the plots just happened to be 3.9.

If I could get motivated to do the same sloppy stats test on a few more "famous mastering engineers" it would be interesting to discover if different ME's have statistically significant frequency balance "profiles" or if it just happens to be the luck of the draw.

ME's have to work with whatever they get, so the sows ears can't all be converted into silk purses. Also maybe some musical styles just beg to have over-bassy or over-bright signatures, which would "blow the stats curve".

The musical key of a song might affect the bass spectrum even if all songs were recorded so they capture sufficient low bass. If the bass axe is a four string electric tuned to concert, then a song in the key of E will probably have more "big bottom" than a song in the key of Eb. The root key will get played a lot, and open E will have lots more punch than the lowest Eb 11 semitones higher.

Post

camsr wrote:I might as well chime in with my feature request.
I would like to have a control to set the 0dB line at some other volume. For example, when testing filters with an impulse, the peaks of the spectrum can lie at about -70dB. To get better visual fidelity requires lowering the ceiling and lowering the floor of the display, where the control I propose would offset the display, making two adjustments into one.
Also since the most recent UI update, clicking within the SPAN window (child window) does not focus the plugin. Is it just me or is that happening to others?
The latest SPAN has "Offset" modes, much simpler to get spectrum centered.

We only ever did window auto-focus in VST format, not VST3 or any other format. Auto-focus in our VST plugins is a host-dependent thing, it's only deactivated for Steinberg hosts (WaveLab,Cubase), and FLStudio as it causes problems - loses keyboard focus and ability to press spacebar to stop/start playback. In most other hosts auto-focus is enabled.
Image

Post

Aleksey Vaneev wrote: We only ever did window auto-focus in VST format, not VST3 or any other format. Auto-focus in our VST plugins is a host-dependent thing, it's only deactivated for Steinberg hosts (WaveLab,Cubase), and FLStudio as it causes problems - loses keyboard focus and ability to press spacebar to stop/start playback. In most other hosts auto-focus is enabled.
Well the problem is that I cannot click on the SPAN window to bring it front like I used to be able to. I can click on the border, which I'm guessing is the host's window. Using FLS

Post

Ok I have tried the new version, in normalize offset mode, this sticks the spectrum's peak to the top of the display. I'd want to have it display the unity gain impulse at 0dB, but it's scaling to the entire display.

Also there seems to be a bug with the normalize offset: when the spectrum range is increased beyond nyquist and the red line shows, the spectrum display does not normalize anymore, until the range is decreased again. In center offset mode, the spectrum "shrinks" somehow :?

Post

Aleksey Vaneev wrote:
mda wrote: ...option to show true peak levels (for each peak in the spectrum show the peak level as the power sum of the surrounding 3 or 5 bands - which is also what a "flat top" window does, but that reduces resolution).
Isn't "spectrum max" display mode not enough for this? I do not think SPAN can display exactly what you need, because it still runs averaging between time frames, you can set averaging time to minimum, but it's still not an instant spectral image. "spectrum max" was meant exactly for seeing true spectral peaks without time averaging.
It's not about time averaging, but the displayed peak level depending on the peak frequency relative to the FFT bands (lower if it's half way between). You're right it might not be easy to fit peak level calculation in with the existing time averaging, but if you try a flat top window instead of the current (presumably) Hann window you'll see that sawtooth waves look better as the variation in peak level vs. frequency goes away.

Post

mda wrote:
Aleksey Vaneev wrote:
mda wrote: ...option to show true peak levels (for each peak in the spectrum show the peak level as the power sum of the surrounding 3 or 5 bands - which is also what a "flat top" window does, but that reduces resolution).
Isn't "spectrum max" display mode not enough for this? I do not think SPAN can display exactly what you need, because it still runs averaging between time frames, you can set averaging time to minimum, but it's still not an instant spectral image. "spectrum max" was meant exactly for seeing true spectral peaks without time averaging.
It's not about time averaging, but the displayed peak level depending on the peak frequency relative to the FFT bands (lower if it's half way between). You're right it might not be easy to fit peak level calculation in with the existing time averaging, but if you try a flat top window instead of the current (presumably) Hann window you'll see that sawtooth waves look better as the variation in peak level vs. frequency goes away.
Admittedly, SPAN may need more work in display spectrum precision when dealing with large block sizes. Currently, it already displays peak levels (aggregate of several spectrum bins) at higher frequencies, but an additional logic that makes it possible to blend lower-frequency spline interpolation interferes with this peak display.
Image

Post

camsr wrote:
Aleksey Vaneev wrote: We only ever did window auto-focus in VST format, not VST3 or any other format. Auto-focus in our VST plugins is a host-dependent thing, it's only deactivated for Steinberg hosts (WaveLab,Cubase), and FLStudio as it causes problems - loses keyboard focus and ability to press spacebar to stop/start playback. In most other hosts auto-focus is enabled.
Well the problem is that I cannot click on the SPAN window to bring it front like I used to be able to. I can click on the border, which I'm guessing is the host's window. Using FLS
That's a tricky thing to support universally - some hosts lose keyboard focus when plugin window calls focus function. Many hosts handle such focusing correctly while others do not. Also this is mostly a legacy thing when VST2 hosts did not pass mouse wheel events to the plugin. We do not focus plugin window in VST3 yet it all works fine.
Image

Post

camsr wrote:Ok I have tried the new version, in normalize offset mode, this sticks the spectrum's peak to the top of the display. I'd want to have it display the unity gain impulse at 0dB, but it's scaling to the entire display.

Also there seems to be a bug with the normalize offset: when the spectrum range is increased beyond nyquist and the red line shows, the spectrum display does not normalize anymore, until the range is decreased again. In center offset mode, the spectrum "shrinks" somehow :?
Thanks for letting me know about issues - I'll check them out.
Image

Post Reply

Return to “DSP and Plugin Development”