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 33715 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: Dynamic Range plugin

Reply #150
@Case , when using "Сopy to clipboard" in foo_dr_meter results window and then pasting it somewhere, it looks like a mess.
Example:
Code: [Select]
Name	Path	Track DR	Album DR	DR (FL)	DR (FR)	RMS (FL)	RMS (FR)	Peak (FL)	Peak (FR)
Reclaiming Decades Erased Y\Serpent Column\Serpent Column - 2024 - Tassel of Ares\01. Reclaiming Decades Erased.flac 6 8 6.13 dB 5.92 dB -7.15 dBFS -6.68 dBFS 0.00 dBFS 0.00 dBFS
Unto Works and Days 6 8 5.88 dB 5.85 dB -7.66 dBFS -7.76 dBFS -0.30 dBFS -0.30 dBFS
The Long War of Essential Struggle r\Serpent Column\Serpent Column - 2024 - Tassel of Ares\03. The Long War of Essential Struggle.flac 7 8 6.47 dB 6.58 dB -8.05 dBFS -8.15 dBFS 0.00 dBFS 0.00 dBFS
In Death I Will Remember the Color of Her Irises U\Serpent Column\Serpent Column - 2024 - Tassel of Ares\04. In Death I Will Remember the Color of Her Irises.flac 12 8 12.32 dB 11.57 dB -15.73 dBFS -14.83 dBFS -0.93 dBFS -0.93 dBFS
Also, note strange symbols instead of disk name (it is simply local disc named G) in files paths.

Re: Dynamic Range plugin

Reply #151
The clipboard report is formatted for pasting in a spreadsheet like Excel. Text is in unicode as widechar and fields are separated by tabs. The paths should contain all the characters too. Can you try pasting for example in LibreOffice's Calc or in a unicode supporting text editor?

Re: Dynamic Range plugin

Reply #152
Thank you for the component case, working perfectly as replacement of the old one. And much faster!

Btw some minor tip, the window button displays a 'cancel' button instead of 'close' which I would say it's more intuitive (since you are not cancelling anything, specially if auto-tagging or auto-write log is enabled).

EDIT: I'm also adding support for this on my auto-tagger tool found at Playlist Tools. So now both DR meters are supported.

Re: Dynamic Range plugin

Reply #153
Dear case,
a big thank you for the DR-meter component.

LUFS-I and PLR was very useless for me and no replacement. After reading the explanation from @omasciarotte it was clear to me.

Markus

Re: Dynamic Range plugin

Reply #154
Very nice tool.
But I'm missing the following in DR Meter Results:
1. Add new columns, remove unnecessary columns (I need - Artist, Title, Filename)
2. Drag and drop columns (or to make some settings to left/right columns)
3. LM click on column - sort
And I found the hidden column path.

Re: Dynamic Range plugin

Reply #155
Hi Case, just noticed a track where the DR provided by this component doesn't match the old one. Probably due to rounding errors.

Not sure if that's expected behavior or a bug. Do you need the track?

Re: Dynamic Range plugin

Reply #156
I think having the track would be helpful. Differences with the old DR meter are expected, but the lack of artificial clipping should show higher DR numbers and not smaller, so this is unexpected.

Re: Dynamic Range plugin

Reply #157
Thanks for the sample. Results were even more different than I expected.

I googled for a couple of random different third party implementations and scanned the file with them. These tools gave DR0 too for the track.
The DRMeter filter in ffmpeg managed to give result close to the old tool, DR of about 0.56. I see ffmpeg uses histrogram, though not in the way described in the document. And it uses highest clipped peak even though the variable is handily named second peak.
Trying to confirm how well ffmpeg's filter fares generally I tried it on a random 16 minute track. It failed to give any results.

I'll see what I can do to improve things once I have the right amount of time and motivation.

Re: Dynamic Range plugin

Reply #158
I released a new version with adjusted DR computation that fixes the DR results for regor's track. Other sample tracks I compared from my library still match with the previous version of the component.

And I added support for customizing the information columns about the source track. Syntax for that is Title=Titleformat[|Width].
Title will be used as column title, Titleformat is the titleformat script you wish to show and optional pipe character separated width in dialog units can be specified at the end. 0 value means hidden by default, if width isn't specified the column will be autoscaling.
And I enabled a basic string sorting support for columns.

Re: Dynamic Range plugin

Reply #159
I released a new version with adjusted DR computation that fixes the DR results for regor's track. Other sample tracks I compared from my library still match with the previous version of the component.

