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: Dynamic Range plugin (Read 56887 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: Dynamic Range plugin

Reply #175
OK, digging into it, I see that they came up with the DR meter before the EBU "Loudness range" was set (and neither had anything but stereo at the time). https://web.archive.org/web/20111028114837/http://dynamicrange.de/ar/new-free-ebu128-vst-meter-plugin-pc-available kinda indicates they should agree, and so does the common 3-second window, but ...
So we have a standard and a defunct "official" ...

Anyway, thanks for maintaining a consistent one. I have used that extensively to rough-sort when CD ripping metadata (that were acquired automatically) gave bogus release years and mastering info. The "scale" doesn't really matter as long as the numbers help me sort and identify. Of course I don't need a DR figure to understand that a 5.1 version is not the same pressing as a CDDA version.

Re: Dynamic Range plugin

Reply #176
As I said, the calculation of DR is specified and it doesn't tell you to filter out channels by any criteria. There is no "unofficial multi-channel extension", there is only the specification. You can read it here: https://web.archive.org/web/20131206121248/http://www.dynamicrange.de/sites/default/files/Measuring%20DR%20ENv3.pdf.

I see that the the original foobar2000 component actually ignored completely blank channel, though I'd count that as a bug. It for example prints peak and RMS for such channels as "-1.#J".
Simply adding minimal dither noise to the channel triggers the old component to use the channel like it should be used. Just because a channel has DR0 doesn't mean it's not there.

You are right that the exclusion criteria you quoted from MMH isn't academic. It's completely made up. If you are following DR specs you can't invent your own rules.
If you have been scanning your files with MMH you might want to double check the results. I scanned three test files with it and for one it claimed front left and front right channels to be DR2/3 when in reality the channels were around DR10.

Engineering specifications get updated all the time when issues or ambiguities are found. 

Spec quote: "The overall DR is finally calculated as the average of the channel DR values rounded to the next integer value. "

I would submit this sentence was meant to apply only to stereo (roughly equal levels),  not for surround sound channels with large differences in level.   Casual specs like this are not pure mathematics or ironclad (legal) laws and cannot be interpreted without engineering judgement.

You could ask Friedemann Tischmeyer (MAAT)(*), but I submit that the above line does not apply to surround sound multichannel.   My evidence:  The TT DR utility did not allow calculation of overall DR beyond stereo, the current MAAT DROffline utility does not allow calculation of DR beyond stereo and the professional $50 MAAT DROffline MkII does not allow the calculation of DR beyond stereo.  And I don't think it is because MAAT is lazy.   Note, that the MAAT DROffline(s) refuses to process MP3s by design.

(*) Though Tischmeyer probably would not respond because MAAT DROffline is the only "Official"/"Real" DR calculator, i.e. you are a competitor.   I guess you ask: "Can I take MAAT DROffline DRs for surround channels and average them together to make a "MAAT Official" overall DR?" 


Re: Dynamic Range plugin

Reply #177
I hope @Case will not change the calculations nor remove multichannel from DR Meter:)

Re: Dynamic Range plugin

Reply #178
If no consensus is reached about how to do it, I agree this would at least make some sense for multi-channel (as an optional advanced setting).

Quote
Anyway I think that at least ideally, the average should be volume-weighted in some manner, so that a blank channel counts for nothing. And, for the sake of the argument: what if one "was blank, but dithered in the mastering" so every block has something - then way out in the roundoff.

I agree about point below though, even if I understand Case's points.

Quote
Casual specs like this are not pure mathematics or ironclad (legal) laws and cannot be interpreted without engineering judgement.
On one hand. it makes no sense at all that channel-volume levels affect DR scores, that kinda defeats the purpose of DR and it should be taken into consideration when computing averages.

On the other hand, if you split channels as tracks, then the average DR would also be the average of every track. And it doesn't matter if they have different volume levels... So considering every stream as a single entity, it doesn't matter if it's a channel, a track or whatever. They are all averaged the same.

One could also argue that an artificial track where the L channel has a DR1 and a R channel with DR14 but mostly silent would also output "wrong" DR. And that's "true", that value is mostly useless. You have just fooled the meter (like the all pass EQ filter + phase changes). It's not multi-channel problem only. (this is what Case's points are about, it's just how the standard works)

I would say, in this case the standard is simply incomplete, and Porcus solution makes much more sense to "patch" the standard, even if it's an opt in option.

Re: Dynamic Range plugin

Reply #179
I hope @Case will not change the calculations nor remove multichannel from DR Meter:)

Note, I am not asking for any change in calculation or removal of multichannel.  Multichannel capability is convenient for a "batch" run of the DR algorithm.  Just the output of a "caveat" line for the overall value in the log file when outputing surround overall DRs something like "Overall DR is based on a simple average of the individual surround channel DRs".   One would hope that existing DR log processing routines could handle a extra information line without getting an error.

