IPB

Welcome Guest ( Log In | Register )

R128Scan [obsolete], Now implemented by bundled foo_rgscan
kode54
post Jan 26 2011, 08:11
Post #1





Group: Admin
Posts: 4613
Joined: 15-December 02
Member No.: 4082



This component has been obsoleted by the ReplayGain scanner bundled with foobar2000 version 1.1.6.

I have produced a scanner interface almost entirely from scratch, based on libebur128. Basic information and a binary are posted here, and the full source is posted here, but I warn you, it isn't pretty.

It writes -18 - LUFS to the normal ReplayGain track and album gain level tags, and optionally scans for the "true" peak by resampling the signal to 192KHz first, using the foobar2000 resampler service, but this is disabled by default because it has a pretty heavy speed cost.

No attempt is made to support reading or writing the EBU R128 "standard" of tags proposed in this topic, because that is beyond the scope of a mere scanner component. The player core must first support representing that information internally with its binary ReplayGain information structures, and then every input component that supports reading and/or writing tags must be modified to support these changes.

Change log:
  • Version 1.21 - 2011-02-07 14:12 UTC:
    • Fixed a bug in libebur128 when handling weird sample rates.
  • Version 1.20 - 2011-01-31 01:33 UTC:
    • Fixed album scanning results reporting.
  • Version 1.19 - 2011-01-31 01:22 UTC:
    • Disabled apply tags button when there are no tags to apply results to.
  • Version 1.18 - 2011-01-30 23:53 UTC:
    • Implemented full error reporting.
  • Version 1.17 - 2011-01-30 06:23 UTC:
    • Fixed another crash issue with IO error handling in the scanner thread.
  • Version 1.16 - 2011-01-30 05:28 UTC:
    • Fixed a potential problem with threaded album scanning where not all of the threads would result in valid scanner instances.
  • Version 1.15 - 2011-01-29 02:44 UTC:
    • Updated to libebur128-0.1.9.
    • Changed scanner function to reconfigure libebur128 instead of resampling or failing outright.
  • Version 1.14 - 2011-01-28 05:48 UTC:
    • Implemented proper track and album skipping.
  • Version 1.13 - 2011-01-28 05:04 UTC:
    • Implemented multi-threaded album scanning.
  • Version 1.12 - 2011-01-27 07:04 UTC:
    • Scanner status now only lists the files currently being scanned.
    • Scanner status window now shows the count of processed files and the total count.
    • Limited thread count by the number of jobs to execute.
  • Version 1.11 - 2011-01-27 06:15 UTC:
    • Fixed channel mapping setup for non-stereo files.
    • Added an abort check to the scanner processing loop just in case.
    • Changed the scanner results to a modeless dialog to get rid of the Windows 7 taskbar progress indicator artifact.
    • Changed all applicable get_item() calls to [] operators.
  • Version 1.10 - 2010-01-26 10:34 UTC:
    • Changed the "true" peak scanner to always use an upsampling factor of 4 instead of a fixed sample rate of 192KHz.
  • Version 1.9 - 2011-01-26 09:32 UTC:
    • Fixed mixed up infinity/NaN in ebur128.cpp.
    • Fixed rg_offset to return the correct invalid gain constant when the result is invalid or out of range.
  • Version 1.8 - 2011-01-26 08:47 UTC:
    • Implemented support for mid-file and mid-album sample rate changes.
  • Version 1.7 - 2011-01-26 08:15 UTC:
    • Fixed albums-by-tags scanning mode to include the last album detected in the batch.
    • Disabled multi-threading in debug builds.
    • Fixed "true" peak calculation to instantiate the resampler for more than just the first track in the album.
    • Restructured "true" peak calculation resampler code to properly handle the last chunk produced by the decoder
  • Version 1.6 - 2011-01-26 06:03 UTC:
    • Implemented thread priority control.
    • First public release.
  • Version 1.5 - 2011-01-26 05:53 UTC:
    • Implemented finer grained progress indicating.
  • Version 1.4 - 2011-01-26 05:16 UTC:
    • Fixed RG scanner result display dialog showing the track gain in the album peak column when scanning in track gain mode.
  • Version 1.3 - 2011-01-26 05:16 UTC:
    • Made "true" peak scanning optional.
  • Version 1.2 - 2011-01-26 04:24 UTC:
    • Fixed RG result info display when there are results from more than one job in the batch.
    • Fixed RG scanner to remove the current job's track names and update the display on I/O error.
  • Version 1.1 - 2011-01-26 03:45 UTC:
    • Fixed RG info applying filter result finding function to actually return the item indices so that album set tags are written correctly.
  • Version 1.0 - 2011-01-26 02:31 UTC:
    • Album scan mode now keeps track of the sample rate and channel information across tracks.
  • Version 0.0 - 2011-01-26 02:18 UTC:
    • Started project.
