Skip to main content

Notice

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

Re: foo_enhanced_spectrum_analyzer

Reply #175
Love this component, but just a couple of anomalies:

Even though I have tooltips turned on, I don't get a readout of the note frequency when I hover over a frequency bar, like I did with the old Musical Spectrum. Any way to do this?

Also, the vertical Octave divider lines don't coincide exactly with the actual frequency bars, which look kinda messy. If there's a setting I'm missing, please let me know. I'm trying to get as close to the old Musical Spectrum settings I had, as possible.

Re: foo_enhanced_spectrum_analyzer

Reply #176
Another weird one, it seems to lag significantly behind the audio, what's the setting I need to adjust to get it in sync with the music?

Re: foo_enhanced_spectrum_analyzer

Reply #177
Another weird one, it seems to lag significantly behind the audio, what's the setting I need to adjust to get it in sync with the music?
While there is no such thing as "Reaction alignment" parameter as in foo_vis_spectrum_analyzer, you can lower the FFT size to 4096 or lower to get better sync through it loses the frequency resolution and also, the amount of delay ahead actual playback in proportion of FFT size parameter is exactly the same as this relevant CodePen project with something like "delay compensation" enabled

BTW, I would assume that if IIR filter bank mode is added, the filter bank-based musical spectrum doesn't have this problem of lagging behind the audio and have equal resolution for all frequencies in logarithmic frequency scale

Re: foo_enhanced_spectrum_analyzer

Reply #178
Feature request (for another FR to display multiple channels at once): Treat stereo pairs or Mid/Side representations as complex numbers for FFT input data

As in the Codepen project " Spectrum analyzer and spectrogram using custom FFT ", the first graph is as it is but the second one is exactly the same as one but flipped (looking at "negative" frequencies) in FFT bin index ordering

Re: foo_enhanced_spectrum_analyzer

Reply #179
Last time, I have a dream where this component (foo_enhanced_spectrum_analyzer) got an update that added IIR filter bank mode for octave bands mode

I hope this dream came true O:)

Re: foo_enhanced_spectrum_analyzer

Reply #180
Love this component, but just a couple of anomalies:

Even though I have tooltips turned on, I don't get a readout of the note frequency when I hover over a frequency bar, like I did with the old Musical Spectrum. Any way to do this?
There is no such thing as tooltips for foo_enhanced_spectrum_analyzer currently, though sneak peeks posted by @Crossover suggests that upcoming version 2.0.0.0 for Enhanced Spectrum analyzer component could have tooltips added

Also, the vertical Octave divider lines don't coincide exactly with the actual frequency bars, which look kinda messy. If there's a setting I'm missing, please let me know. I'm trying to get as close to the old Musical Spectrum settings I had, as possible.
BTW, do you mean foo_vis_spectrum_analyzer instead of foo_enhanced_spectrum_analyzer?

Because again, frequency bands mode is currently not available for Enhanced Spectrum analyzer component, though upcoming Enhanced Spectrum analyzer 2.0.0.0 could have one, like my dream I've experienced last time where this component got an update that not only added Musical Spectrum-esque bars but also an option to use IIR filter bank instead of FFT

Re: foo_enhanced_spectrum_analyzer

Reply #181
Thanks, ah yes, think I posted in the wrong thread! Very confusing having two components with very similar functions and names!

Re: foo_enhanced_spectrum_analyzer

Reply #182
Thanks, ah yes, think I posted in the wrong thread! Very confusing having two components with very similar functions and names!
Yep, your posts (that is actually about foo_vis_spectrum_analyzer) almost made me think that version 2 of this component was released when really is not yet

Re: foo_enhanced_spectrum_analyzer

Reply #183
BTW (for those who looking forward for an update for this component), this is what would my dream I've experienced last time where this component got an update probably looked like:
X
X

Re: foo_enhanced_spectrum_analyzer

Reply #184
Couple of (seemingly-endless) feature requests for this component: Infinite decay rate mode, fading peaks, and difference coloring for labels and grids

