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_truepeak True Peak Scanner (Read 16673 times) previous topic - next topic - Topic derived from Re: Resampling Hi-Res...
0 Members and 1 Guest are viewing this topic.

Re: foo_truepeak True Peak Scanner

Reply #75
Would it be possible to make the component scan and produce a tag file for Bluray files? I know that those m2ts files are untaggable but it has been made possible with SACD-iso files by producing xml files that contain tags and are stored in the same folder as corresponding audio file.

Re: foo_truepeak True Peak Scanner

Reply #76
Would it be possible to make the component scan and produce a tag file for Bluray files? I know that those m2ts files are untaggable but it has been made possible with SACD-iso files by producing xml files that contain tags and are stored in the same folder as corresponding audio file.

foo_external_tags also by Case?

Re: foo_truepeak True Peak Scanner

Reply #77
Would it be possible to make the component scan and produce a tag file for Bluray files? I know that those m2ts files are untaggable but it has been made possible with SACD-iso files by producing xml files that contain tags and are stored in the same folder as corresponding audio file.

foo_external_tags also by Case?


Thank you for suggesting external tag, it works great.

Re: foo_truepeak True Peak Scanner

Reply #78
Sorry for copy-paste of my post from DR Meter topic but it is related.

@Case, would it be possible to add all features of DR Meter (per-channel DR, RMS and peak) to True Peak Scanner? The output log placed in the folder with actual audio files (as in old component) would also be very much appreciated (I would love to see every measurement in it, including LRA, Clippings and Peakstamps).

How does this plugin behave with files containing several streams (like bluray m2ts with more than one version of the album - ex. stereo, instrumental, DTS, AC3, THD...)? Will it measure the first stream (or which one?) or is it possible to measure all streams (changing the stream with stream-selector and measure them all one by one and getting different results not owerwriting the previous ones)? And if it is possible, how to write such tags with your external tags? In case of SACD-iso we can write an xml containing two sets of tags/measurement (one for stereo and one for 5.1) (I know that those are different, not two streams but separate sets of "audio files").

I have noticed that your component measures slightly different than buil-it RG scanner concerning True Peaks and Gain.  I know that True Peaks are just (gu)esstimation of what would happen in the DAC but tried to manipulate the options in both components and never got exact the same measurements. My RG sacnner always was an 8xupsampling but I tried it with other options (SOX, SRC, 4x..) and yours with 190k and 384k. The results were always slightly different (rarely the differences were quite big, on some mp3 and the differences go both ways - sometimes yours shows less and sometimes more). Why is it so and is there a way to make them as similar as possible?

Re: foo_truepeak True Peak Scanner

Reply #79
Sorry for copy-paste of my post from DR Meter topic but it is related.

@Case, would it be possible to add all features of DR Meter (per-channel DR, RMS and peak) to True Peak Scanner? The output log placed in the folder with actual audio files (as in old component) would also be very much appreciated (I would love to see every measurement in it, including LRA, Clippings and Peakstamps).

How does this plugin behave with files containing several streams (like bluray m2ts with more than one version of the album - ex. stereo, instrumental, DTS, AC3, THD...)? Will it measure the first stream (or which one?) or is it possible to measure all streams (changing the stream with stream-selector and measure them all one by one and getting different results not owerwriting the previous ones)? And if it is possible, how to write such tags with your external tags? In case of SACD-iso we can write an xml containing two sets of tags/measurement (one for stereo and one for 5.1) (I know that those are different, not two streams but separate sets of "audio files").

I have noticed that your component measures slightly different than buil-it RG scanner concerning True Peaks and Gain.  I know that True Peaks are just (gu)esstimation of what would happen in the DAC but tried to manipulate the options in both components and never got exact the same measurements. My RG sacnner always was an 8xupsampling but I tried it with other options (SOX, SRC, 4x..) and yours with 190k and 384k. The results were always slightly different (rarely the differences were quite big, on some mp3 and the differences go both ways - sometimes yours shows less and sometimes more). Why is it so and is there a way to make them as similar as possible?

Of course results are different. With RG you can only use a fixed truepeak method. In other words it does not base the amount of upsampling on the content.
The truepeakscanner upsamples based on the content (up to a minimum of 192k if I remember correctly).
So the used upsampling methods differ, therefore also the results.

I don't exactly understand why this tool should give the exact information as the original DR component which is ancient.
Why not use the exact info from the scan resultscreen? Everything including LRA is there.

