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: Loudness Range (LRA) measuring in Foobar (Read 7190 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: Loudness Range (LRA) measuring in Foobar

Reply #50
In the LUFS.txt there's a small glitch in the style script for CUI I think. It mentions "$if($get(PLR)," should be "$if($get(LUFS)," imo since PLR is not determined possible.
Right, thanks for the report

Hi @regor,
is it posiible to use/display your LRA without instaliing any scripts just using DUI.?

Regor's tool does write a tag LRA per scanned track. After scanning you can display those somewhere where title formatting is accepted just referring to [%LRA%].
LUFS and PLR are based on replaygainvalues and are thus available after replaygain has been scanned. Pretty long oneliners though. Available in track and album mode.
DR values need a separate DR scan that write track and album values in [%dynamic range%] and [%album dynamic range%]

It is all quite straightforward.

I know how DR and LIFS/PLR work and asked if LRA is obtainable the same/similar way.
I do not have Spider Monkey Panel nor any other macro, script or sth. I just have normal DUI and display additional Columns in it.
I presume that in order to use Regors tool I wolud have to install such add-ons (which I am not very keen on doing - I like normal Columns, do not want Foobar to grow up in space and resources and do not know how to use/write scripts etc.).

Re: Loudness Range (LRA) measuring in Foobar

Reply #51
In the LUFS.txt there's a small glitch in the style script for CUI I think. It mentions "$if($get(PLR)," should be "$if($get(LUFS)," imo since PLR is not determined possible.
Right, thanks for the report

Hi @regor,
is it posiible to use/display your LRA without instaliing any scripts just using DUI.?

Regor's tool does write a tag LRA per scanned track. After scanning you can display those somewhere where title formatting is accepted just referring to [%LRA%].
LUFS and PLR are based on replaygainvalues and are thus available after replaygain has been scanned. Pretty long oneliners though. Available in track and album mode.
DR values need a separate DR scan that write track and album values in [%dynamic range%] and [%album dynamic range%]

It is all quite straightforward.

I know how DR and LIFS/PLR work and asked if LRA is obtainable the same/similar way.
I do not have Spider Monkey Panel nor any other macro, script or sth. I just have normal DUI and display additional Columns in it.
I presume that in order to use Regors tool I wolud have to install such add-ons (which I am not very keen on doing - I like normal Columns, do not want Foobar to grow up in space and resources and do not know how to use/write scripts etc.).

You need something to calculate and write the LRA values in the tags.

As far as I know there no component that readily does this for you like Replaygainscanner or DR (foo_dynamic_range). Only Regor's stuff does and that runs in SMP.

Re: Loudness Range (LRA) measuring in Foobar

Reply #52
In the LUFS.txt there's a small glitch in the style script for CUI I think. It mentions "$if($get(PLR)," should be "$if($get(LUFS)," imo since PLR is not determined possible.
Right, thanks for the report

Hi @regor,
is it posiible to use/display your LRA without instaliing any scripts just using DUI.?

Regor's tool does write a tag LRA per scanned track. After scanning you can display those somewhere where title formatting is accepted just referring to [%LRA%].
LUFS and PLR are based on replaygainvalues and are thus available after replaygain has been scanned. Pretty long oneliners though. Available in track and album mode.
DR values need a separate DR scan that write track and album values in [%dynamic range%] and [%album dynamic range%]

It is all quite straightforward.

I know how DR and LIFS/PLR work and asked if LRA is obtainable the same/similar way.
I do not have Spider Monkey Panel nor any other macro, script or sth. I just have normal DUI and display additional Columns in it.
I presume that in order to use Regors tool I wolud have to install such add-ons (which I am not very keen on doing - I like normal Columns, do not want Foobar to grow up in space and resources and do not know how to use/write scripts etc.).

You need something to calculate and write the LRA values in the tags.

As far as I know there no component that readily does this for you like Replaygainscanner or DR (foo_dynamic_range). Only Regor's stuff does and that runs in SMP.

OK, I tried to use those tools. If I understand it correctly SMP only works in 32bit version? So I tried to download it and instal in a portable 2.1.3 32bit foobar. Went to github, found Regors "v4.2.0 - Internal update"  but what I found to download was " foo_spider_monkey_panel-v1.6.1-mod.fb2k-component " so i  installed that. Then went to the wiki instruction and found that I have to put all the files and folder from zip to some localisation on the disk. I had been looking for that mysterious zip everywhere on the githu and on this forum but never found it. Then clutching at straws I decided to to download something called "source code.zip" which normally would never interest me because I can't compile binaries from source codes (Yes I thought that those are the source codes of the " foo_spider_monkey_panel-v1.6.1-mod.fb2k-component " because it usually looks like on github - people put the binaries for common useres and source code for programmers/compilers). To much suprise the contents of the "source code.zip" looked somewhat similar to what I could expect (some buttons and json). So I put it wher the wiki said and it seems to work. Did I do what I should or there is some other "ZIP"?.
When using the LRA (and other) tools I found that there are two versions of it - ebu128...(essentia) and ebu128...(ffmpeg). But the ffmpeg version is greyed out. Where do I have to put the fmmpeg files in my portable foobar to make it work? What are the differenences between those two versions - will they yield the same results? Plus what is Danceness and how is it calculated?

Re: Loudness Range (LRA) measuring in Foobar

Reply #53
In the LUFS.txt there's a small glitch in the style script for CUI I think. It mentions "$if($get(PLR)," should be "$if($get(LUFS)," imo since PLR is not determined possible.
Right, thanks for the report

Hi @regor,
is it posiible to use/display your LRA without instaliing any scripts just using DUI.?

Regor's tool does write a tag LRA per scanned track. After scanning you can display those somewhere where title formatting is accepted just referring to [%LRA%].
LUFS and PLR are based on replaygainvalues and are thus available after replaygain has been scanned. Pretty long oneliners though. Available in track and album mode.
DR values need a separate DR scan that write track and album values in [%dynamic range%] and [%album dynamic range%]

It is all quite straightforward.

I know how DR and LIFS/PLR work and asked if LRA is obtainable the same/similar way.
I do not have Spider Monkey Panel nor any other macro, script or sth. I just have normal DUI and display additional Columns in it.
I presume that in order to use Regors tool I wolud have to install such add-ons (which I am not very keen on doing - I like normal Columns, do not want Foobar to grow up in space and resources and do not know how to use/write scripts etc.).

You need something to calculate and write the LRA values in the tags.

As far as I know there no component that readily does this for you like Replaygainscanner or DR (foo_dynamic_range). Only Regor's stuff does and that runs in SMP.

OK, I tried to use those tools. If I understand it correctly SMP only works in 32bit version? So I tried to download it and instal in a portable 2.1.3 32bit foobar. Went to github, found Regors "v4.2.0 - Internal update"  but what I found to download was " foo_spider_monkey_panel-v1.6.1-mod.fb2k-component " so i  installed that. Then went to the wiki instruction and found that I have to put all the files and folders from zip to some localisation on the disk. I had been looking for that mysterious zip everywhere on the github and on this forum but never found it. Then clutching at straws I decided to to download something called "source code.zip" which normally would never interest me because I can't compile binaries from source codes (Yes I thought that those are the source codes of the " foo_spider_monkey_panel-v1.6.1-mod.fb2k-component " because it usually looks like on github - people put the binaries for common useres and source code for programmers/compilers). To much suprise the contents of the "source code.zip" looked somewhat similar to what I could expect (some buttons and json). So I put it wher the wiki said and it seems to work. Did I do what I should or there is some other "ZIP"?.
When using the LRA (and other) tools I found that there are two versions of it - ebu128...(essentia) and ebu128...(ffmpeg). But the ffmpeg version is greyed out. Where do I have to put the fmmpeg files in my portable foobar to make it work? What are the differenences between those two versions - will they yield the same results? Plus what is Danceness and how is it calculated?


Re: Loudness Range (LRA) measuring in Foobar

Reply #54
OK, I tried to use those tools. If I understand it correctly SMP only works in 32bit version? So I tried to download it and instal in a portable 2.1.3 32bit foobar. Went to github, found Regors "v4.2.0 - Internal update"  but what I found to download was " foo_spider_monkey_panel-v1.6.1-mod.fb2k-component " so i  installed that. Then went to the wiki instruction and found that I have to put all the files and folder from zip to some localisation on the disk. I had been looking for that mysterious zip everywhere on the githu and on this forum but never found it. Then clutching at straws I decided to to download something called "source code.zip" which normally would never interest me because I can't compile binaries from source codes (Yes I thought that those are the source codes of the " foo_spider_monkey_panel-v1.6.1-mod.fb2k-component " because it usually looks like on github - people put the binaries for common useres and source code for programmers/compilers). To much suprise the contents of the "source code.zip" looked somewhat similar to what I could expect (some buttons and json). So I put it wher the wiki said and it seems to work. Did I do what I should or there is some other "ZIP"?.
When using the LRA (and other) tools I found that there are two versions of it - ebu128...(essentia) and ebu128...(ffmpeg). But the ffmpeg version is greyed out. Where do I have to put the fmmpeg files in my portable foobar to make it work? What are the differenences between those two versions - will they yield the same results? Plus what is Danceness and how is it calculated?


I went through the same hell of getting it to work. Yes, SMP only works on 32bit foobar. SMP I have running is the same foo_spider_monkey_panel 1.6.1-mod. Install foo_spider_monkey and change some stuff in preferences\advanced\tools\spider monkey panel. See attached image.

The current Playlist tools file is Playlist-Tools-SMP-main 4.2.0.zip. I don't know if the version number is included in the download but I always add it.
Everything you need to do to install it and get it working is in the documentation. I struggled with the sheer amount of documentation in different places.
In a nutshell ... the zip has to be extracted in the working profile folder of foobar or the portable folder. Anyway the same folder where you find the configuration, user_components folders etc.
The folder where the zip needs to be extracted should be scripts\SMP\xxx-scripts.
If you extracted it correctly there should be a "your foobar folder"\scripts\SMP\xxx-scripts\buttons_toolbar.js file. If not you probably extracted the zip in a deeper folder and you have to move the whole structure until the buttons_toolbar.js is in the correct folder.

Then if I remember correctly ... you have to copy ffmpeg.exe & ffprobe.exe to the folder scripts\SMP\xxx-scripts\helpers-external
Then you create a SMP panel in your skin and point it "your foobar folder"\scripts\SMP\xxx-scripts\buttons_toolbar.js

The tools will detect ffmpeg and you will be able to run the EBUR 128 (ffmpeg) scanner. Don't use the one from essentia. It is extremely slow. I have a hunch ffmpeg threads more scans while essentia just scans files one by one.

As a tip ... start scanning a single short audiotrack to get an idea of the amount of time a track takes on your computer. On my computer an album of 45min with 10 tracks in total roughly takes 1 minute to scan fully.

You will get SMP popup about scripts taking to long asking you to abort the scripts. Don't stop the scan, suck it up and wait a bit.

I have 3 items selected in the automated scan. See picture. I'm hoping Case's Truepeak scanner will be supported as well. Then I can disable the replaygainscanner.

Good luck

EDIT: I experimented with the other things you can run automated, but I'm not interested in dance, bpm and such. The onces that need essentia were slow. If you want to be able to use FoolD and chroma you first have to install some stuff. FoolD is a bit tricky.

Re: Loudness Range (LRA) measuring in Foobar

Reply #55
@wojak

Forget about the hunch about multithreading.

Did some testing on a 7 track album total time 35:55min.

Any of the Essentia scans (except key (fast) take 7:50min to complete and only one core of the cpu is used.
If you combine essentia scans the combination of all 4 scans will also take 7:50min.

1) So if you want any of the Essentia scans on a track/album you might as well select all.
2) If you want to do one or more Essentia things and want LRA, do not use the ffmpeg version, but enable the essentia LRA scanner. Otherwise it will just take more time.