Re: Dynamic Range plugin

Reply #180
I hope @Case will not change the calculations nor remove multichannel from DR Meter:)

Note, I am not asking for any change in calculation or removal of multichannel.  Multichannel capability is convenient for a "batch" run of the DR algorithm.  Just the output of a "caveat" line for the overall value in the log file when outputing surround overall DRs something like "Overall DR is based on a simple average of the individual surround channel DRs".   One would hope that existing DR log processing routines could handle a extra information line without getting an error.


An interesting search in the DR Database is to put "Atmos" in the Album search field and leaving "Artist" blank.   You will get results based on the averages and results based on downmixes.  What you do not see is DR logs with all the information for all the channels.

Playing with the plugin with the Cure TrueHD Blu-Ray.   I get for the "Copy to clipboard":


Name   Path   Track DR   Album DR   DR (FL)   DR (FR)   DR (FC)   DR (LFE)   DR (BL)   DR (BR)   DR (SL)   DR (SR)   RMS (FL)   RMS (FR)   RMS (FC)   RMS (LFE)   RMS (BL)   RMS (BR)   RMS (SL)   RMS (SR)   Peak (FL)   Peak (FR)   Peak (FC)   Peak (LFE)   Peak (BL)   Peak (BR)   Peak (SL)   Peak (SR)
t1   t1.flac   14   13   8.81 dB   8.40 dB   26.03 dB   9.32 dB   16.52 dB   15.65 dB   13.04 dB   12.96 dB   -18.88 dBFS   -18.05 dBFS   -80.15 dBFS   -38.29 dBFS   -38.14 dBFS   -37.97 dBFS   -27.04 dBFS   -26.85 dBFS   -8.83 dBFS   -8.05 dBFS   -44.23 dBFS   -27.41 dBFS   -15.96 dBFS   -15.61 dBFS   -10.03 dBFS   -11.13 dBFS
t2   t2.flac   14   13   8.41 dB   8.61 dB   21.74 dB   10.34 dB   18.50 dB   17.35 dB   12.28 dB   12.14 dB   -19.55 dBFS   -19.66 dBFS   -87.72 dBFS   -43.99 dBFS   -38.63 dBFS   -39.03 dBFS   -26.25 dBFS   -26.40 dBFS   -8.50 dBFS   -8.40 dBFS   -57.28 dBFS   -29.85 dBFS   -13.35 dBFS   -13.27 dBFS   -11.56 dBFS   -10.83 dBFS
t3   t3.flac   15   13   8.70 dB   8.84 dB   39.75 dB   9.13 dB   15.83 dB   16.33 dB   12.57 dB   12.23 dB   -18.82 dBFS   -18.46 dBFS   -96.58 dBFS   -39.93 dBFS   -38.92 dBFS   -39.46 dBFS   -28.50 dBFS   -29.23 dBFS   -8.30 dBFS   -7.89 dBFS   -53.03 dBFS   -28.72 dBFS   -17.63 dBFS   -18.05 dBFS   -9.58 dBFS   -12.74 dBFS
t4   t4.flac   13   13   8.67 dB   8.61 dB   23.46 dB   11.13 dB   14.98 dB   14.35 dB   11.16 dB   11.57 dB   -19.46 dBFS   -19.63 dBFS   -87.74 dBFS   -41.73 dBFS   -41.43 dBFS   -41.84 dBFS   -24.72 dBFS   -25.21 dBFS   -8.12 dBFS   -8.43 dBFS   -56.44 dBFS   -27.54 dBFS   -21.77 dBFS   -22.68 dBFS   -10.75 dBFS   -10.35 dBFS
t5   t5.flac   14   13   8.20 dB   8.19 dB   23.09 dB   8.15 dB   18.89 dB   19.04 dB   12.88 dB   12.68 dB   -18.36 dBFS   -18.55 dBFS   -81.24 dBFS   -38.24 dBFS   -39.62 dBFS   -39.65 dBFS   -27.80 dBFS   -28.29 dBFS   -8.24 dBFS   -8.34 dBFS   -49.55 dBFS   -28.23 dBFS   -14.21 dBFS   -15.61 dBFS   -10.35 dBFS   -12.26 dBFS
t6   t6.flac   11   13   7.50 dB   6.50 dB   21.55 dB   8.31 dB   12.38 dB   12.62 dB   10.84 dB   11.47 dB   -18.55 dBFS   -17.66 dBFS   -79.79 dBFS   -39.41 dBFS   -40.38 dBFS   -40.08 dBFS   -28.45 dBFS   -28.55 dBFS   -8.65 dBFS   -7.82 dBFS   -49.38 dBFS   -27.81 dBFS   -21.96 dBFS   -21.89 dBFS   -12.99 dBFS   -12.04 dBFS
t7   t7.flac   12   13   6.73 dB   6.40 dB   26.11 dB   7.28 dB   13.89 dB   14.16 dB   11.82 dB   12.38 dB   -17.27 dBFS   -16.92 dBFS   -92.42 dBFS   -36.71 dBFS   -41.40 dBFS   -41.83 dBFS   -28.72 dBFS   -28.12 dBFS   -8.67 dBFS   -8.58 dBFS   -55.34 dBFS   -26.73 dBFS   -21.08 dBFS   -21.87 dBFS   -13.33 dBFS   -11.44 dBFS
t8   t8.flac   14   13   9.53 dB   9.08 dB   25.41 dB   10.84 dB   17.16 dB   17.61 dB   10.37 dB   10.60 dB   -20.04 dBFS   -19.47 dBFS   -83.17 dBFS   -41.25 dBFS   -42.09 dBFS   -42.21 dBFS   -23.41 dBFS   -22.43 dBFS   -8.70 dBFS   -8.60 dBFS   -47.35 dBFS   -27.94 dBFS   -20.03 dBFS   -19.63 dBFS   -10.70 dBFS   -9.27 dBFS



