Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: foo_vis_spectrum_analyzer (Read 39857 times) previous topic - next topic
Dfaure and 2 Guests are viewing this topic.

Re: foo_vis_spectrum_analyzer

Reply #375
Still decided to test a bit. Returning from full screen 0.7.0.0-rc1 doesn't show the working plugin anymore. See video ...
Unable to reproduce: multiple and rapid switching between windowed and fullscreen mode works perfectly. DUI or CUI?



MOD edit: Removed excessive quoting

Re: foo_vis_spectrum_analyzer

Reply #376
Still decided to test a bit. Returning from full screen 0.7.0.0-rc1 doesn't show the working plugin anymore. See video ...
Unable to reproduce: multiple and rapid switching between windowed and fullscreen mode works perfectly. DUI or CUI?

CUI on fooBar 2.2 preview 2024-02-05 x86.

Issue is that even if you exit fooBar and restart fooBar the plugin is not working.


MOD edit: Removed excessive quoting

Re: foo_vis_spectrum_analyzer

Reply #377
Still decided to test a bit. Returning from full screen 0.7.0.0-rc1 doesn't show the working plugin anymore. See video ...
Unable to reproduce: multiple and rapid switching between windowed and fullscreen mode works perfectly. DUI or CUI?

CUI on fooBar 2.2 preview 2024-02-05 x86.

Issue is that even if you exit fooBar and restart fooBar the plugin is not working.
Please try re-applying a style of a visual element like f.e. the spectrum. State and event management in CUI is apparently different from DUI.



MOD edit: Removed excessive quoting

Re: foo_vis_spectrum_analyzer

Reply #378
RC-1 does not work for me (foobar 2.2 preview with CUI). Frequent crashes of foobar when closing the settings dialog of RC-1, after closing foobar and restarting it I have a completely different look than I had set, or only the background is visible in the window... Reset to beta 4.

Re: foo_vis_spectrum_analyzer

Reply #379
RC-1 does not work for me (foobar 2.2 preview with CUI). Frequent crashes of foobar when closing the settings dialog of RC-1, after closing foobar and restarting it I have a completely different look than I had set, or only the background is visible in the window... Reset to beta 4.
CUI user? I found a problem in reading the CUI settings. That's what you get when we developers have to implement boring stuff twice.

Re: foo_vis_spectrum_analyzer

Reply #380
That's what you get when we developers have to implement boring stuff twice.

If you're talking about your read/write config overloads for DUI/CUI, you only have to implement one. There is no need for any duplication at all.

I'm not submitting a PR but look at these attached files for how a common config class with one get/set method can be used by CUI and DUI.

Re: foo_vis_spectrum_analyzer

Reply #381
That's what you get when we developers have to implement boring stuff twice.

If you're talking about your read/write config overloads for DUI/CUI, you only have to implement one. There is no need for any duplication at all.

I'm not submitting a PR but look at these attached files for how a common config class with one get/set method can be used by CUI and DUI.
Thx. I will have a look. Yes, I was talking about the config reading and writing.


Re: foo_vis_spectrum_analyzer

Reply #383
v0.7.0.0-rc-2, 2024-02-10

* Fixed (RC 1 regression): A couple of small bugs that could cause horrible crashes.

You can download it only from GitHub for now.

This one has proven stable in every day use and has seen a lot of abuse. I hope some of you can confirm this.

Re: foo_vis_spectrum_analyzer

Reply #384
Small feature request: Show dB labels on the right side of the screen and even on both left and right sides of the screen, and also show frequency/Hz labels on the top of the screen like you could in original foo_musical_spectrum

Also, replace the Y-axis label setting drop-down menu with two checkbox buttons (one for setting the amplitude scale to dB instead of linear/nth root, another for Y-axis labels) as the option named "Logarithmic" is kinda misleading (it is actually linear/nth root amplitude scale) and there is currently no way to have a linear/nth root amplitude spectrum with dB labels on it to reflect what dB value of the magnitude would be at the point

