Author Topic: (Version 1.8) Spectrogram Panel Plugin  (Read 101930 times)

sveakul

  • Sr. Member
  • ****
  • Posts: 2438
Just wanted to let you know that the color scheme issue only affects 32 bit (I assume). I just tested every color on the 64 bit build and they all work.

Roger that.  Now I've already made a set of "mood" placeholders for my stream listening, which is about 60% of my MusicBee use.  Switch to music files and there is that beautiful spectrogram, what's there not to like, haha..  The latter makes spotting low-pass disasters a lot simpler/less obtrusive than my previous method (an external VST window).  Thanks again for a fine plugin and for being so responsive.  Now, if we could get you on re-working that Winamp Classic Spectrum Analyzer options GUI..  ;)

zkhcohen

  • Sr. Member
  • ****
  • Posts: 346
(BETA) Update 6: Spectrogram now always shows the full frequency spectrum of the track, regardless of the size of the panel. This works by finding the closest resolution (multiple of 2) and then stretching the image to fit the panel. This also means that substantially fewer images will be generated, and accidental/minor resizes won't trigger new image generation (it will use the best-fit).

sveakul

  • Sr. Member
  • ****
  • Posts: 2438
1.6 up and running, seems to be working just fine here and haven't found a case yet where top of scale wasn't matching top of song frequency, checked with Spek.  Hopefully Mr. Trev is good too.

Different behavior: 1.5 used to load the placeholder.png immediately on start, before any stream or file playback was started;  now it does not.  Actually now is expected behavior so don't try to "fix", haha!  Just like to indicate any differences I've noticed betwen builds.

Great work man.

Mr. Trev

  • Sr. Member
  • ****
  • Posts: 454
I gave it a run, everything seems to be working as intended - mostly…
It did balk when I tossed a 24/192 flac at it (didn't display any image at all). I'm not going to worry much about that, I don't have many files at that sample rate.

But otherwise, the legend is staying at the max rate regardless of window size, the themes that didn't display before do now.
Now I just need to find a layout that'll work for me… (and find somebody to write a plugin that'll do DR range analysis ;) )

Thanks for your work!
Cheers

zkhcohen

  • Sr. Member
  • ****
  • Posts: 346
I gave it a run, everything seems to be working as intended - mostly…
It did balk when I tossed a 24/192 flac at it (didn't display any image at all). I'm not going to worry much about that, I don't have many files at that sample rate.

But otherwise, the legend is staying at the max rate regardless of window size, the themes that didn't display before do now.
Now I just need to find a layout that'll work for me… (and find somebody to write a plugin that'll do DR range analysis ;) )

Thanks for your work!
Cheers

Interesting... can you send me the 24/192 FLAC? I'd like to see if that's my problem or FFMPEG's.

DR analysis would be interesting and I don't see why FFMPEG wouldn't be able to do it - the db scale on the right of the spectrogram legend already adjusts dynamically. I'm going to look into a way of exporting some of those values directly.

It also allows you to compress the DR:

https://ffmpeg.org/ffmpeg-filters.html#compand

Would you be interested in something like this?

http://dr.loudness-war.info/

EDIT:

Just tested it with the following 24/192 flac sample and it works:

http://www.lindberg.no/hires/test/2L-125_stereo-176k-24b_04.flac

Does it have an unusually large file-size or long length? I've had some issues with that on my laptop, but not my desktop.


EDIT 2:

Uploaded a 'hotfix' for some minor image generation issues. Better support for low and high resolutions.
Last Edit: March 17, 2019, 08:13:22 PM by zkhcohen

diljitdosanjh

  • Newbie
  • *
  • Posts: 6
looks interesting and mean while promising.
Keep calm and listen to Punjabi songs while reading the lyrics along with them at lyricsraag.com

Mr. Trev

  • Sr. Member
  • ****
  • Posts: 454
I gave it a run, everything seems to be working as intended - mostly…
It did balk when I tossed a 24/192 flac at it (didn't display any image at all). I'm not going to worry much about that, I don't have many files at that sample rate.

But otherwise, the legend is staying at the max rate regardless of window size, the themes that didn't display before do now.
Now I just need to find a layout that'll work for me… (and find somebody to write a plugin that'll do DR range analysis ;) )

Thanks for your work!
Cheers

Interesting... can you send me the 24/192 FLAC? I'd like to see if that's my problem or FFMPEG's.

DR analysis would be interesting and I don't see why FFMPEG wouldn't be able to do it - the db scale on the right of the spectrogram legend already adjusts dynamically. I'm going to look into a way of exporting some of those values directly.

It also allows you to compress the DR:

https://ffmpeg.org/ffmpeg-filters.html#compand

Would you be interested in something like this?

http://dr.loudness-war.info/

EDIT:

Just tested it with the following 24/192 flac sample and it works:

http://www.lindberg.no/hires/test/2L-125_stereo-176k-24b_04.flac

Does it have an unusually large file-size or long length? I've had some issues with that on my laptop, but not my desktop.


EDIT 2:

Uploaded a 'hotfix' for some minor image generation issues. Better support for low and high resolutions.

The file in question is 14 minutes long. Hope you don't mind if I pass on uploading it to you, it's ~900MB.
The size probably is the issue, I tried a couple shorter tracks off the same album and they did display.

As far as DR was concerned, I was referring to the "Loudness Wars". I was hoping somebody would make a plugin that'll do the same thing as the DR analyzer in Foobar2000 - although there is a new MAAT thing that's supposed to be more accurate

sveakul

  • Sr. Member
  • ****
  • Posts: 2438
@zkhcohen:  Applied the hotfix and I seem to see an improved resolution on my Spectrogram display  :)

