IPB

Welcome Guest ( Log In | Register )

23 Pages V  < 1 2 3 4 > »   
Closed TopicStart new topic
R128GAIN: An EBU R128 compliant loudness scanner
Zao
post Jan 6 2011, 14:16
Post #26





Group: Members (Donating)
Posts: 908
Joined: 25-September 03
From: Umeĺ, Sweden
Member No.: 9001



You cannot always dynamically link to a library, and in any way the LGPL is extremely vague when it comes to class templates, function templates and data in import libraries.


--------------------
Zao shang yong zao nong zao rang zao ren zao.
To, early in the morning, use a chisel to build a bathtub makes impatient people hot-tempered.
Go to the top of the page
+Quote Post
cpchan
post Jan 6 2011, 14:33
Post #27





Group: Members
Posts: 299
Joined: 14-July 07
Member No.: 45304



QUOTE (Zao @ Jan 6 2011, 09:16) *
You cannot always dynamically link to a library,


Please give me an example where you really have to link statically.

QUOTE (Zao @ Jan 6 2011, 09:16) *
and in any way the LGPL is extremely vague when it comes to class templates, function templates and data in import libraries.


Don't know, I don't do C++. However, if is easy enough to ask at gnu.org, if you are interested. However, the program we are discussing is pure C

Go to the top of the page
+Quote Post
C.R.Helmrich
post Jan 6 2011, 15:23
Post #28





Group: Developer
Posts: 688
Joined: 6-December 08
From: Erlangen Germany
Member No.: 64012



QUOTE (pbelkner @ Jan 6 2011, 01:46) *
It is not obvious for me how to quantize the given coefficients with respect to other sample frequencies, hence I decided to re-sample to 48 kHz

For 44.1 kHz, I resampled the 48-kHz filter impulse responses and tried to find new coefficients which match the given transfer function. Here is what I got:

RLB: numerator = [1 -2 1], denominator = [1 -1.9891 0.98913], accurate to ~0.02 dB above 50 Hz
Pre: numerator = [1.535 -2.633 1.151], denominator = [1 -1.647 0.701], accurate to ~0.05 dB, will tune it a bit more soon

QUOTE
R128GAIN interprets this as follows:
  • the -70 LUFS is absolute, hence no second path is needed.
  • the 8 LU is relative to the 400ms gating block. R128GAIN uses a running 400ms gating block, hence 50% overlap is guarantied and no second pass is needed.

Sorry, but I don't think that's correct. Look at Tech doc 3341, Annex 1. I think the 8 LU is relative to the entire file/album (summation in equation 7, the Jg are the set of 400-ms gating blocks).

Chris

This post has been edited by C.R.Helmrich: Jan 6 2011, 15:35


--------------------
If I don't reply to your reply, it means I agree with you.
Go to the top of the page
+Quote Post
pbelkner
post Jan 6 2011, 15:26
Post #29





Group: Members
Posts: 412
Joined: 13-June 10
Member No.: 81467



QUOTE (mudlord @ Jan 6 2011, 14:20) *
QUOTE (pbelkner @ Jan 6 2011, 02:19) *



Any reason why? To suit "Free" software uses only?

R128GAIN is heavily based on SoX (uses SoX IO, re-sampler, filters, chain architecture etc.)

IO will probably be re-implemented in order to support most of the existing codecs using FFmpeg.

Both, SoX and FFmpeg, are GPLed, hence R128GAIN is "GPL infected".

QUOTE (mudlord @ Jan 6 2011, 14:20) *
Doing so restricts other players like FB2K from using that code, even if a different implementation is made....>_>

Yep.
Go to the top of the page
+Quote Post
Soap
post Jan 6 2011, 15:53
Post #30





Group: Members
Posts: 1015
Joined: 19-November 06
Member No.: 37767



QUOTE (pbelkner @ Jan 6 2011, 09:26) *
Both, SoX and FFmpeg, are GPLed, hence R128GAIN is "GPL infected".

ffmepg is v2.1 or later. Is there a reason you went to v3?


--------------------
Creature of habit.
Go to the top of the page
+Quote Post
pbelkner
post Jan 6 2011, 16:03
Post #31





Group: Members
Posts: 412
Joined: 13-June 10
Member No.: 81467