Re: foo_vis_spectrum_analyzer

Reply #385
CUI user? I found a problem in reading the CUI settings. That's what you get when we developers have to implement boring stuff twice.
A big thank you, RC-2 is working again! I am delighted with your great tool!

Re: foo_vis_spectrum_analyzer

Reply #386
Small feature request: Show dB labels on the right side of the screen and even on both left and right sides of the screen, and also show frequency/Hz labels on the top of the screen like you could in original foo_musical_spectrum

Also, replace the Y-axis label setting drop-down menu with two checkbox buttons (one for setting the amplitude scale to dB instead of linear/nth root, another for Y-axis labels) as the option named "Logarithmic" is kinda misleading (it is actually linear/nth root amplitude scale) and there is currently no way to have a linear/nth root amplitude spectrum with dB labels on it to reflect what dB value of the magnitude would be at the point
@TF3RDL , I'll put it in the next release. The GUI update is the most work. In the mean time please have a look at my replies on GitHub.

Re: foo_vis_spectrum_analyzer

Reply #387
See showcwt filter in FFmpeg, supports both spectrum and spectrogram display also many frequency scales: linear, log, mel, bark, erbs, etc (it can support any frequency scale actually), all with RDFT so its really fast, I tried sliding DFT approach with goertzel (in another filter implementation) but that one is much (unusable) slower with bigger frame-rate and video dimensions. My additional goal is to extend showcwt filter with synchrosqueezing transform - which give even better frequency vs time resolution.
While the CQT/VQT do already exist in this spectrum analyzer component, the performance of CQT/VQT is slow (especially with no downsampling for lower frequencies) since it currently uses Goertzel as I said before

But is it actually possible to do synchrosqueezing in realtime? Isn't synchrosqueezing just the time-frequency reassignment?

BTW, while this demo currently only supports logarithmic frequency scale, my implementation of VQ-sDFT, SWIFT, and analog-style analyzer actually fully supports arbitrary frequency scale (linear, Mel, Bark, ERB, and even exotic ones) as usual, which makes a lot of sense for niche users

Also, I've seen @pqyt replies to this issue on GitHub about adding an analog-style analyzer alongside two variants of sliding DFT algorithm, which shows that the data acquisition part must be only new samples since last calculation for these cases, otherwise the artifacts shown in this image below:
X
whereas clean one would look like:
X
both of them are sourced from 440Hz and 880Hz tones playing simultaneously

Re: foo_vis_spectrum_analyzer

Reply #388
With CWT I do not get such artifacts/leakages - using two sine wave generators.
SSQ transforms just uses CWT output + additional calculations and makes frequency bin pick exact - say if tone is pure 440 Hz (no noise and no harmonics) it will show single pixel width line on spectrogram instead of several bins like in above pictures.

CWT and SSQ are possible online/real time (for extreme big sample rates - needs more samples in cache and more calculations - thus slower on old CPUs) just not possible to get instant output - there is obvious latency/delay involved, but that is only relevant for live demos.

Look here for SSQ vs CWT explanation https://dsp.stackexchange.com/questions/71398/synchrosqueezing-wavelet-transform-explanation.

Re: foo_vis_spectrum_analyzer

Reply #389
v0.7.0.0, 2024-02-12

* New: The cover art of the playing track can be used as background image.
  * Opacity can be specified.
  * The dominant color of the cover art can be used as a filler.
* New: The dominant colors of the cover art can be used to generate a gradient.
  * Color scheme "Artwork" turns on the feature.
  * Between 2 and 256 colors can be selected.
  * Lightness threshold determines which light colors will be ignored.