Go to the top of the page
+Quote Post
 
Start new topic
Replies
kode54
post Jan 31 2011, 23:38
Post #2





Group: Admin
Posts: 4613
Joined: 15-December 02
Member No.: 4082



Please note that the "true" peak method has no effect on the gain values anymore, as I don't pass the upsampled data through the scanner, I only use it for peak calculation. So, to speed up gain result comparisons, feel free to turn it off.
Go to the top of the page
+Quote Post

Posts in this topic
- kode54   R128Scan [obsolete]   Jan 26 2011, 08:11
- - lvqcl   Big thanks! Bug report: When I select N album...   Jan 26 2011, 08:47
- - thuan   Scan selection as albums (by tags) does not work f...   Jan 26 2011, 08:57
- - Canar   The component currently has difficulty dealing wit...   Jan 26 2011, 09:37
- - thuan   Yes they are   Jan 26 2011, 09:49
- - kode54   Updated. Also, for one thing, the specification, ...   Jan 26 2011, 09:59
|- - lvqcl   QUOTE (kode54 @ Jan 26 2011, 11:59) Also,...   Jan 26 2011, 11:14
|- - mudlord   QUOTE (lvqcl @ Jan 26 2011, 05:14) True P...   Jan 26 2011, 18:29
- - Raiden   Great work! A few things that I noticed: Whe...   Jan 26 2011, 10:10
- - kode54   Fixed, thanks for the report.   Jan 26 2011, 10:43
- - kode54   Fine, I changed it to 4x upsampling. And yes, that...   Jan 26 2011, 11:42
- - lvqcl   Hi, its me again. It doesn't work correctly wi...   Jan 26 2011, 12:51
- - lvqcl   Probably quadraphonic (FL, FR, BL, BR) files are a...   Jan 26 2011, 18:33
- - lvqcl   I think this means that ebur128_gated_loudness() f...   Jan 26 2011, 19:41
- - Canar   "True peak" seems designed to try catch ...   Jan 26 2011, 19:45
- - C.R.Helmrich   QUOTE (kode54 @ Jan 26 2011, 09:11) I hav...   Jan 26 2011, 23:53
- - kode54   Updated again. I have not made any changes to the ...   Jan 27 2011, 07:32
|- - Nowings69   QUOTE (kode54 @ Jan 27 2011, 15:32) Updat...   Jan 27 2011, 08:54
- - kode54   foo_rgscan already has a function to apply the gai...   Jan 27 2011, 10:06
|- - Nowings69   QUOTE (kode54 @ Jan 27 2011, 18:06) foo_r...   Jan 27 2011, 11:05
- - kode54   You're free to keep foo_rgscan installed and u...   Jan 27 2011, 16:06
- - Andreasvb   Not sure if it's a bug, but: When scanning as...   Jan 27 2011, 22:01
- - lvqcl   Probably this issue is related to libebur128: http...   Jan 27 2011, 22:19
- - kode54   Yes. Dividing a single album up onto multiple core...   Jan 27 2011, 23:10
- - lvqcl   It does support.   Jan 27 2011, 23:31
- - Andreasvb   Test with 15 tracks: ReplayGain per-file: 400x (9...   Jan 27 2011, 23:31
- - kode54   Are you sure the albums are being split by tags pr...   Jan 27 2011, 23:34
- - Andreasvb   It's only one album, same tags for %album%. G...   Jan 27 2011, 23:41
- - Nowings69   Woo,Thanks a lots for foo_r128norm That makes me f...   Jan 27 2011, 23:46
- - Raiden   I'm thinking of new functions for the library:...   Jan 27 2011, 23:54
- - kode54   Parallelizing multiple tracks in a single album? Y...   Jan 28 2011, 00:53
- - thuan   I've just applied R128 on my entire library an...   Jan 28 2011, 03:13
- - GHammer   If you have an album with some tracks RG'd and...   Jan 28 2011, 05:17
- - kode54   Fixed to behave like foo_rgscan. Also, I implement...   Jan 28 2011, 06:50
- - Andreasvb   It works perfect now. Thank you!   Jan 28 2011, 10:51
- - Raiden   I've uploaded version 0.1.9 of libebur128. I m...   Jan 28 2011, 12:20
- - SpaceAgeHero   Can someone please inform me about the advantages ...   Jan 28 2011, 16:32
- - thuan   Are you sure you're using this component and n...   Jan 28 2011, 18:22
- - kode54   Updated. Due to how the scanner now handles sample...   Jan 29 2011, 04:03
|- - romor   QUOTE (kode54 @ Jan 29 2011, 04:03) Updat...   Jan 29 2011, 04:42
- - kode54   Well, any albums with mixed sample rates will diff...   Jan 29 2011, 17:28
- - GHammer   Using 1.15, if I choose 3-4 albums and select Scan...   Jan 29 2011, 20:07
- - Hitchhiker427   I can confirm the same problem that GHammer is exp...   Jan 29 2011, 23:10
- - kode54   Sorry, I just updated to 1.16, could you try to re...   Jan 30 2011, 06:38
|- - GHammer   QUOTE (kode54 @ Jan 30 2011, 01:38) Sorry...   Jan 30 2011, 08:43
- - spies   kode54, I want to thank you for this wonderful plu...   Jan 30 2011, 07:20
- - kode54   Updated. I'll add a reference level configurat...   Jan 30 2011, 07:37
- - kode54   Yeah, a future version will support reporting whic...   Jan 30 2011, 08:47
- - tedgo   Thanks for this component I made some tests with...   Jan 30 2011, 10:32
- - Canar   Just move the RG preamp down to -5dB.   Jan 30 2011, 17:52
- - tedgo   This would cause that all scanned albums are quiet...   Jan 30 2011, 19:18
- - lvqcl   Imho it is better to have "replaygain_correct...   Jan 30 2011, 19:33
- - kode54   Updated, now with error reporting. And a correcti...   Jan 31 2011, 01:27
|- - spies   QUOTE (kode54 @ Jan 30 2011, 16:27) I won...   Jan 31 2011, 02:51
|- - M   QUOTE (spies @ Jan 30 2011, 20:51) QUOTE ...   Jan 31 2011, 04:24
- - quackalist   I'm getting blank scan results after the last ...   Jan 31 2011, 01:47
- - tpijag   Kode54 Issue with this newest version. I tried w...   Jan 31 2011, 02:23
- - kode54   Updated again, thanks.   Jan 31 2011, 02:36
- - tpijag   Confirm issue gone and working fine for me. thank...   Jan 31 2011, 02:41
- - touccer   You can implement a quiet mode to apply automatica...   Jan 31 2011, 08:34
- - quackalist   Can also confirm both the empty scan results and f...   Jan 31 2011, 10:24
- - grimes   Here are some Album Gain data ReplayGain vs. EBU R...   Jan 31 2011, 21:31
|- - GeSomeone   QUOTE (grimes @ Jan 31 2011, 22:31) Here ...   Feb 3 2011, 00:26
- - kode54   Please note that the "true" peak method ...   Jan 31 2011, 23:38
- - mudlord   Funny, I thought the SDK already has SSE optimized...   Feb 1 2011, 03:45
- - kode54   Not for this upsampled bullcrap. Then I have to up...   Feb 1 2011, 05:48
- - romor   Easy test which I'm sure some did before, but ...   Feb 2 2011, 01:20
- - kode54   What are you comparing there? There are two scanne...   Feb 2 2011, 05:58
- - romor   Sorry if I posted wrong conclusion, but aren't...   Feb 2 2011, 07:12
- - kode54   Yeah, the results written by r128gain when using t...   Feb 2 2011, 07:57
- - romor   It seems like source to this in not in foobar, but...   Feb 2 2011, 08:17
- - kode54   You should mention that in the author's topic,...   Feb 2 2011, 10:17
- - Raiden   QUOTE (romor @ Feb 2 2011, 08:17) It seem...   Feb 2 2011, 10:19
|- - M   QUOTE (Raiden @ Feb 2 2011, 04:19) edit: ...   Feb 4 2011, 13:56
|- - M   QUOTE (M @ Feb 4 2011, 07:56) foobar2000 ...   Feb 4 2011, 14:59
- - romor   Ah, yes, thanks for explanation. R128GAIN is prese...   Feb 2 2011, 10:39
- - grimes   In the mentioned plot, ReplayGain is 1LU louder th...   Feb 3 2011, 11:15
|- - GeSomeone   QUOTE (grimes @ Feb 3 2011, 12:15) In the...   Feb 3 2011, 12:20
- - grimes   Here are the plots of my bootlegs (note: these are...   Feb 4 2011, 10:40
- - kode54   foo_r128scan already logs in full double precision...   Feb 4 2011, 14:58
|- - M   QUOTE (kode54 @ Feb 4 2011, 08:58) foo_r1...   Feb 4 2011, 15:07
- - GeSomeone   On ambient style albums I like the results much be...   Feb 4 2011, 22:26
- - SamDeRe81   I was just thinking we needed a new normalizing to...   Feb 5 2011, 18:47
- - kode54   I guess the number of significant digits depends o...   Feb 5 2011, 20:37
- - kode54   Updated.   Feb 7 2011, 15:27
- - SamDeRe81   I'm tempted to start using this but I'll w...   Feb 9 2011, 06:38
- - kode54   But that update only fixed a bug with odd sample r...   Feb 9 2011, 09:33
- - SamDeRe81   Alright, I'm doing my entire FLAC library now,...   Feb 9 2011, 23:03
- - airon   I'd like to generate a text report for selecte...   Mar 21 2011, 09:28
- - Chinch   Ok, I'm going to apologize ahead of time for m...   Mar 29 2011, 06:21
- - GeSomeone   There have been a couple of fixes for libebur128. ...   Apr 17 2011, 16:12
- - mrinferno   i suspect most will likely choose to simply upgrad...   Apr 17 2011, 16:37
- - kode54   Yes, when 1.1.6 goes final, this component will be...   Apr 18 2011, 04:37
- - SamDeRe81   Yea I just scanned my stuff with the new foobar200...   Apr 26 2011, 06:05
|- - GeSomeone   QUOTE (SamDeRe81 @ Apr 26 2011, 07:05) it...   Apr 26 2011, 16:44
- - SamDeRe81   interesting   Apr 26 2011, 20:12
- - SamDeRe81   R128Gain was updated with EBU R128-2, will you be ...   Mar 3 2012, 21:27
- - lvqcl   re-read post #93 on this page...   Mar 3 2012, 22:25
- - kode54   Not to mention that this utility and foobar2000 it...   Mar 4 2012, 00:22


Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 2nd September 2014 - 15:58