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 2.x.x.x feature requests (Read 13091 times) previous topic - next topic - Topic derived from Re: foo_enhanced_spec...
0 Members and 1 Guest are viewing this topic.

foo_enhanced_spectrum_analyzer 2.x.x.x feature requests

@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.
Ok, so I think it is actually better off to have its own thread just for FRs right? So here's the short list of Enhanced Spectrum analyzer that I wished to have for upcoming version 2.x.x.x:
  • Frequency bands mode (already being developed by @Crossover though I think it is not enough)
    • IIR filter bank mode: Alternative transform algorithm that doesn't rely on FFT algorithm and it has logarithmic frequency resolution
    • Adjustable number of bands per octave: I think the making BPO adjustable allow for 1/3rd octave bands analysis and 1/24th ones
  • More frequency scaling options
    • Linear and Mel/Bark/ERB frequency scales in-addition to logarithmic: Frequency bands mode should also accept linear as well as perceptual/psychoacoustic scales but in a different way (this also apply to logarithmic scale but not following octave bands, so it counts as alternate log frequency bands)
    • DC (0Hz) and Nyquist (fs/2) options for lower and upper Hz ranges respectively: As if upcoming adjustable frequency range is not enough
  • FFT (fast Fourier transform)
    • Non-power of two sizes like 576 samples: And also increase the max FFT size to something like 65536 samples
    • A feature to set FFT size in milliseconds instead of samples: The actual FFT size should automatically change depending on the samplerate, kinda like built-in spectrum but better
  • Expanded time smoothing options
    • An option to use linear and even squared amplitude scale for calculation of RMS spectrum and also, exponential and infinite (cumulative) averaging modes should be added too
    • Infinite decay rate mode for all spectrums (especially the RMS spectrum)

BTW for any mods/admins like @Peter, move all of my FRs for foo_enhanced_spectrum_analyzer from its main thread to this new thread I've made just for that, in-order to clean up the mess I've admittedly made on the main thread

And to give an idea on what my suggested (not all) features really mean for foo_enhanced_spectrum_analyzer, here's the relevant "interactive mockups" I've made:

Re: foo_enhanced_spectrum_analyzer 2.x.x.x feature requests

Reply #1
Thank you for starting your own thread.  This will not only allow you all the freedom you need to describe your own ideas, but will allow the developer of the plugin the breathing space to post his own own news and updates in his original thread, which have been sorely missing, without fear of being "bombarded."

BTW, the Interactive Mockups you linked to are interesting;  others might try the Load from Local Device option with a music file, hit play, and then play with the "Visualization Settings" to the right of the web spectrum.

Re: foo_enhanced_spectrum_analyzer 2.x.x.x feature requests

Reply #2
Thank you for starting your own thread.  This will not only allow you all the freedom you need to describe your own ideas, but will allow the developer of the plugin the breathing space to post his own own news and updates in his original thread, which have been sorely missing, without fear of being "bombarded."
Agreed with you and it would be even better if my FRs are migrated to this new topic I've made specifically for that (FRs/wishlists) by forum mods

BTW, I hope @Crossover gets active again and notices that I've made this separate thread out of the main topic, so yeah but as always, don't expect all of my suggestions (including FRs from someone else) to actually be implemented in foo_enhanced_spectrum_analyzer 2.x.x.x

BTW, the Interactive Mockups you linked to are interesting;  others might try the Load from Local Device option with a music file, hit play, and then play with the "Visualization Settings" to the right of the web spectrum.
Yep, but I'm sure that my own ideas on these interactive mockups would also work too on another players like AIMP and even MusicBee assuming if plugin developers noticed that and re-implement these too in a completely different programming language like but not limited to C++ and C#

Re: foo_enhanced_spectrum_analyzer 2.x.x.x feature requests

Reply #3
One of my own "interactive mockups" has been updated: added infinite average spectrum (previously, this mockup of one of my many foo_enhanced_spectrum_analyzer feature requests were private, and now that aspect has been made into the public now as I can now update this project and others)

It will look something like this: (not so obvious when the screenshot is a static image rather than a video or GIF of it)
X

Re: foo_enhanced_spectrum_analyzer 2.x.x.x feature requests

Reply #4
LED-style spectrum bars (for frequency bands mode, which foo_loudness_peakmeter already have I guess), which would look something like this:
https://www.youtube.com/watch?v=bqAz6kpdzNE

