HydrogenAudio

Hosted Forums => foobar2000 => 3rd Party Plugins - (fb2k) => Topic started by: Crossover on 2018-05-01 17:33:48

Title: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2018-05-01 17:33:48
(https://preview.ibb.co/mFsWYn/foo_enhanced_spectrum_analyzer.jpg)

I've developed a new visual component for foobar. It's an enhanced spectrum analyzer. The component is still in a beta state. If you find it useful you can download it here: Download (https://hydrogenaud.io/index.php/topic,115911.0.html)

It works with Columns UI and Default UI. Please note that you need the latest version of foobar to use it.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: darkflame23 on 2018-05-01 19:07:57
Thanks, will give it a whirl!
Title: Re: foo_enhanced_spectrum_analyzer
Post by: elia_is_me on 2018-05-01 21:15:18
it's good.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: darkflame23 on 2018-05-02 09:30:02
I agree it's good, but would be even better with some averaging and/or smoothing options like in Voxengo SPAN.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2018-05-02 19:14:04
Thank you both for your feedback. The smoothing option is already on the todo list.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Nighted on 2018-05-04 00:25:16
Beautiful! Thanks for making this. :)
Title: Re: foo_enhanced_spectrum_analyzer
Post by: soundping on 2018-05-04 01:20:52
Does it go over 20k ?
Title: Re: foo_enhanced_spectrum_analyzer
Post by: metal_termite on 2018-05-04 03:44:22
This is awesome. Two feature requests:

1. Would you be able to add a feature to save, import, and export settings (ie. color selections)?
2. A setting to use the default Windows colors so it integrates better with the UI.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: fireattack on 2018-05-04 03:56:14
Great tool!

Maybe kinda off-topic, but is there any possibility to add way to a "cumulative" (or static? I'm not sure what's the right terminology) spectral analysis, like the "frequency analysis" in Audacity? (Or is there already such plugin existing?)
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Porcus on 2018-05-04 09:04:12
Cool at first try!

Maybe to consider: set frequency range. Useful for zooming in. Or checking your "HD" tracks for tape bias ... OTOH, you maybe wish to keep a "you don't need > 20 kHz!" attitude :-o
Title: Re: foo_enhanced_spectrum_analyzer
Post by: soundping on 2018-05-04 13:27:05
If you can't beyond the scale then it's not useful.  🤔

Maybe different preset scales CD, SACD & HD..
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2018-05-05 13:43:56
Beautiful! Thanks for making this. :)
Thanks!
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2018-05-05 13:53:12
Does it go over 20k ?

Yes, depending on the sample rate.

Cool at first try!

Maybe to consider: set frequency range. Useful for zooming in. Or checking your "HD" tracks for tape bias ... OTOH, you maybe wish to keep a "you don't need > 20 kHz!" attitude :-o
Thanks! There is currently no way to extend the visible frequency range. I will check this for a future release!
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2018-05-05 14:00:36
This is awesome. Two feature requests:

1. Would you be able to add a feature to save, import, and export settings (ie. color selections)?
2. A setting to use the default Windows colors so it integrates better with the UI.
Thanks! Export and import settings to file will be one of the last features i add cause there are a lot of changes to the data structure in the beta phase.
The automatic use of default Windows colors for the default ui is already on the todo list. I think a separate setting to disable this is a good idea.


Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2018-05-05 14:09:32
Great tool!

Maybe kinda off-topic, but is there any possibility to add way to a "cumulative" (or static? I'm not sure what's the right terminology) spectral analysis, like the "frequency analysis" in Audacity? (Or is there already such plugin existing?)
Thanks! I don't know if there is such a tool for foobar. This tool shows you only an analysis of what you hear an what you have heard.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: A_Man_Eating_Duck on 2018-05-13 19:15:48
Excellent plugin.

Would is be possible to add an option to change the colour or hide the grey grids on the background?

Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2018-05-15 17:13:03
Excellent plugin.

Would is be possible to add an option to change the colour or hide the grey grids on the background?
Thanks! OK, it's on the list now.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2018-05-23 14:43:02
I released a new version - 0.9.4.0. You can get it here: https://hydrogenaud.io/index.php/topic,116014.0.html (https://hydrogenaud.io/index.php/topic,116014.0.html)
Title: Re: foo_enhanced_spectrum_analyzer
Post by: darkflame23 on 2018-05-23 17:26:22
Looking/working great!
Title: Re: foo_enhanced_spectrum_analyzer
Post by: zeremy on 2018-05-23 17:48:07
Beta feedback:

If you add it in a Panel Stack Splitter (https://wiki.hydrogenaud.io/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)), the visualization is not visible, only the Options Menu entry is available.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2018-05-23 20:23:29
Looking/working great!
Thanks!  :D
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2018-05-23 20:26:44
Beta feedback:

If you add it in a Panel Stack Splitter (https://wiki.hydrogenaud.io/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)), the visualization is not visible, only the Options Menu entry is available.
Thanks for your feedback! It's not designed/tested for Panel Stack Splitter. But I'll take a look at it.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Porcus on 2018-05-23 22:47:25
I like it. I don't view spectra that often, but I have had this and foo_musical_spectrum side by side, and I am not sure which I prefer for general visuals.

But foo_musical_spectrum has a couple of features which I at least sometimes would miss from your component. For your consideration:
- octave / "piano key" view. Sometimes more instructive than Hz numbers. Can be "tuned" by setting the pitch for A4 (defaults to 440 Hz).
- "transposition by semitones". Who has a Bb instrument? ;-)
(When I have run tests for infrasound or ultrasound - I have at least a couple of musical pieces with possibly amp-draining infrasound down to 6 Hz - I have tuned/transposed transposed to circumvent its C0-A11 range.)
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2018-05-26 10:10:37
I like it. I don't view spectra that often, but I have had this and foo_musical_spectrum side by side, and I am not sure which I prefer for general visuals.

But foo_musical_spectrum has a couple of features which I at least sometimes would miss from your component. For your consideration:
- octave / "piano key" view. Sometimes more instructive than Hz numbers. Can be "tuned" by setting the pitch for A4 (defaults to 440 Hz).
- "transposition by semitones". Who has a Bb instrument? ;-)
(When I have run tests for infrasound or ultrasound - I have at least a couple of musical pieces with possibly amp-draining infrasound down to 6 Hz - I have tuned/transposed transposed to circumvent its C0-A11 range.)
Thanks for your feedback and suggestion!
I see your point but musical spectrum and my component have a different approach. I wrote this component to analyze and compare musical productions. I want to see the whole spectrum without any bars in full resolution.
But i will think about it. I could implement a piano / note view as an additional option side by side with the frequency scale. I will take this into my considerations for a future release.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2018-05-26 12:02:00
Beta feedback:

If you add it in a Panel Stack Splitter (https://wiki.hydrogenaud.io/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)), the visualization is not visible, only the Options Menu entry is available.
Thanks for your feedback! It's not designed/tested for Panel Stack Splitter. But I'll take a look at it.
The new version (0.9.4.2) now supports Panel Stack Splitter: https://hydrogenaud.io/index.php/topic,116014.msg957490.html#msg957490 (https://hydrogenaud.io/index.php/topic,116014.msg957490.html#msg957490)
Title: Re: foo_enhanced_spectrum_analyzer
Post by: zeremy on 2018-05-26 13:09:21
Beta feedback:

If you add it in a Panel Stack Splitter (https://wiki.hydrogenaud.io/index.php?title=Foobar2000:Components_0.9/Panel_Stack_Splitter_(foo_uie_panel_splitter)), the visualization is not visible, only the Options Menu entry is available.
Thanks for your feedback! It's not designed/tested for Panel Stack Splitter. But I'll take a look at it.
The new version (0.9.4.2) now supports Panel Stack Splitter: https://hydrogenaud.io/index.php/topic,116014.msg957490.html#msg957490 (https://hydrogenaud.io/index.php/topic,116014.msg957490.html#msg957490)

Thank you.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: BadWolf on 2018-05-29 02:40:43
Be playing with this today and love it so far. Is there a way to set the panel boarder from sunken to none?  Also is it possible to change the colors on the dB peak ball?
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2018-05-31 12:35:31
Be playing with this today and love it so far. Is there a way to set the panel boarder from sunken to none?  Also is it possible to change the colors on the dB peak ball?
Thanks for your feedback! Currently there is no way to configure the border style. But it will be part of the next release.
Since the peak ball is a static bitmap, cause i'm lazy  :D ,there is no easy way to implement different colors for it. But still, there are several ways to do this. I will look into it.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Lucidae on 2018-07-04 14:47:24
Thank you Crossover for developing and maintaining this fantastic plugin, it's been a part of my layout since the initial release.
While it looks great in dark mode, I think light mode could use some tweaks. My request is for custom color overrides for text (x & y axis) and grid-lines.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2018-07-06 17:32:06
Thank you Crossover for developing and maintaining this fantastic plugin, it's been a part of my layout since the initial release.
While it looks great in dark mode, I think light mode could use some tweaks. My request is for custom color overrides for text (x & y axis) and grid-lines.
Thanks for your comment and suggestion! Yes, you are right. The contrast in light mode is to low. I will implement some color options for text and grid lines next release.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: EpicForever on 2018-08-28 21:14:52
Great component, with truly scientific/engineering focus. Can't wait to see color presets import/export to be implemented, as I like to play with these colors :)

Edit: import/export makes sense even now, as full screen mode uses separate settings (as all foobar's UI elements). Thus to get the same effect on full screen it takes some time to copy all custom colors by hand. Import/Export would be very handy for this.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2018-09-01 14:59:31
Great component, with truly scientific/engineering focus. Can't wait to see color presets import/export to be implemented, as I like to play with these colors :)

Edit: import/export makes sense even now, as full screen mode uses separate settings (as all foobar's UI elements). Thus to get the same effect on full screen it takes some time to copy all custom colors by hand. Import/Export would be very handy for this.
Thank you EpicForever for the suggestion and comment. I also often play with the color settings. But its a struggle to implement an export and import function for the presets that accepts setting of different versions of the component. But i think i can initially implement a simple feature that only accepts presets of the installed version.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: kutuzof on 2018-09-02 07:19:23
I really like your component. Is it possible to remove the white frame around the panel?

(https://s8.hostingkartinok.com/uploads/images/2018/09/6bfbb5f93ddd8c4390e9dbb80030fda7.png)
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2018-09-03 18:56:56
Thanks for your comment! Yes, the panel border option is already on the todo list for the next release.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Cr4xy on 2018-09-17 09:48:09
Thank you for the amazing plugin!
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2018-09-21 15:46:57
Thank you for the amazing plugin!
Thanks :)) ! 
Title: Re: foo_enhanced_spectrum_analyzer
Post by: BadWolf on 2019-04-17 15:18:00
Any further development being done with this amazing plugin?
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2019-05-05 14:00:46
Yes, it's still under development. I will try to spend more time in development in the future.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: AppleJerky on 2019-05-22 17:04:20
Hey, are you still working on it?
Is it possible to automatically switch to the closest matching FFT size of the current song's Frequency/Hz ?

E.g if song is 96KHz use 16k FFT
If 44.1 use 8k.. etc
 
Title: Re: foo_enhanced_spectrum_analyzer
Post by: fuffi on 2019-08-31 23:50:23
I have no suggestions for now :-) it works smooth and looks great. Thank you, Crossover.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: fuffi on 2019-09-01 11:48:45
I have a question:

When setting the output device to, say, "Primary Sounddriver", or "Realtek Digital Output", or to "WASAPI", the componet shows oscillations and I can "see" the music 8-)

If I set the output device to an UPnP device, nothing is shown. The display only shows an "empty" grid.

What could be the reason for that?
Title: Re: foo_enhanced_spectrum_analyzer
Post by: fuffi on 2019-10-14 11:36:38
Ok, the "nothing" in my above post is better described as "the oscillation hangs".

When I start a new track, nothing is shown, and when I change the output device within a playing song, the oscillation freeze.
Changing the output device back to, say "Primary Sounddriver", oscillation continues to dance :-)

