|
|
|
11-24-2014, 08:51 AM
|
#1
|
Human being with feelings
Join Date: Nov 2010
Posts: 2,436
|
Analyze and normalize loudness with SWS
If you noticed, previous versions of SWS did include certain tools for loudness measurement and normalization. After adding additional functionality and writing some documentation for the latest SWS pre-release, I think it's time to announce it on the forums.
Features:- Measure integrated, true peak, range, maximum short-term and maximum momentary loudness of selected tracks and items
- Draw short-term and momentary loudness to selected envelope
- Export analyzed data to file or clipboard
- Various loudness unit formats (LUFS of LU with user set offset)
- Tight integration of loudness analyzer and rest of the project (analyzer can follow item/track selection, move arrange to analyzed items and tracks, set edit cursor to true peak location etc...)
- Normalize selected items/tracks to target LUFS or LU
Screenshots:
Download and documentation:
Download here
Documentation can be found here
Donations:
A lot of effort has been invested in this. If you seriously use it, please consider supporting the developer. Thanks!
__________________
REAPER ReWorked: An elegant and self-sufficient all-around REAPER configuration
Other stuff
Last edited by Breeder; 09-03-2020 at 03:19 PM.
|
|
|
11-24-2014, 10:54 AM
|
#2
|
Human being with feelings
Join Date: Jan 2007
Location: Silicon Gulch
Posts: 544
|
.
Thanks for this update Breeder!
As you know, many of us are looking for good EBU R128 tools.
Is the integrated LUFS fully EBU R128 compliant?
Are the "momentary" and "short term" measurements RMS?
and, if so, what are the RMS time intervals for each?
Thanks...
...El Lorenzo de Onda Sonora
.
__________________
Inundated by a Perfect Storm of Gluten-Free Artisanal Bespoke Quinoa Avocado-Toast Toilet Paper.
Mahope Kakou (Later Dudes)...
|
|
|
11-24-2014, 11:46 AM
|
#3
|
Human being with feelings
Join Date: Jan 2007
Location: Silicon Gulch
Posts: 544
|
.
OK - I did some looking at the SWS site, and yes, since the loudness measurement uses libebur128, one would assume it is fully R128 compliant.
Still do not know the time intervals for "momentary" and "short term".
Are these also defined in the EBU spec??
.
__________________
Inundated by a Perfect Storm of Gluten-Free Artisanal Bespoke Quinoa Avocado-Toast Toilet Paper.
Mahope Kakou (Later Dudes)...
|
|
|
11-24-2014, 12:12 PM
|
#4
|
Human being with feelings
Join Date: Jan 2007
Location: Silicon Gulch
Posts: 544
|
.
Yes - EBU spec 3341 section 2.2:
"Momentary" = 400mS and "Short Term" = 3S
(for those who do not already have the R128 specs memorized)
All questions answered, now gotta try out the tools!
I want to be able to batch process a few dozen files at a time.
.
__________________
Inundated by a Perfect Storm of Gluten-Free Artisanal Bespoke Quinoa Avocado-Toast Toilet Paper.
Mahope Kakou (Later Dudes)...
|
|
|
11-24-2014, 03:30 PM
|
#5
|
Human being with feelings
Join Date: Nov 2010
Posts: 2,436
|
Feature is 100% compliant with R128 and all test files (which you can get here) do pass when analyzed
|
|
|
11-24-2014, 05:15 PM
|
#6
|
Human being with feelings
Join Date: Sep 2010
Location: Finland
Posts: 776
|
Amazing set of tools in the latest SWS extensions! Thank you very much for the hard work you've done!
__________________
Grey, flat and minimal theme for Reaper: Symbiosis
|
|
|
11-24-2014, 06:06 PM
|
#7
|
Human being with feelings
Join Date: Oct 2008
Location: Right Hear
Posts: 15,618
|
think I'd better move to Croatia... with you and ED there perhaps my brain would grow a brain! Thanks for all you do!!!
|
|
|
11-24-2014, 06:48 PM
|
#8
|
Human being with feelings
Join Date: Oct 2013
Location: Argentina
Posts: 1,303
|
All of this is of the utmost importance, Breeder. Infinite thanks for such a great work!!!
|
|
|
11-25-2014, 10:48 PM
|
#9
|
Human being with feelings
Join Date: Mar 2014
Location: Phoenix, AZ
Posts: 488
|
Wow, great thanks so much! Is it recommended to use the beta pre release for this to work properly?
|
|
|
11-25-2014, 10:55 PM
|
#10
|
Human being with feelings
Join Date: Oct 2007
Location: Lincoln, UK
Posts: 7,942
|
I don't want to install a step back to check, but I think the extended functionality is only in the beta (TP, LU refs other than LUFS, loudness data exporter). I have the beta installed and haven't found anything worse than text alignment nitpicks
Awesome job Breeder, and I haven't touched the new tempo stuff yet...
>
|
|
|
11-25-2014, 10:58 PM
|
#11
|
Human being with feelings
Join Date: Mar 2014
Location: Phoenix, AZ
Posts: 488
|
good to know, thanks!
|
|
|
11-26-2014, 07:47 AM
|
#12
|
Human being with feelings
Join Date: Nov 2010
Posts: 2,436
|
Quote:
Originally Posted by planetnine
(TP, LU refs other than LUFS, loudness data exporter). I have the beta installed and haven't found anything worse than text alignment nitpicks
|
Also, one cool new feature is that analyzed data is stored in project files - this wasn't the case with previous versions.
Text alignment? Are you referring to help for wildcards? I guess this should get fixed, but it's such a boring thing to do...lol
To anyone else: don't be afraid of the beta - we are usually very careful about compatibility and if something gets messed it will always be in the whatsnew. Of course, something can always go terribly wrong but that risk exists with official versions too. That's software development
|
|
|
04-01-2015, 02:20 PM
|
#13
|
Human being with feelings
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
|
Incredible awesome and useful , wow !!
|
|
|
04-03-2015, 10:48 AM
|
#14
|
Human being with feelings
Join Date: May 2013
Location: New York
Posts: 781
|
This is great!!!!!!!!! Thanks so much. One small suggestion if I may be so bold. Right now when analyzing truepeaks it only shows me the highest truepeak value in the item/track. It would be great if I could see a list of timecodes for all truepeak values that exceed some user specified number. It would be even greater if these spots could be flagged with markers in the timeline.
|
|
|
04-03-2015, 12:55 PM
|
#15
|
Human being with feelings
Join Date: Oct 2007
Location: Lincoln, UK
Posts: 7,942
|
That could have the potential to create an awful lot of markers
I think maybe the top n TP peaks -up to you how much work you give yourself then
Edit: I think this could be done with a script outside of Breeder's Loudness Tool, save cluttering it up.
>
|
|
|
04-03-2015, 01:33 PM
|
#16
|
Human being with feelings
Join Date: Nov 2009
Posts: 2,232
|
this sounds like another example of where item markers, as distinct from timeline markers, could be useful. having markers contained within items, as stretch markers currently are, could help provide this functionality and info while avoiding timeline clutter.
|
|
|
04-03-2015, 01:36 PM
|
#17
|
Human being with feelings
Join Date: Oct 2007
Location: Lincoln, UK
Posts: 7,942
|
Quote:
Originally Posted by babag
this sounds like another example of where item markers, as distinct from timeline markers, could be useful. having markers contained within items, as stretch markers currently are, could help provide this functionality and info while avoiding timeline clutter.
|
Wandering OT a bit, but I'm up for that
>
|
|
|
04-12-2015, 05:39 PM
|
#18
|
Human being with feelings
Join Date: Apr 2015
Posts: 3
|
Loudness Normalization
Thanks for this great tool!
One question: What is the tool actually doing when you normalize the loudness of a track? I haven't seen it anywhere in the documentation. Is it just a gain adjustment, or does it change the waveform, or what?
Thanks!
|
|
|
09-09-2015, 11:22 AM
|
#19
|
Human being with feelings
Join Date: Jun 2006
Posts: 22,572
|
awesome! thank you!
|
|
|
09-09-2015, 12:45 PM
|
#20
|
Human being with feelings
Join Date: May 2010
Location: Norway
Posts: 7,318
|
You're really a coding hero Martin
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
|
|
|
09-09-2015, 02:47 PM
|
#21
|
Human being with feelings
Join Date: Nov 2010
Posts: 2,436
|
Quote:
Originally Posted by Dobber
Thanks for this great tool!
One question: What is the tool actually doing when you normalize the loudness of a track? I haven't seen it anywhere in the documentation. Is it just a gain adjustment, or does it change the waveform, or what?
Thanks!
|
Sorry for replying this late, but I've just seen your question.
Normalizing simply checks the LUFS level of the signal and adjusts gain of item/track appropriately. Because one unit of LUFS is equal to one dB it simply adjust gain by the difference between measured loudness and target LUFS.
Theoretically, this may not work perfectly every time due to gating applied when measuring integrated loudness. However, in real-life situations this shouldn't happen in all but extreme cases.
If you normalize from loudness dialog (it's better to use full dialog instead of separate actions because dialog caches measurements so normalizing doesn't have to remeasure loudness of an already analyzed object), target can get reanalyzed upon normalizing (if you enable the option) so you can always know the exact effective loudness.
Quote:
Originally Posted by G-Sun
You're really a coding hero Martin
|
Thank you for the kind words
|
|
|
09-10-2015, 06:33 AM
|
#22
|
Human being with feelings
Join Date: May 2007
Location: Hungary,Europe
Posts: 800
|
Is there any difference between this one and the loudness module of RX4 ?
__________________
15" Retina MBP, Adobe CC, UA Apollo
|
|
|
10-21-2015, 08:40 AM
|
#23
|
Human being with feelings
Join Date: Oct 2015
Posts: 4
|
Wow this looks really great. Is it also possible to automate this feature and integrate it with custom actions. I'm imagining that this could work extremely well obviously with setting correct input gains, but could also tremendously help with tempo mapping and any sort of automation involving transients.
Would it be possible to integrate this as a type of auto-gain?
|
|
|
11-28-2015, 09:07 PM
|
#24
|
Human being with feelings
Join Date: Oct 2006
Location: Chicago
Posts: 33
|
Empty Track List
I'm running Reaper 5.1 and SWS 2.8.2
My "Analyze Loudness" dialog has no tracks - Is this a bug or do I need to add tracks to it (if so, how?)
- Jack
|
|
|
11-29-2015, 08:33 AM
|
#25
|
Human being with feelings
Join Date: Aug 2014
Location: Netherlands
Posts: 882
|
You have to select one or more items first.
|
|
|
02-22-2016, 07:03 PM
|
#26
|
Human being with feelings
Join Date: Nov 2015
Location: Brooklyn NY
Posts: 39
|
Is it possible to analyze a mix? I didn't get results when I selected the Master track, am I doing something wrong? Well, I got results, it was -infinity and it came back immediately. On a track containing audio, I got something more like I expected.
I suppose the thing to do would be to create a project with one track containing a render of the Master track, but is there another way to check Master tracks in progress that I'm not thinking of?
|
|
|
02-22-2016, 08:42 PM
|
#27
|
Human being with feelings
Join Date: May 2010
Location: Austin, TX
Posts: 791
|
Yep, you're correct that you need some form of rendered master track (item) in order to analyze it using SWS Loudness.
You could select all tracks and move them to a sub-project, then also cut/paste any fx from your master, moving them to the master in the new sub-project.
Your sub-project would be used for any final mixing/mastering and the primary project tab would only be used for SWS loudness measurement.
Edit:
Perhaps someone else can confirm but there seems to be a small bug when re-taking loudness measurements on a rendered sub-project track.
If you've already analyzed a sub-project track that's been updated, you have to click away from it and click the analyze and then select the track again in order to get an updated analysis.
Last edited by lachrimae; 02-22-2016 at 08:51 PM.
|
|
|
02-23-2016, 02:55 AM
|
#28
|
Human being with feelings
Join Date: Jun 2012
Location: Spain
Posts: 7,269
|
@lachrimae I don't know about that bug, but you can just use items instead of tracks. There is an option to use selected items instead of selected tracks. Try it.
|
|
|
02-23-2016, 06:35 AM
|
#29
|
Human being with feelings
Join Date: Nov 2015
Location: Brooklyn NY
Posts: 39
|
Quote:
Originally Posted by lachrimae
Yep, you're correct that you need some form of rendered master track (item) in order to analyze it using SWS Loudness.
|
Thank you.
|
|
|
02-23-2016, 07:22 AM
|
#30
|
Human being with feelings
Join Date: May 2010
Location: Austin, TX
Posts: 791
|
Quote:
Originally Posted by heda
@lachrimae I don't know about that bug, but you can just use items instead of tracks. There is an option to use selected items instead of selected tracks. Try it.
|
Hola heda,
Unfortunately I get the same result with items as well. So you're not having to de-select an updated sub-project rendered item and re-select it in order to have SWS-L update it's analysis?
Here's the item behavior:
|
|
|
02-23-2016, 07:37 AM
|
#31
|
Human being with feelings
Join Date: Jun 2012
Location: Spain
Posts: 7,269
|
Oh I know what may be wrong. There is a cache in the program that doesn't reanalyze the item again if there is no need. But this was created before the sub-projects. So it may have problems knowing when the subproject is updated.
|
|
|
03-06-2019, 06:08 AM
|
#32
|
Human being with feelings
Join Date: Oct 2010
Posts: 8
|
More normalization options...
Hey,
I just started to try this out, amazing job, makes my life so much easier.
Would it be possible to add more normalization options?
I'm thinking:
Normalize to a specific dPTP (ie -1dBTP)
Normalize to a Max short-term
Normalize to a Max momentary
That would be great!
|
|
|
03-06-2019, 07:34 AM
|
#33
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,110
|
There are scripts for these in my ReaPack repository (see link in my signature).
|
|
|
04-05-2019, 09:59 AM
|
#34
|
Human being with feelings
Join Date: Sep 2008
Posts: 344
|
Jumping in here after a long time away from Reaper.
I need a way to normalize to -16 LUFS while keeping all truepeaks under -2. I'm having trouble wrapping my head around this.
I can use the SWS action to set my LUFS, but then I need to adjust gain to get my peaks below -2.. and then obviously my LUFS is wrong.
I thought about setting my LUFS to -14 and then turning everything down 2db.. but this assumes all of my peaks are a max of 2db over... which often won't be the case.
Does anyone have any advice? Thanks in advance.. this would save me hours in my exporting.
Last edited by Kearley; 04-05-2019 at 10:08 AM.
|
|
|
04-05-2019, 02:05 PM
|
#35
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,110
|
If you've normalized to -16 LUFS and have peaks going > -2 you need to reduce dynamics. Adjusting gain doesn't do, as you noticed. You could use a (true peak) limiter with ceiling set to -2 (and no makeup gain).
|
|
|
04-05-2019, 02:28 PM
|
#36
|
Human being with feelings
Join Date: Sep 2008
Posts: 344
|
Thanks nofish; But if I use the SWS action to set my track at exactly -16 and then throw on a peaklimiter set to -2, I'm reducing my LUFS a little right? (putting me back to step 1)
I'm thinking I should master hot (-13 or whatever) using a peaklimiter at -1 or -2 and then use the SWS action to pull it down to exactly -16. This would get the job done with little guesswork right?
Really, I just need the easiest way to hit -16 exactly and keep it below -2 peak.
(and then using the render items tool)
|
|
|
04-05-2019, 02:47 PM
|
#37
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,110
|
Quote:
Originally Posted by Kearley
Thanks nofish; But if I use the SWS action to set my track at exactly -16 and then throw on a peaklimiter set to -2, I'm reducing my LUFS a little right? (putting me back to step 1)
|
Hm, yes, didn't think about this to be honest.
Though as LU is quite similar to RMS, working on the average level, I'm not sure how much chopping off some peaks would matter (assuming the peak limiter wouldn't have to work really hard).
Quote:
I'm thinking I should master hot (-13 or whatever) using a peaklimiter at -1 or -2 and then use the SWS action to pull it down to exactly -16. This would get the job done with little guesswork right?
|
Yes, I think that should work.
You could maybe test how much the peaks chopping really matters so you wouldn't need to go as hot as -13 or so if keeping as much dynamics as possible is a concern.
|
|
|
04-05-2019, 02:50 PM
|
#38
|
Human being with feelings
Join Date: Sep 2008
Posts: 344
|
Ya, exactly.. with a bit of experience, I'd have a ballpark AND I wouldn't need to go back and forth to correct.
|
|
|
04-05-2019, 03:39 PM
|
#39
|
Human being with feelings
Join Date: Jun 2012
Location: Spain
Posts: 7,269
|
This is why I created Render LUFS script.
It renders in various passes adjusting the desired plugin parameter on each pass to find the perfect value that results in the desired Loudness.
here is a gif of the latest version for REAPER v5.974 since it takes some advantages of the new API changes
|
|
|
04-05-2019, 06:02 PM
|
#40
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,110
|
^^ This is quite clever.
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 07:58 AM.
|