QUOTE (C.R.Helmrich @ Jan 6 2011, 16:23) *
QUOTE
R128GAIN interprets this as follows:
  • the -70 LUFS is absolute, hence no second path is needed.
  • the 8 LU is relative to the 400ms gating block. R128GAIN uses a running 400ms gating block, hence 50% overlap is guarantied and no second pass is needed.

Sorry, but I don't think that's correct. Look at Tech doc 3341, Annex 1. I think the 8 LU is relative to the entire file/album (summation in equation 7).

What R128GAIN does is the following (in principle):
  • Create an empty gating block capable of holding samples up to 400ms using a ring buffer.
  • For each input sample:
    • If the gating block is full remove the first sample from it.
    • Add the current sample to the end of the gating block.
    • If the gating block is full:
      • Pick the sample cached in the middle of the gating block.
      • Depending on the (un-gated) loudness measure of the gating block decide, whether to add the picked sample to the overall statistics.
That's my understanding of Tech doc 3341, Annex 1, at least in principle.

Hopefully
EBU Tech Doc 3343 ‘Practical Guidelines for Production and Implementation in accordance with EBU R 128’
will clarify this, if published some day.
Go to the top of the page
+Quote Post
cpchan
post Jan 6 2011, 16:09
Post #32





Group: Members
Posts: 299
Joined: 14-July 07
Member No.: 45304



QUOTE (Soap @ Jan 6 2011, 10:53) *
ffmepg is v2.1 or later. Is there a reason you went to v3?


Not totally true, there are some code that is under GPL v3 (or later). However, I believe, they will only be enabled if you run configure with " --enable-version3".


Go to the top of the page
+Quote Post
pbelkner
post Jan 6 2011, 16:13
Post #33





Group: Members
Posts: 412
Joined: 13-June 10
Member No.: 81467



QUOTE (Soap @ Jan 6 2011, 16:53) *
QUOTE (pbelkner @ Jan 6 2011, 09:26) *
Both, SoX and FFmpeg, are GPLed, hence R128GAIN is "GPL infected".

ffmepg is v2.1 or later. Is there a reason you went to v3?

Not really.
Go to the top of the page
+Quote Post
Soap
post Jan 6 2011, 16:21
Post #34





Group: Members
Posts: 1015
Joined: 19-November 06
Member No.: 37767



QUOTE (pbelkner @ Jan 6 2011, 10:13) *
QUOTE (Soap @ Jan 6 2011, 16:53) *

ffmepg is v2.1 or later. Is there a reason you went to v3?

Not really.

Your call, not mine, but unless you're worried about Tivoation (however you spell it) or one of the other corner cases covered in new by v3, removing v2 becomes a (significant?) restriction on uptake.


--------------------
Creature of habit.
Go to the top of the page
+Quote Post
pbelkner
post Jan 6 2011, 16:49
Post #35





Group: Members
Posts: 412
Joined: 13-June 10
Member No.: 81467



QUOTE (Soap @ Jan 6 2011, 17:21) *
QUOTE (pbelkner @ Jan 6 2011, 10:13) *
QUOTE (Soap @ Jan 6 2011, 16:53) *

ffmepg is v2.1 or later. Is there a reason you went to v3?

Not really.

Your call, not mine, but unless you're worried about Tivoation (however you spell it) or one of the other corner cases covered in new by v3, removing v2 becomes a (significant?) restriction on uptake.

I've heard about some discussions regarding v3 but I'm not aware of the details. Maybe it's a good idea to relax to v2 later on.
Go to the top of the page
+Quote Post
saratoga
post Jan 6 2011, 18:37
Post #36





Group: Members
Posts: 4971
Joined: 2-September 02
Member No.: 3264



QUOTE (pbelkner @ Jan 6 2011, 10:49) *
QUOTE (Soap @ Jan 6 2011, 17:21) *
QUOTE (pbelkner @ Jan 6 2011, 10:13) *
QUOTE (Soap @ Jan 6 2011, 16:53) *

ffmepg is v2.1 or later. Is there a reason you went to v3?

Not really.

Your call, not mine, but unless you're worried about Tivoation (however you spell it) or one of the other corner cases covered in new by v3, removing v2 becomes a (significant?) restriction on uptake.

I've heard about some discussions regarding v3 but I'm not aware of the details. Maybe it's a good idea to relax to v2 later on.