I also compared the same 7 tracks LRA ffmpeg scan to the Essentia scan: LRA ffmpeg finished in 0:42min and LRA essentia in 7:50min.

FooID, Chroma, RG, TP, DR are all way faster and negligible in time compared to even LRA ffmpeg.

Re: Loudness Range (LRA) measuring in Foobar

Reply #56
I added experimental LRA scanning support to my True Peak scanner. The test version can be downloaded through this link: <obsolete link removed>

It looked like some existing tool only writes info to a tag field "LRA", unless I misunderstood something. For now this test build uses field "LRA_TRACK" for the loudness range of each track and "LRA_ALBUM" for the LRA value of the entire album.

Edit: Obsolete link removed. LRA scanning is included in the new public version.

Re: Loudness Range (LRA) measuring in Foobar

Reply #57
@wojak

Forget about the hunch about multithreading.

Did some testing on a 7 track album total time 35:55min.

Any of the Essentia scans (except key (fast) take 7:50min to complete and only one core of the cpu is used.
If you combine essentia scans the combination of all 4 scans will also take 7:50min.

1) So if you want any of the Essentia scans on a track/album you might as well select all.
2) If you want to do one or more Essentia things and want LRA, do not use the ffmpeg version, but enable the essentia LRA scanner. Otherwise it will just take more time.