But for the log its:

foobar2000 v2.24.3 / DR Meter v0.9
log date: 2025-04-14 11:33:46

--------------------------------------------------------------------------------
Analyzed: ? / ?
--------------------------------------------------------------------------------

DR         Peak           RMS       Duration Track
--------------------------------------------------------------------------------
DR14      -8.05 dBFS   -23.83 dBFS      6:49    t1
DR14      -8.40 dBFS   -24.74 dBFS      6:53    t2
DR15      -7.89 dBFS   -24.21 dBFS      4:43    t3
DR13      -8.12 dBFS   -24.44 dBFS      4:17    t4
DR14      -8.24 dBFS   -23.97 dBFS      4:45    t5
DR11      -7.82 dBFS   -23.68 dBFS      6:03    t6
DR12      -8.58 dBFS   -22.77 dBFS      5:21    t7
DR14      -8.60 dBFS   -24.02 dBFS     10:23   t8
--------------------------------------------------------------------------------

Number of tracks:  8
Official DR value: DR13

Samplerate:        48000 Hz
Channels:          8
Bits per sample:   24
Bitrate:           3799 kbps
Codec:             FLAC
================================================================================


I think the problem is that all the great surround per channel data is not spammed into the log in some form.   If there was per channel data in the log, you could see that the "DR14" track 1 is actually  DR 8.81/8.40 dB  for the dominant front channels.

 

Re: Dynamic Range plugin

Reply #181
The log format mimics the reference design. Single track scans have all the details, album scans are just a summary.

I can add channel DR results to the album log, if you think it won't cause problems.

Re: Dynamic Range plugin

Reply #182
Attached is a test version that appends per-channel DR numbers for multichannel material.

Produces logs like this:
Code: [Select]
foobar2000 v2.25 preview 2025-04-15 / DR Meter v0.9+
log date: 2025-04-15 20:27:44

--------------------------------------------------------------------------------
Analyzed: Nightwish / From Wishes To Eternity
--------------------------------------------------------------------------------