I strongly recommend using a "v2 or later" type GPL license, rather then explicitly going v3. It makes it MUCH easier for other people to use your code, and the added protections in the v3 aren't particularly relevant here anyway.

That said, for this kind of code using a GPL front end and an LGPL backend for the actual DSP library makes a lot of sense since it keeps your tool GPL but still allows a wider range of people to use your code without having to re-implement it.
Go to the top of the page
+Quote Post
cpchan
post Jan 7 2011, 01:39
Post #37





Group: Members
Posts: 299
Joined: 14-July 07
Member No.: 45304



QUOTE (saratoga @ Jan 6 2011, 13:37) *
That said, for this kind of code using a GPL front end and an LGPL backend for the actual DSP library makes a lot of sense since it keeps your tool GPL but still allows a wider range of people to use your code without having to re-implement it.


I totally agree with this.

Go to the top of the page
+Quote Post
GHammer
post Jan 7 2011, 04:39
Post #38





Group: Members
Posts: 224
Joined: 11-May 03
From: China
Member No.: 6546



Seven of 38 posts on software licensing.
Geesh!

Could we move the non-pertinent holy-war debate to a different thread?
Go to the top of the page
+Quote Post
mudlord
post Jan 7 2011, 07:14
Post #39





Group: Developer (Donating)
Posts: 811
Joined: 1-December 07
Member No.: 49165



QUOTE (GHammer @ Jan 6 2011, 21:39) *
Seven of 38 posts on software licensing.
Geesh!

Could we move the non-pertinent holy-war debate to a different thread?


Why, its relevant to the software release, so no >_>.
Go to the top of the page
+Quote Post
mudlord
post Jan 7 2011, 07:19
Post #40





Group: Developer (Donating)
Posts: 811
Joined: 1-December 07
Member No.: 49165



QUOTE (cpchan @ Jan 6 2011, 08:33) *
QUOTE (Zao @ Jan 6 2011, 09:16) *
You cannot always dynamically link to a library,


Please give me an example where you really have to link statically.



To avoid dependancy hell. I am sure FB2K users would appreciate one singular DLL to install rather then the library, SoX, etc, just to tag some files. >_> Sure, with "GNU/Linux" thats not a problem, but with Windows, it sorta is. >_>

Funny how people EXPECT Linux development philosphies to carry over to the Windows world. Well, sorry, we don't have package managers to install all dependancies. Sorry to jerk you around so much.

This post has been edited by mudlord: Jan 7 2011, 07:20
Go to the top of the page
+Quote Post
googlebot
post Jan 7 2011, 10:46
Post #41





Group: Members
Posts: 698
Joined: 6-March 10
Member No.: 78779



QUOTE (mudlord @ Jan 7 2011, 07:19)
To avoid dependancy hell. I am sure FB2K users would appreciate one singular DLL to install rather then the library, SoX, etc, just to tag some files. >_> Sure, with "GNU/Linux" thats not a problem, but with Windows, it sorta is. >_>

Funny how people EXPECT Linux development philosphies to carry over to the Windows world. Well, sorry, we don't have package managers to install all dependancies. Sorry to jerk you around so much.


Not even funny but rather irritating how people feel entitled to a demanding tone about something they have neither contributed to nor paid for. No one on this forum has any intention or purpose to fulfill your christmas wish list.

I think you have made your position clear several times. How about you program your own lib or shut up about this now?

This post has been edited by googlebot: Jan 7 2011, 11:28
Go to the top of the page
+Quote Post
romor
post Jan 7 2011, 15:57
Post #42





Group: Members
Posts: 673
Joined: 16-January 09
Member No.: 65630



Bad talk. You are free to see his posts if you want to see his contribution to "community"


--------------------
scripts: http://goo.gl/M1qVLQ
Go to the top of the page
+Quote Post
Soap
post Jan 7 2011, 16:43
Post #43





Group: Members
Posts: 1015
Joined: 19-November 06
Member No.: 37767



forget it.


This post has been edited by Soap: Jan 7 2011, 16:54


--------------------
Creature of habit.
Go to the top of the page
+Quote Post
googlebot
post Jan 7 2011, 17:02
Post #44





Group: Members
Posts: 698
Joined: 6-March 10
Member No.: 78779



Forget this, too. Else the joke doesn't work out. wink.gif