I also compared the same 7 tracks LRA ffmpeg scan to the Essentia scan: LRA ffmpeg finished in 0:42min and LRA essentia in 7:50min.

FooID, Chroma, RG, TP, DR are all way faster and negligible in time compared to even LRA ffmpeg.

The MusicBee plugin is very quick and spits out about 9 values (LRA, thresholds and so on) plus the files/sources are on github. Not being a programmer I have to ask - isn't it possible to recompile or rework those file to make them work as plugin in foobar?

Re: Loudness Range (LRA) measuring in Foobar

Reply #58
@wojak

Forget about the hunch about multithreading.

Did some testing on a 7 track album total time 35:55min.

Any of the Essentia scans (except key (fast) take 7:50min to complete and only one core of the cpu is used.
If you combine essentia scans the combination of all 4 scans will also take 7:50min.

1) So if you want any of the Essentia scans on a track/album you might as well select all.
2) If you want to do one or more Essentia things and want LRA, do not use the ffmpeg version, but enable the essentia LRA scanner. Otherwise it will just take more time.

I also compared the same 7 tracks LRA ffmpeg scan to the Essentia scan: LRA ffmpeg finished in 0:42min and LRA essentia in 7:50min.

FooID, Chroma, RG, TP, DR are all way faster and negligible in time compared to even LRA ffmpeg.