And I added support for customizing the information columns about the source track. Syntax for that is Title=Titleformat[|Width].
Title will be used as column title, Titleformat is the titleformat script you wish to show and optional pipe character separated width in dialog units can be specified at the end. 0 value means hidden by default, if width isn't specified the column will be autoscaling.
And I enabled a basic string sorting support for columns.
Thx. Is the DR computation within TPS changed accordingly?

Re: Dynamic Range plugin

Reply #160
Not yet. There are so many open requests to TPS I don't want to make a hasty release.


Re: Dynamic Range plugin

Reply #162
For testing I'm sending you my tracks with lowest DR, along the logs from the new version, the previous version and the old component.

With the new version the track I sent you is now matching, but note there are 2 tracks not matching. Just in case you are interested on it (otherwise ignore it). Specially interesting the track with 4 secs, which gives totally different results.
Spoiler (click to show/hide)

Have not bothered with anything over DR1, let me know if you want me to further find mismatches on low DRs.

The new column TF is great, and allows to sort by same TF than playlists. Much appreciated.

EDIT: I still think the tagging and write log buttons should be disabled/grayed out when automatic tagging/log writing is enabled on preferences, since it's misleading. It's already done when the window is shown. And the cancel button should be close.

Spoiler (click to show/hide)

Re: Dynamic Range plugin

Reply #163
I renamed the Cancel button to "Close" in TPS. I can't seem to remember to do the same improvements everywhere. Let's hope I manage at some point.

I took a quick look at the results and seems that only "Voices" and "The acid drop" differ from old Dynamic Range component now. These look like bugs in the old component. If you place these problem tracks multiple times in a playlist and use Converter to merge longer tracks from them, the old Dynamic Range Meter component will give same results from the long tracks as my DR Meter.
I hope you can confirm this finding and agree that track length shouldn't affect the result unless the result was wrong.

Re: Dynamic Range plugin

Reply #164
Yes only those 2 tracks differ, as shown in the screenshot. I just shared all for testing.

I did so with "The acid drop", just copying the track 10 times in audition and yep, they match and show DR16. Did not bother to check the waveform before, it's clearly not DR1, obviously a bug on the old component, you are right.

EDIT: Can confirm that anything below 12 seconds (tested with 44.1Khz) gives wrong results on the old meter.

About "Voices" I think there is a mistake on your side. The track is 2 min. long, but DR differs. Following your notes I don't understand why that result is a bug in this case.

Re: Dynamic Range plugin

Reply #165
I'm not a reverse engineer so I don't know what the old component does, but it seems to get lower results when the track is shorter. When the track is scanned alone, the DR values for channels are 2.39 dB and 0.58 dB, which averages to 1.485 dB.
When the track length is doubled by repetition, the DR values are suddenly 2.44 dB and 0.64 dB. This averages 1.54 dB, which means DR2 (when the length is doubled my scanner actually gives the exactly same DR values for the channels).

The Acid Drop track is a perfect example of original scanner's weirdness. Claims DR1 when the track is alone, when repeated 10 times to 40 seconds it shows DR15. When looped longer it shows DR16. I assume altering the length would allow getting any number between 1 and 16 from this.

Re: Dynamic Range plugin

Reply #166
I'm not a reverse engineer so I don't know what the old component does, but it seems to get lower results when the track is shorter. When the track is scanned alone, the DR values for channels are 2.39 dB and 0.58 dB, which averages to 1.485 dB.
When the track length is doubled by repetition, the DR values are suddenly 2.44 dB and 0.64 dB. This averages 1.54 dB, which means DR2 (when the length is doubled my scanner actually gives the exactly same DR values for the channels).

The Acid Drop track is a perfect example of original scanner's weirdness. Claims DR1 when the track is alone, when repeated 10 times to 40 seconds it shows DR15. When looped longer it shows DR16. I assume altering the length would allow getting any number between 1 and 16 from this.

Yes, cloning multiple times makes DR go higher with numbers anywhere between 1 and 16.

So it's not only affecting really short tracks but in fact anything according to length? I was obviously not expecting a 2min track being affected by this too. Pretty weird implementation. Thanks for looking at this.

 

Re: Dynamic Range plugin

Reply #167
I uploaded a new DR Meter version, number getting dangerously close to 1.0.

Results dialog adjustments and simple string sorting changed to sort the data columns by actual numbers.