As for the first, it works best if enabled by default for "Average" spectrum (alongside 0ms hold for Average spectrum by default), but it can be anything including "Peak" spectrum because foobar2000's built-in Spectrum and old foo_musical_spectrum by @fismineur doesn't have slow falloff for main bar unlike in Spectralissime and this component, and what this setting does is completely remove the gradual falloff (and the make this visualizer react the fastest as possible) and to avoid flickering look, it cumulates peaks since previous frame, up to 576 samples (only on "Peak" spectrum and IIR filter bank is used instead of FFT)

As for the second, it is an aesthetic look for peaks, very similar to audio visualizer from Geometry Dash 2.2 (in terms of fading peaks) and it is for "Peak Max" spectrum, works best when "infinite falloff" is turned on as in the first FR on this post

As for the third, it helps (to see the labels or grid more clearly) when the spectrum and label/grid shares its colors by using the blending operation similar to CanvasRenderingContext2D.globalCompositeOperation = 'difference' for the grid and labels, something like this:
X
X

Re: foo_enhanced_spectrum_analyzer

Reply #185
I have several questions about this component that I originally posted over PMs to @Crossover that haven't responded to me and I feel like some of my questions originally directed towards the dev can be answered by anyone else:
  • Are sinc/Lanczos interpolation used on frequency bands mode when not using IIR filter bank mode? If not, what other FFT bin interpolation is used?
  • Was setting window function does actually nothing, a regression introduced in version 1.9.2.0?
  • Speaking of IIR filter bank analyzer, have @Crossover saw these filter bank-based octave band analyzers besides my own CodePen project about the filter bank spectrum analyzer?
  • Do you think that use of AVX2 and/or even AVX512 instructions is necessary for foo_enhanced_spectrum_analyzer especially with IIR filter bank mode (especially with steep 192dB per octave rolloff and 1/48th octave bands)?
  • BTW, are @Crossover busy with other stuff? Since I haven't seen you replying to my PMs nor seen you posting something new on this thread nor anywhere else yet
  • Should this component (including Loudness Peakmeter) be listed in official foobar2000 Components Repository site?
  • What you're actually doing stuffs if you're not active on HydrogenAudio forums?
  • When will be the beta version of Enhanced Spectrum analyzer 2.0.0.0 that we can check them out?
  • For sanity check, is it realistic for upcoming version of Enhanced Spectrum analyzer 2.x.x.x to meet up my expectations and/or look similarly to these mockups I've made?

BTW, an adjustable number of bands-per-octave is needed for 1/3rd and full-octave bands analyzer (even 1/24th, 1/48th, 1/96th, and even 1/192th octave bands) in this component

Re: foo_enhanced_spectrum_analyzer

Reply #186
  • What you're actually doing stuffs if you're not active on HydrogenAudio forums?
Maybe watching TV or visiting friends or.. ;)

I don't think crossover is working for/towards anyone's personal design expectations besides his own.

TF3RDL, your theoretical and conceptual knowledge of spectrum implementation is impressive.  What I don't understand is why you don't make the jump from CodePen to plugin development yourself?  You're bursting with good ideas, make them happen, instead of just cajoling others here to do so.

Re: foo_enhanced_spectrum_analyzer

Reply #187
I don't think crossover is working for/towards anyone's personal design expectations besides his own.

TF3RDL, your theoretical and conceptual knowledge of spectrum implementation is impressive.  What I don't understand is why you don't make the jump from CodePen to plugin development yourself?  You're bursting with good ideas, make them happen, instead of just cajoling others here to do so.
Agreed with the first sentence, while I made these CodePen projects (because I started programming in JavaScript to make interactive stuffs that any DSP nerds might get interested) that have some good ideas, I don't have necessary programming skills to make actually a foobar2000 component (which in turns requires learning C++ and setting up Visual Studio/VS correctly for fb2k component development I guess) myself

BTW, "cajoling" means persistently begging others (in this case, @Crossover) to make something that I don't have necessary skills (in this case, my ability or lack thereof to program a fb2k component on C++) to make it happen, which could be a bad idea right? Considering letting @Crossover cook this new update would be a good idea

Re: foo_enhanced_spectrum_analyzer

Reply #188
BTW, another feature request for this component that is for nerds: Monitoring fields (from Loudness Peakmeter component)

