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: Estimating Partial Loudness (Read 2602 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Estimating Partial Loudness

Hi,

Lets say I have two partials as follows:

Code: [Select]
    sec   Hz    amp
    0.0  2630  0.001
    0.1  2340  0.1
    0.2  2220  1.0
    0.3  2200  0.7
    0.4  2200  0.2
    0.5  2200  0.01
   
    sec  Hz    amp
    1.0  463  0.001
    1.1  534  0.1
    1.2  440  0.4
    1.3  440  0.7
    1.4  440  0.2
    1.5  440  0.01

I've established this data by processing an aiff file. Please note that I'm only showing a small set of the samples for these partials.

So the question is, how can I establish the difference in loudness between these two partials?

First of all, lets pretend they're both at the same frequency how do I calculate the difference in loudness?

Secondly, lets say we take frequency into consideration. What Equal-loudness contour should I use to calculate the percentage difference in loudness between the two partial?  I wish to use a lookup table to make these calculations in my code.

Thanks for your help,

Barry

Estimating Partial Loudness

Reply #1
For loudness estimation as a function of frequency, you'll want to use a weighting filter. Have a look at ITU-R BS.1770-2 or, alternately ReplayGain

Estimating Partial Loudness

Reply #2
Thanks for the reply!

I've created the following lookup table based on replay gain, as discussed here: http://replaygain.hydrogenaudio.org/propos...l_loudness.html
   
Code: [Select]
(freq,dbs)
(0, -50)
(20, -43)
(30, -33)
(40, -27)
(50, -23)
(60, -21)
(70, -19)
(80, -17)
(90, -16)
(100, -15)
(200, -8)
(300, -6)
(400, -6)
(500, -6)
(600, -6)
(700, -7)
(800, -8)
(900, -9.5)
(1000, -10)
(1500, -9)
(2000, -7)
(2500, -4)
(3000, -1.5)
(3700, 0)
(4000, -0.5)
(5000, -4)
(6000, -9)
(7000, -14)
(8000, -16)
(9000, -16)
(10000, -15)
(12000, -25)
(15000, -40)
(20000, -55)
(30000, -70)

So if I look up this table for 2200Hz I get around -5db. If I look it up for 440Hz I get -6dbs. How can I proceed now in order to establish how much louder the first partial is with respect to the second?

Thanks again!

Barry.

Estimating Partial Loudness

Reply #3
Just FYI... 'Partial Loudness' refers to the contribution of loudness from one ERB or Bark. It does not mean the loudness of a harmonic.
-----
J. D. (jj) Johnston

 

Estimating Partial Loudness

Reply #4
Here's my attempt at solving this problem. It reflects my current understanding with regard to the theory involved. Please advice me in respect to any mistakes you think I've made.

Please note that the two harmonics are not played simultaneously but rather one after the other.

Harmonic 1 has a maximum amplitude in the frequency domain of 1.0.
Harmonic 2 has a maximum amplitude in the frequency domain of 0.7.
So there amplitude ratio is equivalent to 3.1db.

Harmonic 1 has a frequency of 2200Hz, which gives a value of -5db in the look up table.
Harmonic 2 has a frequency of 440Hz, which gives a value of -6db in the look up table.
So that's a difference of 1db.

The total difference is then 3.1db+1db = 4.1dbs.

If we say that 10db is a doubling of loudness, then we can say that 4.1dbs is equivalent an increase of 41% in loudness

So this means that Harmonic 1 will be perceived to be approximately 40% louder than Harmonic 2.

Am I on the right track?

Thanks!