Only thing that could be better is to remove all Album stuff from the tracklines and show this info (preferably on top) as a separate line.
And it would be nice if tracknumbers&length would be included in the grid (eg total tracks/ total time for the album line).

Re: foo_truepeak True Peak Scanner

Reply #80

Of course results are different. With RG you can only use a fixed truepeak method. In other words it does not base the amount of upsampling on the content.
The truepeakscanner upsamples based on the content (up to a minimum of 192k if I remember correctly).
So the used upsampling methods differ, therefore also the results.

I don't exactly understand why this tool should give the exact information as the original DR component which is ancient.
Why not use the exact info from the scan resultscreen? Everything including LRA is there.

Only thing that could be better is to remove all Album stuff from the tracklines and show this info (preferably on top) as a separate line.
And it would be nice if tracknumbers&length would be included in the grid (eg total tracks/ total time for the album line).

I am not sure if upsampling is the only difference, because taking 48kHz file and scanning it with RG with 8x (giving 384k) and scanning it with TP scanner set to 384k gives different Gain and TPeaks (which then give different PLR and LUFS). The only issue with it is that I already have scanned tens of thousands files with RG and started to scan other files with TP scanner and use "prevent clipping" option (without applying gain) so the effect will be different. Moreover I have different releases  of the same albums and check if they are sonically the same (comparing TP, DR, LRA, LUFS, PLR) so having different results on different releases makes it impossible. I have to rescan all the files once again.