This post has been edited by googlebot: Jan 7 2011, 17:05
Go to the top of the page
+Quote Post
staale
post Jan 7 2011, 17:08
Post #45





Group: Members
Posts: 1
Joined: 7-January 11
Member No.: 87144



Hi,

Just wanted to add that we've released our first try at an open-source implementation EBU R.128 library. It's GPL, does filter coefficients calculation for samplerates other than 48kHz and can measure EBU m, s and i mode. There's also some example programs (including one using ffmpeg/avcodec for decoding).

There's probably lot of bugs and errors, but it seem to function quite well.

Feel free to download and have fun with it.

Regards

Staale @ Radio Nova
Go to the top of the page
+Quote Post
jangk
post Jan 7 2011, 17:27
Post #46





Group: Members
Posts: 36
Joined: 31-December 10
Member No.: 86953



Hello,

back to audio issues again.
Thank you pbelkner for working on this EBU R128 subject.
I am convinced that this will bring RG a big step forward.

I tried r128gain and compared it's results with NUGEN Audio VisLM-H (EBU compliant Loudness Meter) using a test track (dynamic music)
Unfortunately the results were not the same.

Further on, the results emanating from the EBU R128 Test Signals (see post#3) do not correspond to the "Expected response and accepted tolerances" as one can see in EBU-TECH 3341.

Am I missing something???

Thank you for your information

Jean
Go to the top of the page
+Quote Post
2Bdecided
post Jan 7 2011, 17:45
Post #47


ReplayGain developer


Group: Developer
Posts: 5139
Joined: 5-November 01
From: Yorkshire, UK
Member No.: 409



QUOTE (googlebot @ Jan 7 2011, 09:46) *
No one on this forum has any intention or purpose to fulfill your christmas wish list.
At a time when I had no idea about any of this, I said that ReplayGain implementations should be GPL. People wanting to use it suggested that LGPL would be better, so I said that instead. Though having published the algorithm without IP protection, I had no legal right to demand either.

There's always...
http://sam.zoy.org/wtfpl/
http://en.wikipedia.org/wiki/WTFPL
The lawyer's fees for making people comply with that one are far less than for the other options wink.gif

Cheers,
David.
Go to the top of the page
+Quote Post
pbelkner
post Jan 7 2011, 18:13
Post #48





Group: Members
Posts: 412
Joined: 13-June 10
Member No.: 81467



QUOTE (jangk @ Jan 7 2011, 18:27) *
Am I missing something???

Of course not:
  • I'm aware of EBU R128 only for a few days (cf. discussion with C.R.Helmrich).
  • Hacked this in much fewer days (two or three).
  • Immediately published v01.
  • Consider the tolerance acceptable for practical purposes (cf. test cases 7 and 8).
  • Hopefully future releases based on more inside into the standard will further improve the tool.

Go to the top of the page
+Quote Post
mudlord
post Jan 7 2011, 18:57
Post #49





Group: Developer (Donating)
Posts: 811
Joined: 1-December 07
Member No.: 49165



QUOTE
How about you program your own lib or shut up about this now?


Since staale posted crystal clear docs, that is a possibility. >_>

I'll STFU and let you GNU/Linux zealots get on with work.

.....this is the last time I will discuss ANYTHING dealing with GPL here. Obviously people's feelings get hurt if Richard Stallman's poster boy is criticised!
Go to the top of the page
+Quote Post
jangk
post Jan 7 2011, 19:13
Post #50





Group: Members
Posts: 36
Joined: 31-December 10
Member No.: 86953



QUOTE (pbelkner @ Jan 7 2011, 18:13) *
QUOTE (jangk @ Jan 7 2011, 18:27) *
Am I missing something???

Of course not:
  • I'm aware of EBU R128 only for a few days (cf. discussion with C.R.Helmrich).
  • Hacked this in much fewer days (two or three).
  • Immediately published v01.
  • Consider the tolerance acceptable for practical purposes (cf. test cases 7 and 8).
  • Hopefully future releases based on more inside into the standard will further improve the tool.



Ok, thank you, now I understand.

Anyhow, great work in progress smile.gif smile.gif smile.gif
I am excited to see further developement and how it coud work with RG.

Best regards

Jean
Go to the top of the page
+Quote Post

23 Pages V  < 1 2 3 4 > » 
Closed 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: 22nd September 2014 - 08:33