Skip to main content

Topic: R128Scan [obsolete] (Read 38116 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • Andreasvb
  • [*][*][*][*][*]
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

  • kode54
  • [*][*][*][*][*]
  • Administrator
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.
  • Last Edit: 27 January, 2011, 05:41:06 PM by kode54

  • Andreasvb
  • [*][*][*][*][*]
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

  • Nowings69
  • [*][*]
R128Scan [obsolete]
Reply #28
Woo,Thanks a lots for foo_r128norm
That makes me free as you say that
really smart head you have
  • Last Edit: 27 January, 2011, 05:57:37 PM by Nowings69

  • Raiden
  • [*][*][*]
  • Developer
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?

  • kode54
  • [*][*][*][*][*]
  • Administrator
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.
  • Last Edit: 27 January, 2011, 06:58:22 PM by kode54

  • thuan
  • [*][*][*][*][*]
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.

  • GHammer
  • [*][*][*]
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...

  • kode54
  • [*][*][*][*][*]
  • Administrator
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);
  • Last Edit: 28 January, 2011, 01:00:55 AM by kode54

  • Andreasvb
  • [*][*][*][*][*]
R128Scan [obsolete]
Reply #34
It works perfect now. 

Thank you!
Windows 10 Pro x64 // foobar2000 1.3.10

  • Raiden
  • [*][*][*]
  • Developer
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.

  • thuan
  • [*][*][*][*][*]
R128Scan [obsolete]
Reply #37
Are you sure you're using this component and not R128Norm which suppose to do what you described?

  • kode54
  • [*][*][*][*][*]
  • Administrator
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.
  • Last Edit: 28 January, 2011, 10:05:45 PM by kode54

  • romor
  • [*][*][*][*][*]
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

  • kode54
  • [*][*][*][*][*]
  • Administrator
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.
  • Last Edit: 29 January, 2011, 11:28:36 AM by kode54

  • GHammer
  • [*][*][*]
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.

  • kode54
  • [*][*][*][*][*]
  • Administrator
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.
  • Last Edit: 30 January, 2011, 12:48:33 AM by kode54

  • spies
  • [*][*]
  • Members (Donating)
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.

  • kode54
  • [*][*][*][*][*]
  • Administrator
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.

  • GHammer
  • [*][*][*]
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.

  • kode54
  • [*][*][*][*][*]
  • Administrator
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.

  • tedgo
  • [*][*][*][*][*]
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

  • ExUser
  • [*][*][*][*][*]
  • Read-only
R128Scan [obsolete]
Reply #49
Just move the RG preamp down to -5dB.