One of my own "interactive mockups" has been updated: added infinite average spectrum (previously, this mockup of one of my many foo_enhanced_spectrum_analyzer feature requests were private, and now that aspect has been made into the public now as I can now update this project and others)

It will look something like this: (not so obvious when the screenshot is a static image rather than a video or GIF of it)
BTW, here's a video of a mockup of infinite average spectrum for @Crossover's foo_enhanced_spectrum_analyzer:
https://www.youtube.com/watch?v=3de_QboEr4o

Re: foo_enhanced_spectrum_analyzer 2.x.x.x feature requests

Reply #5
Calibration line "improvement": Use either linear or squared domain instead of logarithmic (dB) for calculating the calibration line based on average of all FFT bins, in-addition to a feature to use actual RMS (FIFO averaging done in squared domain) or linear averaging mode for calculating the RMS spectrum

BTW, here's the video of a mockup of new linear averaging (one of three averaging domains that I've wanted to see in the new version of @Crossover's awesome audio analyzer component) and the return of crest spectrum (that was removed in foo_enhanced_spectrum_analyzer 1.9.2.0) for the upcoming Enhanced Spectrum analyzer 2.0.0.0 update:
https://www.youtube.com/watch?v=BOcHKE7VMsk

Re: foo_enhanced_spectrum_analyzer 2.x.x.x feature requests

Reply #6
BTW, a FIFO averaging done sample-by-sample (when using IIR filter bank instead of usual FFT) is where using Advanced Vector Extensions 2 (AVX2) instruction set can be helpful (if done properly) for foo_enhanced_spectrum_analyzer

Though keep in mind that a component using AVX2 would require your CPU to be quite modern (or more precisely, CPUs released past 2013 with Haswell microarchitecture of Intel CPUs and past 2015 with Excavator microarchitecture of AMD CPUs) unless fallbacks using older SIMD instructions (down to SSE2) are implemented properly in some of these components

Re: foo_enhanced_spectrum_analyzer 2.x.x.x feature requests