I did not say that the text results should look exactly the same as in old comonent. I just suggested that it would be convinient to be able to automatically export the results to the file (not having to clik "copy" than creating plain file and pasting the results - the old component just had an option to do this (or don't)). and if we get that option it would be nice to have everything included.

Re: foo_truepeak True Peak Scanner

Reply #81
I am not sure if upsampling is the only difference, because taking 48kHz file and scanning it with RG with 8x (giving 384k) and scanning it with TP scanner set to 384k gives different Gain and TPeaks (which then give different PLR and LUFS).
I did not tinker with TP minimum scanning sample rate so 48kHz sources are upsampled to 192k when scanning. (And 44kHz to a bit higher I guess).

The only issue with it is that I already have scanned tens of thousands files with RG and started to scan other files with TP scanner and use "prevent clipping" option (without applying gain) so the effect will be different. Moreover I have different releases  of the same albums and check if they are sonically the same (comparing TP, DR, LRA, LUFS, PLR) so having different results on different releases makes it impossible. I have to rescan all the files once again.
Same here. So when I want to compare specific releases of the same album I just rescan those fully to get apples and apples. Scanning is rather quick. Then I listen to them with DSP Retain playtime enabled to switch seamlessly.

If you want to compare different albums/artists it really does not matter that much imo with what version those albums were scanned since scanning results don't differ that much.

I did not say that the text results should look exactly the same as in old comonent. I just suggested that it would be convinient to be able to automatically export the results to the file (not having to clik "copy" than creating plain file and pasting the results - the old component just had an option to do this (or don't)). and if we get that option it would be nice to have everything included.
I do agree and already thought about the dr_log file earlier. Then again I'm not a fan of overloading a developer with nice to have (or even silly) requests before the tool itself is bugfree, which is happening unfortunately with some other promising components.

That said, yes, I agree there needs to be a convenient export function whether it is a plain textfile like it used to be with DR or an automatic screendump (png/jpg) of the result screen which is also a custom in (bootleg) releasegroups. I prefer the latter.

Re: foo_truepeak True Peak Scanner

Reply #82
That said, yes, I agree there needs to be a convenient export function whether it is a plain textfile like it used to be with DR or an automatic screendump (png/jpg) of the result screen which is also a custom in (bootleg) releasegroups. I prefer the latter.
Why would you prefer a screendump over text?
My preference is a CSV for those of us who like spreadsheets :D

Re: foo_truepeak True Peak Scanner

Reply #83
That said, yes, I agree there needs to be a convenient export function whether it is a plain textfile like it used to be with DR or an automatic screendump (png/jpg) of the result screen which is also a custom in (bootleg) releasegroups. I prefer the latter.
Why would you prefer a screendump over text?
My preference is a CSV for those of us who like spreadsheets :D
I don't give a damn about logfiles or screendumps as long as I can check (my) rips are accurate.
Would be nice if download content is already properly tagged with relevant info like catalognumber and including this stuff :-)

Re: foo_truepeak True Peak Scanner

Reply #84
@Case

There is something off when scanning containers.

For reference: Truepeak scans 30x 96/24 files with a speed of 664x. Foobar RGx8 does 255x.

SACD-ISO with 2&6ch content: Truepeak Scanner extremely slow (speed 46x) and the Abort button does not work until you reach the end of the scan.
Foobar's built-in RGx8 scan is also similarly very slow (speed 42x) but it does respond to it's Cancel button.

DVDA-ISO with MLP 96/24 2&6ch content: Truepeak Scanner is slow (speed 371x). Abort button only works at end of the scan. Foobar RGx8 Scanner is slow (speed 579x) but Cancel works.

MKV with DTS-HD 48/24 content: Truepeak Scanner is slow (speed 333x). Abort button does work. Foobar RGx8 is slow (speed 214x) and Cancel works.

Any ideas?





Re: foo_truepeak True Peak Scanner

Reply #85
So far I have determined the DR range values ​​with Dynamic Range Meter 1.1.1. To do this, I previously used the Replay Gain Scanner with the setting from Picture1. Everything with version 1.6.17. The result was the replay scan data also Picture2. The entry in the tags was as seen in Picture3.

Then I installed the True Peak Scanner in f2k-version 1.6.17 and ran it over the same album. The old replay gain values ​​were previously removed. The result can be seen in Picture4.

It should be noted that neither the track peak value nor the album peak value match the previous determination.

I'm not an expert here. Maybe someone can explain to me whether this is normal and whether it is due to a different calculation of the values. The differences don't seem to be that big.

With a few exceptions, the DR values ​​correspond to the values ​​from the Dynamic Range Meter 1.1.1.

My settings in the True Peak Scanner can be seen in Picture5.

Sorry for my Google Translate, but I don't speak English.

THX
mexx

Re: foo_truepeak True Peak Scanner

Reply #86
@Case, would it be possible to add all features of DR Meter (per-channel DR, RMS and peak) to True Peak Scanner?
Not planned. I added that extra info to DR Meter as I thought people using DR Meter liked seeing that stuff, also it might be helpful during development to catch bugs (as DR result is not calculated how its documentation says at all). In a multipurpose scanner like this component the output has to concentrate only on actually useful values.

How does this plugin behave with files containing several streams (like bluray m2ts with more than one version of the album - ex. stereo, instrumental, DTS, AC3, THD...)?
It will measure the stream you have chosen. I have never seen any details about this stream variant selection in the SDK, I don't know if input components that do the tagging even have a chance to do things differently depending on the stream. Tools that just ask a tag to be written definitely don't know anything about such deftails nor have any option to do things differently.

I have noticed that your component measures slightly different than buil-it RG scanner concerning True Peaks and Gain.  [...] Why is it so and is there a way to make them as similar as possible?
Different upsampling. If you let built-in RG scanner select resampler on its own it will ask for a fast resampler, not highest quality one. You will get exact same results if you configure the built-in resampler to resample the same way, but there is not a simple built-in switch for that. True Peak Scanner uses SoX if it's installed and it will be used in highest quality mode. I have written how the upsampling is determined in detail here and about SoX speed related updates here.

Re: foo_truepeak True Peak Scanner

Reply #87
There is something off when scanning containers.

[...]Abort button only works at end of the scan. Foobar [...] Cancel works.

Any ideas?
I don't know why speed differences are so big but abort button not working is a result of input not handling it and my component not having safety checks against it. I'll add once I'm home.

Re: foo_truepeak True Peak Scanner

Reply #88
There is something off when scanning containers.

[...]Abort button only works at end of the scan. Foobar [...] Cancel works.

Any ideas?
I don't know why speed differences are so big but abort button not working is a result of input not handling it and my component not having safety checks against it. I'll add once I'm home.

When I saw the speeds of the SACD scanning I suspected that the RG and TP scan only use a single thread for scanning.
DVDA and MKV scanning however is only half as slow as normal tracks so that cannot be related to single thread scanning I guess.

Re: foo_truepeak True Peak Scanner

Reply #89
New version uploaded: https://foobar.hyv.fi/?view=foo_truepeak
Added extra abort checks. And changed the behavior of info removal. Now if True Peak Scanner is configured to scan and write standard ReplayGain tags the removal will remove those also.
A hint for @Defender: you can hide unwanted context menu entries in Preferences and get them visible by holding shift when you open context menu. That, I think, is a good way to hide seldom used stuff but still have access to it.

Re: foo_truepeak True Peak Scanner

Reply #90
New version uploaded: https://foobar.hyv.fi/?view=foo_truepeak
Added extra abort checks. And changed the behavior of info removal. Now if True Peak Scanner is configured to scan and write standard ReplayGain tags the removal will remove those also.
A hint for @Defender: you can hide unwanted context menu entries in Preferences and get them visible by holding shift when you open context menu. That, I think, is a good way to hide seldom used stuff but still have access to it.

Thx. All ok. And thanks for the shift tip.

I noticed you made an option available in the standalone DR scanner to automatically write values without opening the resultscreen.
Can you please implement that option too in truepeak scanner?

SACD scanning is still slow, but I guess it has to do with the extra conversion of the native DSD format.

When I play SACD (I have to use PCM) and I don't use a lowpass filter artifacts are clearly visible in Channel Spectrum. The moment I enable the lowpass filter those artifacts disappear.
I noticed that you always resample SACD to 352k upon scanning which is good. Do you also apply the lowpass before/upon scanning?
If not, wouldn't it be a good idea to do so?

EDIT: Probably best just to activate the lowpass filter in SACD settings itself. That way a conversion to flac does not inherit the artifacts also.

Re: foo_truepeak True Peak Scanner

Reply #91
If you are scanning just one track the scanning speed will be limited by the source file decoder. Scanning is multithreaded but threads are used only for handling multiple tracks at once.
As you figured, the lowpass should be handled by the decoder. Another component has no way to know if it is being fed nonsensical data.

New version released with quiet mode added and configuration dialog tweaks. I think the options are less confusing now. I also published the component on the repository so updating will be easier: https://www.foobar2000.org/components/view/foo_truepeak.

Re: foo_truepeak True Peak Scanner

Reply #92
New version released with quiet mode added
Regarding this component I have nothing to wish or nag about anymore. Thx.

As you figured, the lowpass should be handled by the decoder. Another component has no way to know if it is being fed nonsensical data.
Ok, noted.

If you are scanning just one track the scanning speed will be limited by the source file decoder. Scanning is multithreaded but threads are used only for handling multiple tracks at once.
Not sure what you mean. Can truepeakscanner (and/or foobar RG scanner) use multithreaded scanning on multiple tracks/subsongs within a single container (iso/mkv)?

Re: foo_truepeak True Peak Scanner

Reply #93
If you are scanning just one track the scanning speed will be limited by the source file decoder. Scanning is multithreaded but threads are used only for handling multiple tracks at once.
Not sure what you mean. Can truepeakscanner (and/or foobar RG scanner) use multithreaded scanning on multiple tracks/subsongs within a single container (iso/mkv)?
Absolutely. As long as there are separate tracks the work can be spread across multiple threads. You can look at task manager and you should see possibly even 100% CPU usage for foobar2000, as long as you aren't bottlenecked by storage.

Re: foo_truepeak True Peak Scanner

Reply #94
As long as there are separate tracks the work can be spread across multiple threads. You can look at task manager and you should see possibly even 100% CPU usage for foobar2000, as long as you aren't bottlenecked by storage.
Can confirm. Ran some more tests (always on NVME Gen4 storage).

Interesting to see that SACD is by far the heaviest to scan (not only for truepeak scanner but also foobar RG). Must be the underlying process of the underlying SACD component I guess.

Roughly speaking SACD scan runs at 49x, DTSMA at 430x, DVDA at 500x and normal FLAC8 at 1500x.
Time that the scanner needs for additional LRA, DR and clipping pos is neglectible (up to 10% extra time).

Re: foo_truepeak True Peak Scanner

Reply #95
SoX did speed up scanning quite a bit.  Most values were the same, peak timestamp if different, along with track and album peak.  Is this to be expeced?  1st time using SoX for this so wanted to confirm.  Please see attached. 

I installed  https://foobar.hyv.fi/?view=foo_dsp_resampler
Then went to Preferences>Advanced>Filter, type in Tools, under Automatic resampling preference type in: “Resampler (SoX)”

Colsole info:
True Peak Scanning track: D:\Music\FLAC\P-R\_ and the Mysterians\1966 96 Tears\_ and the Mysterians - 96 Tears - 12 - 96 tears.flac
Oversampling to 352800 Hz with Resampler (SoX)
True Peaks calculated in: 0:01.346, speed: 133.61x

Anything I messed up here?  Don't think so, but checking... 

Re: foo_truepeak True Peak Scanner

Reply #96
SoX did speed up scanning quite a bit.  Most values were the same, peak timestamp if different, along with track and album peak.  Is this to be expeced?  1st time using SoX for this so wanted to confirm.  Please see attached. 

I installed  https://foobar.hyv.fi/?view=foo_dsp_resampler
Then went to Preferences>Advanced>Filter, type in Tools, under Automatic resampling preference type in: “Resampler (SoX)”

Colsole info:
True Peak Scanning track: D:\Music\FLAC\P-R\_ and the Mysterians\1966 96 Tears\_ and the Mysterians - 96 Tears - 12 - 96 tears.flac
Oversampling to 352800 Hz with Resampler (SoX)
True Peaks calculated in: 0:01.346, speed: 133.61x

Anything I messed up here?  Don't think so, but checking... 

You enabled SoX for foobar standard RG scanner.
You don't have to enable SoX resampler for Truepeak. When SoX is installed Truepeak will automatically use SoX upon scan.

If you use the settings as in the attached file, you don't have to use standard foobar replaygain scan anymore. Upon scanning truepeak will write TP values also in the standard RG fields and will also calculate LRA, DR and clipping positions.
So in one scan you can have it all.
If you don't want the result window popup, you can also disable it.

BTW. All this info is in this thread if you scroll a bit back.

Re: foo_truepeak True Peak Scanner

Reply #97
You enabled SoX for foobar standard RG scanner.
You don't have to enable SoX resampler for Truepeak. When SoX is installed Truepeak will automatically use SoX upon scan.

If you use the settings as in the attached file, you don't have to use standard foobar replaygain scan anymore. Upon scanning truepeak will write TP values also in the standard RG fields and will also calculate LRA, DR and clipping positions.
So in one scan you can have it all.
If you don't want the result window popup, you can also disable it.

BTW. All this info is in this thread if you scroll a bit back.

Thanks for the guidance Defender. What is the benefit to writing to custom tags for peak and gain along with using the ReplayGain tag fields?  Both will have the same values, albeit a different tag name.  I was jus tusing the ReplayGain fields as shown in the attached. 

Re: foo_truepeak True Peak Scanner

Reply #98
You enabled SoX for foobar standard RG scanner.
You don't have to enable SoX resampler for Truepeak. When SoX is installed Truepeak will automatically use SoX upon scan.

If you use the settings as in the attached file, you don't have to use standard foobar replaygain scan anymore. Upon scanning truepeak will write TP values also in the standard RG fields and will also calculate LRA, DR and clipping positions.
So in one scan you can have it all.
If you don't want the result window popup, you can also disable it.

BTW. All this info is in this thread if you scroll a bit back.

Thanks for the guidance Defender. What is the benefit to writing to custom tags for peak and gain along with using the ReplayGain tag fields?  Both will have the same values, albeit a different tag name.  I was jus tusing the ReplayGain fields as shown in the attached. 

If you don't write the custom fields you don't know how the replaygain values were obtained (with the standard replayscanner for instance and if so whether upsampling was enabled). With upsampling results are more precise.
So in my skin I optionally can show RG values (and LRA, LUFS, PLR and Clipping) I display replaygain values with an indicator if they were obtained with the truepeakscanner (the values of the RG fields are the same as the custom fields in that case).

I show this info in 3 different optional locations: group header (album values), rowlevel (track values) and popup (both album & track values).
When I detect RG info is a result of a Truepeak scan I display TT instead of RG.

It all helps in giving me an idea about the quality of the recording and comparing recordings of the same track on different releases before listening to it.

Re: foo_truepeak True Peak Scanner

Reply #99
What are the strings/title formatting we need to enter to get the DR and LRA values to show up in a Playlist column?

Would also be nice to have an easy way to show LUFS Integrated and Max LUFS M and Max LUFS S for each track. I use a long string now for LUFS-I, but be nice to have something that was more easily understandable.

$if(%replaygain_track_gain%,$puts(l,$sub(-1800,$replace(%replaygain_track_gain%,.,)))$div($get(l),100).$right($get(l),2) dB,)

And thanks Case for making this, it's fantastic.