@Mr. Trev:  I know it's not identical to DR but you can get a dynamic LUFS reading from one of the meters on the "Unlimited" VST plugin by Sonic Anomaly, which I use with MusicBee.  Of course, not as nice as having a dedicated window like with Spectrogram.
Last Edit: March 18, 2019, 03:40:00 AM by sveakul

zkhcohen

  • Sr. Member
  • ****
  • Posts: 346
Interesting. I'll look into the DR analyzer plugin.

Also, it's safe to say that 900mb is really pushing it. I think since I've verified that the format/bit-rate aren't the issue, I'm going to put it to rest.
Last Edit: March 18, 2019, 09:11:13 AM by zkhcohen

Mr. Trev

  • Sr. Member
  • ****
  • Posts: 454
A dynamic range analyzer plugin would be awesome if you could make one. That's about the only reason I keep Foobar around.
Basically what I use it for is when I'm putting music onto my portable devices. I'll run an analysis on the files I'm going to transfer. Any music that has a low DR rating I'll convert to AAC - why bother with lossless on an album that has a DR rating of 5.
Since this is the only thing I'd use it for I really can't justify paying for the MAAT offline program.

sveakul

  • Sr. Member
  • ****
  • Posts: 2438
Since this is the only thing I'd use it for I really can't justify paying for the MAAT offline program.

Have you tried the freeware TT DR Offline Meter 1.4a?  From the same people as the Foobar plugin I believe:
http://dr.loudness-war.info/downloads/DR-Meter-1_4a.zip

zkhcohen

  • Sr. Member
  • ****
  • Posts: 346
Since this is the only thing I'd use it for I really can't justify paying for the MAAT offline program.

Have you tried the freeware TT DR Offline Meter 1.4a?  From the same people as the Foobar plugin I believe:
http://dr.loudness-war.info/downloads/DR-Meter-1_4a.zip



I tried running that one in conjunction with the VST support plugin for Music Bee, but I haven't had any luck yet.

Still looking into alternatives.

sveakul

  • Sr. Member
  • ****
  • Posts: 2438
I tried running that one in conjunction with the VST support plugin for Music Bee, but I haven't had any luck yet.

Still looking into alternatives.

The documentation indicates that there is both a stand-alone and VST version in the TT-DR installer--did you try the standalone version?  I was thinking that might be convenient to run via MB Tools on selected libray files.  I'd try it myself but DR analysis has really no interest for me, but Mr. Trev might give it a shot.  I did extract the installer via 7-Zip and it shows a "DR-Offline.exe" file and its own folder structure with own graphics as well as a VST dll in a separate folder.

zkhcohen

  • Sr. Member
  • ****
  • Posts: 346
I tried running that one in conjunction with the VST support plugin for Music Bee, but I haven't had any luck yet.

Still looking into alternatives.

The documentation indicates that there is both a stand-alone and VST version in the TT-DR installer--did you try the standalone version?  I was thinking that might be convenient to run via MB Tools on selected libray files.  I'd try it myself but DR analysis has really no interest for me, but Mr. Trev might give it a shot.  I did extract the installer via 7-Zip and it shows a "DR-Offline.exe" file and its own folder structure with own graphics as well as a VST dll in a separate folder.

I was thinking about doing a conversion of the TT-DR CLI someone made for Linux but then I found the ebur128 library in FFMPEG:

Code
FOR %a IN ("*.mp3") DO (ffmpeg -i "%a" -af ebur128 -f null - 2>&1 | FINDSTR /BIC:" " | FINDSTR /C:"LU")


...should analyze every mp3 in a folder and spit out data like this:

Code
C:\Users\zacha\Downloads\Katy Perry - One of the Boys (2008)>(ffmpeg -i "01. One Of The Boys.mp3" -af ebur128 -f null -   2>&1  | FINDSTR /BIC:" "   | FINDSTR /C:"LU" )
    I:          -5.5 LUFS
    Threshold: -15.7 LUFS
    LRA:         5.0 LU
    Threshold: -25.6 LUFS
    LRA low:    -8.9 LUFS
    LRA high:   -3.9 LUFS

C:\Users\zacha\Downloads\Katy Perry - One of the Boys (2008)>(ffmpeg -i "02. I Kissed A Girl.mp3" -af ebur128 -f null -   2>&1  | FINDSTR /BIC:" "   | FINDSTR /C:"LU" )
    I:          -6.5 LUFS
    Threshold: -16.5 LUFS
    LRA:         3.5 LU
    Threshold: -26.5 LUFS
    LRA low:    -8.5 LUFS
    LRA high:   -5.0 LUFS


This is really efficient and the output is easy to work with. I'm no audio engineer, so it'll take a while for me to determine whether this is the best approach.

https://auphonic.com/blog/2012/08/02/loudness-measurement-and-normalization-ebu-r128-calm-act/


EDIT:


The following command will create a text file for each .mp3 which includes the data (including True Peak) at the end:

Code
FOR %a IN ("*.mp3") DO (ffmpeg -i "%a" -af ebur128=peak=true -f null - > %a-output.txt 2>&1)

This would be really easy to implement into a MusicBee Plugin.
Last Edit: March 18, 2019, 09:55:13 PM by zkhcohen

sveakul

  • Sr. Member
  • ****
  • Posts: 2438
Cool, LUFS/R128 is the new standard anyway and it's great the functionality to get the readings is already in ffmpeg.  I assume the "I:" value is the "Intergrated" LUFS value?  Steven changed to R128 for Opus gain tagging not too long ago.  What are your thoughts as far as a GUI display ?  Meters or just numerical values?