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: R128GAIN: An EBU R128 compliant loudness scanner (Read 389330 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

R128GAIN: An EBU R128 compliant loudness scanner

Reply #125
::

Seems r128gain doesn't like 32-bit PCM .wav.

Code: [Select]
  analyzing ...
    [01] The Honeymoon - Passive Aggressive.wav (1/1): -2.9 LUFS, -20.1 LU (peak: 1.447794: 1.6 dBFS)
    ALBUM: -2.9 LUFS, -20.1 LU (peak: 1.447794: 1.6 dBFS)
  writing ...
    [01] The Honeymoon - Passive Aggressive.wav (1/1) ... re-encoding via SoX
... wav: wave header missing FmtExt chunk
done.



Greetings ...

::

R128GAIN: An EBU R128 compliant loudness scanner

Reply #126
Seems r128gain doesn't like 32-bit PCM .wav.

Probably ...

For a moment I thought about dropping the transcoding option to FLAC, and I think it would be best. R128GAIN is an EBU R128 compliant tagger and not the one in all solution. Instead you should
  • transcode WAV to FLAC using e.g. FLAC itself, and then
  • tag the resulting FLACs EBU R128 conformant using R128GAIN.
BTW: Is FLAC able to transcode 32 bit WAVs? I'm not certain about it ...



R128GAIN: An EBU R128 compliant loudness scanner

Reply #129
BTW: Is FLAC able to transcode 32 bit WAVs? I'm not certain about it ...
::

Yes, it is.

::

What happens if you process the resulting FLAC with R128GAIN?
::

You have my apologies. FLAC isn't able to transform too! (throwing an "unsupported format type")
Thanks for the scanner, keep up the good work.

Best regards ...

::

R128GAIN: An EBU R128 compliant loudness scanner

Reply #130
v0.5 released[blockquote]http://sourceforge.net/projects/r128gain/files/
http://r128gain.sourceforge.net/
[/blockquote]What's new?
  • Added a "--transitional" command line switch which lets the tags appear more compatible with the traditional RG, i.e. dB is used as unit and 5 dB are added.
    • Without "--transitional" you get EBU R128 compliant tags:

      Code: [Select]
      peter@peter-pc ~/r128gain/src
      $ r128gain.exe ../sounds/01_cruise_missile.mp3 -o .
      FFmpeg successfully loaded.
      analyzing ...
        01_cruise_missile.mp3 (1/1): -16.2 LUFS, -6.8 LU (peak: 0.895013: -0.5 dBFS)
        ALBUM: -16.2 LUFS, -6.8 LU (peak: 0.895013: -0.5 dBFS)
      writing ...
        01_cruise_missile.mp3 (1/1) ... done.

      Code: [Select]
      $ ffmpeg -i 01_cruise_missile.mp3
      FFmpeg version SVN-r26325, Copyright (c) 2000-2011 the FFmpeg developers
        built on Jan 13 2011 04:17:15 with gcc 4.4.2
        configuration: --enable-gpl --enable-version3 --enable-libgsm --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libmp3lame --enable-libopenjpeg --enable-libschroedinger --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libvpx --disable-decoder=libvpx --arch=x86 --enable-runtime-cpudetect --enable-libxvid --enable-libx264 --enable-librtmp --extra-libs='-lrtmp -lpolarssl -lws2_32 -lwinmm' --target-os=mingw32 --enable-avisynth --enable-w32threads --cross-prefix=i686-mingw32- --cc='ccache i686-mingw32-gcc' --enable-memalign-hack --enable-shared --disable-static
        libavutil     50.36. 0 / 50.36. 0
        libavcore      0.16. 1 /  0.16. 1
        libavcodec    52.108. 0 / 52.108. 0
        libavformat   52.92. 0 / 52.92. 0
        libavdevice   52. 2. 3 / 52. 2. 3
        libavfilter    1.73. 1 /  1.73. 1
        libswscale     0.12. 0 /  0.12. 0
      [mp3 @ 005efe90] max_analyze_duration reached
      [mp3 @ 005efe90] Estimating duration from bitrate, this may be inaccurate
      Input #0, mp3, from '01_cruise_missile.mp3':
        Metadata:
          title           : Cruise Missile
          artist          : Steve Morse Band
          album           : The Introduction
          TYER            : 1984
          genre           : Dance
          track           : 1
          REPLAYGAIN_ALGORITHM: EBU R128
          REPLAYGAIN_REFERENCE_LOUDNESS: -23 LUFS
          REPLAYGAIN_TRACK_GAIN: -6.8 LU
          REPLAYGAIN_TRACK_PEAK: 0.895013
          REPLAYGAIN_ALBUM_GAIN: -6.8 LU
          REPLAYGAIN_ALBUM_PEAK: 0.895013
          encoder         : Lavf52.92.0
        Duration: 00:05:35.24, start: 0.000000, bitrate: 320 kb/s
          Stream #0.0: Audio: mp3, 44100 Hz, 2 channels, s16, 320 kb/s
      At least one output file must be specified

    • With "--transitional" you get something that looks like traditional RG:

      Code: [Select]
      $ r128gain.exe --transitional ../sounds/01_cruise_missile.mp3 -o .
      FFmpeg successfully loaded.
      Warning: Running in non EBU R128 compliant transitional mode.
      analyzing ...
        01_cruise_missile.mp3 (1/1): -11.2 dBFS, -1.8 dB (peak: 0.895013: -0.5 dBFS)
        ALBUM: -11.2 dBFS, -1.8 dB (peak: 0.895013: -0.5 dBFS)
      writing ...
        01_cruise_missile.mp3 (1/1) ... done.

      Code: [Select]
      $ ffmpeg -i 01_cruise_missile.mp3
      FFmpeg version SVN-r26325, Copyright (c) 2000-2011 the FFmpeg developers
        built on Jan 13 2011 04:17:15 with gcc 4.4.2
        configuration: --enable-gpl --enable-version3 --enable-libgsm --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libmp3lame --enable-libopenjpeg --enable-libschroedinger --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libvpx --disable-decoder=libvpx --arch=x86 --enable-runtime-cpudetect --enable-libxvid --enable-libx264 --enable-librtmp --extra-libs='-lrtmp -lpolarssl -lws2_32 -lwinmm' --target-os=mingw32 --enable-avisynth --enable-w32threads --cross-prefix=i686-mingw32- --cc='ccache i686-mingw32-gcc' --enable-memalign-hack --enable-shared --disable-static
        libavutil     50.36. 0 / 50.36. 0
        libavcore      0.16. 1 /  0.16. 1
        libavcodec    52.108. 0 / 52.108. 0
        libavformat   52.92. 0 / 52.92. 0
        libavdevice   52. 2. 3 / 52. 2. 3
        libavfilter    1.73. 1 /  1.73. 1
        libswscale     0.12. 0 /  0.12. 0
      [mp3 @ 0063fe90] max_analyze_duration reached
      [mp3 @ 0063fe90] Estimating duration from bitrate, this may be inaccurate
      Input #0, mp3, from '01_cruise_missile.mp3':
        Metadata:
          title           : Cruise Missile
          artist          : Steve Morse Band
          album           : The Introduction
          TYER            : 1984
          genre           : Dance
          track           : 1
          REPLAYGAIN_TRACK_GAIN: -1.8 dB
          REPLAYGAIN_TRACK_PEAK: 0.895013
          REPLAYGAIN_ALBUM_GAIN: -1.8 dB
          REPLAYGAIN_ALBUM_PEAK: 0.895013
          encoder         : Lavf52.92.0
        Duration: 00:05:35.24, start: 0.000000, bitrate: 320 kb/s
          Stream #0.0: Audio: mp3, 44100 Hz, 2 channels, s16, 320 kb/s
      At least one output file must be specified

  • When extracting the archive be careful not accidentally to overwrite a possibly upgraded FFmpeg.

R128GAIN: An EBU R128 compliant loudness scanner

Reply #131
Interesting. I did some tests with my own RMS tool (nicknamed K20RMS currently as it uses the K-System and K-20 headroom but with a Z weighting "flat filter" aka plain RMS).

Using the same test suit as R128 http://r128gain.sourceforge.net/
I get the following:
Code: [Select]
K20RMS v1.0
E:\Downloads\Audio\audio tests\ebu-loudness-test-setv01\1kHz Sine -20 LUFS-16bit.wav
Within 1dB (+/- 0.5dB) and peak is 0.0 dBFS or less.
Gain adjustment is not advised in this case.
Title RMS: -19.93 dBFS (0.1008560, 83.07 dBSPL)
Title Peak: -19.94 dBFS (0.1007385)
Title Dynamic Range: 0.03 dB (max RMS -19.91 dBFS, min RMS -19.94 dBFS)
Title Dynamic Headroom: -0.01 dB (0.9988354)
Title Dynamic Energy: 0.02 dB (1.0019993)
Title Gain ref -20dBFS/83dBSPL: -0.07 dB (0.9915128)
Title Modifier: -0.07 dB (0.9915128)
Title Final Peak: -20.01 dBFS (0.0998835)
Title Final RMS: -20.00 dBFS (0.1000000, 83.00 dBSPL)

E:\Downloads\Audio\audio tests\ebu-loudness-test-setv01\1kHz Sine -26 LUFS-16bit.wav
Title RMS: -25.90 dBFS (0.0506862, 77.10 dBSPL)
Title Peak: -25.93 dBFS (0.0505066)
Title Dynamic Range: 0.04 dB (max RMS -25.88 dBFS, min RMS -25.93 dBFS)
Title Dynamic Headroom: -0.03 dB (0.9964557)
Title Dynamic Energy: 0.02 dB (1.0024331)
Title Gain ref -20dBFS/83dBSPL: 5.90 dB (1.9729222)
Title Modifier: 5.90 dB (1.9729222)
Title Final Peak: -20.03 dBFS (0.0996456)
Title Final RMS: -20.00 dBFS (0.1000000, 83.00 dBSPL)

E:\Downloads\Audio\audio tests\ebu-loudness-test-setv01\1kHz Sine -40 LUFS-16bit.wav
Title RMS: -39.96 dBFS (0.0100410, 63.04 dBSPL)
Title Peak: -39.78 dBFS (0.0102539)
Title Dynamic Range: 0.03 dB (max RMS -39.95 dBFS, min RMS -39.98 dBFS)
Title Dynamic Headroom: 0.18 dB (1.0212016)
Title Dynamic Energy: 0.02 dB (1.0020251)
Title Gain ref -20dBFS/83dBSPL: 19.96 dB (9.9591475)
Title Modifier: 19.96 dB (9.9591475)
Title Final Peak: -19.82 dBFS (0.1021202)
Title Final RMS: -20.00 dBFS (0.1000000, 83.00 dBSPL)

E:\Downloads\Audio\audio tests\ebu-loudness-test-setv01\seq-3341-1-16bit.wav
Title RMS: -22.91 dBFS (0.0714933, 80.09 dBSPL)
Title Peak: -22.94 dBFS (0.0713196)
Title Dynamic Range: 0.03 dB (max RMS -22.90 dBFS, min RMS -22.93 dBFS)
Title Dynamic Headroom: -0.02 dB (0.9975703)
Title Dynamic Energy: 0.01 dB (1.0016830)
Title Gain ref -20dBFS/83dBSPL: 2.91 dB (1.3987327)
Title Modifier: 2.91 dB (1.3987327)
Title Final Peak: -20.02 dBFS (0.0997570)
Title Final RMS: -20.00 dBFS (0.1000000, 83.00 dBSPL)

E:\Downloads\Audio\audio tests\ebu-loudness-test-setv01\seq-3341-2-16bit.wav
Title RMS: -32.94 dBFS (0.0225409, 70.06 dBSPL)
Title Peak: -32.75 dBFS (0.0230408)
Title Dynamic Range: 0.03 dB (max RMS -32.93 dBFS, min RMS -32.95 dBFS)
Title Dynamic Headroom: 0.19 dB (1.0221772)
Title Dynamic Energy: 0.01 dB (1.0015823)
Title Gain ref -20dBFS/83dBSPL: 12.94 dB (4.4363842)
Title Modifier: 12.94 dB (4.4363842)
Title Final Peak: -19.81 dBFS (0.1022177)
Title Final RMS: -20.00 dBFS (0.1000000, 83.00 dBSPL)

E:\Downloads\Audio\audio tests\ebu-loudness-test-setv01\seq-3341-3-16bit.wav
Title RMS: -27.53 dBFS (0.0420017, 75.47 dBSPL)
Title Peak: -22.92 dBFS (0.0714722)
Title Dynamic Range: 17.08 dB (max RMS -22.91 dBFS, min RMS -39.99 dBFS)
Title Dynamic Headroom: 4.62 dB (1.7016501)
Title Dynamic Energy: 4.62 dB (1.7021379)
Title Gain ref -20dBFS/83dBSPL: 7.53 dB (2.3808570)
Title Modifier: 7.53 dB (2.3808570)
Title Final Peak: -15.38 dBFS (0.1701650)
Title Final RMS: -20.00 dBFS (0.1000000, 83.00 dBSPL)

E:\Downloads\Audio\audio tests\ebu-loudness-test-setv01\seq-3341-4-16bit.wav
Title RMS: -29.63 dBFS (0.0329802, 73.37 dBSPL)
Title Peak: -23.00 dBFS (0.0708008)
Title Dynamic Range: 51.77 dB (max RMS -22.82 dBFS, min RMS -74.58 dBFS)
Title Dynamic Headroom: 6.64 dB (2.1467686)
Title Dynamic Energy: 6.82 dB (2.1926796)
Title Gain ref -20dBFS/83dBSPL: 9.63 dB (3.0321255)
Title Modifier: 9.63 dB (3.0321255)
Title Final Peak: -13.36 dBFS (0.2146769)
Title Final RMS: -20.00 dBFS (0.1000000, 83.00 dBSPL)

E:\Downloads\Audio\audio tests\ebu-loudness-test-setv01\seq-3341-5-16bit.wav
Title RMS: -22.94 dBFS (0.0713034, 80.06 dBSPL)
Title Peak: -19.93 dBFS (0.1008301)
Title Dynamic Range: 6.03 dB (max RMS -19.92 dBFS, min RMS -25.95 dBFS)
Title Dynamic Headroom: 3.01 dB (1.4140999)
Title Dynamic Energy: 3.02 dB (1.4154997)
Title Gain ref -20dBFS/83dBSPL: 2.94 dB (1.4024584)
Title Modifier: 2.94 dB (1.4024584)
Title Final Peak: -16.99 dBFS (0.1414100)
Title Final RMS: -20.00 dBFS (0.1000000, 83.00 dBSPL)

E:\Downloads\Audio\audio tests\ebu-loudness-test-setv01\seq-3341-6-5channels-16bit.wav
Title RMS: -27.19 dBFS (0.0436962, 75.81 dBSPL)
Title Peak: -24.00 dBFS (0.0630798)
Title Dynamic Range: 0.00 dB (max RMS -27.19 dBFS, min RMS -27.19 dBFS)
Title Dynamic Headroom: 3.19 dB (1.4435992)
Title Dynamic Energy: 0.00 dB (1.0000000)
Title Gain ref -20dBFS/83dBSPL: 7.19 dB (2.2885273)
Title Modifier: 7.19 dB (2.2885273)
Title Final Peak: -16.81 dBFS (0.1443599)
Title Final RMS: -20.00 dBFS (0.1000000, 83.00 dBSPL)

E:\Downloads\Audio\audio tests\ebu-loudness-test-setv01\seq-3341-6-6channels-WAVEEX-16bit.wav
Title RMS: -27.19 dBFS (0.0436962, 75.81 dBSPL)
Title Peak: -24.00 dBFS (0.0630798)
Title Dynamic Range: 0.00 dB (max RMS -27.19 dBFS, min RMS -27.19 dBFS)
Title Dynamic Headroom: 3.19 dB (1.4435992)
Title Dynamic Energy: 0.00 dB (1.0000000)
Title Gain ref -20dBFS/83dBSPL: 7.19 dB (2.2885273)
Title Modifier: 7.19 dB (2.2885273)
Title Final Peak: -16.81 dBFS (0.1443599)
Title Final RMS: -20.00 dBFS (0.1000000, 83.00 dBSPL)

E:\Downloads\Audio\audio tests\ebu-loudness-test-setv01\seq-3341-7_seq-3342-5-24bit.wav
Title RMS: -22.59 dBFS (0.0742564, 80.41 dBSPL)
Title Peak: -8.91 dBFS (0.3583316)
Title Dynamic Range: 13.72 dB (max RMS -16.88 dBFS, min RMS -30.60 dBFS)
Title Dynamic Headroom: 13.67 dB (4.8255968)
Title Dynamic Energy: 5.70 dB (1.9282742)
Title Gain ref -20dBFS/83dBSPL: 2.59 dB (1.3466849)
Title Modifier: 2.59 dB (1.3466849)
Title Final Peak: -6.33 dBFS (0.4825597)
Title Final RMS: -20.00 dBFS (0.1000000, 83.00 dBSPL)

E:\Downloads\Audio\audio tests\ebu-loudness-test-setv01\seq-3341-8_seq-3342-6-24bit.wav
Clipping caused by the gain, modifier was adjusted to protect peaks,
volume will be lower than expected.
Title RMS: -23.90 dBFS (0.0638479, 79.10 dBSPL)
Title Peak: -2.87 dBFS (0.7182941)
Title Dynamic Range: 31.36 dB (max RMS -11.96 dBFS, min RMS -43.31 dBFS)
Title Dynamic Headroom: 21.02 dB (11.2500906)
Title Dynamic Energy: 11.94 dB (3.9531405)
Title Gain ref -20dBFS/83dBSPL: 3.90 dB (1.5662234)
Title Modifier: 2.87 dB (1.3921874)
Title Final Peak: 0.00 dBFS (1.0000000)
Title Final RMS: -21.02 dBFS (0.0888882, 81.98 dBSPL)

E:\Downloads\Audio\audio tests\ebu-loudness-test-setv01\seq-3342-1-16bit.wav
Title RMS: -22.41 dBFS (0.0757570, 80.59 dBSPL)
Title Peak: -20.00 dBFS (0.1000061)
Title Dynamic Range: 10.00 dB (max RMS -19.82 dBFS, min RMS -29.82 dBFS)
Title Dynamic Headroom: 2.41 dB (1.3200905)
Title Dynamic Energy: 2.60 dB (1.3484154)
Title Gain ref -20dBFS/83dBSPL: 2.41 dB (1.3200099)
Title Modifier: 2.41 dB (1.3200099)
Title Final Peak: -17.59 dBFS (0.1320090)
Title Final RMS: -20.00 dBFS (0.1000000, 83.00 dBSPL)

E:\Downloads\Audio\audio tests\ebu-loudness-test-setv01\seq-3342-2-16bit.wav
Title RMS: -16.63 dBFS (0.1473578, 86.37 dBSPL)
Title Peak: -15.00 dBFS (0.1778259)
Title Dynamic Range: 5.00 dB (max RMS -14.82 dBFS, min RMS -19.82 dBFS)
Title Dynamic Headroom: 1.63 dB (1.2067628)
Title Dynamic Energy: 1.82 dB (1.2326562)
Title Gain ref -20dBFS/83dBSPL: -3.37 dB (0.6786202)
Title Modifier: -3.37 dB (0.6786202)
Title Final Peak: -18.37 dBFS (0.1206763)
Title Final RMS: -20.00 dBFS (0.1000000, 83.00 dBSPL)

E:\Downloads\Audio\audio tests\ebu-loudness-test-setv01\seq-3342-3-16bit.wav
Title RMS: -22.78 dBFS (0.0725930, 80.22 dBSPL)
Title Peak: -20.00 dBFS (0.1000061)
Title Dynamic Range: 20.00 dB (max RMS -19.82 dBFS, min RMS -39.81 dBFS)
Title Dynamic Headroom: 2.78 dB (1.3776278)
Title Dynamic Energy: 2.97 dB (1.4071872)
Title Gain ref -20dBFS/83dBSPL: 2.78 dB (1.3775438)
Title Modifier: 2.78 dB (1.3775438)
Title Final Peak: -17.22 dBFS (0.1377628)
Title Final RMS: -20.00 dBFS (0.1000000, 83.00 dBSPL)

E:\Downloads\Audio\audio tests\ebu-loudness-test-setv01\seq-3342-4-16bit.wav
Title RMS: -26.53 dBFS (0.0471508, 76.47 dBSPL)
Title Peak: -20.00 dBFS (0.1000061)
Title Dynamic Range: 29.99 dB (max RMS -19.82 dBFS, min RMS -49.80 dBFS)
Title Dynamic Headroom: 6.53 dB (2.1209822)
Title Dynamic Energy: 6.72 dB (2.1664915)
Title Gain ref -20dBFS/83dBSPL: 6.53 dB (2.1208527)
Title Modifier: 6.53 dB (2.1208527)
Title Final Peak: -13.47 dBFS (0.2120982)
Title Final RMS: -20.00 dBFS (0.1000000, 83.00 dBSPL)

Clipping caused by gain, modifier adjusted to protect peaks.
Album RMS: -23.69 dBFS (0.0654086, 79.31 dBSPL)
Album Peak: -2.87 dBFS (0.7182941)
Album Dynamic Range: 62.62 dB (max -11.96 dBFS, min -74.58 dBFS)
Album Dynamic Headroom: 20.81 dB (10.9816437)
Album Dynamic Energy: 11.73 dB (3.8588116)
Album Gain ref -20dBFS: 3.69 dB (1.5288506)
Album Modifier: 2.87 dB (1.3921874)
Album Final Peak: 0.00 dBFS (1.0000000)
Album Final RMS: -20.81 dBFS (0.0910610, 82.19 dBSPL)
As you can see R128 is much closer to RMS, and if you run the test suit through ReplayGain (foobar2000) you can see that RG89 is a tad more inconsistent, so R128 is looking pretty good so far.

R128GAIN: An EBU R128 compliant loudness scanner

Reply #132
I have been following this with interest, but I would like to echo what the others are saying and suggest that changing the meaning of the existing ReplayGain tags would be a huge mistake. It breaks the (admittedly undocumented) ReplayGain specs and would instantly break all existing players and cause a lot of long-term confusion and frustration with users of ReplayGain (which is probably not what anyone  wants).

If you want to have a different meaning to the tags that’s fine, but I think you should use different names in that case, like REPLAYGAIN_TRACK_GAIN_EBU, or something. What is the advantage of keeping the same tag names when the meaning has changed and the players will have to be modified to use them anyway? Players that want to take advantage of the new method can query the different names.

You could still have the --transitional option to write out compatible tags, but having the default behavior be to break existing players makes no sense to me. It would be sad if this new and better scanner/tagger got a bad reputation because of this oversight.

David


R128GAIN: An EBU R128 compliant loudness scanner

Reply #133
You could still have the --transitional option to write out compatible tags, but having the default behavior be to break existing players makes no sense to me. It would be sad if this new and better scanner/tagger got a bad reputation because of this oversight.

Just to give you another reason: The example above, Jethro Tull's "Budapest", taken from the original CD "Crest Of A Knafe" (no remaster), was not chosen by accident. The amplification and peak values are with respect to a pre-amp of 2 dB relative to -23 dBFS (EBU R128). If you consider a build-in "pre-amp" of 5 dB the play-back would be hopefully clipped by as much as 3 dB.

EBU R128 is completely different than traditional ReplayGain. The people should know what they are doing.

R128GAIN: An EBU R128 compliant loudness scanner

Reply #134
Quote
EBU R128 is completely different than traditional ReplayGain.


From player's (h/w or s/w) point of view, no. They both calculate value of gain that player should apply to a track.

R128GAIN: An EBU R128 compliant loudness scanner

Reply #135
  • Without "--transitional" you get EBU R128 compliant tags:
Please be very careful what you write. EBU R128 doesn't define a tagging standard, so it's hard to see how any tags you write could be "compliant" with EBU R128.

I think I know what you mean, but it's not exactly what you said.

And I agree with bryant entirely.

Cheers,
David.

R128GAIN: An EBU R128 compliant loudness scanner

Reply #136
  • Without "--transitional" you get EBU R128 compliant tags:
Please be very careful what you write. EBU R128 doesn't define a tagging standard, so it's hard to see how any tags you write could be "compliant" with EBU R128.

I think I know what you mean, but it's not exactly what you said.

To make it clear: You get instantan EBU R128 conformant playback by each player supporting RG tags. Nothing is broken.

And I agree with bryant entirely.

I will think about it till the next release.

 

R128GAIN: An EBU R128 compliant loudness scanner

Reply #137
I think the "--transitional" mode is fine. You get exactly the same as what original ReplayGain delivers, just computed by a better loudness estimator.

But using the name "REPLAYGAIN_*" for new, incompatible R128 tags is really bad and would lead to a lot of confusion. This mode should not be the default! If at all, give it a "--babylon" switch, which is IMHO the most adequate description.

I'd vote for writing "--transitional" (or traditional) tags as default and add an additional set of "R128_TRACK_GAIN" etc. tags for players, which want to follow R128 to the last word (I don't really see any practical benefit in comparison to traditional RG).

