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: R128Scan [obsolete] (Read 51652 times) previous topic - next topic
0 Members and 2 Guests are viewing this topic.

R128Scan [obsolete]

Reply #25
Test with 15 tracks:

ReplayGain per-file: 400x (95%+ CPU).
ReplayGain albums by tags: 407xx (95%+ CPU).

R128 per-file: 481x (95%+ CPU).
R128 albums by tags: 133x (25% CPU).

Windows 7 Ultimate x64 SP1.
foobar2000 v1.1.2.
foo_rgscan 2.0.9.
foo_r128scan 1.12.
Windows 10 Pro x64 // foobar2000 1.3.10

R128Scan [obsolete]

Reply #26
Are you sure the albums are being split by tags properly? One way to tell if it's scanning multiple threads at once is to observe how many file names are in the status window. It lists every file currently being scanned.

Oh, and foo_r128scan uses pfc::getOptimalWorkerThreadCountEx(), which calculates the number of threads to execute from the processor affinity mask. Have you set that to a single core, for some reason? Wait, blah, never mind, if that were the problem, your track scan task wouldn't be threading.

R128Scan [obsolete]

Reply #27
It's only one album, same tags for %album%.

Grouping pattern on both scanners: %album% | %date%.

Works fine with ReplayGain, and always has.

Thanks.
Windows 10 Pro x64 // foobar2000 1.3.10

R128Scan [obsolete]

Reply #28
Woo,Thanks a lots for foo_r128norm
That makes me free as you say that
really smart head you have

R128Scan [obsolete]

Reply #29
I'm thinking of new functions for the library:
Code: [Select]
double ebur128_loudness_global_multiple(ebur128_state* sts, size_t size);

You could make one state for each track in parallel and get the result at the end.

Code: [Select]
int ebur128_change_parameters(ebur128_state* st, int channels, int samplerate);

To handle files with different channels / samplerates.

Code: [Select]
/* Set channel "channel_number" to value, where value is from the "channels"
* enum. */
int ebur128_set_channel(ebur128_state* st, int channel_number, int value);

To make channel setup easier.


Comments?

R128Scan [obsolete]

Reply #30
Parallelizing multiple tracks in a single album? Yes, that would be necessary to optimize album scanning for multiple threads. Of course, then it will also complicate my scanner.

Also, I currently handle sample rate changes by resampling, although I give up completely on channel count/type changes.

R128Scan [obsolete]

Reply #31
I've just applied R128 on my entire library and I must say it works way better than the original algorithm in ReplayGain, my harp and piano albums do not feel louder as before. The end result has a much better linearity of volume between all genres I listen to. Thank kode54 for bringing this to foobar2000, and thank anyone related in the creation of R128.

R128Scan [obsolete]

Reply #32
If you have an album with some tracks RG'd and some not, this scanner always says all tracks have RG values.
Not a huge thing as this only takes a mouse click, but it is incorrect.

How do you get some tracks tagged and some untagged?
Never edit tags while distracted...

R128Scan [obsolete]

Reply #33
Fixed to behave like foo_rgscan. Also, I implemented that function:
Code: [Select]
double ebur128_gated_loudness_global_multiple(ebur128_state** sts, size_t size);

R128Scan [obsolete]

Reply #34
It works perfect now. 

Thank you!
Windows 10 Pro x64 // foobar2000 1.3.10

R128Scan [obsolete]

Reply #35
I've uploaded version 0.1.9 of libebur128.
I merged kode54's ebur128_loudness_global_multiple and adjusted it so that it can process states of different samplerates.

R128Scan [obsolete]

Reply #36
Can someone please inform me about the advantages of these new R128 methods/components?
I gave it a try and it seems to allow for gain processing in sections!?
For me it sounded a little bit unnatural/inbalanced as some elements were boosted alot while in quiet parts
and suddenly almost disappeared when the song became louder overall.

R128Scan [obsolete]

Reply #37
Are you sure you're using this component and not R128Norm which suppose to do what you described?

R128Scan [obsolete]

