Author Topic: Log scale for spectrum visualiser  (Read 332 times)

linkcharger

  • Newbie
  • *
  • Posts: 3
I love MB's built-in visualiser - it's smooth, it's sleek, it's lovely.

Only one little gripe: the linear scaling of frequencies.
It means that most of my horizontal screenspace is wasted with frequencies from 5-20kHz, while most of the interesting stuff that I want to listen for happens between 0-5kHz.

It should/may be quite easy to implement a switch between linear and logarithmic axis, but a huuuge benefit for those who do critical listening.
(It would also be nice to have tick marks at certain frequency intervals for even more precision, but I get that that is probably a bit more cumbersome to implement.)

Anyway, thanks for all your work, Steven - I love you man, you have no idea how happy MB makes me.
Cheers,
linkcharger

hiccup

  • Member
  • Hero Member
  • *****
  • Posts: 3826
My experiences are more or less contrary to what you are describing.
I usually see higher outputs in the lower frequencies. Probably because the 'energy' is in those regions.

If something would be changed or made adjustable, I would prefer more visual output on the frequency spectrum where voices live.

Here is a screenshot that indicates what I am usually seeing.
(and there is some singing going on here, it's not two bass players and a tuba ;-)



Are you seeing the opposite on your system?
 


hiccup

  • Member
  • Hero Member
  • *****
  • Posts: 3826
B.t.w.
I am usually having the most fun looking at the spectrum analyzer with wind instruments where you can clearly see the harmonics of the instrument.

A saxophone:



This looks quite good to me, so I 'm not sure how 'an improvement' or a different scale would look.
Last Edit: June 18, 2020, 05:25:10 PM by hiccup

sveakul

  • Hero Member
  • *****
  • Posts: 1224
It should/may be quite easy to implement a switch between linear and logarithmic axis, but a huuuge benefit for those who do critical listening.

You may want to check out the visualizer plugin "Classic Spectrum Analyzer" at the forum thread here: https://getmusicbee.com/forum/index.php?topic=23345.0

In its GUI Properties window you can make adjustments as shown below, in real-time.

           

hiccup

  • Member
  • Hero Member
  • *****
  • Posts: 3826
In its GUI Properties window you can make adjustments as shown below, in real-time.

I'm interested and curious:
For volume sliders, logarithmic stands for a different slope to accommodate for how human ears perceive loudness in-/decrease.
Do you know if 'logarithmic' in this spectrum analyzer works on the same principle, or does it change the (horizontal) frequency scale?

Could you perhaps post screenshots that show the differences in results?

sveakul

  • Hero Member
  • *****
  • Posts: 1224
Here's where I confess my basic ignorance of log scales.  It does change the "action" along the horizontal display depending on what has been set as the function in the GUI--selecting a Function button and hitting "set" below shows the changed curve and the spectrum immediately reacts to it, although it's unknown to me according to what criteria.  In the shot shown BTW the curve is acually "1/x" (which was OOTB) not Log 10, the last button you hit without choosing "set" hangs on to the highlighting even if not in use.

I would love to see someone comment on these settings who unlike me actually knows what is happening technically to the displayed frequency range when different curve functions are selected.

linkcharger

  • Newbie
  • *
  • Posts: 3
My experiences are more or less contrary to what you are describing.
I usually see higher outputs in the lower frequencies. Probably because the 'energy' is in those regions.

If something would be changed or made adjustable, I would prefer more visual output on the frequency spectrum where voices live.

Here is a screenshot that indicates what I am usually seeing.
(and there is some singing going on here, it's not two bass players and a tuba ;-)



Are you seeing the opposite on your system?


Haha, I think we mean exactly the same thing!
Voices (and most instruments) are between 0 and 5000Hz, right?

If the frequency axis is log-scaled, it would resolve this lower region in more detail (visually), while condensing the higher regions above 5000Hz where not so many sounds live ;).
You could still see the harmonics and overtone peaks, they would just be closer together.

linkcharger

  • Newbie
  • *
  • Posts: 3
It should/may be quite easy to implement a switch between linear and logarithmic axis, but a huuuge benefit for those who do critical listening.

You may want to check out the visualizer plugin "Classic Spectrum Analyzer" at the forum thread here: https://getmusicbee.com/forum/index.php?topic=23345.0

In its GUI Properties window you can make adjustments as shown below, in real-time.

           

Hey sveakul,

first off: thanks for your reply.
At first I was super happy when I got the plugin to work and saw all the options.
But now I think it's either buggy on my machine or not what I was actually looking for.

The 'flash function' tab doesn't actually scale the x-axis as I assumed, it must be doing something else.
The scale of the axis doesn't change, no matter what function I use (at least on my machine - I tried both the author's original DLL and the updated DLL). I checked it with an audio file with peaks at certainf frequencies (see below).