Reply #7
For the spectrogram mode I've requested for @Crossover's Enhanced Spectrum analyzer component, I think it should work with IIR filter bank (alternative transform mode) as well, which can look like this:
X
X
on the upcoming foo_enhanced_spectrum_analyzer 2.0.0.0 (or something like that) version, and I would this version could have adjustable hop size for spectrogram speed (for both transformation algorithms) and averaging accuracy (FFT transform only) and for FFT mode, a feature to decouple FFT calculations from rendering would be nice for framerate-independent averaging time and constant scrolling speed for spectrogram display (adjustable via hop size parameter as I've said before)

Re: foo_enhanced_spectrum_analyzer 2.x.x.x feature requests

Reply #8
@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?
I would imagine @Crossover doing video showcase of Enhanced Spectrum analyzer 2.x.x.x you're working on would look like this:
https://www.youtube.com/watch?v=MfAyDDL416w
and this (comparison with Spectralissime perhaps for IIR filter bank mode in foo_enhanced_spectrum_analyzer):
https://www.youtube.com/watch?v=H1hs3QjqqjQ

Re: foo_enhanced_spectrum_analyzer 2.x.x.x feature requests

Reply #9
Here's the spectral descriptor lines (horizontal = Hz, vertical = dB) could possibly look like in foo_enhanced_spectrum_analyzer:
X
Note that monitoring fields for these spectral descriptors (e.g. spectral centroid) are obviously going to be different from this image above and it would look more like ones from foo_loudness_peakmeter

Re: foo_enhanced_spectrum_analyzer 2.x.x.x feature requests

Reply #10
Calibration line "improvement": Use either linear or squared domain instead of logarithmic (dB) for calculating the calibration line based on average of all FFT bins, in-addition to a feature to use actual RMS (FIFO averaging done in squared domain) or linear averaging mode for calculating the RMS spectrum

BTW, here's the video of a mockup of new linear averaging (one of three averaging domains that I've wanted to see in the new version of @Crossover's awesome audio analyzer component) and the return of crest spectrum (that was removed in foo_enhanced_spectrum_analyzer 1.9.2.0) for the upcoming Enhanced Spectrum analyzer 2.0.0.0 update:
https://www.youtube.com/watch?v=BOcHKE7VMsk
This interactive mockup of all graphs on foo_enhanced_spectrum_analyzer (including crest spectrum) has now been published into the public as I'm (and even someone else probably) becoming too impatient for a big update for this @Crossover component perhaps

Here's the spectral descriptor lines (horizontal = Hz, vertical = dB) could possibly look like in foo_enhanced_spectrum_analyzer:

Note that monitoring fields for these spectral descriptors (e.g. spectral centroid) are obviously going to be different from this image above and it would look more like ones from foo_loudness_peakmeter
This is also what I've published into the public too now and the introduction of spectral features is probably one where "Monitoring Fields" area from foo_loudness_peakmeter gets introduced into foo_enhanced_spectrum_analyzer

@Crossover, you can now try these projects I've just made below:
  • Spectral descriptors: This is where monitoring fields are could be introduced into Enhanced Spectrum analyzer component displaying spectral features as the song plays
  • Spectrum visualization with average and crest spectrum: Re-introduction of the crest spectrum from older version of foo_enhanced_spectrum_analyzer but this time it updates at higher refresh rate and are highly-detailed and also, the averaging domain can now be selected to linear, squared, and logarithmic

Re: foo_enhanced_spectrum_analyzer 2.x.x.x feature requests

Reply #11
@Crossover, here's a closed-form equation for K-weighting curve:
Code: [Select]
const c2 = 4284900, // from 2070
      z2 = 1690000, // from 1300
      f = 80,
      f2 = x ** 2,
      s = Math.sqrt((1 + (f2) / z2) / (1 + (f2) / c2)), // shelving part
      l = ((x/f) ** 2)/Math.sqrt(0.5*(1 - (x/f) ** 2) ** 2 + (x/f) ** 2) / Math.SQRT2; // lowpass part

return s*l;
where "x" is frequency in Hz and "Math.SQRT2" is the square root of two

Re: foo_enhanced_spectrum_analyzer 2.x.x.x feature requests

Reply #12
@Crossover, how about bringing reassignment method into foo_enhanced_spectrum_analyzer (especially when spectrogram mode is added)? Which sharpens the frequency resolution without losing time resolution, which AU5 mentioned this in his YT video showing this below:
https://www.youtube.com/watch?v=8J4LE9UpxYU
BTW, I made this interactive project about reassigned FFT for anyone who are interested on audio spectral analysis

Re: foo_enhanced_spectrum_analyzer 2.x.x.x feature requests

Reply #13
More graph coloring options (beyond horizontal or vertical color gradient modes would be appreciated:
  • Intensity (Horizontal B in foo_musical_spectrum): Color gradient index for each band/bin are based on the current amplitude (scaled according to graph amplitude scale settings)
  • dB (no equivalent setting in foo_musical_spectrum): Similar to Vertical A gradient from foo_musical_spectrum, but it is based on decibels in terms of colorstop positions
  • Notes (no equivalent setting in foo_musical_spectrum): Coloring is based on band's center frequency, repeating every octave
  • Scaled (Vertical C in foo_musical_spectrum): Gradient's start and end positions for each band is based on current amplitude (from the bottom to the top point, which depends on each band's current amplitude)
  • Shifted (Vertical B in foo_musical_spectrum): Similar to "Scaled" gradient mode, but instead of colorstop locations being "scaled", it simply shifts differently per-band depending on current amplitude; the gradient start position is shifted depending on the amplitude as opposed to being at the bottom

These above are showcased in my own frequency bands spectrum analyzer project over CodePen, with color gradient "Voice-Change-o-Matic", "Rainbow", "Scaled gradient" and "Shifted gradient" demonstrated each mode I've suggested for foo_enhanced_spectrum_analyzer, though the "intensity" gradient mode do already exist in foo_vis_spectrum_analyzer, and what is not showcased is:
  • Frequency tracking: Solid color, where the actual color is gathered from the gradient at specified position defined to spectral feature's current value in Hz (including spectral peaks, not just spectral centroid, rolloff, or even spectral spread)
  • Frequency indices: Horizontal gradient where colorstop position is derived from band's center frequencies rather than screen position
  • Spectral features: Displays spectral slope, kurtosis, flatness, and skewness by changing colors

Obviously, not all color gradient modes are going to be in Enhanced Spectrum analyzer 2.0.0.0 but I expect these ones (the first 5 of them) that are already showcased on my own interactive mockups hosted in CodePen

BTW, here's a mockup of phase correlation (bottom) and stereo balance (top) spectrum visualization:
X

And also the separate channels visualization (in stacked display layout):
X (stereo, 65536 samples FFT)
X (5.1 surround, 4096 samples FFT)

Also, since I've implemented channel configuration (still no simultaneous channel display) options for my analog-style analyzer project, it should give @Crossover an idea to have custom Mid/Side pair (where first and second channel can be freely selected, allowing comparison with center channels and LFE or each other)

Re: foo_enhanced_spectrum_analyzer 2.x.x.x feature requests

Reply #14
BTW, here's a mockup of phase correlation (bottom) and stereo balance (top) spectrum visualization:
Now for @Crossover and even @pqyt (for foo_vis_spectrum_analyzer), you can try the phase correlation and stereo image spectrum through my own AudioWorklet-based dual-channel FFT

BTW, here's the idea of displaying phase information as color hue changing:
https://www.youtube.com/watch?v=oh0AEdaCBso
which works best for spectrogram visualization since this video above contains seizure-inducing flashing colors

Re: foo_enhanced_spectrum_analyzer

Reply #15
@Larryg49

I find every mention of the fake and non-existing 2.0.0.0 and accompanying mockup pics in this thread annoying at best.
Unfortunately I had to agree with you and admit that posting mockups and links to Fanon Wiki articles a lot on this thread becomes an annoyance for users and even the developer, and at the time before @regor posted something about my doings, I didn't know that posting a lot of FR stuffs could become annoying af, and to make matters worse, it polluted the search results about this component with fake version 2.x.x.x and mockup images and videos

After I've realizing it becomes an annoyance, I've made separate FR (feature request) threads like this in order for this thread to focus more on non-FR stuffs

BTW, the mockups images and videos like this below are very easy to discern from the real foo_enhanced_spectrum_analyzer 1.9.2.0 (including previous versions) and even screenshots of the actual upcoming new version by @Crossover, with how text labels are positioned:
https://www.youtube.com/watch?v=KpWMtAj0p1k

Like Sveakul said, use panels/buttons to display the analyzers that are available. You don't have to choose for one or another. They all have their merits.
Agreed, with foo_enhanced_spectrum_analyzer being focused more for some useful analysis and foo_vis_spectrum_analyzer (and others like foo_uie_vis_channel_spectrum and even built-in "Spectrum") for aesthetically-pleasing visualizations though foo_vis_spectrum_analyzer can be used for analysis purposes too I think. However, I should noted that the IIR filter bank modes in @pqyt's foo_vis_spectrum_analyzer are poorly-implemented (therefore it looks wrong and significantly different from my own browser-based spectrum analyzer), therefore it doesn't count on my merits.

Also, you can have multiple instances of the same foo_enhanced_spectrum_analyzer with different settings for each instance

Re: Re: foo_enhanced_spectrum_analyzer

Reply #16
I had to agree with you and admit that posting mockups and links to Fanon Wiki articles a lot on this thread becomes an annoyance for users and even the developer,
After I've realizing it becomes an annoyance, 

So, since you've come to this realization, it's time for you to either,
1.   Give us a working component incorporating all the wonderful features you describe, OR
 2.   Go away -- please !  >:(
3. instead of fb2k use mpv with showcwt filter
4. Get AudioSurf and Audiosurf 2 to feel the vibe while letting the @Crossover and not rush the upcoming big update

BTW, here's the features I think it is needed for this component to win over AudioSurf games:
  • Linear and squared averaging domains to beat and vibe harder than AudioSurf's [as-steep] tag and get over Erio - Error 2.0, Suno/Udio slop, and Brazilian Funk in terms of the vibe
  • IIR filter bank algorithm to make Enhanced Spectrum analyzer hit and punch harder than AudioSurf 1 Ninja Mono and Audiosurf 2 Wakeboard mode thing in terms of vibe of trap, dubstep, psytrance and bass boosted songs
  • Spectrogram and waterfall display (combined spectrum analyzer and spectrogram) modes to win over freeride and visualizer modes from AudioSurf in terms of vibing
  • Exponential averaging mode to make foo_enhanced_spectrum_analyzer vibe harder than [as-caterp]+[as-wb100]
  • Separate channels display and Mid/Side modes to make it vibe better than Double Vision characters and [as-everybodymono], [as-nogrey] and [as-allgrey] respectively
  • Stereo spectrum analyzer and correlation by frequency display to vibe better and harder than [as-bankcam], [as-swind], and Pusher
  • Infinite decay rate mode to make it punchier than Audiosurf 2 in terms of vibing
  • Reassigned FFT to vibe harder than [as-allgrey]+[as-caterp] on hardstyle with reassigned spectrogram on Enhanced Spectrum analyzer
  • Spectral centroid and other spectral features display and monitoring fields to make FESA2/ESA2 vibe and rock better than with Audiosphere mode from Audiosurf 2, even better with spectrogram display
  • Make calibration line calculation source selectable to make FESA/ESA vibe better to songs than Audiosurf especially when peak as a "source" is selected
X
Also, I've call Enhanced Spectrum analyzer (foo_enhanced_spectrum_analyzer) a FESA or ESA and the upcoming version 2.x.x.x an FESA2/ESA2

foo_loudness_peakmeter

Reply #17
So, since you've come to this realization, it's time for you to either,
1.   Give us a working component incorporating all the wonderful features you describe, OR
 2.   Go away -- please !  >:(
3. instead of fb2k use mpv with showcwt filter
4. Get AudioSurf and Audiosurf 2 to feel the vibe while letting the @Crossover and not rush the upcoming big update
BTW, here are features I think Loudness Peakmeter needs to beat AudioSurf games in terms of vibing to it:
  • LUFS bars to reel like FabFilter Pro-L2 and vibe better than watching camera zoom and track colors change in AudioSurf
  • Peak/RMS meter and clipping indicators on the graph to make foo_loudness_peakmeter vibe more than tunnels in AudioSurf
  • Pan meter and phase correlation metering to make Loudness Peakmeter rock better and harder than [as-bankcam] and [as-swind] tags respectively
  • Option to hide graphs to make smaller compact forms of FLPM2/LPM2 an extra oomph vs. Audiosurf and Suno/Udio AI Slop content on music streaming services and Brazilian Funk/Phonk
X
Also, I've call Loudness Peakmeter (foo_loudness_peakmeter) a FLPM or LPM and the hypothetical version 2.x.x.x an FLPM2/LPM2

Re: Re: foo_enhanced_spectrum_analyzer

Reply #18
Whatever happened to your declaration of posting your own requests/comments to your own personal thread so we don't have to look at them here?  All you are doing here is making sure that no one else, including yourself, will ever see a new version of foo_enhanced_spectrum_analyzer (or loudness_peakmeter) again.

Moderators:  surely the deliberate, graffiti-like disruption of a component thread is not tolerated here?

Re: Re: foo_enhanced_spectrum_analyzer

Reply #19
Whatever happened to your declaration of posting your own requests/comments to your own personal thread so we don't have to look at them here?  All you are doing here is making sure that no one else, including yourself, will ever see a new version of foo_enhanced_spectrum_analyzer (or loudness_peakmeter) again.
I should have been posted these on my own thread dedicated to FRs for two components made by @Crossover even for April Fools day but again, I think doing other stuffs like playing Audiosurf games should maintain the patience of these two components getting an update

Also, the "making sure that no one else, including yourself, will ever see a new version of foo_enhanced_spectrum_analyzer (or loudness_peakmeter) again" part means eternal wait and these two components becoming abandonware right?
Moderators:  surely the deliberate, graffiti-like disruption of a component thread is not tolerated here?
Unfortunately, I'll admit that it is actually garbage move even if in April Fools day (last time I've posted an obviously fake update on the component download thread on April Fools day) so mods, move my latest post to either offtopic (if it is actually a funny joke but serve no purpose besides joking), my own FR threads for each two components, or recycle bin (if it is garbage ToS-breaking indeed)

[APRIL FOOLS] foo_enhanced_spectrum_analyzer 2.0.0.0

Reply #20
Recently, I saw this video by @Crossover showcasing the version 2.0.0.0 of foo_enhanced_spectrum_analyzer component:
https://youtu.be/ipMOeRhpm60?feature=shared

Spoiler (click to show/hide)

 

Re: foo_enhanced_spectrum_analyzer 2.x.x.x feature requests

Reply #21
Or use actual real software and not red-herring.