Displays single-valued spectral features like spectral centroid, flatness, slope, rolloff, spread, skewness, kurtosis, and crest (not to be confused with Crest spectrum that I'd like to be brought back from the old version of this component as spectral crest feature is single-valued; it visualizes the difference between max of and RMS of the entire FFT spectrum), and each spectral features on monitoring fields area has a bar that display the current value in-addition to the value in text unlike the Loudness Peakmeter, which only display the current value in a text form

Also, I love to see displaying lines showing current spectral centroid/rolloff/spread values in Hz and scaled accordingly to the graph's X-axis scale and frequency range

Re: foo_enhanced_spectrum_analyzer

Reply #189
@Crossover, any chances of sneak preview videos (or even a YouTube video or series of it) of what you've been working on the features like IIR filter bank and infinite averaging mode I've suggested for this component?

Re: foo_enhanced_spectrum_analyzer

Reply #190
  • What you're actually doing stuffs if you're not active on HydrogenAudio forums?
Maybe watching TV or visiting friends or.. ;)
Only time will tell if it is true or not, only when @Crossover is active again (and hopefully answering some if not most of my questions)

And I think rushing this anticipated update out would come out as a very buggy one and have negative experience with this otherwise awesome component, so I hope it won't happen

Re: foo_enhanced_spectrum_analyzer

Reply #191
^I expect your obsessive compulsive weirdo stalker like behaviour has scared Crossover off for good. :/

Re: foo_enhanced_spectrum_analyzer

Reply #192
^I expect your obsessive compulsive weirdo stalker like behaviour has scared Crossover off for good. :/
Oh well, this sucks if it's true (again, only time will tell when @Crossover is active again and debunk my misconceptions about him) when comes to @Crossover probably ghosted me, perhaps unintentionally

BTW, if that's in the case, what are reasons for why would my feature request posts "scared" him off for an indefinite amount of time?

As I said before, better off letting him cook the new foo_enhanced_spectrum_analyzer 2.x.x.x and obviously, just because he didn't reply doesn't mean he didn't read my posts

Re: foo_enhanced_spectrum_analyzer

Reply #193
Could you explain what info the red calibration line, rising up and falling down shows? What it is exactly?

Re: foo_enhanced_spectrum_analyzer

Reply #194
Could you explain what info the red calibration line, rising up and falling down shows? What it is exactly?
The calibration line is an average of all RMS spectrum data points, shown as horizontal line


Re: foo_enhanced_spectrum_analyzer

Reply #196
BTW, the reason for going for a cascaded IIR biquad filter bank (when comes to feature requests for adding an alternative transform algorithm for this spectrum analyzer component) over other CQT/VQT (including sliding DFT versions and Brown-Puckette CQT/VQT that relies on complex-valued FFT data) algorithms is because it has better performance over CQ-sDFT and its temporal response is somewhat closer to human auditory system (which is AFAIK, an IIR filter bank although not exactly logarithmic but somewhat close)

So, do anyone prefer this:
X
over this:
X
for frequency resolution thing on upcoming musical spectrum bars mode on this component?

Re: foo_enhanced_spectrum_analyzer

Reply #197
BTW, I forget to mention that SWIFT transform algorithm (and VQT mode) do exist too in my own project, so for @Crossover, what about a different kind of IIR filter bank like this below?
X

So if you didn't know, Spectrolizer (an Android app that doesn't use FFT for realtime spectrum/spectrogram analysis) and Alexander Iskhakov's Continuous Psycho-acoustic Spectrum Analysis uses a different kind of IIR filter bank that behaves just like my variable-Q SWIFT transform

Re: foo_enhanced_spectrum_analyzer

Reply #198
BTW, speaking of different window function not applying properly, I've tested the old 0.9.4.2 version of this component and the same thing happened here too, it stays using the Hann window when using window functions other than default. So it is less of the "regression"

 

Re: foo_enhanced_spectrum_analyzer

Reply #199
@TF3RDL could you stop endlessly spamming the thread? It' so tiring to open the thread for news and getting another reply to yourself by you. I mean, if you want to create a new thread with your suggestions, fine. But right now 90% of posts from this thread are yours, not adding anything to the discussion or bringing anything new to the component development (just your infinite requests). Other people have pointed you the same.