The MusicBee plugin is very quick and spits out about 9 values (LRA, thresholds and so on) plus the files/sources are on github. Not being a programmer I have to ask - isn't it possible to recompile or rework those files to make them work as plugin in foobar?

Re: Loudness Range (LRA) measuring in Foobar

Reply #59
I added experimental LRA scanning support to my True Peak scanner. The test version can be downloaded through this link: https://foobar.hyv.fi/foo_truepeak_LRA.fb2k-component.

It looked like some existing tool only writes info to a tag field "LRA", unless I misunderstood something. For now this test build uses field "LRA_TRACK" for the loudness range of each track and "LRA_ALBUM" for the LRA value of the entire album.

Thx, that's more than I asked for :-) This version already means I don't have to do separate replaygain scans anymore.

About the LRA calculation. It's fast!
Since it's beta I would like to request a little bit more precision in the value. Regor's tool writes with a precision of 2 digits, but the last digit is always 0 so it's actually only 1 precision.
I'd like at least two digits precision (for example 12.34). In the end I always present rounded (not truncated values), whether it's 0,1,2,3 precision. At the moment I cannot compare your LRA_Track tag with the LRA tag based on ffmpeg.

Second thing is you add LU to the tag which is a bit confusing since LUFS are also present (not as a tag but as a calculated field). And these LUFS have nothing to do valuewise with the LRA. So please lose the LU display in the tag.