Am I asking something obvious?
Or maybe nobody uses this nice component with an UPnP device?
Maybe someone can reproduce this?
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Peter on 2019-10-15 10:34:16
The visualisations are intentionally disabled with UPnP playback.
There is no good way to synchronize visualisations with UPnP playback, detailed-enough timing info is just not presented by most UPnP devices. I'll take a note to re-evaluate this, I seem to recall some devices giving playback time with milliseconds which would be enough, but most commonly it's rounded to seconds, making it impossible to render visualisations correctly.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: fuffi on 2019-10-16 11:32:45
Thanks for explaining!
In my small world, I just imagined, all the data that goes through f2k is able to render, regardless of the device which is rendering the data to noise.
I had the naive impression: Its playing the data, so it should be rendered too.

So the component is not rendereing the data of a music file only, it is rendering the data coming from the rendering device....aaah, I'll stick with tagging/renaming my files and listening music ;-)

Thank you.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: kode54 on 2019-10-17 23:36:55
No. It's rendering a music file. But visualizations require fairly accurate latency information to time the display correctly. UPnP obviously adds latency, but how much? If the device doesn't report latency back to foobar2000, there's no way of knowing what timing to display the visualizations at.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: noaid on 2019-11-21 08:39:14
This is really great plugin! Perfect for checking the audio hires source quality. If original source is 44kHz then there is clean cut in the right end after 20 kHz. When analog or hires recording you can see some more.
But please is it possible to make the range wider/configurable? At least 30kHz. We are now in hires times so it would be very nice to see more.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: darkflame23 on 2019-11-21 16:06:25
Not always the case, especially for older stuff recorded to tape. Case in point, 192kHz digital re-issue of Joni Mitchell's 'Blue' album, from original master tapes, very little information above 15kHz. Or Tangerine Dream's 'Zeit' album, very little info above 12kHz, no matter which version you have. You'll only see the "clean cut" at 22.5kHz for material that had stuff above that frequency originally. And even then, who's to say the recording, mix, or mastering engineer didn't low pass filter a load of stuff?

I just want to make the point that if you see the "clean cut", it doesn't necessarily means it's "lo-fi", and if you don't see it, it doesn't necessarily mean it's "hi-def". There are many other things that will affect the perceived sound quality far more.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: noaid on 2019-11-21 18:21:50
Of course, you are true, but still it would be nice to see a bit "behind the corner". There is a lot of recordings even in DXD or DSD128-256 and some go far beyond 20kHz.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: darkflame23 on 2019-11-22 08:40:39
Yes, for sure. My 96kHz recordings with my Neumann KM84s show content all the way up to Nyquist in the RX7 Advanced spectrogram.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: noaid on 2019-11-22 09:02:52
Also my Panasonic capsules which I used for 96kHz binaural field recordings :-)
Title: Re: foo_enhanced_spectrum_analyzer
Post by: AUTUMN WIND on 2020-02-23 11:50:49
Hi,

Firstly I have to say thank you for this component, I enjoy it a lot, it is pleasure to look at.

I'm here to ask for help with window frame style.
I have problem to find window frame style settings for foo_enhanced_spectrum_analyzer.
I created two screens, with window frame style enabled and disabled for Album List Panel.
Selected style name is Sunken, and from what I see foo_enhanced_spectrum_analyzer uses this style.
Please help me to find a way to disable window style.

Thank you.

(https://i.imgur.com/hQ01umZ.jpg)

(https://i.imgur.com/2asdZ1W.jpg)
Title: Re: foo_enhanced_spectrum_analyzer
Post by: mercer on 2020-04-04 08:11:46
Feedback to developer "Crossover":    Good work.  Have been using it for a few weeks, customized it per your supplied options panel and love it.  Thanks for providing this component.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Just_Addict on 2020-04-06 16:00:47
@AUTUMN WIND

No such option exists for Enhanced Spectrum Analyzer
Title: Re: foo_enhanced_spectrum_analyzer
Post by: AUTUMN WIND on 2020-04-06 20:51:39
@AUTUMN WIND

No such option exists for Enhanced Spectrum Analyzer

Yes I know, I hope it will be added in the future, so I can have perfect player.
Thank you.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Just_Addict on 2020-04-07 05:37:23
Yes I know, I hope it will be added in the future, so I can have perfect player.
Thank you.
Ah, your post gave the impression you weren't aware of this and were looking for a way to achieve this.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: sweetsounds on 2022-09-03 17:48:02
Hi,

I used that component a lot. Really nice. Any chance to get a x64 version for foobar 2?
Title: Re: foo_enhanced_spectrum_analyzer
Post by: snowbie on 2022-09-07 00:52:26
Any chance to get a x64 version for foobar 2?
Yeah, I'd love to see it too. That and there's a change I'd like to see added: more input values for frequencies below 1000Hz. My FFT size is maxed out at 32768 yet I can still count every single peak under 1000Hz. Maybe it's more complex than just allowing more values through, but I'd really like to see a more consistent visualizer.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: sl23 on 2023-05-06 15:52:14
I just came across this plugin as the new Foobar v2  x64 doesn't support the old musical spectrum plugin I've used for the last 10 years. Really like this plugin, but I'll add my feature requests below. I know some have been requested, but it's just so you can see that more people will want it ;)
1. Border removal.
2. Grid removal. Probably the only bad thing about this plugin tbh.
3. Bouncing balls removal. Just to clarify on this one... I think that an option to show the values, without the balls would be better, or smaller balls. Better still have the values aligned left or right of the window with smaller balls showing where the peaks are.

Thanks for a great plugin!
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2023-05-06 17:05:25
I just came across this plugin as the new Foobar v2  x64 doesn't support the old musical spectrum plugin I've used for the last 10 years. Really like this plugin, but I'll add my feature requests below. I know some have been requested, but it's just so you can see that more people will want it ;)
1. Border removal.
2. Grid removal. Probably the only bad thing about this plugin tbh.
3. Bouncing balls removal. Just to clarify on this one... I think that an option to show the values, without the balls would be better, or smaller balls. Better still have the values aligned left or right of the window with smaller balls showing where the peaks are.

Thanks for a great plugin!
I am currently working on it. All the features you asked for will be available. Since it is a complete redesign, the look and feel will change. But I hope that others will also find the new version better.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: wojak on 2023-05-06 17:13:43
I just came across this plugin as the new Foobar v2  x64 doesn't support the old musical spectrum plugin I've used for the last 10 years. Really like this plugin, but I'll add my feature requests below. I know some have been requested, but it's just so you can see that more people will want it ;)
1. Border removal.
2. Grid removal. Probably the only bad thing about this plugin tbh.
3. Bouncing balls removal. Just to clarify on this one... I think that an option to show the values, without the balls would be better, or smaller balls. Better still have the values aligned left or right of the window with smaller balls showing where the peaks are.

Thanks for a great plugin!
I just came across this plugin as the new Foobar v2  x64 doesn't support the old musical spectrum plugin I've used for the last 10 years. Really like this plugin, but I'll add my feature requests below. I know some have been requested, but it's just so you can see that more people will want it ;)
1. Border removal.
2. Grid removal. Probably the only bad thing about this plugin tbh.
3. Bouncing balls removal. Just to clarify on this one... I think that an option to show the values, without the balls would be better, or smaller balls. Better still have the values aligned left or right of the window with smaller balls showing where the peaks are.

Thanks for a great plugin!