DR         Peak           RMS       Duration Track                                      FL           FR           FC          LFE           SL           SR
--------------------------------------------------------------------------------
DR12       1.42 dBFS   -12.46 dBFS      4:23 01-The Kinslayer                         8.45 dB      8.13 dB     16.01 dB     14.07 dB     12.68 dB     11.77 dB
DR11       0.87 dBFS   -12.81 dBFS      5:02 02-She Is My Sin                         8.45 dB      8.13 dB     16.01 dB     14.07 dB     12.68 dB     11.77 dB
DR11       0.80 dBFS   -13.52 dBFS      4:12 03-Deep Silent Complete                  8.45 dB      8.13 dB     16.01 dB     14.07 dB     12.68 dB     11.77 dB
DR11       0.89 dBFS   -12.18 dBFS      6:40 04-The Pharaoh Sails To Orion            8.45 dB      8.13 dB     16.01 dB     14.07 dB     12.68 dB     11.77 dB
DR11       0.72 dBFS   -13.29 dBFS      4:58 05-Come Cover Me                         8.45 dB      8.13 dB     16.01 dB     14.07 dB     12.68 dB     11.77 dB
DR11       0.51 dBFS   -12.90 dBFS      4:37 06-Wanderlust                            8.45 dB      8.13 dB     16.01 dB     14.07 dB     12.68 dB     11.77 dB
DR11       0.92 dBFS   -13.24 dBFS      3:26 07-Instrumental (Crimson Tide / ...      8.45 dB      8.13 dB     16.01 dB     14.07 dB     12.68 dB     11.77 dB
DR11       0.80 dBFS   -14.27 dBFS      3:53 08-Swanheart                             8.45 dB      8.13 dB     16.01 dB     14.07 dB     12.68 dB     11.77 dB
DR10       1.13 dBFS   -12.90 dBFS      4:54 09-Elvenpath                             8.45 dB      8.13 dB     16.01 dB     14.07 dB     12.68 dB     11.77 dB
DR11       1.02 dBFS   -11.94 dBFS      3:25 10-FantasMic part 3                      8.45 dB      8.13 dB     16.01 dB     14.07 dB     12.68 dB     11.77 dB
DR12       0.87 dBFS   -15.28 dBFS      7:01 11-Dead Boy's Poem                       8.45 dB      8.13 dB     16.01 dB     14.07 dB     12.68 dB     11.77 dB
DR11       0.99 dBFS   -13.42 dBFS      5:23 12-Sacrament Of Wilderness               8.45 dB      8.13 dB     16.01 dB     14.07 dB     12.68 dB     11.77 dB
DR11       0.99 dBFS   -14.60 dBFS      5:31 13-Walking In The Air                    8.45 dB      8.13 dB     16.01 dB     14.07 dB     12.68 dB     11.77 dB
DR11       0.75 dBFS   -13.39 dBFS      6:55 14-Beauty And The Beast                  8.45 dB      8.13 dB     16.01 dB     14.07 dB     12.68 dB     11.77 dB
DR11       1.72 dBFS   -14.09 dBFS      9:29 15-Wishmaster                            8.45 dB      8.13 dB     16.01 dB     14.07 dB     12.68 dB     11.77 dB
--------------------------------------------------------------------------------

Number of tracks:  15
Official DR value: DR11

Samplerate:        48000 Hz
Channels:          6
Bitrate:           448 kbps
Codec:             ATSC A/52A (AC-3)
================================================================================

Edit: please note that this component creates invalid logs for multichannel files. The channel stats are all repeating the values of the first track...


Re: Dynamic Range plugin

Reply #184
I seem to have suffered from tunnel vision last night, the test component and example log I posted just repeated the channel results of the first track for all the tracks.
Unfortunately this forum still doesn't allow me to remove the attachments from old posts, so I can't nuke the dangerously buggy component.

Here's a fixed test version that reports the information from the correct channels. And I realized the reported bitdepth was incorrect for HDCDs (it reported 16 from static information). This version gets the decoded bitdepth value after possible decode postprocessors.

I'll make an official release if @spongebob128 confirms log mutilations like these don't cause issues for log consumers.

@mexx : I was going to implement time estimate display yesterday, but the SDK helper for these threaded tasks doesn't support status bar display like is seen in the built-in ReplayGain scanner. I don't feel like inventing my own tools when the SDK offers otherwise superb solution, so for now this is all you get.

Code: [Select]
foobar2000 v2.25 preview 2025-04-15 / DR Meter v0.9+1
log date: 2025-04-16 10:30:55

--------------------------------------------------------------------------------
Analyzed: Nightwish / From Wishes To Eternity
--------------------------------------------------------------------------------

DR         Peak           RMS       Duration Track                                      FL           FR           FC          LFE           SL           SR
--------------------------------------------------------------------------------
DR12       1.42 dBFS   -12.46 dBFS      4:23 01-The Kinslayer                         8.45 dB      8.13 dB     16.01 dB     14.07 dB     12.68 dB     11.77 dB
DR11       0.87 dBFS   -12.81 dBFS      5:02 02-She Is My Sin                         8.35 dB      8.18 dB     12.03 dB     11.18 dB     12.27 dB     12.20 dB
DR11       0.80 dBFS   -13.52 dBFS      4:12 03-Deep Silent Complete                  8.45 dB      8.12 dB     12.37 dB     13.21 dB     10.88 dB     11.36 dB
DR11       0.89 dBFS   -12.18 dBFS      6:40 04-The Pharaoh Sails To Orion            8.28 dB      7.99 dB     13.48 dB     11.50 dB     11.19 dB     10.72 dB
DR11       0.72 dBFS   -13.29 dBFS      4:58 05-Come Cover Me                         8.36 dB      8.11 dB     13.62 dB     13.15 dB     13.25 dB     10.68 dB
DR11       0.51 dBFS   -12.90 dBFS      4:37 06-Wanderlust                            8.42 dB      8.00 dB     14.25 dB     12.23 dB     11.64 dB     11.02 dB
DR11       0.92 dBFS   -13.24 dBFS      3:26 07-Instrumental (Crimson Tide / ...      8.27 dB      8.18 dB     16.15 dB     12.73 dB     10.76 dB     10.69 dB
DR11       0.80 dBFS   -14.27 dBFS      3:53 08-Swanheart                             8.05 dB      8.12 dB     14.13 dB     13.19 dB     10.34 dB     10.91 dB
DR10       1.13 dBFS   -12.90 dBFS      4:54 09-Elvenpath                             8.34 dB      7.98 dB     11.82 dB     11.99 dB     11.02 dB     10.97 dB
DR11       1.02 dBFS   -11.94 dBFS      3:25 10-FantasMic part 3                      8.03 dB      7.85 dB     14.65 dB     10.80 dB     11.35 dB     10.87 dB
DR12       0.87 dBFS   -15.28 dBFS      7:01 11-Dead Boy's Poem                       9.19 dB      8.72 dB     15.10 dB     13.56 dB     11.77 dB     12.60 dB
DR11       0.99 dBFS   -13.42 dBFS      5:23 12-Sacrament Of Wilderness               8.84 dB      8.30 dB     13.35 dB     13.22 dB     10.73 dB     10.19 dB
DR11       0.99 dBFS   -14.60 dBFS      5:31 13-Walking In The Air                    8.95 dB      8.58 dB     12.60 dB     13.38 dB     11.84 dB     11.38 dB
DR11       0.75 dBFS   -13.39 dBFS      6:55 14-Beauty And The Beast                  8.23 dB      8.07 dB     13.77 dB     11.73 dB     12.56 dB     12.51 dB
DR11       1.72 dBFS   -14.09 dBFS      9:29 15-Wishmaster                            8.53 dB      8.07 dB     13.21 dB     12.39 dB     12.51 dB     12.34 dB
--------------------------------------------------------------------------------

Number of tracks:  15
Official DR value: DR11

Samplerate:        48000 Hz
Channels:          6
Bitrate:           448 kbps
Codec:             ATSC A/52A (AC-3)
================================================================================

Re: Dynamic Range plugin

Reply #185
...I was going to implement time estimate display yesterday, but the SDK helper for these threaded tasks doesn't support status bar display like is seen in the built-in ReplayGain scanner. I don't feel like inventing my own tools when the SDK offers otherwise superb solution, so for now this is all you get.
...

OK, no problem. It would have been nice, but it's not absolutely necessary. Thanks for your effort.

cu mexx

Re: Dynamic Range plugin

Reply #186

I'll make an official release if @spongebob128 confirms log mutilations like these don't cause issues for log consumers.


Thank you for this great efforts.  I wish I had such god like powers (this week I found that my code mistake caused an engineering results disaster).  I guess the main consumer of the log is the Dynamic Range Database "https://dr.loudness-war.info/".   I currently I do not have any insight in what the DR Database submission code will except or won't except (though I guess I could test it myself).    From my understanding, a main pain for the database website is the problems with the RIAA (music industry piracy enforcement) if the submissions are not carefully screened to make sure they do not contain any music download information.   This means the log file may be extremely restricted to be a certain format.   Currently, they only have to check the "Comments Field" for "bad" information (yes, they check every one).

The runner of site seems to have some motivation to maybe change the code if necessary.  In this post:
https://forums.stevehoffman.tv/threads/uploads-to-dynamic-range-database-suspended-update-working-again.1105885/page-8

the site owner said:

Quote
Downmixes are problematic because if all the tracks of a 5.1 mix are extremely compressed, the downmix would still look and measure rather good. So, DR values of stereo downmixes of surround mixes have no real significance. There are also many ways to downmix, like at which volumes you mix the different channels, like rear channels at -3 dB or -6 dB.

I agree that downmixing opens up a whole can of worms, especially for coming up with repeatable authoritative DR numbers.

Providing the individual surround channel numbers seems to be good solution.  The only addition is that I would like to see the RMS numbers too.    In this way you can get a "feeling" for how much a channel's DR number would effect the overall DR.   An average "pseudo peak"  could always be inferred by  (DR + RMS) for a track so the actual peak value is not that important.

Re: Dynamic Range plugin

Reply #187
I just uploaded version 1.0 that reports per-channel DR and RMS statistics for multichannel albums. And I added time information to the titlebar of the progress dialog.
You can update through foobar2000 or download from https://www.foobar2000.org/components/view/foo_dr_meter.
Example log:
Code: [Select]
foobar2000 v2.24.3 / DR Meter v1.0
log date: 2025-04-19 15:55:30

--------------------------------------------------------------------------------
Analyzed: Jean Michel Jarre / Aero
--------------------------------------------------------------------------------

DR         Peak           RMS       Duration Track                                    DR (FL)      DR (FR)      DR (FC)     DR (LFE)      DR (SL)      DR (SR)     RMS (FL)     RMS (FR)     RMS (FC)    RMS (LFE)     RMS (SL)     RMS (SR)
--------------------------------------------------------------------------------
DR8       -0.78 dBFS   -13.89 dBFS      0:18 01-Aero Opening                         10.74 dB      8.63 dB      4.81 dB      1.15 dB     11.98 dB     11.39 dB  -14.98 dBFS  -14.10 dBFS  -11.32 dBFS  -13.19 dBFS  -16.08 dBFS  -15.52 dBFS
DR9        0.22 dBFS   -22.15 dBFS      0:33 02-Scene 1                               6.65 dB      9.70 dB     12.04 dB      8.09 dB      8.81 dB     10.74 dB  -15.53 dBFS  -22.65 dBFS  -33.71 dBFS  -29.05 dBFS  -30.07 dBFS  -33.39 dBFS
DR12       0.59 dBFS   -13.89 dBFS      7:12 03-Oxygene 2                            10.03 dB      9.63 dB     14.54 dB     13.45 dB     11.20 dB     10.91 dB  -12.03 dBFS  -11.56 dBFS  -18.92 dBFS  -18.76 dBFS  -13.71 dBFS  -13.56 dBFS
DR17       0.41 dBFS   -27.32 dBFS      0:31 04-Scene 2                              12.91 dB     19.78 dB     25.79 dB      0.00 dB     22.30 dB     20.45 dB  -28.02 dBFS  -23.50 dBFS  -45.55 dBFS  -95.66 dBFS  -26.33 dBFS  -25.65 dBFS
DR11       0.37 dBFS   -13.02 dBFS      3:10 05-Aero                                  9.01 dB      9.11 dB     16.61 dB      9.35 dB     12.38 dB     11.94 dB  -10.12 dBFS  -10.01 dBFS  -23.99 dBFS  -16.21 dBFS  -14.35 dBFS  -14.29 dBFS
DR12      -0.22 dBFS   -18.17 dBFS      1:25 06-Equinoxe 8                            9.47 dB     11.38 dB     15.04 dB     11.91 dB     11.83 dB     13.57 dB  -15.50 dBFS  -16.37 dBFS  -22.87 dBFS  -19.37 dBFS  -18.81 dBFS  -19.87 dBFS
DR12       1.18 dBFS   -13.38 dBFS      4:17 07-Oxygene 4                             8.97 dB      9.07 dB     19.13 dB     11.82 dB     11.14 dB     11.50 dB  -10.63 dBFS  -10.62 dBFS  -22.56 dBFS  -16.86 dBFS  -14.11 dBFS  -14.26 dBFS
DR11       0.06 dBFS   -15.96 dBFS      0:32 08-Scene 3                               8.39 dB      9.95 dB     10.84 dB     12.76 dB      9.82 dB     11.76 dB  -13.52 dBFS  -14.42 dBFS  -20.01 dBFS  -26.00 dBFS  -15.36 dBFS  -15.23 dBFS
DR13       0.10 dBFS   -14.45 dBFS      4:13 09-Souvenir of China                     9.48 dB     10.61 dB     17.13 dB     10.81 dB     13.83 dB     13.31 dB  -10.80 dBFS  -12.12 dBFS  -20.38 dBFS  -19.69 dBFS  -16.36 dBFS  -15.60 dBFS
DR18       0.64 dBFS   -24.36 dBFS      0:50 10-Scene 4                              21.25 dB     17.56 dB     24.43 dB     13.14 dB     17.77 dB     16.64 dB  -27.99 dBFS  -22.31 dBFS  -35.74 dBFS  -35.95 dBFS  -21.81 dBFS  -21.31 dBFS
DR10       0.52 dBFS   -11.37 dBFS      3:00 11-Aerology                              7.46 dB      7.79 dB     12.23 dB      9.13 dB     10.30 dB     10.14 dB   -8.70 dBFS   -8.82 dBFS  -18.70 dBFS  -13.59 dBFS  -12.42 dBFS  -12.46 dBFS
DR11      -0.63 dBFS   -21.90 dBFS      0:39 12-Scene 5                              10.36 dB     14.74 dB     15.25 dB     10.86 dB     12.05 dB      5.33 dB  -21.41 dBFS  -24.11 dBFS  -19.65 dBFS  -21.41 dBFS  -21.59 dBFS  -25.81 dBFS
DR11       0.15 dBFS   -13.31 dBFS      6:08 13-Equinoxe 3                            7.13 dB      8.59 dB     16.02 dB      7.94 dB     12.88 dB     12.34 dB   -9.09 dBFS  -11.02 dBFS  -27.27 dBFS  -15.88 dBFS  -16.29 dBFS  -15.76 dBFS
DR9      -11.75 dBFS   -28.71 dBFS      0:26 14-Scene 6                              10.70 dB     10.38 dB      6.53 dB      7.74 dB      9.01 dB      8.49 dB  -25.82 dBFS  -25.75 dBFS  -36.95 dBFS  -42.32 dBFS  -29.35 dBFS  -28.64 dBFS
DR12       0.36 dBFS   -14.45 dBFS      5:39 15-Equinoxe 4                           10.07 dB      9.98 dB     14.14 dB     10.73 dB     13.16 dB     12.95 dB  -12.12 dBFS  -11.67 dBFS  -18.29 dBFS  -18.75 dBFS  -15.73 dBFS  -15.12 dBFS
DR14       0.55 dBFS   -20.36 dBFS      1:06 16-Scene 7                              14.87 dB      7.38 dB     13.80 dB     10.52 dB     19.56 dB     18.92 dB  -18.10 dBFS  -15.32 dBFS  -29.98 dBFS  -25.63 dBFS  -25.05 dBFS  -24.54 dBFS
DR10      -0.00 dBFS   -13.29 dBFS      4:41 17-Last Rendez-Vous                      8.52 dB      8.50 dB      9.10 dB     11.01 dB     10.31 dB     10.71 dB  -11.20 dBFS  -11.33 dBFS  -13.75 dBFS  -21.68 dBFS  -13.67 dBFS  -13.99 dBFS
DR10       0.43 dBFS   -15.43 dBFS      0:27 18-Scene 8                               9.08 dB      8.88 dB     17.92 dB      3.92 dB     10.47 dB      7.75 dB  -14.46 dBFS  -15.54 dBFS  -55.06 dBFS  -20.31 dBFS  -14.09 dBFS  -12.24 dBFS
DR13       0.36 dBFS   -14.58 dBFS      3:35 19-Zoolookology                         10.49 dB     10.72 dB     16.48 dB     11.72 dB     13.58 dB     13.51 dB  -11.62 dBFS  -11.76 dBFS  -20.40 dBFS  -19.72 dBFS  -15.56 dBFS  -15.87 dBFS
DR4       -4.60 dBFS   -23.28 dBFS      0:12 20-Scene 9                               1.56 dB      3.66 dB      0.00 dB      3.08 dB      7.41 dB      8.31 dB  -19.90 dBFS  -26.01 dBFS -111.80 dBFS  -39.19 dBFS  -24.42 dBFS  -19.31 dBFS
DR13       0.21 dBFS   -17.26 dBFS      4:51 21-Aerozone                             13.34 dB     11.72 dB     14.07 dB     10.33 dB     15.48 dB     15.55 dB  -15.54 dBFS  -14.72 dBFS  -19.67 dBFS  -17.98 dBFS  -18.98 dBFS  -19.26 dBFS
DR15       0.38 dBFS   -31.79 dBFS      0:16 22-Scene 10                             26.55 dB     25.07 dB      0.00 dB     11.57 dB     14.76 dB     14.73 dB  -31.09 dBFS  -31.74 dBFS -108.79 dBFS  -34.74 dBFS  -30.42 dBFS  -28.92 dBFS
DR11       0.28 dBFS   -13.62 dBFS      5:42 23-Magnetic Fields 1                    10.27 dB      9.75 dB     11.48 dB      9.95 dB     10.97 dB     11.72 dB  -12.50 dBFS  -12.30 dBFS  -15.70 dBFS  -14.99 dBFS  -13.33 dBFS  -13.92 dBFS
DR10       0.78 dBFS   -21.16 dBFS      0:16 24-Scene 11                             11.05 dB     14.80 dB      0.00 dB      0.00 dB     16.88 dB     15.63 dB  -15.33 dBFS  -19.82 dBFS  -99.61 dBFS -110.01 dBFS  -24.52 dBFS  -25.70 dBFS
DR13       0.42 dBFS   -15.48 dBFS      6:12 25-Chronology 6                         11.23 dB     11.18 dB     15.03 dB     10.14 dB     13.65 dB     13.88 dB  -13.59 dBFS  -13.91 dBFS  -18.86 dBFS  -15.25 dBFS  -16.64 dBFS  -16.82 dBFS
DR11      -0.04 dBFS   -13.57 dBFS      7:41 26-Rendez-Vous 4 (live version)          8.94 dB      9.10 dB     15.86 dB     10.19 dB     11.39 dB     11.76 dB  -10.87 dBFS  -11.19 dBFS  -22.80 dBFS  -15.86 dBFS  -14.15 dBFS  -14.44 dBFS
--------------------------------------------------------------------------------

Number of tracks:  26
Official DR value: DR11

Samplerate:        48000 Hz
Channels:          6
Bitrate:           1510 kbps
Codec:             DTS
================================================================================

Re: Dynamic Range plugin

Reply #188
Thank you @Case !

Minor cosmetic bug (track 6 column alignment):
Code: [Select]
foobar2000 v2.24.3 / DR Meter v1.0
log date: 2025-04-19 11:28:48

--------------------------------------------------------------------------------
Analyzed: Aretha Franklin / The Best of Aretha Franklin
--------------------------------------------------------------------------------

DR         Peak           RMS       Duration Track                                    DR (FL)      DR (FR)      DR (SL)      DR (SR)     RMS (FL)     RMS (FR)     RMS (SL)     RMS (SR)
--------------------------------------------------------------------------------
DR11       0.00 dBFS   -12.46 dBFS      2:24 01-Respect                              10.01 dB     10.08 dB     12.07 dB     10.94 dB  -11.40 dBFS  -11.60 dBFS  -14.23 dBFS  -13.20 dBFS
DR10       0.00 dBFS   -12.80 dBFS      2:46 02-Baby, I Love You                     10.44 dB     10.86 dB      9.67 dB     10.88 dB  -12.41 dBFS  -13.16 dBFS  -12.29 dBFS  -13.43 dBFS
DR10       0.00 dBFS   -13.01 dBFS      4:20 03-Chain of Fools                        9.40 dB     10.06 dB     10.47 dB     10.62 dB  -11.87 dBFS  -12.57 dBFS  -13.60 dBFS  -14.44 dBFS
DR10       0.00 dBFS   -12.12 dBFS      4:24 04-Rock Steady                           9.42 dB     10.22 dB      9.71 dB     10.49 dB  -11.14 dBFS  -12.20 dBFS  -12.02 dBFS  -13.43 dBFS
DR10       0.00 dBFS   -12.04 dBFS      3:41 05-Spanish Harlem                        8.65 dB     10.52 dB      9.57 dB     10.80 dB  -11.01 dBFS  -13.24 dBFS  -11.27 dBFS  -13.15 dBFS
DR10       0.00 dBFS   -13.14 dBFS      2:51 06-Don’t Play That Song                8.76 dB     10.16 dB     10.38 dB     10.89 dB  -11.05 dBFS  -13.30 dBFS  -14.11 dBFS  -15.21 dBFS
DR12       0.00 dBFS   -14.35 dBFS      3:21 07-Dr. Feelgood                          9.09 dB     11.24 dB     12.79 dB     14.28 dB  -11.92 dBFS  -14.31 dBFS  -15.63 dBFS  -17.40 dBFS
DR10       0.00 dBFS   -13.80 dBFS      3:52 08-Day Dreaming                          8.60 dB      9.89 dB     11.16 dB     12.13 dB  -11.70 dBFS  -13.25 dBFS  -14.98 dBFS  -17.00 dBFS
DR9        0.00 dBFS   -12.01 dBFS      3:25 09-I Say a Little Prayer                 8.54 dB      9.01 dB      9.27 dB      9.45 dB  -11.37 dBFS  -12.02 dBFS  -12.59 dBFS  -12.16 dBFS
DR9        0.00 dBFS   -12.25 dBFS      2:46 10-(You Make Me Feel Like) A Natur…      7.49 dB      9.00 dB      9.77 dB      9.36 dB  -10.55 dBFS  -12.30 dBFS  -13.54 dBFS  -13.28 dBFS
DR11       0.00 dBFS   -14.28 dBFS      3:43 11-Call Me                               9.83 dB     10.52 dB     11.45 dB     12.47 dB  -12.70 dBFS  -14.00 dBFS  -14.97 dBFS  -16.19 dBFS
DR12       0.00 dBFS   -15.01 dBFS      5:48 12-Bridge Over Troubled Water           10.68 dB     12.15 dB     11.95 dB     11.81 dB  -13.94 dBFS  -15.76 dBFS  -15.18 dBFS  -15.37 dBFS
--------------------------------------------------------------------------------

Number of tracks:  12
Official DR value: DR10

Samplerate:        48000 Hz
Channels:          4
Bits per sample:   24
Bitrate:           3281 kbps
Codec:             FLAC
================================================================================

Re: Dynamic Range plugin

Reply #189
Would it be possible to log stereo L/R channels separately?
This might be a bad idea as the default behavior, but could it be configurable?

Re: Dynamic Range plugin

Reply #190
Serves me right for reusing padding code I wrote for numeric values. Fixed version uploaded that can calculate string lengths correctly regardless of special characters. And I added an option to include per-channel statistics for stereo albums too.

Re: Dynamic Range plugin

Reply #191
@Case
thank you for new additions to the component.
One remark regarding new method of bitdepth display in the log. In case of HDCDs it can be misleading/confusing as we have 16bit file and get 24bits in the log. Plus I scanned a file that has TF but no PE nor LLE so your TPS shows 17bits but new DR shows 24bits which may again be confusing (I presume those are different values - "measured" vs. "decoded to"). Maybe it would be better to show both values in the log - input bitdepth (16) and decoded bitdepth (24) or at least name or rename the visible value so that we know which one is displayed.

Re: Dynamic Range plugin

Reply #192
My recommendation has always been not to pretend that fake HDCDs are HDCD-enabled. That way you do not get any confusions anywhere. Note that the bit depth is purely what the source reports, it will never be fact checked to see if the bits are actually present.

I strongly disagree that log should contain values that are irrelevant, like what the source file specs are prior to decoding.

Re: Dynamic Range plugin

Reply #193
Magnificent! Thank you @Case !!!