R128GAIN: An EBU R128 compliant loudness scanner

Reply #138
v0.6 released
[blockquote]http://sourceforge.net/projects/r128gain/files/[/blockquote]What's new?
  • You may now call R128GAIN without any argument (e.g. double click it from the Windows Explorer) and it is then customizable via a graphical user interface (GUI):


    • You can choose whether the gated BS.1770 or the ReplayGain algorithm should be used (group "Algorithm").
    • You can choose whether peak determination should be at up-sampled 192 kHz ("true" peak) or not (group "Algorithm", off saves some CPU cycles).
    • You can choose whether the results and the tags should be written according to EBU R128 or ReplayGain units and calibration, respectively (group "Compatible").
    • The following compliance bundles are available (group "Compliant"):
      • EBU R128 (the default, after all it's called R128GAIN) requires the gated BS.1770 algorithm, true peak determination, and EBU R128 compatible units and calibration.
      • ReplayGain requires the ReplayGain algorithm and ReplayGain compatible units and calibration.
      • You can combine the available options in any way you like. Once customized the GUI remembers your settings (only the GUI, not the CLI, see below).

  • The command line interface (CLI) mirrors these options as follows:

    Code: [Select]
    $ r128gain.exe --help
    An EBU R128 (http://tech.ebu.ch/loudness) compliant loudness scanner.
    For details refer to "http://r128gain.sourceforge.net/".

    Usage: r128gain [options] (file|directory)+ [-o <directory> [flac]]
    Options:
      --r128             Run in EBU R128 compliant mode (default).
      --rg               Run in ReplayGain compliant mode.
      --r128-compatible  Calibrate output according to EBU R128.
      --rg-compatible    Calibrate output according to ReplayGain.
      --true-peak=on     For peak determination up-sample to 192 kHz .
      --true-peak=off
      --fast             Switch off up-sampling.
      --help             Display this information.

  • Improved stream copy stability.

R128GAIN: An EBU R128 compliant loudness scanner

Reply #139
Suuuuper !!!

Thank you very much !

Jean

R128GAIN: An EBU R128 compliant loudness scanner

Reply #140
BTW, working with the GUI, how can I convert to FLAC now?

Thank you

Jean

R128GAIN: An EBU R128 compliant loudness scanner

Reply #141
BTW, working with the GUI, how can I convert to FLAC now?

Unfortunately transcoding to FLAC doesn't made it into the first GUI version (due to lack of time). Hopefully this will change with the next version.

R128GAIN: An EBU R128 compliant loudness scanner

Reply #142
ok thank you !
Thought I missed something (again) ;-)

Jean

R128GAIN: An EBU R128 compliant loudness scanner

Reply #143
::

First: Many thanks for this tool. I'm very happy with it.
Now my question: Is it possible to implement an option for tagging (FLAC) files without copying them?

[EDIT] Oh, and I get exactly the same results for --fast and --true-peak=off. Where's the difference of these two switches? [/EDIT]


Greetings ...

::

R128GAIN: An EBU R128 compliant loudness scanner

Reply #144
Now my question: Is it possible to implement an option for tagging (FLAC) files without copying them?

Technically tagging only is the following anyway:
  • Read the original file and in parallel write a new file using a temporary name.
  • If writing of the temporary file appears to be successful remove the original file and rename the temporary file to the name of the original file.
The disadvatages of such an approach are:
  • If writing appears successful from the technical perspective but is not (e.g. the content of the file is broken) the original file is lost. Everybody using "original" files (e.g. payed MP3s) as input should think about twice using such an option.
  • If you are going to tag a huge amount of files the tool will have no idea where to continue after having it interrupted.
Propably the tool will offer such an option with the next release. But please don't blame me if something's going wrong and your original files are lost.

Oh, and I get exactly the same results for --fast and --true-peak=off. Where's the difference of these two switches?

If you try this on contemporary over-compressed (hard limited) CDs you will observe inter-sample peaks up to 0.8 dBFS (which is impossible for sample peaks with a technical maximum of 0.0 dBFS).

Currently there is no difference between these two options. They're just synonyms.

R128GAIN: An EBU R128 compliant loudness scanner

Reply #145
[a href='index.php?showtopic=86404']Blammo.[/a]

R128GAIN: An EBU R128 compliant loudness scanner

Reply #146
FYI - I did a comparison of ReplayGain and R128 (based on the libebur128 code in the other thread) and found -17.25 LU to be a good reference loudness level for R128 to match the 89dB reference level of ReplayGain.

More specifically, regression analysis indicated that the gain adjustment should actually be -17.5 - 1.05*R128  (e.g. an R128 value of -10LU would correspond to -8.55dB gain adjustment), but I don't like the idea of having the beta coefficient not be 1.0.

This was done on a 45,000 track test library.


R128GAIN: An EBU R128 compliant loudness scanner

Reply #148
My small (~2000 tracks only) comparison of foo_r128scan vs. foo_rgscan:

http://img816.imageshack.us/img816/5396/rgr128.png


foo_r128scan is using -18.0 - 1.0 * R128, so your finding of a 0.62dB difference corresponds fairly well with my proposal of -17.25 - 1.0 * R128    (your data would suggest -17.38 - 1.0 * R128).

R128GAIN: An EBU R128 compliant loudness scanner

Reply #149
This was done on a 45,000 track test library.

My small (~2000 tracks only) comparison of foo_r128scan vs. foo_rgscan:

I assume you both did the comparison in track mode and I am curious if the results are the same in album mode.

Duh, I see now looking at lvqcl graphic is that it contains both track and album mode so I assume the result is the averaging of the two.  I am still curious what the results are when just comparing track or album mode.

Obviously I am not quite awake yet but now I see that lvqcl's result is based on track information.  How does it compare to album and the averaging of the two?