* New: The Curve visual has a peak line.
* New: Dark mode support.
* New: Fading AIMP peak mode, a combination of AIMP and Fade Out mode.
* New: Acoustic weighting filters (A-, B-, C-, D- and M-weighting (ITU-R 468))
* New: Brown-Puckette constant Q transform.
* New: Full Screen mode for Columns UI.
* New: File path of the artwork can be specified as a file path or a title formatting script that returns a file path.
* New: Styles. Moved all the fragmented visual parameters (color, opacity thickness) into one unified style system.
  * Upon first use the old settings are converted to styles and sensible defaults are set for the new features.
  * The "Draw Band Background" option has been removed. It has been replaced by the color source of the dark and light band color.
  * The "Artwork & Dominant Color" background mode has been removed. It has been replaced by the Dominant Color source.
* New: The background and curve peak line and area can be styled.
* New: Tooltips that provides some explanation about the various configuration settings.
* Changed: X-axis mode 'Octaves' shows only 'C' notes; Mode 'Notes' shows all notes.
* Improved: Curve mode can use a horizontal gradient.
* Improved: The curve is no longer visible as a flat line when no track is playing.
* Improved: Curve mode no longer has vertical lines at the beginning and the end of the spectrum.
* Improved: The Curve line color can be specified.
* Improved: The Curve Peak line color can be specified.
* Improved: Bar width and peak indicator thickness get rounded to pixels for a more visually pleasing result.
* Improved: Minor performance optimizations due to styles.
* Improved: Optimized the calculation of the Curve visual.

You can download it from the Components repository or upgrade from within foobar2000.

Re: foo_vis_spectrum_analyzer

Reply #390
Thanks pqyt, but could you please revise the Documentation page to cover/explain the myriad of new options in this version??  It's pretty intimidating.  Thanks!

Re: foo_vis_spectrum_analyzer

Reply #391
Thanks pqyt, but could you please revise the Documentation page to cover/explain the myriad of new options in this version??  It's pretty intimidating.  Thanks!
The tooltips should provide some first insights.

Re: foo_vis_spectrum_analyzer

Reply #392
Using a low custom value (0 or 1) in "No. of bins" crashes foobar.
v0.7.0.0.
| QAAC ~ 192 kbps |


 

Re: foo_vis_spectrum_analyzer

Reply #394
Yeah, it's just to test the component. I use 8192.
| QAAC ~ 192 kbps |


Re: foo_vis_spectrum_analyzer

Reply #396
BTW, while this demo currently only supports logarithmic frequency scale, my implementation of VQ-sDFT, SWIFT, and analog-style analyzer actually fully supports arbitrary frequency scale (linear, Mel, Bark, ERB, and even exotic ones) as usual, which makes a lot of sense for niche users
Well, I've actually updated this demo to support arbitrary frequency scale (though analog-style analyzer works best on logarithmic frequency scale), and turns out, the 0Hz frequency band is total nonsense (for any frequency scales other than logarithmic) for analog-style analyzer, just like having the minimum frequency range is 0Hz for logarithmic frequency scale (which is nonsense anyway)

BTW, here's the example of a SWIFT algorithm operating on any frequency scale other than logarithmic:
X
which is ERB-frequency, 4th order cascaded SWIFT, which is very similar to Gammatone auditory filter bank

Re: foo_vis_spectrum_analyzer

Reply #397
I hate to be a nag but 0.7.0.0 creates its window with white background again. I'd assume it to be highly annoying for anyone trying to use a dark UI as a sudden white flash is blindingly bright.

Re: foo_vis_spectrum_analyzer

Reply #398
I hate to be a nag but 0.7.0.0 creates its window with white background again. I'd assume it to be highly annoying for anyone trying to use a dark UI as a sudden white flash is blindingly bright.
Oops. Ripping out the DirectComposition code may have caused this regression.

Re: foo_vis_spectrum_analyzer

Reply #399
I have noticed that when I change the value under "Frequencies - No. of Bands", the displayed frequencies on the X-axis shift up or down!
In my case, two test tones with 1000 and 2000 Hz are only displayed correctly on the X-axis with a value of "295". With other values, the test tones shift up or down significantly in some cases. (Version 0.7.0.0 RC-2/foobar mit CUI).