EDIT: I do display more precision in the ELP popups. But I cannot make screenshots of the popups. Videos can capture popups, but are a bit overkill I think.

Re: Loudness Range (LRA) measuring in Foobar

Reply #60
It looked like some existing tool only writes info to a tag field "LRA", unless I misunderstood something. For now this test build uses field "LRA_TRACK" for the loudness range of each track and "LRA_ALBUM" for the LRA value of the entire album.
That's right. It only ouptuts LRA per track and it was requested to write a LRA_ALBUM too, but I didn't add it yet.
Seeing there is now a plugin, I can ditch it; a plugin is preferable in any case. Thanks!

Quote
I'd like at least two digits precision (for example 12.34). In the end I always present rounded (not truncated values), whether it's 0,1,2,3 precision. At the moment I cannot compare your LRA_Track tag with the LRA tag based on ffmpeg.
Unless I miss something, what you see is what you get. It's not that I round anything, it's just the ffmpeg output. Not sure if things have changed in later versions, but probably your request should be directed to the ffmpeg team instead. See the JSON file.

Re: Loudness Range (LRA) measuring in Foobar

Reply #61
Quote
I'd like at least two digits precision (for example 12.34). In the end I always present rounded (not truncated values), whether it's 0,1,2,3 precision. At the moment I cannot compare your LRA_Track tag with the LRA tag based on ffmpeg.
Unless I miss something, what you see is what you get. It's not that I round anything, it's just the ffmpeg output. Not sure if things have changed in later versions, but probably your request should be directed to the ffmpeg team instead. See the JSON file.

That's fine, but I assumed you added the last 0.
My remark was addressed to Case since he presents only full integers. And if more precision is available I prefer that.

Re: Loudness Range (LRA) measuring in Foobar

Reply #62
I can add decimals but the standard that defines LRA only shows things in full integers. And the unit of LRA is LU so I'm not dropping it.
Link to specs: https://tech.ebu.ch/docs/tech/tech3342v2_0.pdf.

And a quick quote:
Quote
Loudness Range (abbreviated ‘LRA’) quantifies the variation in a time-varying loudness measurement. [...] Loudness Range measures the variation of loudness on a macroscopic time-scale, in units of LU (Loudness Units)

Re: Loudness Range (LRA) measuring in Foobar

Reply #63
I can add decimals but the standard that defines LRA only shows things in full integers. And the unit of LRA is LU so I'm not dropping it.
Link to specs: https://tech.ebu.ch/docs/tech/tech3342v2_0.pdf.

And a quick quote:
Quote
Loudness Range (abbreviated ‘LRA’) quantifies the variation in a time-varying loudness measurement. [...] Loudness Range measures the variation of loudness on a macroscopic time-scale, in units of LU (Loudness Units)

Nopro, do as you think best. there's always title formatting to get rid of " LU".
I just wanted to see if the LRA_Track were the same as the ones from ffmpeg (with precision 1).

Yes, I read some stuff about LRA, LUFS, DR and the like.

Re: Loudness Range (LRA) measuring in Foobar

Reply #64
Uploaded a new build to the same link with 2 decimal precision for LRA values.
This version also includes the regor's wish to have tag removal grayed out instead of hidden when it's not applicable.

Edit: Obsolete link removed.

Re: Loudness Range (LRA) measuring in Foobar

