stuerp / foo_vis_spectrum_analyzer

A foobar2000 component that displays a spectrum analyzer.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

High number of bands make certain frequencies "fall" when paused

WagnerGFX opened this issue · comments

Where?

  • Configure Window > Frequencies > No. of bands

How it's working now:

  • When the number of bands reach 200 or above, some frequency bands seem to lower or disappear when pausing.
  • Quite visible in 256, 300 and 400 bands
  • Bigger numbers or different musics may look a bit better, but you can still see a lot of individual bands with the issue.
    (they are just not "banded" together 😁)
  • Freezing the visualizer still works as expected.

freq bands

Expected behavior:

  • Those bands should freeze in place like the others when pausing.

System Info:

  • Windows 10 22H2
  • Foobar2000 v1.6.16
  • Visualizer v0.7.2.0
  • CPU i7-2600k
  • GPU GTX 1650

Note:

  • I'm aware the requirements say Foobar2000 v2.0, but I cannot use it yet due to some components still not supporting it (mostly Spider Monkey Panel).
  • If the bug is exclusive to versions lower than v2.0, then the issue can be closed.

Thank for your detailed report but I am unable to reproduce this. Even at the maximum setting of 512 with various sample rates the spectrum gets calculated correctly.

Thank for your detailed report but I am unable to reproduce this. Even at the maximum setting of 512 with various sample rates the spectrum gets calculated correctly.

I thought it was the number of bands, but after testing other options, I've found that the settings in Transform seem to affect this much more.

transform

Window Functions affected:

  • Boxcar
  • Hann (when Window Skew = 0.00)
  • Every function between "Welch" and "Hyperbolic secant"

No. of Bins = 8192 or lower
Mapping = Standard
Enable Smooth lower Frequencies

Tried to reproduce this without success. Could you attach a preset file with the settings that cause this issue?

bands presets.zip

BandsTest result in the bands showing a hole like below:

bands result

BandsMinimum should result in nearly nothing showing:

bands minimum

Not here. This is BandsMinimum:
image

Not here. This is BandsMinimum

It's not fair if you fix the issue before taking the screenshot 🤣
The alpha version doesn't present the issue for me too, maybe it was the side effect of another issue.

The only change I noticed is that whenever I change the settings while paused, all bars disappear until I resume playing the song. It's nothing critical, but it gets harder to evaluate subtle changes.

Not here. This is BandsMinimum

It's not fair if you fix the issue before taking the screenshot 🤣 The alpha version doesn't present the issue for me too, maybe it was the side effect of another issue.

Not intentionally. This version contains a couple code cleanups to make sure the spectrum amplitudes have a 0. to 1. value right before rendering starts, But it should have been a refactoring move without side effects. Luckily this time it seems there was a positive side effect.

The only change I noticed is that whenever I change the settings while paused, all bars disappear until I resume playing the song. It's nothing critical, but it gets harder to evaluate subtle changes.

That's due to the spectogram code, which is still in the alpha stage. It needs a continuous time axis and fb2k produced weird time information when switching tracks. The joy of developing without any SDK documentation...

Not intentionally. This version contains a couple code cleanups to make sure the spectrum amplitudes have a 0. to 1. value right before rendering starts, But it should have been a refactoring move without side effects. Luckily this time it seems there was a positive side effect.

The bands seem more "responsive" now. Overall, the cleanup was great.

The joy of developing without any SDK documentation...

I can relate to that 😂 / 😭

Given that it's been fixed on v0.7.5.0-alpha1, I'll close it as fixed. 👍