Hi Julius, this is, of course, the way to go.
I did some test with a series of sines, each at -18lufs, and found these filter settings to be quite close (except for the 30Hz): kfilter = fi.highpass(1, 60) : fi.high_shelf(4, 1800); Hz lufs 30 -16.693 60 -18.111 80 -18.204 100 -18.211 130 -18.177 180 -18.133 250 -18.113 300 -18.099 400 -18.099 600 -18.169 1000 -18.405 2000 -18.241 3000 -17.894 4000 -17.784 6000 -17.503 8000 -18.083 10000 -18.026 12000 -18.035 14000 -17.784 16000 -18.083 What I don't quite understand is why the values read a little different, every time I do the test with same filter settings and same sines. (I am on faustide.grame.fr). For my application, this should work fine. Out of curiosity, why do I approximate the filters? So that it works on all samplerates? Full test code is this: import("stdfaust.lib"); process = _,_ : lk2 : vbargraph("LUFS S",-40,0); Tg = 0.4; // 3 second window for 'short-term' measurement zi = an.ms_envelope_rect(Tg); // mean square: average power = energy/Tg = integral of squared signal / Tg kfilter = fi.highpass(1, 60) : fi.high_shelf(4, 1800); // 2-channel lk2 = par(i,2,kfilter : zi) :> 10 * log10(max(ma.EPSILON)) : -(0.691); Thanks!! Klaus On Sun, 2022-05-08 at 13:17 -0700, Julius Smith wrote: > Hi Klaus, > > To go after this, it would be useful to measure the discrepancy for > some number of sinusoidal frequencies across the audio band, with at > least one example including both single-channel and multichannel > input. > Based on the filter approximations used, I would predict a measurable > discrepancy around 1 kHz (guessed transition-frequency tuning), and > very high frequencies (due to bilinear transform frequency-warping). > > The high-frequency discrepancy should go away with oversampling, even > 2x. > > Glad to hear noise is looking good! > > - Julius > > On Sat, Jul 3, 2021 at 1:08 AM Klaus Scheuermann <kla...@posteo.de> > wrote: > > > > Hello everyone :) > > > > Would someone be up for helping me implement an LUFS loudness > > analyser > > in faust? > > > > Or has someone done it already? > > > > LUFS (aka LKFS) is becoming more and more the standard for loudness > > measurement in the audio industry. Youtube, Spotify and broadcast > > stations use the concept to normalize loudness. A very positive > > side > > effect is, that loudness-wars are basically over. > > > > I looked into it, but my programming skills clearly don't match > > the level for implementing this. > > > > Here is some resource about the topic: > > > > https://en.wikipedia.org/wiki/LKFS > > > > Specifications (in Annex 1): > > https://www.itu.int/dms_pubrec/itu-r/rec/bs/R-REC-BS.1770-3-201208-S!!PDF-E.pdf > > > > An implementation by 'klangfreund' in JUCE / C: > > https://github.com/klangfreund/LUFSMeter > > > > There is also a free LUFS Meter in JS / Reaper by Geraint Luff. > > (The code can be seen in reaper, but I don't know if I should paste > > it > > here.) > > > > Please let me know if you are up for it! > > > > Take care, > > Klaus > > > > > > _______________________________________________ > > Faudiostream-users mailing list > > Faudiostream-users@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/faudiostream-users > > >
_______________________________________________ Faudiostream-users mailing list Faudiostream-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/faudiostream-users