The only way to change the scaling of the frequency axis in the Winamp plugin is by changing the 'bar width' or 'horizontal spacing' options - not really a solution (doesnt provide any new information, just spreads the old information out more).


The problem with a too-condensed frequency range actually gets worse with the Winamp plugin :/


Steven's built-in visualiser at the bottom, the Winamp 'classic' at the top.

Those peaks are at 100, 500, 1000, 5000, 10 000 and 15 000Hz.
It seems Steven has already limited the built-in spectrum visualiser to between 0 and 10kHz, while the Winamp plugin seems to go up to the full 22kHz or something like that.
(The 'Classic Spectrum Analyzer' also introduces some weird artifacts, at least on my machine. Some sounds it doesn't pick up at all -when MB's does- and sometimes it adds those harmonics around the primary frequency, as you can see in the picture.)
Last Edit: June 23, 2020, 01:22:31 PM by linkcharger

hiccup

  • Member
  • Hero Member
  • *****
  • Posts: 3826
Haha, I think we mean exactly the same thing!
Voices (and most instruments) are between 0 and 5000Hz, right?

If the frequency axis is log-scaled, it would resolve this lower region in more detail (visually), while condensing the higher regions above 5000Hz where not so many sounds live ;).

I believe voices/singing in general have the most important stuff going on roughly between 200 and 8000 Hz.

The impressions on the spectrum analyser are mostly related to what frequencies the human ear is sensitive to.
Here is a visualisation of that:



So in principle, such a curve should be inversely applied to the spectrum analyser to make it match with what our ears hear with regards to loudness.

These curves are commonly known as the Fletcher-Munson curves. (there are others too, but the idea is the same)
A logarithmic curve will achieve something like that in a rough manner, but it will not take into account the specifics and the extra sensitivity of our hearing in the range of roughly 2000 to 5000 Hz.

Horizontal scaling could also be a factor, but I find that a bit hard to estimate at the moment.

alec.tron

  • Hero Member
  • *****
  • Posts: 614
I would +1 this (i.e. display & customizability of the Logarithmic scale of the Frequency band), and add another wish... :D
As well as a mockup of the mockup to explain it.

Would be grand, if the Spectrum Visualizer in MB had options to:
- Display the the Logarithmic scale of the Frequency band if needed/wanted
- and, for the 'one more' wish/feature request: make the log-scale segments scale-able relative to each other... i.e. the red dots below in the mockup on 100Hz, 1000Hz, 5kHz, 10kHz & 20kHz to be slide-able, to increase the 'inspection' resolution of the area (could be whatever interface/ui....). i.e. when interested to see more details in a given range.
That would be soooo useful (instead of needing to load the track into another program...)

As for the mockup of the mockup:



Churs.
c.
Last Edit: June 25, 2020, 06:08:10 PM by alec.tron

alec.tron

  • Hero Member
  • *****
  • Posts: 614
ps. also having the option to show the MB default Log Scale (i.e. major Hz & kHz points and/or "scaling" points as used atm as this does not seem to be a standard log scale...?) that MusicBee's Spectrum Visualizer uses would help already, and might be a quick thing to do (hopefully...).
Cheers.
c.