Does this mean that there is 64bit version yet? Where can I download it from?
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2023-05-06 17:18:24
Does this mean that there is 64bit version yet? Where can I download it from?
Yes, the component will support Default UI and Columns UI and will be available for 32 and 64 bit. I'll probably upload the component tomorrow.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: sveakul on 2023-05-06 17:31:42
2. Grid removal. Probably the only bad thing about this plugin tbh.
3. Bouncing balls removal.
You can already do this--right-click in the window and choose options, to remove the grid uncheck "grid" in the "Background" section, to remove the balls uncheck "RMS" and Peak" in the "Measuring Points" section.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: JohnBuckWLD on 2023-05-06 17:41:21
Yes, the component will support Default UI and Columns UI and will be available for 32 and 64 bit. I'll probably upload the component tomorrow.
I've seen some reworked component announcements buried at the tail end of their dedicated v1 threads, and others in a new v2 thread. IMO, the latter option makes the component a more known quantity.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: sl23 on 2023-05-06 19:00:15
Thanks, much appreciated
Title: Re: foo_enhanced_spectrum_analyzer
Post by: sl23 on 2023-05-06 21:22:41
2. Grid removal. Probably the only bad thing about this plugin tbh.
3. Bouncing balls removal.
You can already do this--right-click in the window and choose options, to remove the grid uncheck "grid" in the "Background" section, to remove the balls uncheck "RMS" and Peak" in the "Measuring Points" section.
I can't remove the grid as there's no option for it, already looked before requesting the option.
When I say remove the balls, I meant remove ONLY the balls, not the values attached to them. ;)
Title: Re: foo_enhanced_spectrum_analyzer
Post by: sl23 on 2023-05-06 21:29:01
Ah, the reason it wasn't in the settings is that I was using the v0.9!
I found the link to the latest v0.9.4.2, this site is a bit all over the place. Most sites tend to update the first post with newer versions of software to download. Never mind, found it in the end :)
Title: Re: foo_enhanced_spectrum_analyzer
Post by: darkflame23 on 2023-05-07 09:32:45
Where can we download the latest version? Link in the OP just recurses back to itself...
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2023-05-07 11:50:01
Ah, the reason it wasn't in the settings is that I was using the v0.9!
I found the link to the latest v0.9.4.2, this site is a bit all over the place. Most sites tend to update the first post with newer versions of software to download. Never mind, found it in the end :)
Sorry for the download topic jungle. It's now 5 years ago, so I don't remember the reason . 
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2023-05-07 12:00:45
Where can we download the latest version? Link in the OP just recurses back to itself...
(https://i.imgur.com/6ZXNDqc.png)
I released a the new version 1.9.2.0 for 32 and 64 bit. The component still supports Columns UI and Default UI.

You can download the new version in the download forum https://hydrogenaud.io/index.php/topic,116014.msg1026710.html#msg1026710
or directly via this link: https://hydrogenaud.io/index.php?action=dlattach;topic=116014.0;attach=25588

Changes
- REMOVED: Experimental crest calculation.
- NEW: Improved detection of maximum values (10 values).
- NEW: Calibration line (experimental).
- NEW: Possibility to deactivate the border line (window frame)
- NEW: Possibility to use 6 colours in horizontal or vertical mode
- NEW: Tilt parameter to adapt the spectrum to human hearing
Title: Re: foo_enhanced_spectrum_analyzer
Post by: grimes on 2023-05-07 12:47:26
Thanks.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: sl23 on 2023-05-07 14:40:42
Haha no worries, thanks for the update just gonna try it. Looks amazing btw!
Title: Re: foo_enhanced_spectrum_analyzer
Post by: wojak on 2023-05-07 14:45:00
Where can we download the latest version? Link in the OP just recurses back to itself...
(https://i.imgur.com/6ZXNDqc.png)
I released a the new version 1.9.2.0 for 32 and 64 bit. The component still supports Columns UI and Default UI.

You can download the new version in the download forum https://hydrogenaud.io/index.php/topic,116014.msg1026710.html#msg1026710
or directly via this link: https://hydrogenaud.io/index.php?action=dlattach;topic=116014.0;attach=25588

Changes
- REMOVED: Experimental crest calculation.
- NEW: Improved detection of maximum values (10 values).
- NEW: Calibration line (experimental).
- NEW: Possibility to deactivate the border line (window frame)
- NEW: Possibility to use 6 colours in horizontal or vertical mode
- NEW: Tilt parameter to adapt the spectrum to human hearing

Thanks, great component.
But how to set the colors like on your picture (different colors through the X axis - for different Hz)? The same question to your other component (peak meter).
Title: Re: foo_enhanced_spectrum_analyzer
Post by: sl23 on 2023-05-07 15:09:37
Feckin' awesome! :D
One suggestion though, please add the ability to export/import settings. I've had to set this up many times in the last few days, due to install, uninstall, updates, etc. Been a lot of setting up involved! :(
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2023-05-07 15:21:27
Thanks, great component.
But how to set the colors like on your picture (different colors through the X axis - for different Hz)? The same question to your other component (peak meter).
Do you mean this one X? You can achieve this by choosing "vertical" for the RMS and/or Peak and by setting the color count to a value greater 2 or more.  What strikes me, however, is the wrong naming. I should name it "horizontal" ("vertikal" is also wrong english). :-)
The peakmeter has only colors for the different db level (low peak to high peak).
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2023-05-07 15:43:08
Feckin' awesome! :D
One suggestion though, please add the ability to export/import settings. I've had to set this up many times in the last few days, due to install, uninstall, updates, etc. Been a lot of setting up involved! :(
OK, it's on the list. But it's something I won't be adding in the near future because it's time-consuming and needs careful implementation. But this would be useful for me too  :D
Title: Re: foo_enhanced_spectrum_analyzer
Post by: sl23 on 2023-05-07 15:49:13
Sure no problem. So where are these settings stored currently? Least I might be able to back up manually?
I see they aren't in the Configuration folder, is there a reason for that? If that's easier to implement, I'd be happy with just that.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: marc2k3 on 2023-05-07 15:57:50
Default UI users can already backup/restore any UI element (or combination of). They just have to enable layout editing mode, right click the UI element, Copy and then Paste in windows explorer where you'll get a .fth file containing the per instance data that this component writes.

You can then copy from Windows Explorer later and Paste back in to a layout.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: sl23 on 2023-05-07 16:12:21
Great tip, unfortunately I don't think I can go back to the DefaultUI after finding the CustomUI!
Title: Re: foo_enhanced_spectrum_analyzer
Post by: sl23 on 2023-05-07 16:16:45
One other FR if I may...
In the Musical Spectrum plugin (foo_musical_spectrum), there's an option to choose Vertical/Horizontal styles, 3 of each in fact. I prefer style 'Vertical C' as it shows all colours not just the bottom ones.

Also, regarding the colouring, if you set the colours vertically, as shown in the settings page, they work fine, but I would suggest changing the horizontal layout of the colours as the red should represent the higher end of the spectrum, don't you think?
Title: Re: foo_enhanced_spectrum_analyzer
Post by: darkflame23 on 2023-05-07 16:40:04
Where can we download the latest version? Link in the OP just recurses back to itself...
(https://i.imgur.com/6ZXNDqc.png)
I released a the new version 1.9.2.0 for 32 and 64 bit. The component still supports Columns UI and Default UI.

You can download the new version in the download forum https://hydrogenaud.io/index.php/topic,116014.msg1026710.html#msg1026710
or directly via this link: https://hydrogenaud.io/index.php?action=dlattach;topic=116014.0;attach=25588

Changes
- REMOVED: Experimental crest calculation.
- NEW: Improved detection of maximum values (10 values).
- NEW: Calibration line (experimental).
- NEW: Possibility to deactivate the border line (window frame)
- NEW: Possibility to use 6 colours in horizontal or vertical mode
- NEW: Tilt parameter to adapt the spectrum to human hearing

Thank you, this is great!
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2023-05-07 20:25:12
One other FR if I may...
In the Musical Spectrum plugin (foo_musical_spectrum), there's an option to choose Vertical/Horizontal styles, 3 of each in fact. I prefer style 'Vertical C' as it shows all colours not just the bottom ones.

Also, regarding the colouring, if you set the colours vertically, as shown in the settings page, they work fine, but I would suggest changing the horizontal layout of the colours as the red should represent the higher end of the spectrum, don't you think?
Yes, this is possible. But the default colour selection has to be a compromise between the vertical and the horizontal gradient. I don't like the red colour so much in the default mode. But you are free to change it as you like.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: sveakul on 2023-05-07 20:37:14
Thanks Crossover, beautiful work!  For an upcoming version I would suggest adding an export/import settings ability, which would make us "tinkerers" a lot braver in trying new settings and values--appreciate your consideration.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2023-05-07 20:46:29
Thanks Crossover, beautiful work!  For an upcoming version I would suggest adding an export/import settings ability, which would make us "tinkerers" a lot braver in trying new settings and values--appreciate your consideration.
Thanks, yes, OK, I will take this into consideration  :D 
Title: Re: foo_enhanced_spectrum_analyzer
Post by: sl23 on 2023-05-07 22:11:51
Thanks...
Title: Re: foo_enhanced_spectrum_analyzer
Post by: MagnusM on 2023-05-07 23:38:56
Thanks Crossover, awesome plugin! Couple of questions / requests:
1. For the dB text (left side) and Hz text (bottom), would it be possible to have the option to customize the font style and text size (the text is currently very small and hard to read on my layout)?
2. For the dB text (left side), would it be possible to have the option to move this to the right side?
3. For the Hz text (bottom), would it be possible to have the option to select a different Hz range or at least select how many Hz numbers (20, 50, 100, 200, etc.) are used to label the axis (maybe something like how the default spectrum plugin has the option to select 10/20/40/80/160 bands)?

Thanks again and keep up the great work!
Title: Re: foo_enhanced_spectrum_analyzer
Post by: sveakul on 2023-05-08 00:16:49
Crossover:  can you confirm that version 1.9.2.0 on Foobar v2 64-bit is showing the pre-DSP audio spectrum as opposed to 0.9.4.2, which on Foobar 1.6.16 appears to show the post-DSP spectrum, at least in terms of dB?  Or is this affected by the new "Tilt" parameter (which I admit I don't completely understand)?
Title: Re: foo_enhanced_spectrum_analyzer
Post by: yeyo on 2023-05-08 02:40:39
Thanks Crossover,A very significant update, the new version is eye-catching!
Title: Re: foo_enhanced_spectrum_analyzer
Post by: snowbie on 2023-05-08 18:13:41
(https://i.imgur.com/kJ3rOXu.png)
Fantastic! Thank you so much for bringing this to 64bit.
Buuut, something seems off with how some of the colors display. The blue line on the right is supposed to appear like the one on the left. Actually, in this image, the blue line on the right should technically appear even more intense, since I maxed out the saturation, but it's still quite weak.
(https://i.imgur.com/IqFOl5V.png)
Alpha & the other configuration options don't seem to affect this.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2023-05-08 20:10:57
1. For the dB text (left side) and Hz text (bottom), would it be possible to have the option to customize the font style and text size (the text is currently very small and hard to read on my layout)?
Thanks! OK, may be I'll add a font dialog or a font size edit control
2. For the dB text (left side), would it be possible to have the option to move this to the right side?
I will check if I can add a right label check box.
3. For the Hz text (bottom), would it be possible to have the option to select a different Hz range or at least select how many Hz numbers (20, 50, 100, 200, etc.) are used to label the axis (maybe something like how the default spectrum plugin has the option to select 10/20/40/80/160 bands)?
I'll try to add a "half of the values" check box.

Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2023-05-08 20:23:25
Crossover:  can you confirm that version 1.9.2.0 on Foobar v2 64-bit is showing the pre-DSP audio spectrum as opposed to 0.9.4.2, which on Foobar 1.6.16 appears to show the post-DSP spectrum, at least in terms of dB?  Or is this affected by the new "Tilt" parameter (which I admit I don't completely understand)?
Yes, the component shows the spectrum before the DSP stack. If you want to measure exact values, please set the tilt value to 0 dB. A tilt value > 0 tilts the spectrum at 1 kHz with a slope given in dB per octave. This was the main reason for me to build the new version. Cause only with the tilt setting you can easily asses the spectrum of a recording. A tilt value of 4.5 dB is the best value in my opinion. But you can also use 3 dB.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2023-05-08 20:28:48
Fantastic! Thank you so much for bringing this to 64bit.
Buuut, something seems off with how some of the colors display. The blue line on the right is supposed to appear like the one on the left. Actually, in this image, the blue line on the right should technically appear even more intense, since I maxed out the saturation, but it's still quite weak.
Alpha & the other configuration options don't seem to affect this.
It is not the same component, so the results may be different. The reason for the lower intensity is the internal alpha value (128) I used to draw the line. I will add an alpha edit control for the line in the options dialog. This should solve the problem.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Bogozo on 2023-05-08 20:48:59
Yes, the component shows the spectrum before the DSP stack.
I tested on 32 bit foobar2000 2.0 with built-in equalizer DSP with component version 1.9.2.0 ans it shows spectrum after DSP.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2023-05-08 21:28:31
Yes, the component shows the spectrum before the DSP stack.
I tested on 32 bit foobar2000 2.0 with built-in equalizer DSP with component version 1.9.2.0 ans it shows spectrum after DSP.
You are absolutely right. My mistake. I have already posted this general behaviour here: https://hydrogenaud.io/index.php/topic,123954.msg1024880.html#msg1024880 The spectrum analyzer uses also the visualisation manager stream.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: yeyo on 2023-05-09 05:32:38
Hi,Crossover
The latest version 1.9.2.0 has a relatively high CPU usage rate, reaching around 20% on my laptop i7-6700HQ
Can you optimize the CPU usage?
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2023-05-13 13:42:03
Hi,Crossover
The latest version 1.9.2.0 has a relatively high CPU usage rate, reaching around 20% on my laptop i7-6700HQ
Can you optimize the CPU usage?
I always do performance diagnostics for my components. There is not much potential, but there is. I will take a closer look.
But you can also massively reduce the CPU load by adjusting the settings. Especially by the parameters I marked in the attached picture.
X
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Osiris665 on 2023-05-21 16:19:37
Hi,

This is a  great component! Very easy to set up just as I like it.
Two small suggestions if I may:
1. It would be great if the loudness range could be customized. I'd love to be able to set the max displayed values at -10db for example.
2, There seems to be some sync issue that needs attention. The Spectrum seems to show the analysis about 500ms before the actual playback (at least for me). It can be easily seen when putting the default spectrum analyzer and yours side-by-side.

Thanks for the great plugin!
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2023-05-22 21:22:28
Hi,

This is a  great component! Very easy to set up just as I like it.
Two small suggestions if I may:
1. It would be great if the loudness range could be customized. I'd love to be able to set the max displayed values at -10db for example.
2, There seems to be some sync issue that needs attention. The Spectrum seems to show the analysis about 500ms before the actual playback (at least for me). It can be easily seen when putting the default spectrum analyzer and yours side-by-side.

Thanks for the great plugin!
Thanks.
Point 1 is on the list now, but I can't promise it for the next release. 
Regarding point 2, I will have to take a closer look. It seems that there is a dependency between the FFT size and the delay.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: metal_termite on 2023-05-25 05:44:03
Forgive me for being massively ignorant. Help me understand. When I compare this and the stock spectrum analyzer by Peter, I noticed the bands don't match at all. On Peter's when a song with only deep bass is playing, you can see the bands on the far left respond predominately, but this is not the case with this component.

How do I mirror the performance of Peter's using this component?
Title: Re: foo_enhanced_spectrum_analyzer
Post by: sveakul on 2023-05-26 00:19:05
On Peter's when a song with only deep bass is playing, you can see the bands on the far left respond predominately, but this is not the case with this component.
That's because they are using different frequency scales.  Peter's using 40 bars starts at about 50Hz on the left end, running to about 23kHz on the right.  Enhanced Spectrum starts at a lower frequency, around 10Hz on the left, to about 24kHz on the right.  If you have some music that is peaking around 50-60 Hz, that figure lies on the extreme left of Peter's chosen scale, while the same frequency range is farther to right on Enhanced Spectrum (be sure the option "Bottom labels" are checked to see the frequency scale).  You are looking at the correct amplitude in both cases.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: metal_termite on 2023-05-26 01:09:54
@sveakul I appreciate the explanation. I understand now, thank you.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2023-05-27 08:10:21
A couple of requests for Crossover to add perceptual frequency scale (which admittedly, AIMP uses Mel scale for spectrum analyzer) like this:
(https://static.miraheze.org/commonswiki/5/5e/Mel_frequency_spectrum.png)
And the feature to display multiple channels (including Mid/Side channels) in a single view to this component

And what about the constant-Q transform spectrum analyzer (which I think it deserved a separate component) that uses a sliding DFT? Because I doubt that foo_musical_spectrum will be updated to support 64-bit version of foobar2000 (which I have despite I don't have this component)
Title: Re: foo_enhanced_spectrum_analyzer
Post by: AJCoolbreeze on 2023-05-27 17:39:28
Wow! I keep a and pretty simple layout with all I need for all music I have and visualizations (including Loudness Peakmeter 1.0.0.0) and decided to add this today and it looks good and functions well. Foobar(32) 2.1 preview 5-24. Thanks Crossover!
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2023-05-28 11:57:21
A couple of requests for Crossover to add perceptual frequency scale (which admittedly, AIMP uses Mel scale for spectrum analyzer) like this:
And the feature to display multiple channels (including Mid/Side channels) in a single view to this component

And what about the constant-Q transform spectrum analyzer (which I think it deserved a separate component) that uses a sliding DFT? Because I doubt that foo_musical_spectrum will be updated to support 64-bit version of foobar2000 (which I have despite I don't have this component)
The mel scale would be a nice option. I will keep that in mind. But that contradicts the concept I am working on at the moment cause the idea is to display the musical spectrum (notes) together with the frequency spectrum. I have attached a picture for this.
A function that displays different channels individually or simultaneously would also be a good option. For me personally, this function is not a high priority because I mostly listen to music that uses stereo channels.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2023-05-28 11:59:43
Wow! I keep a and pretty simple layout with all I need for all music I have and visualizations (including Loudness Peakmeter 1.0.0.0) and decided to add this today and it looks good and functions well. Foobar(32) 2.1 preview 5-24. Thanks Crossover!
Thank's, happy to hear that.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: wojak on 2023-05-28 19:45:38
@Crossover please consider extending frequency measurement, for example from C0 (16Hz) to A11 (56kHz) (as in musical spectrum)
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2023-05-29 11:47:09
@Crossover please consider extending frequency measurement, for example from C0 (16Hz) to A11 (56kHz) (as in musical spectrum)
OK, I will try to integrate this in the next version.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2023-05-30 11:05:54
A couple of requests for Crossover to add perceptual frequency scale (which admittedly, AIMP uses Mel scale for spectrum analyzer) like this:
And the feature to display multiple channels (including Mid/Side channels) in a single view to this component

And what about the constant-Q transform spectrum analyzer (which I think it deserved a separate component) that uses a sliding DFT? Because I doubt that foo_musical_spectrum will be updated to support 64-bit version of foobar2000 (which I have despite I don't have this component)
The mel scale would be a nice option. I will keep that in mind. But that contradicts the concept I am working on at the moment cause the idea is to display the musical spectrum (notes) together with the frequency spectrum. I have attached a picture for this.
A function that displays different channels individually or simultaneously would also be a good option. For me personally, this function is not a high priority because I mostly listen to music that uses stereo channels.

For the Mel scale and musical notes thing, I know the musical notes are narrower at lower frequencies when viewed in a Mel scale as I played around with audioMotion-analyzer demos (https://audiomotion.dev/demo/), especially with X axis labels

About constant-Q transform thing (unrelated to this current component, but it might be related to probably a new component although it fits better with musical notes thing), I already know directly calculating the CQT is slow even with Goertzel algorithm (about 5 FPS on 1/24th octave resolution with bandwidth offset of 300ms on my sketch (https://editor.p5js.org/jayadiandri/full/CmiIhkILW)), unless it is calculated using sliding DFT (which is better suited for real-time spectrum visualizations)
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2023-05-31 15:03:55
How about a spectrogram display in-addition to spectrum display like showcqt visualization?

BTW, I made the spectrum analyzer (https://codepen.io/TF3RDL/pen/VwENJbB) similar to Crossover's component and it features linear amplitude scale, which is useful for easily visualizing peaks
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2023-06-07 11:24:55
Crossover, are you working on the new component (perhaps a constant-Q transform spectrum analyzer) or something else?
Title: Re: foo_enhanced_spectrum_analyzer
Post by: DJ FRANK G. on 2023-06-07 22:07:27
Any idea: what about the colors of the specturm based on the album cover. not technical correct, but a nice design!
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Defender on 2023-06-07 22:28:07
I'd like to migrate as well to something more modern (and supporting x64),

How can I upgrade to something that has the imo nice visuals of foo_wave_seekbar, foo_uie_vis_channel_spectrum, foo_uie_vis_peakmeter_spectrum and foo_vis_vumeter?

Any chance these components will run in a kinda sandbox within foobar x64?

In other words can this component be configured to look like good very old spectrum analyzer?
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2023-06-12 19:01:05
@Crossover, what about non-power of two FFT sizes like 4800 samples (100ms at 48kHz samplerate)?

As my Web Audio API visualizers starting with 2020 have non-power of two FFT size support, one year after being moved on from built-in FFT to custom FFT (which you can do the same trick with foobar2000 component development department)
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2023-06-15 23:49:17
Idea for this component (since tbh, neither foo_fft_analyzer, foo_cqt_analyzer, nor Wamoc as a whole exists): 1/3rd octave mode and rainbow gradient in which colors corresponds to musical notes like this:
X

Image source: https://codepen.io/TF3RDL/pen/poQJwRW
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Air KEN on 2023-06-16 08:49:57
@TF3RDL

Do these components exist?

FFT Analyzer (foo_fft_analyzer)
https://wiki.hydrogenaud.io/index.php?title=Foobar2000:Components/FFT_Analyzer_%28foo_fft_analyzer%29

CQT Analyzer (foo_cqt_analyzer)
https://wiki.hydrogenaud.io/index.php?title=Foobar2000:Components/CQT_Analyzer_%28foo_cqt_analyzer%29

Simple spectrum analyzer using custom FFT
https://codepen.io/TF3RDL/pen/VwENJbB

Constant-Q transform using Goertzel algorithm
https://codepen.io/TF3RDL/pen/poQJwRW

--------

It would be helpful if you could explain it in another thread.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2023-06-17 14:32:48
Crossover, are you working on the new component (perhaps a constant-Q transform spectrum analyzer) or something else?
I'm still working on enhancements for the foo_enhanced_spectrum_analyzer.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2023-06-17 14:38:29
Any idea: what about the colors of the specturm based on the album cover. not technical correct, but a nice design!
The idea ist really great. But I think this demand should be realized by default or columns ui. A function of the ui system itself or an external component can extract the main colors out of the front picture and inform the client components by messages about the extracted colors. 
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2023-06-17 14:43:48
I'd like to migrate as well to something more modern (and supporting x64),

How can I upgrade to something that has the imo nice visuals of foo_wave_seekbar, foo_uie_vis_channel_spectrum, foo_uie_vis_peakmeter_spectrum and foo_vis_vumeter?

Any chance these components will run in a kinda sandbox within foobar x64?

In other words can this component be configured to look like good very old spectrum analyzer?
No, the enhanced spectrum analyzer is an independent component. But I will add a draw mode for bars instead of a polygon, so that it can look like the well known spectrum analyzers.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2023-06-17 14:53:16
Idea for this component (since tbh, neither foo_fft_analyzer, foo_cqt_analyzer, nor Wamoc as a whole exists): 1/3rd octave mode and rainbow gradient in which colors corresponds to musical notes like this:
[attach type=image]26249[/attach]

Image source: https://codepen.io/TF3RDL/pen/poQJwRW
I will implement something like this:
(https://i.imgur.com/2UWZ1eY.png)
It can also be configured to show notes and the frequency grid:
(https://i.imgur.com/e04XVHH.png)
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2023-06-18 03:34:02
Crossover, are you working on the new component (perhaps a constant-Q transform spectrum analyzer) or something else?
I'm still working on enhancements for the foo_enhanced_spectrum_analyzer.
Of course, it makes lots of sense for you to wait for an update on this component before working on the next thing (implementing the sliding DFT algorithm as foobar2000 visualizations, especially the CQT/VQT part in which no components have done it before)
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2023-06-18 20:42:29
Crossover, are you working on the new component (perhaps a constant-Q transform spectrum analyzer) or something else?
I'm still working on enhancements for the foo_enhanced_spectrum_analyzer.
Of course, it makes lots of sense for you to wait for an update on this component before working on the next thing (implementing the sliding DFT algorithm as foobar2000 visualizations, especially the CQT/VQT part in which no components have done it before)
No, nothing concrete is planned after the foo_enhanced_spectrum_analyzer enhancements, only holidays  :))  I have a new idea in mind but it has nothing to do with the sliding DFT algorithm or CQT/VQT.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2023-06-23 22:08:51
-snip-

Of course, it makes lots of sense for you to wait for an update on this component before working on the next thing (implementing the sliding DFT algorithm as foobar2000 visualizations, especially the CQT/VQT part in which no components have done it before)
No, nothing concrete is planned after the foo_enhanced_spectrum_analyzer enhancements, only holidays  :))  I have a new idea in mind but it has nothing to do with the sliding DFT algorithm or CQT/VQT.
So what's the idea? Perhaps linear/sqrt amplitude scale or even spectrogram view?
Title: Re: foo_enhanced_spectrum_analyzer
Post by: StuPC on 2023-07-17 15:07:32
Thank you! 2.1 has been sorely missing a spectrum analyser and fab visualiser - this is great!
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2023-08-07 08:54:33
Just checked the page for a new visualizer called CoolEdit Nostalgia (https://www.getmusicbee.com/addons/visualizer/485/cooledit-nostalgia/) for another player MusicBee and I found out that this plugin has a feature to visualize FFT of separate channels, kinda like "dual-combined" channel layout setting on audioMotion-analyzer.

BTW, this MB plugin also have linear frequency scale option, which audioMotion-analyzer has (alongside Mel and Bark scales) and foo_enhanced_spectrum_analyzer doesn't (although I already requested the Mel scale for this foobar component).
Title: Re: foo_enhanced_spectrum_analyzer
Post by: sl23 on 2023-08-14 22:06:18
Idea for this component (since tbh, neither foo_fft_analyzer, foo_cqt_analyzer, nor Wamoc as a whole exists): 1/3rd octave mode and rainbow gradient in which colors corresponds to musical notes like this:
[attach type=image]26249[/attach]

Image source: https://codepen.io/TF3RDL/pen/poQJwRW
I will implement something like this:
(https://i.imgur.com/2UWZ1eY.png)
It can also be configured to show notes and the frequency grid:
(https://i.imgur.com/e04XVHH.png)
Can't wait for this! I was hoping it would have the bars added. I prefer that look much more than the "smoothed" slope look.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Majestyk on 2023-08-15 00:35:15
Thanks for your awesome work! Adding the "bars" (shown above) will be awesome. 
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2023-08-16 12:10:36
For anyone who impatient of a big update to this component, I updated one of my CodePen audio visualization (https://codepen.io/TF3RDL/pen/poQJwRW) (the ones that originally intended for interactive mockup of CQT/VQT spectrum analyzer component for fb2k x64) to add something like this:
X
which is FFT bandpower spectrum with 1/24th octave bands, just like foo_musical_spectrum and audioMotion-analyzer

BTW, I did this ahead of @Crossover updating foo_enhanced_spectrum_analyzer (hopefully, a spectrogram view, non-power of 2 FFT sizes, and linear amplitude scale)
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2023-09-07 07:37:15
-snip-
The mel scale would be a nice option. I will keep that in mind. But that contradicts the concept I am working on at the moment cause the idea is to display the musical spectrum (notes) together with the frequency spectrum. I have attached a picture for this.
A function that displays different channels individually or simultaneously would also be a good option. For me personally, this function is not a high priority because I mostly listen to music that uses stereo channels.
As for the feature request of letting you visualize all channels as FFTs of each channel, I meant this: (BTW, I've updated this interactive mockup (https://codepen.io/TF3RDL/pen/VwENJbB) to add this, which already exists on the similar spectrum analyzer plugin (https://www.getmusicbee.com/addons/visualizer/485/cooledit-nostalgia/) for another music player except for the M/S part)
X
And for Mid/Side part (which can be easily done using M/S encoding then doing FFTs of resulting M/S signal for visualization):
X
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2023-09-28 23:47:01
How about a spectrogram display in-addition to spectrum display like showcqt visualization?

BTW, I made the spectrum analyzer (https://codepen.io/TF3RDL/pen/VwENJbB) similar to Crossover's component and it features linear amplitude scale, which is useful for easily visualizing peaks
I meant something like this:
X
where spectrum is at top and spectrogram is at bottom, scrolling from top to bottom just like this FFmpeg filter mentioned before
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2023-10-02 04:30:37
Yet another feature request for this component: Custom colorstop position for each gradient colorstops (which is already possible in audioMotion-analyzer) and infinite number of colorstops like in built-in spectrogram visualization

This makes something like this below possible:
X

As for the UI for customizing color gradients, I like this one from PowerPoint something like this:
X
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2023-10-14 22:25:47
I will implement something like this:
(https://i.imgur.com/2UWZ1eY.png)
It can also be configured to show notes and the frequency grid:
(https://i.imgur.com/e04XVHH.png)
FR when comes to the new frequency bands mode @Crossover is working on it above: Adjustable number of bands per-octave (because foo_musical_spectrum don't have it and I realized there are other variations of equal-temperament scales (https://en.wikipedia.org/wiki/Equal_temperament#Other_equal_temperaments) like 24-TET/quarter tone scale (also known as 1/24th octave bands, 240 bands within 20Hz-20kHz range, and of course Arab tone system) as I've read the Wikipedia page (https://en.wikipedia.org/wiki/Equal_temperament) about it) and tuning for fractional octave band visualization (nearest note to specific frequency = specific frequency as in my own spectrum analyzer (https://codepen.io/TF3RDL/pen/poQJwRW))

Also FR: Being able to enable or disable antialiasing on drawing graphs for nicer looking visualization closer to CanvasRenderingContext2D (https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D) at the cost of some FPS drops and optional GPU acceleration (as this component uses a lot of my CPU) regardless of antialias setting

BTW, there are one regression I've noticed on the current version (1.9.2.0) is the window function setting does absolutely nothing (it stays using Hann window regardless of the window type they supposed to)
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2023-10-26 15:29:38
For frequency bands mode @Crossover are working on, a sinc (or more accurately, Lanczos) FFT bin interpolation would be cool to have, however, a proper one requires the use of real/imaginary pairs to look like this (similar to FFT with zero-padding):
X
instead of this:
X
where this second image above looks more like something other than zero-padded FFT or Goertzel

BTW, are the aforementioned dev of foo_enhanced_spectrum_analyzer busy with other stuffs, or just working hard on a massive update? (since there aren't replies to me 4 months ago)
Title: Re: foo_enhanced_spectrum_analyzer
Post by: sveakul on 2023-10-26 22:55:47
BTW, are the aforementioned dev of foo_enhanced_spectrum_analyzer busy with other stuffs, or just working hard on a massive update? (since there aren't replies to me 4 months ago)
You know, I don't want to seem crass or hurt anyone's feelings, but my own belief is that the developer has been happily using his new updated spectrum for a while now, and the reason he hasn't announced/made it available here is because he doesn't want to be "jumped on" by theorists or others asking him to change/try/replace this that or the other thing.  TF3RDL, I respect your obviously large body of knowledge about the subject, but I believe you should be working on your own spectrum release instead of what might be interpreted as lecturing/pressuring this developer on how to design his.  I'm sorry if this post offends, it's not meant to, but like you and many others I have been awaiting Crossover's Musical Spectrum/Enhanced Spectrum Analyzer hybrid and think we just have to let things "breathe" and give the message that anything he shares will be welcome.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2023-10-27 01:19:19
You know, I don't want to seem crass or hurt anyone's feelings, but my own belief is that the developer has been happily using his new updated spectrum for a while now, and the reason he hasn't announced/made it available here is because he doesn't want to be "jumped on" by theorists or others asking him to change/try/replace this that or the other thing.  TF3RDL, I respect your obviously large body of knowledge about the subject, but I believe you should be working on your own spectrum release instead of what might be interpreted as lecturing/pressuring this developer on how to design his.  I'm sorry if this post offends, it's not meant to, but like you and many others I have been awaiting Crossover's Musical Spectrum/Enhanced Spectrum Analyzer hybrid and think we just have to let things "breathe" and give the message that anything he shares will be welcome.
I liked the idea to work on my own spectrum visualization (perhaps a 64-bit remake of Musical Spectrum, Channel Spectrum panel, etc. in similar way to ReFacets) because the development time of the upcoming update on foo_enhanced_spectrum_analyzer would be absurdly long if they decided to implement most if not all of my requests to add these features (remember, do bugfixes first before adding new features is the best, because of the fact that known problematic components are barred from mentioning (https://hydrogenaud.io/index.php/topic,30719.0.html) on component recommendation posts)

However, I don't actually have any experience with C++ nor foobar2000 SDK to actually make the visualization component that I've want and I only have experience with JS and Web Audio API (the latter doesn't exist in SMP component and I don't think adding WebAudio API support to SMP helps), therefore that's why it posted these visualizations (https://codepen.io/collection/NqMMWo) on CodePen as a small web app not a fb2k 64-bit component, so good luck with anyone looking for Musical Spectrum and Channel Spectrum panel (with Default UI support) remake for foobar2000 x64

BTW, I also agree with your statement about pressuring the developer to add something that I've want (spectrogram view in-addition to spectrum, adjustable number of bands on frequency bands mode, linear/sqrt amplitude scale, perceptual frequency scales, a feature to display separate channels and even Mid/Side spectrum, etc.) because of reasons that I said before (the more requests the developer accepted and actually working on implementing these, the longer development time is)
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2023-11-16 03:54:23
another FR: Bring back the crest factor (Peak/RMS) visualization but with same framerate and details (for consistency) as the rest of spectrum visualizations on this component
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2023-12-04 04:52:12
yet another FR: Frequency weighting functions (https://gist.github.com/TF3RDL/15326358806cabe3d69be792ff0012c7#file-audio-analyzer-js-L103) (A, B, C, D, and M/ITU-R 468 (https://en.wikipedia.org/wiki/ITU-R_468_noise_weighting)) in-addition to frequency tilt, with the amount being adjustable (e.g. a weighting amount of 0.5 is a square root of frequency weighting functions applied to the FFT, setting it to zero applies no weighting (or in other words, Z-weighting), and negative values gets the opposite amount (FFT spectrum prior to log-amplitude transformation divided by weighting functions instead of multiplying by it) of weighting)
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2024-01-22 08:44:08
A "true RMS" mode (where the averaging is done in squared domain and then take a square root to convert to linear amplitude scale) would be appreciated as currently, the averaging is done in logarithmic amplitude scale instead of linear.

And also, I would appreciate analog-style analyzer (https://codepen.io/TF3RDL/pen/MWLzPoO) mode like this:
X
for new frequency bars visualization mode like in Spectralissime spectrum analyzer app and Seven Phases Spectrum Analyzer VST plugin where it doesn't use FFT and instead uses IIR biquad bandpass filter bank.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: boxerfan88 on 2024-01-26 12:00:21
Feature Request: any chance to have the option to configure foo_enhanced_spectrum_analyzer to run on a different logical cpu?
(a logical different from the one hosting foobar main thread so as to move the workload away from foobar main thread cpu)
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2024-01-26 12:24:29
Regarding the performance issue (low FPS on fullscreen mode of this component), did anyone have this same issue?

Since this component needs some optimizations in order to keep up with the performance of my own CodePen project like this (https://codepen.io/TF3RDL/pen/VwENJbB) and even AudioWorklet-based one (https://codepen.io/TF3RDL/pen/MWLzPoO) (obviously, it is pure JS for both AudioWorklet and actual audio analysis part) on fullscreen mode as of right now, even the 1/48th octave analog-style analyser (even though the actual audio analysis algorithms are done in a main thread) on the aforementioned CodePen project runs faster than Enhanced Spectrum analyzer component for foobar2000
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2024-02-28 20:07:50
BTW, are the aforementioned dev of foo_enhanced_spectrum_analyzer busy with other stuffs, or just working hard on a massive update? (since there aren't replies to me 4 months ago)
You know, I don't want to seem crass or hurt anyone's feelings, but my own belief is that the developer has been happily using his new updated spectrum for a while now, and the reason he hasn't announced/made it available here is because he doesn't want to be "jumped on" by theorists or others asking him to change/try/replace this that or the other thing.  TF3RDL, I respect your obviously large body of knowledge about the subject, but I believe you should be working on your own spectrum release instead of what might be interpreted as lecturing/pressuring this developer on how to design his.  I'm sorry if this post offends, it's not meant to, but like you and many others I have been awaiting Crossover's Musical Spectrum/Enhanced Spectrum Analyzer hybrid and think we just have to let things "breathe" and give the message that anything he shares will be welcome.
You're right sveakul :-) I've been using the V2 of the component since mid-2023, but that doesn't mean I'm going to ignore TF3RDL's posts. I will come back to it later. But for now, I'm going to use my time to take a closer look at the component's "performance problem". I don't think it's really a "performance issue", but rather a superfluous use of "perfectionism". I will analyse this and hopefully I can reduce the CPU consumption.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2024-03-02 07:29:43
I'd be patient about optimizations on this component to get 60FPS on fullscreen mode and lower CPU usage, and my proposed analog-style analyzer/IIR filter bank mode (https://codepen.io/TF3RDL/pen/MWLzPoO) (right now, there is no analog-style spectrum analyzer component for fb2k, so I used foo_dsp_vst3 to visualize audio using Voxengo AnSpec) for frequency bands mode can benefit from usage of SIMD instructions (for the case of AVX instruction usage, a fallback to SSE4.2 and SSE2 for stability) and multithreading can benefit the performance of calculating two or more spectrum in this case of multiple graphs (which foo_vis_spectrum_analyzer going to have) and/or overlayed channel spectrum displays right?

Also, add a Gaussian window function (with window parameter of 2.4 to match foobar2000's built-in spectrum visualization method) in-addition to fixing the regression of window function settings not actually applying different windowing functions as well as adding an option to show either the DC label (only shown when used with any frequency scale other than logarithmic), Nyquist frequency marker, or both

BTW, I think the @Crossover's Enhanced Spectrum analyzer (foo_enhanced_spectrum_analyzer, this component) and @pqyt's Spectrum Analyzer (foo_vis_spectrum_analyzer) serves different purposes even though both of them are spectrum analyzers; the former is for something like professional audio analysis and the latter is for eye candy, but still serves more useful purposes than Winamp's Classic Spectrum Analyzer plugin
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2024-03-06 16:10:39
FRs for this component: Fullscreen mode and UI color scheme integration on a Columns UI panel version of this component as well as an option to actually use gradients when using UI color integration as in Loudness Peakmeter component by the same @Crossover

Also, just because foo_vis_spectrum_analyzer finally added IIR filter bank mode (https://codepen.io/TF3RDL/pen/MWLzPoO) for spectral analysis doesn't mean Enhanced Spectrum analyzer shouldn't get one too especially with upcoming frequency bars mode (hopefully with adjustable number of bands per-octave and an option to use ANSI preferred frequencies)
Title: Re: foo_enhanced_spectrum_analyzer
Post by: stuboy1 on 2024-03-13 23:31:24
Installed this a few weeks ago, its AWESOME! Used it to show where a mix was too loud, worked perfectly :-)
Should be in the main foobar repository page in my opinion
cheers
Stu
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2024-03-15 11:41:44
A "true RMS" mode (where the averaging is done in squared domain and then take a square root to convert to linear amplitude scale) would be appreciated as currently, the averaging is done in logarithmic amplitude scale instead of linear.
Also FR: Infinite averaging mode, where the average spectrum converges to the curve by the time the song reaches the end (and infinite averaging can be reset by either using "Reset Peak and RMS" option or just seeking or playing a next song), and exponential averaging mode, which is behaves similarly to Voxengo SPAN and it is controlled by "Velocity" parameter in dB per second instead of "Average Length" in milliseconds
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2024-03-25 18:43:06
Honestly, with all of my feature requests for this component (and teases of Musical Spectrum-like bars and piano notes by @Crossover), just let @Crossover cook this update for this component long enough

BTW, if you're optimizing foo_enhanced_spectrum_analyzer with AVX2 instructions (including brand new features or even implementation of my feature requests), don't forget to implement fallbacks to implementations using older SIMD instructions so it won't introduce the same CPU instruction set requirement as PGGB-RT that would be unnecessary for a simple spectrum analyzer component I think
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2024-03-26 01:25:52
Feature request for @Crossover: Spectrogram display (since I saw the spectrogram display for foo_vis_spectrum_analyzer (https://hydrogenaud.io/index.php/topic,125031.msg1041232.html#msg1041232) being worked on)

Something like this:
X
which is similar to built-in spectrogram, but with Hz labels and even time labels (not shown in this image) and I'd prefer the spectrogram display to be added into this component since you don't even need creating a new component dedicated for that and this feature request is a little bit different from combined spectrum/spectrogram as it only display spectrogram, and this (and showcqt-style spectrum/spectrogram display) should work with another feature request (analog-style analyzer mode, which is the closest thing to ever get a realtime constant-Q transform but have better performance I think)

Of course, the option to use more accurate framerate-independent timings (FFT analyzers only as IIR filter bank mode is calculated sample-by-sample just like sliding DFT), toggleable "reset spectrogram upon seek", and "resolution X axis" (Y-axis in case of combined spectrum/spectrogram) when either using framerate-independent timing on FFT mode or use IIR filter bank mode for consistency with Loudness Peakmeter component

BTW, just don't expect these feature requests to be implemented all at once nor even the update would be released much sooner
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2024-04-01 08:06:25
New version 2.0.0.0 has finally released!
- NEW: Added back crest factor spectrum with various changes to be consistent; it now have same details and FPS for the crest spectrum as the rest
- NEW: Frequency weighting (https://en.wikipedia.org/wiki/A-weighting) functions (A, B, C, D, and ITU-R 468/M-weighting (https://en.wikipedia.org/wiki/ITU-R_468_noise_weighting) supported)
  - Can be adjusted by "Weighting amount" parameter in percentages and it can also be set to negative values to do the exact opposite
  - Equal-loudness contour (https://en.m.wikipedia.org/wiki/Equal-loudness_contour) and K-weighting are also supported
- NEW: Mel (https://en.wikipedia.org/wiki/Mel_scale), Bark (https://en.wikipedia.org/wiki/Bark_scale), ERB (https://en.wikipedia.org/wiki/Equivalent_rectangular_bandwidth) (equivalent rectangular bandwidth), and linear frequency scales
- NEW: Octave bands mode in which details of the visualization are controlled by bands per octave option
  - Can be set to use either an ANSI S1.11-2004 standard (https://archive.org/details/gov.law.ansi.s1.11.2004) (preferred base-10) or equal-tempered scale with arbitrary frequency tuning (not limited to 440Hz or 432Hz) for octave band center frequencies
- NEW: IIR filter bank mode for frequency bars (octave bands) mode for optimal time/frequency resolution tradeoff on logarithmic frequency scale
  - It uses cascaded Butterworth second-order sections for IIR filter design for the filter bank
  - The filter order can be set to higher values to improve rolloff but at the expense of poorer time resolution on bass frequencies
- NEW: Bars drawing mode for both detailed FFT and frequency bands mode
- NEW: An option to decouple FFT calculation from FPS, which is useful for spectrogram displays and better behaved average spectrum and it allows setting the FFT hop size to a set amount in milliseconds to adjust "accuracy" of average spectrum
  - This doesn't apply to IIR filter bank mode, and in this case, it is always on and the hop size parameter only affects spectrogram scrolling speed
- NEW: Spectrogram display, works best with new "Decouple FFT calculation from FPS"
  - Can either be static or scrolling spectrogram
  - Can display both spectrum and spectrogram at the same time
  - Can also be set to display multiple channels by having different colors
  - Scrolling speed is adjustable via "Hop size" parameter, similar to "Resolution X-axis" in Loudness Peakmeter
- NEW: Multiple channels display
  - Can either have separate graphs for each channel or have multiple spectrum of each channel superimposed into a one graph with different colors for each channels
  - Supports Mid/Side representations not just individual channels
- NEW: Non-power of two FFT sizes and FFT size can be set in milliseconds rather than samples (decoupling the time/frequency resolution from sample rate; 100ms is 4800 samples on 48kHz sampling rate), and also 65536 samples FFT
- NEW: Infinite decay rate mode (-inf dB per second falloff) for any graphs including the restored crest spectrum
  - On IIR filter bank mode, the Peak graph is a maximum of latest 576 samples (and below if FPS is high enough) of an absolute value of the output to avoid photosensitive epilepsy in most cases
- NEW: More averaging options
  - There are now three averaging modes; "FIFO" (first-in, first-out) is the simple moving average, "Exponential" is the exponential decay (controlled by "Velocity" parameter on Average spectrum graph in dB/s instead of "Average Time"), and "Infinite" is the average of all frames (samples if IIR filter bank is used) that converges to a particular curve when analyzed for long enough
  - Three averaging domains; "Squared" is true RMS, "Linear" is simply average before log amplitude transform, and "Logarithmic" is the legacy one calculated after log amplitude transformation
- NEW: Piano display
  - Detected peaks can also be displayed on the piano keyboard display
  - Piano center frequency (alongside equal-temperament octave bands) at the closest note to certain frequency can be set via "Pitch Std." parameter in Hz
- NEW: Piano, octaves, and Bark scale (https://en.wikipedia.org/wiki/Bark_scale) critical band grids and note labels
- NEW: The Y-axis dB labels can be displayed on the right side and both sides
- NEW: Fonts and the size of the labels can now be changed
- NEW: Frequency range and dB range are now adjustable
  - When selecting "0Hz" on minimum frequency range while the spectrum frequency scale is logarithmic, the actual minimum range is the center frequency of the second FFT bin and in the case of octave bands, ~1Hz min range
- NEW: Linear amplitude scale
  - The amplitude scale can also be nth root while not in logarithmic (dB) amplitude scale, adjusted by "Nth root index" parameter
  - Minimum dB range is -Inf dB while in linear/nth root amplitude scale
- NEW: DC and Nyquist frequency markers
  - DC frequency marker is only visible if the selected frequency scale is anything other than logarithmic and octave bands
- NEW: An option to use color gradient (consistent with Loudness Peakmeter and built-in visualizations) rather than solid color for UI color integration
- NEW: Gaussian window (https://en.wikipedia.org/wiki/Window_function#Gaussian_window) function, comes with two of the same but with different parameters (2.4 and 3.4 respectively)
- IMPROVEMENT: Overall performance has been improved; it now utilizes AVX2 and even AVX512 instructions when your CPU support these instruction sets, especially the new IIR filter bank mode as well as other optimizations to "fix" performance on fullscreen mode
- IMPROVEMENT: Fullscreen mode and UI color integration for Columns UI panel version
- IMPROVEMENT: Average spectrum is no longer capped at 0dB
- IMPROVEMENT: Expanded and enhanced color gradient editing
  - Number of colorstops are no longer limited to six
  - Colorstop positions now can be changed individually
  - The colorstop position can also be set to be tied to certain dB values, which scales the color gradient accordingly to the current dB range
  - Graph color and even background color can be made reactive; brighter (or darker) parts of the resulting strip indicates higher amplitude at certain frequency
- IMPROVEMENT: Display options (asides color gradient) for graphs no longer reset during a UI color change while UI color integration is enabled
- FIX: Setting the different window function now actually works, e.g. setting it to NONE now applies a rectangular window instead

Just kidding, this post is just an April Fools joke and nothing more! So please don't take this post seriously and happy April Fools day! :))
Title: Re: foo_enhanced_spectrum_analyzer
Post by: mycroft on 2024-04-01 17:32:08
Even joke cant get lower frequencies in higher resolution at all.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2024-04-04 23:23:11
Even joke cant get lower frequencies in higher resolution at all.
Obviously, the Uncertainty Principle (https://en.m.wikipedia.org/wiki/Uncertainty_principle#Signal_processing) means that you can't have higher resolution on both time and frequency axis at the same time, not even IIR filter bank (though the time/frequency resolution varies on each frequency but it is always a tradeoff; on lower frequencies, it have precise frequency resolution but it will always have bad time resolution, and vice versa)

BTW, the filter bank design on my filter bank spectrum analyzer project (https://codepen.io/TF3RDL/pen/MWLzPoO) (and even foo_vis_spectrum_analyzer) is not a Butterworth bandpass filter, instead it is just a stack of exact same biquad bandpass filters cascaded together numerous times, which according to this Desmos graph (https://www.desmos.com/calculator/k3xfzqtz5h) has wider transition band than typical octave band filter bank (possibly widest possible transition band) on higher orders and its frequency response is multiplied by itself (how many times the response is multiplied by itself depends on the filter order parameter)
Title: Re: foo_enhanced_spectrum_analyzer
Post by: mycroft on 2024-04-05 10:16:20
In my filter I have low frequencies displayed in high resolution just fine,  it have nothing to do with links you provided above.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2024-04-05 20:16:04
In my filter I have low frequencies displayed in high resolution just fine,  it have nothing to do with links you provided above.
Do you mean showcwt or something else? And as I said before, you can't have precise time resolution while having higher resolution on lower frequencies at the same time
Title: Re: foo_enhanced_spectrum_analyzer
Post by: sl23 on 2024-04-16 17:12:20
You're right sveakul :-) I've been using the V2 of the component since mid-2023.
Good to know it hasn't been abandoned! :)
Looking forward to this still!
Title: Re: foo_enhanced_spectrum_analyzer
Post by: mycroft on 2024-04-16 19:13:11
In my filter I have low frequencies displayed in high resolution just fine,  it have nothing to do with links you provided above.
Do you mean showcwt or something else? And as I said before, you can't have precise time resolution while having higher resolution on lower frequencies at the same time

Irrelevant, showcwt have high resolution of low frequencies.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: sveakul on 2024-04-17 00:57:05
You're right sveakul :-) I've been using the V2 of the component since mid-2023.
Good to know it hasn't been abandoned! :)
Looking forward to this still!
Crossover, any chance of a sneak visual preview of what you've been working on and when it might be released?
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2024-04-17 03:59:16
Crossover, any chance of a sneak visual preview of what you've been working on and when it might be released?
I was thinking about this and I already PM'd @Crossover but no response or any replies from that, so maybe too busy with other stuffs or is it?

BTW, don't expect the upcoming V2 of this spectrum analyzer component to have similar set of new features and changes as in this fanon wiki page (https://fanon.fandom.com/wiki/Enhanced_Spectrum_analyzer_2.0.0.0) (admittedly, I have some unrealistic expectations about upcoming stuffs), though I guess I might be disappointed if there is no option to use IIR filter bank for frequency bands mode in upcoming Enhanced Spectrum analyzer 2.0.0.0
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2024-04-22 18:48:58
You're right sveakul :-) I've been using the V2 of the component since mid-2023.
Good to know it hasn't been abandoned! :)
Looking forward to this still!
Crossover, any chance of a sneak visual preview of what you've been working on and when it might be released?
I'm still working on it. But I need more time than expected because I decided to use OpenGl instead of GDI+ and therefore a large part of the code has to be rewritten. But OpenGl is much faster than GDI+. So it's worth the effort. So far I have been able to solve everything. Here is a current picture of the component.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2024-04-22 18:58:59
Crossover, any chance of a sneak visual preview of what you've been working on and when it might be released?
I was thinking about this and I already PM'd @Crossover but no response or any replies from that, so maybe too busy with other stuffs or is it?

BTW, don't expect the upcoming V2 of this spectrum analyzer component to have similar set of new features and changes as in this fanon wiki page (https://fanon.fandom.com/wiki/Enhanced_Spectrum_analyzer_2.0.0.0) (admittedly, I have some unrealistic expectations about upcoming stuffs), though I guess I might be disappointed if there is no option to use IIR filter bank for frequency bands mode in upcoming Enhanced Spectrum analyzer 2.0.0.0
I'm sorry TF3RDL, but my primary goal is to increase the performance of the component. After I release the OpenGL version of the component, I will take care of your ideas.  Probably not all of them, but may be a few :-) Thanks for your patience.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: sveakul on 2024-04-22 23:32:21
I'm still working on it. But I need more time than expected because I decided to use OpenGl instead of GDI+ and therefore a large part of the code has to be rewritten. But OpenGl is much faster than GDI+. So it's worth the effort. So far I have been able to solve everything. Here is a current picture of the component.
Cool on OpenGL and it looks great.  Thanks for your efforts.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2024-04-23 01:19:54
I'm sorry TF3RDL, but my primary goal is to increase the performance of the component. After I release the OpenGL version of the component, I will take care of your ideas.  Probably not all of them, but may be a few :-) Thanks for your patience.
Oh ok, thanks for switching away from legacy GDI+ to something GPU-accelerated graphics API (probably one of many reasons why the next version of this component take too long to release), but the difference between Direct2D and OpenGL shouldn't matter performance-wise right?

And I understand that my ideas (e.g. IIR filter bank mode as well as adjustable number of bands per-octave for frequency bands mode) might take a lot of time to actually being materialized into this component and it makes sense to have fewer (and not all) ideas made into it
Title: Re: foo_enhanced_spectrum_analyzer
Post by: yeyo on 2024-04-23 09:47:17
I'm still working on it. But I need more time than expected because I decided to use OpenGl instead of GDI+ and therefore a large part of the code has to be rewritten. But OpenGl is much faster than GDI+. So it's worth the effort. So far I have been able to solve everything. Here is a current picture of the component.
[attach width=500 align=center]30325[/attach]
Very well presented interface, I'll keep an eye on it!
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2024-04-27 07:29:05
Work in progress:

- Separate peak and RMS read-outs
- Left/Right and Mid/Side level meters with configurable channel pair.
This upcoming update for another component (foo_vis_spectrum_analyzer) makes me want a stereo balance/phase correlation spectrum (basically Voxengo Correlometer or something like that (https://codepen.io/TF3RDL/pen/gOdWmVN) but FFT) added for Enhanced Spectrum analyzer component

Might be useful to let me visualize what kind of artifacts and/or differences I'm hearing when listen in mono vs. stereo (e.g. the NCS song "Debris & Our Psych - Omerta" have lead synths that so wide to the point it sound slightly different when played in mono), though the FR of allowing simultaneous channels visualization do the same job when Mid/Side channels are visualized, just in a different (level-dependent I guess) representation
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2024-04-27 21:57:34
I'm still working on it. But I need more time than expected because I decided to use OpenGl instead of GDI+ and therefore a large part of the code has to be rewritten. But OpenGl is much faster than GDI+. So it's worth the effort. So far I have been able to solve everything.
@Crossover, any sneak previews of IIR filter bank mode for 1/nth octave bands mode and anything other than switch to OpenGL?
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Musique-Rabbit on 2024-04-28 10:45:24
Just found this beautiful component!
Thanks!
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2024-05-02 02:08:29
Feature request: Show more details on higher frequencies with "Low detail mode" switch, something like this:

With LDM off:
X
With LDM on:
X
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Musique-Rabbit on 2024-05-03 14:14:58
This plugin looks nice in my foobar2000.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2024-05-06 17:22:44
Feature request: Show more details on higher frequencies with "Low detail mode" switch, something like this:

With LDM off:
[attach type=image]30421[/attach]
With LDM on:
[attach type=image]30419[/attach]
Yes, smoothing will be part of the new version:
Title: Re: foo_enhanced_spectrum_analyzer
Post by: Crossover on 2024-05-06 17:23:58
This plugin looks nice in my foobar2000.
Thanks!
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2024-05-06 18:36:38
Yes, smoothing will be part of the new version:
Surely, IIR filter bank can be made wider (lower Q parameter as there is no FFT size parameter for this filter bank-based analysis) while having larger number of bands per-octave to get a smoother spectrum with improved time resolution or responsiveness on lower frequencies (as we can't have narrow bandwidth while having good time resolution on lower frequencies at the same time obviously), try it out yourself by tinkering with "Bandwidth" parameter on my own AudioWorklet-based filter bank spectrum analyzer (https://codepen.io/TF3RDL/pen/MWLzPoO) project

BTW, what I meant by "low detail mode" (BTW the name is borrowed from an option in Geometry Dash that improves performance on lower end PCs) is that when enabled, it tries to avoid drawing more lines if the distance between two points in pixel coordinates in terms of X-axis is within subpixel level (much like foobar2000's built-in "Oscilloscope" visualization), which makes it look more like "Line/Area graph" mode in audioMotion-analyzer (https://audiomotion.dev/demo/fluid.html) than " Spectrum analyzer and spectrogram using custom FFT (https://codepen.io/TF3RDL/pen/VwENJbB)" especially at higher FFT size like 32768
Title: Re: foo_enhanced_spectrum_analyzer
Post by: mycroft on 2024-05-06 20:23:16
Killing all relevant details makes your plugin just a kid toy.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2024-05-06 21:42:26
Killing all relevant details makes your plugin just a kid toy.
While there is some merit for 1/3rd octave bands and 1/1st octave bands as well as the smoothing of the spectrum visualization (e.g. reducing the visual clutter) especially when you focused on the spectral trends instead, unnecessary smoothing do kill off some of the relevant details
Title: Re: foo_enhanced_spectrum_analyzer
Post by: mycroft on 2024-05-07 07:45:11
Not interested in output that have number of distinct bars less than pixel width of image/frame.
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2024-05-07 15:19:15
Not interested in output that have number of distinct bars less than pixel width of image/frame.
Yeah, but it doesn't mean right a "low detail mode" switch that when enabled, avoids drawing more lines if the distance between these two are in subpixel level (e.g. on higher frequencies in logarithmic frequency scale) and when disabled, it draws all FFT bins within specified frequency range right?
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2024-05-07 22:51:49
@Crossover, what about non-power of two FFT sizes like 4800 samples (100ms at 48kHz samplerate)?
Feature request: Being able to set FFT size to specified length in milliseconds instead of samples as get_chunk_absolute() in fb2k SDK takes length in seconds rather than in samples

This makes the window length in seconds/milliseconds samplerate-independent when you set the unit for "FFT size" to milliseconds
Title: Re: foo_enhanced_spectrum_analyzer
Post by: TF3RDL on 2024-05-09 10:49:21
A smoothed spectrum can be achieved just by decreasing the Q value for its filter bank, whereas on FFT-based spectrum, it is a post-processing step