Reply #65
Updated again with a fix to multichannel LRA scanning. The specs for loudness estimations for channels beyond standard 5.1 setup seem very unclear to me so my component downmixes all unknown configurations to well-defined channels and does the measurements from the downmix.

Re: Loudness Range (LRA) measuring in Foobar

Reply #66
I can add decimals but the standard that defines LRA only shows things in full integers. And the unit of LRA is LU so I'm not dropping it.
Link to specs: https://tech.ebu.ch/docs/tech/tech3342v2_0.pdf.

And a quick quote:
Quote
Loudness Range (abbreviated ‘LRA’) quantifies the variation in a time-varying loudness measurement. [...] Loudness Range measures the variation of loudness on a macroscopic time-scale, in units of LU (Loudness Units)

Nopro, do as you think best. there's always title formatting to get rid of " LU".
I just wanted to see if the LRA_Track were the same as the ones from ffmpeg (with precision 1).

Yes, I read some stuff about LRA, LUFS, DR and the like.

Could you provide the formula to not display the "LU" letters at the end?
The same question concerning %replaygain_track_peak_db% and %replaygain_album_peak_db%. I want them to be expressed in dB but without actual "dB" letters at the end.

Re: Loudness Range (LRA) measuring in Foobar

Reply #67
I can add decimals but the standard that defines LRA only shows things in full integers. And the unit of LRA is LU so I'm not dropping it.
Link to specs: https://tech.ebu.ch/docs/tech/tech3342v2_0.pdf.

And a quick quote:
Quote
Loudness Range (abbreviated ‘LRA’) quantifies the variation in a time-varying loudness measurement. [...] Loudness Range measures the variation of loudness on a macroscopic time-scale, in units of LU (Loudness Units)

Nopro, do as you think best. there's always title formatting to get rid of " LU".
I just wanted to see if the LRA_Track were the same as the ones from ffmpeg (with precision 1).

Yes, I read some stuff about LRA, LUFS, DR and the like.

Could you provide the formula to not display the "LU" letters at the end?
The same question concerning %replaygain_track_peak_db% and %replaygain_album_peak_db%. I want them to be expressed in dB but without actual "dB" letters at the end.

OK,
I did it with "replace" command.

Re: Loudness Range (LRA) measuring in Foobar

Reply #68
Could you provide the formula to not display the "LU" letters at the end?
The same question concerning %replaygain_track_peak_db% and %replaygain_album_peak_db%. I want them to be expressed in dB but without actual "dB" letters at the end.

OK,
I did it with "replace" command.
[/quote]

Sorry. Yes I do something similar for all of these fields.

Code: [Select]
	$puts(lrat.raw,[$if2($replace(%lra_track%, LU,),%lra%)])
$puts(LRAT,$puts(round.value,$get(lrat.raw))%CODE.ROUND0%$get(round.result))

$puts(lrat.cd,[LR$num($get(LRAT),2)])
$ifgreater($get(LRAT),12, $puts(col.lrat, %COL.GREEN%),
$ifgreater($get(LRAT), 6, $puts(col.lrat, %COL.ORANGE%),
$ifgreater($get(LRAT), 4, $puts(col.lrat, %COL.YELLOW%),
$puts(col.lrat, %COL.RED%)
)))

Re: Loudness Range (LRA) measuring in Foobar

Reply #69
I installed the SMP and Playlist tools (portable fooba 2.1.3) and every time I open foobar now I get the message:

Missing font: fontawsome
Please instal dependency found at C:.....

and the second one:

Missing font set at:
C:.....
-buttonicon fonawsome

I looked at both of the above  locations and the font and json are there.
What should I do to get rid of those messages. Where to get those file and where put them or how to turn off the info?

Re: Loudness Range (LRA) measuring in Foobar

Reply #70
Doubleclick the font in order to install it

Re: Loudness Range (LRA) measuring in Foobar

Reply #71
Doubleclick the font in order to install it

Oh...I did not see that there was install option when the file with the font (tff) opened. Thank you.