Author Topic: CoolEdit Nostalgia visualizer  (Read 34652 times)

kamen

  • Jr. Member
  • **
  • Posts: 105
Yes, sometimes the accent color is used for the text and not for the background - the thems with white or black background. But even then, the results are good enough! I'll try your improved version as it makes sense.

One thing worth noticing is the bug when using high contrast windows theme. Then the selection background color is replaced by the system!
I did a workaround for using the thin border of the selection rectangle when System.Windows.Forms.SystemInformation.HighContrast property is true.


TF3RDL

  • Jr. Member
  • **
  • Posts: 47
Wouldn't an IIR filter bank mode (alternative to FFT transform mode) have 3dB per octave upward slope on white noise since it is constant-Q (aka. logarithmic frequency resolution)?

kamen

  • Jr. Member
  • **
  • Posts: 105
Wouldn't an IIR filter bank mode (alternative to FFT transform mode) have 3dB per octave upward slope on white noise since it is constant-Q (aka. logarithmic frequency resolution)?
In the current v4.5 there is an adequate calibration, similar to what you describe. I'll recheck those adjustments to make sure they still work well with the newest changes.

I'm currently trying to reproduce the clean end of the FFT spectrum, which BASS produces:


Not only the clean end, but also there is some stretching to the values.
Compared to the beloved CoolEdit, it also produces similar clean end, but the values aren't that much vertically stretched:

I think what is equal are the peaks values, and the rest is left to some interpretation. The screenshots are illustrative here, not an exact comparison.

TF3RDL

  • Jr. Member
  • **
  • Posts: 47
I'm currently trying to reproduce the clean end of the FFT spectrum, which BASS produces:


Not only the clean end, but also there is some stretching to the values.
Compared to the beloved CoolEdit, it also produces similar clean end, but the values aren't that much vertically stretched:

I think what is equal are the peaks values, and the rest is left to some interpretation. The screenshots are illustrative here, not an exact comparison.
Spectral leakage from not applying any window function (aka. rectangular window) before FFT?

Also, my own window function I've implemented in my own CodePen projects related to spectrum visualization assumes that x is within -1...+1 range, which must be mapped correctly (from 0...(buffer length - 1) to -1...+1) to properly apply a window function

kamen

  • Jr. Member
  • **
  • Posts: 105
Spectral leakage from not applying any window function (aka. rectangular window) before FFT?

Also, my own window function I've implemented in my own CodePen projects related to spectrum visualization assumes that x is within -1...+1 range, which must be mapped correctly (from 0...(buffer length - 1) to -1...+1) to properly apply a window function
Yes, thank you for pointing this out. Now it makes sense.
Indeed CoolEdit has a couple of windowing functions to choose from, and what I observed with my leakage is more like Hamming function. In fact any other windowing function than that looks good!

TF3RDL

  • Jr. Member
  • **
  • Posts: 47
since, I have an AudioWorklet-based peakmeter that works on multichannel audio (more than 2 channels) and I've figured out how to implement Mid/Side mode for multichannel (5.1 and 7.1 surround sound as well as 2.1 stereo and quadraphonic) case on my own new peakmeter, how about adding a feature to display spectrum of all channels (and its M/S representations of each surround pair) on 5.1 surround in kamen's CEN plugin?

kamen

  • Jr. Member
  • **
  • Posts: 105
I want to put an end for new things for this release, as I want to finish the version 5.0 any time soon.

Any other new features will have to wait for now. But new ideas are always welcome!

@TF3RDL:
Mid/Side is coming with version 5.0.


kamen

  • Jr. Member
  • **
  • Posts: 105
At last version 5.0 is here!
(wait for a while till it gets approved)

A lot has been done, thanks to the help from TF3RDL, sveakul, boroda and Steven!

The new version supports 3 sample sources:


The RAW API is the new one, freshly developed by Steven for MB3.6. Earlier versions have to use DSP or the native FFT.

For the DSP you'll need the dsp_nostalgia.dll

 To use the RAW API - mb_nostalgia.dll

Both are c++ plugins which pick and transform the audio samples.