Reply #38
Updated. Due to how the scanner now handles sample rate and channel changes, results may differ from before. Also, when "true" peak scanning mode is enabled, the upsampled results are no longer fed through the R128 scanner, since it supports variable sample rates and sample rate changes on its own now.

R128Scan [obsolete]

Reply #39
Updated. Due to how the scanner now handles sample rate and channel changes, results may differ from before.

Which results?
I started with processing my files slowly, and just finished with first 1K from planned 10K files which I'll report here or on portal with RG to R128 comparison
So, am I early? Are any changes planned that may affect values in future that may make my log useless?

Thanks kode54

R128Scan [obsolete]

Reply #40
Well, any albums with mixed sample rates will differ from before, due to the previous version resampling, while this one simply reconfigures the scanner library.

Also, "true" peak mode will always differ, since before it would feed the upsampled audio through the scanner, while now it feeds it as-is, since it can reconfigure it if the audio format changes during the scan.

The difference is likely to be less than 0.5 dB, though.

R128Scan [obsolete]

Reply #41
Using 1.15, if I choose 3-4 albums and select Scan selection by album (using tags) foobar crashes somewhere around the 3rd album.
If I choose the same albums one by one and use the same scan, no crash.

R128Scan [obsolete]

Reply #42
I can confirm the same problem that GHammer is experiencing.

R128Scan [obsolete]

Reply #43
Sorry, I just updated to 1.16, could you try to reproduce those crashes again? I didn't think to scan the crash report database for different crashes from the one I just fixed before rolling out another release.

Also, this problem seems to only affect machines with four threads running at once. I'll have to fire up my laptop and see if I can reproduce it myself, although it's only dual core with HyperThreading, not a true quad core processor.

R128Scan [obsolete]

Reply #44
kode54, I want to thank you for this wonderful plugin.  I do have a feature request at the risk of sounding like a heretic however.  Would you consider adding a toggle, just like you do for "true" peak, that would allow switching to -23 - LUFS from -18 - LUFS if its not too much trouble?  I would really appreciate it but would understand if the request is beyond the scope of your project.

R128Scan [obsolete]

Reply #45
Updated. I'll add a reference level configuration option to the next version, although I think it's kind of a pain to deal with something like that, since the way I tag files, there's no way to detect if I scanned them with a different level and force the new level.

R128Scan [obsolete]

Reply #46
Sorry, I just updated to 1.16, could you try to reproduce those crashes again? I didn't think to scan the crash report database for different crashes from the one I just fixed before rolling out another release.

Also, this problem seems to only affect machines with four threads running at once. I'll have to fire up my laptop and see if I can reproduce it myself, although it's only dual core with HyperThreading, not a true quad core processor.


Using 1.17, the crash is corrected on my machine. i5 CPU, Win 7 x64.

R128Scan [obsolete]

Reply #47
Yeah, a future version will support reporting which tracks failed to scan, so you can see where the errors are occurring.

R128Scan [obsolete]

Reply #48
Thanks for this component

I made some tests with it now and albums from one artist (or within a genre/style) are more balanced in loudness as with ReplayGain.
Newer albums with heavy dynamic compression doesn't sound louder anymore than older albums without dynamic compression.
Love it

But unfortunately albums from different genres/styles still differs from each other.
So Enya is "crying" her voice in my ears while AC/DC seem to whisper - compared with Enya, if you know what I mean...
So I still need to lower the "Enya results" at about 4dB manually to make them as "quiet" as the others, like I did with ReplayGain in the past.

So my question is:
Could it be possible to add two or three presets, where the user could select the preset an album should be scanned with?
I guess this is what spies suggested already as he asked for a switch to toggle between -23 and -18 LUFS.
To not annoy other users who don't need this "feature" an option in the advanced preferences could enable/disable the presets and only when it is enabled a window pops up where the user will be asked for "scan with preset 1/scan with preset 2..." before the album will be scanned.

I know it may be a sassy feature request and it isn't a really big effort for the user to fit the result manually after the scan if needed, but this is a feature I already missed while using ReplayGain...

Thanks
tedgo

R128Scan [obsolete]

Reply #49
Just move the RG preamp down to -5dB.