Among the new things are:
-Mid/Side channels option- makes sense only for DSP or RAW API sources!
-More flexible and resizable/expandable Note Scale
-Support for cubic spline interpolation
-Automatic generation of skin-colored vizualization
-Different Fourier transformation sizes - 2,4,8K


On how to setup the RAW API:
-Use MusicBee 3.6.9041 or newer (the latest patch).
-Use the latest MusicBeeBass.dll from Steven.

MusicBee 3.6.9042 has already the MusicBeeBass.dll into the zip package:
https://getmusicbee.com/patches/MusicBee36_Patched.zip

Any suggestions, ideas and bug reports are welcome.
Last Edit: October 03, 2024, 01:11:36 PM by kamen

sveakul

  • Hero Member
  • *****
  • Posts: 3267
Thanks kamen for 5.0, a beautiful culmination of a lot of hard work.  Am trying the new RAW api with Fourier 4K and it never looked/performed better.

One thing that could be called a "bug:"  when a theme is saved using the new "custom name" option (thanks for this!), it is indeed saved in AppData, but it does not appear in the theme selection list--only if it is saved using the "default name" option will it appear as a selection.  A quick fix?

kamen

  • Jr. Member
  • **
  • Posts: 105
Thanks kamen for 5.0, a beautiful culmination of a lot of hard work.  Am trying the new RAW api with Fourier 4K and it never looked/performed better.

One thing that could be called a "bug:"  when a theme is saved using the new "custom name" option (thanks for this!), it is indeed saved in AppData, but it does not appear in the theme selection list--only if it is saved using the "default name" option will it appear as a selection.  A quick fix?
Happy it works well for you, and the essential things work.
The save dialog suggests a name like this "CoolEdit_Nostalgia_041024121005.ini", which is the default. Replace the "041024121005" with whatever you like: "CoolEdit_Nostalgia_Example.ini".
You can rename any of the saved files manually at any time, while preserving the file name prefix.

sveakul

  • Hero Member
  • *****
  • Posts: 3267
Happy it works well for you, and the essential things work.
The save dialog suggests a name like this "CoolEdit_Nostalgia_041024121005.ini", which is the default. Replace the "041024121005" with whatever you like: "CoolEdit_Nostalgia_Example.ini".
You can rename any of the saved files manually at any time, while preserving the file name prefix.
I believe I had changed the name prefix, which explains why they weren't displayed.  Of course I deleted them (duh!) but that had to be it, works fine now!  Just an observation, the file version of the two 5.0 CEN dll's still show as "4.5.0.0." in the Windows Properties/Details pane.

sveakul

  • Hero Member
  • *****
  • Posts: 3267
Forgot to mention, thanks for the fix on the bar width slider, plenty of leeway and it stays put.

kamen

  • Jr. Member
  • **
  • Posts: 105
One more thing on my mind regarding the saved themes and settings:

The Source menu settings and Direct2d (enabled/disabled) do not get loaded from the theme files. So they remain common for all themes... so to say.

sveakul

  • Hero Member
  • *****
  • Posts: 3267
Anomaly just noticed:  when using RawAPI 4K, occasionally there is a "blip" of small spectrum at the extreme right end of the kHz scale which seems unrelated to the source freqencies, i.e. not just an occasional very high frequency actually from the source.  This disappears when changing to MusicBee Native Fourier.  Using Linear for scale and interpolation, Normal dB, Time 75ms/60fps  Two shots from bars and regular:

kamen

  • Jr. Member
  • **
  • Posts: 105
Anomaly just noticed:  when using RawAPI 4K, occasionally there is a "blip" of small spectrum at the extreme right end of the kHz scale which seems unrelated to the source freqencies, i.e. not just an occasional very high frequency actually from the source.  This disappears when changing to MusicBee Native Fourier.  Using Linear for scale and interpolation, Normal dB, Time 75ms/60fps  Two shots from bars and regular:
I think you've found something important.

To test it further I set the resemple setting of the MB output to 96khz of a normal 48khz audio file. Then I observed the same artifacts in the zone above 24khz (where there isn't any audio). The artifacts are not present on the DSP source, although the same algorithm pipeline is used for both.

Here are the screenshots (first RAW API, then DSP):



It seems to me that the RAW API can have some kind of synchronization problem. But I'm speculating here. Maybe Steven has more to say on that.