SpecScript 1.8 - 5.1 AND 7.1 upmix scripts and utilities

QuadraphonicQuad

Help Support QuadraphonicQuad:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
The only dilemma for me, then, would be that you are not normalized to the stereo if the program is boosting some quieter songs.
But, if you using SpecScript only I don't see that as a problem as anyone listening would likely hear that there is not a great variance in apparent loudness between songs, if they thought of it all, because SpecScript is boosting the quieter tracks.

If you throw into the mix some songs from other methods, as from stems that have been normalized to a lower gain to match the original stereo, listening could be a mixed bag.

I'm just thinking out loud here.
I realize trying to normalize to different approaches to upmixing is not the goal of the program, i.e. stem mixing or any other methods.

None of that is insurmountable, and I realize why you set up the added gain for quieter tracks, and it makes sense.
I've tried with stems just going by ear and it works out good (to me) but with mixed sources and trying to normalize to the original stereo you have to make a tradeoff between how it sounds track to track , i.e. not from the same album for example...no one wants to be constantly changing the volume on their AVR is what I keep thinking about..maybe it's a non issue?

A little deeper into the weeds then....
If there was a way/program to just drop a bunch of mixes into, and have them all normalized for "listenability" to make up a word here, that would be great.
Most modern mixes aren't very quiet, and probably for most people using different sources/methods it's never an issue.
Then you have me...I like a lot of "old stuff" that is mastered not so loud as the "made for radio" music today, as well as more modern music that IS mastered louder.
None of my concerns would likely be an issue for people using SpecScript only, because of the steps you've taken to get the quieter tracks up on par with the louder ones.

But here again I'm just thinking out loud, trying to solve my own issues. Probably had too much coffee this morning.
 
  • Like
Reactions: GOS
Seems similar to my usage, to be able create mixes of old stuff with many different sources that you can normalize volumes for that mix. For reasons as we spoke, iTunes normalization “fix” does not work for me.

If we were able to drop files into an app that could at least increase gain for quieter tracks to “close” to all the other tracks, but on a permanent basis, I would do it for the whole library. iTunes way of doing it for the whole library to me sounds like a good idea, except in practicality they are using the wrong levels to average, and instead of increasing gain on the soft songs, it decreases output on all the louder ones. That’s why I thought that averaging LUFS would be better way of normalization of volumes.
 
OK in SpecScript 1.8 (in development) There is a lot of flexability in dynamics via ini flags:

[vst]​
usevst=true​
; Normally the GUI for the VST is hidden, Set this to "true" is you want to see it (can help with settings).​
displayvst=false​
; Measure the dynamics of the Stereo and Upmix, and autoset the VST output and threshold so the​
; final Upmix output matches the dynamics of the stereo.​
autoset=true​
;​
; SpecScript treats tracks with max peaks below -6 dBm differently than other tracks, setting the max output to -6dBm.​
; If you want all tracks to keep their original max peak values set quietpeaks=true.​
;​
quietpeaks=false​
;​
; This is a fudge factor applied to the autoset thresthold vale passed to the limiter. 0 would mean no offset,​
; match stereo loudness. -1 would mean make the upmix 1 LUFS quieter than the stereo, etc.​
; For zero please use exactly "0" not "0.0" or "+0.0" etc.​
loudnessoffset=0​
;​
; If non zero, this is a loudness target you want in LUFS. e.g. -14. If zero, loudness will be matched to the​
; stereo (subject to the above loudnessoffset).​
; FYI iTunes soundcheck uses -16, Spotify, Tidal, YouTube, and Amazon music uses -14. The AES also recommends​
; -14 as an LUFS target for album track to track normalization.​
; For zero please use exactly "0" not "0.0" or "+0.0" etc.​
loudnesstarget=-14​
;​
; If autoset=false, set limiter threshold to this value. if you adjust the pregain you will want to adjust this as well.​
thresh=-4.0​
; If autoset=false, set limiter max output to this value​
output=-0.1​
;​
cweight=0.0​
;​
lfeweight=0.0​
;​
sweight=0.0​
;​
character=0.1​
;​
response=0.0​
;​
classic=false​
;​
truepeaks=true​

So, you can turn off the default behavior of treating songs with peaks below -6dbm differently. You can also set, say a -14 LUFS loudness target for all songs, instead of matching to the stereo.

Or you can turn off all the auto stuff and have full control of all the limiter parameters. There's a pdf, in the bin directory, that explains what each of those vst parameters does.

Re: a separate script, that could be used either pre (on the stereo) or post (on 5.1 or 7.1) specscript to normalize loudness, I can do that.
 
Could you explain the manual procedure to use the Unlimited vst to match dynamics between an upmix and a stereo source? I know you have before somewhere and I copied it but at the moment can't find it. IOW, I guess the two main parameters need to be changed if I remember right.

Wait, I think I found it. This could be handy for others as well. If you've already gone over this in this thread, forgive, the heat has really been killer every day and I've been in the sun for hours. Hows that for a mea culpa? lol.
Anyway I think it was you that said this:

"Set the output level to the Peak value of the Stereo (or maybe -0.1 if the Stereo is Peak is 0dB) then set the threshold for the difference in the LUFS values between the Stereo and the 5.1. Other settings can be defaults."

Is that correct?
 
Yes, except that I have also started using the True Peak button on, be default.

Side note: this is a good (and free) LUFS meter plugin: dpMeter. I just noticed they have a 2022 update to version 5.
 
Yes, except that I have also started using the True Peak button on, be default.

Side note: this is a good (and free) LUFS meter plugin: dpMeter. I just noticed they have a 2022 update to version 5.
I was trying to use the dpMeter in Plogue once and the gui's are so huuuuge, lol. But I will grab the update and reinstall over the last version.

True peak in Unlimited on, got it. Thanks!
 
OK on the loudness normalization thing, I have two scripts working here. They work equally well on stereo or 5.1 inputs.

One is "Track Mode", where all input tracks will be normalized to the same LUFS loudness. The other "Album Mode", where it assumes all inputs are tracks from the same album. It finds the loudest track, then uses that track's measurements to adjust the loudness of all tracks on the album equally. Both an increase and a decrease in loudness are support. Increase is via the Unlimited mastering VST (same as SpecScript), decrease is by lowering the overall gain.

So that will be in the forthcoming SpecScript 1.8.

Speaking of which, here are the new features/fixes in 1.8 to date (I hope I haven't missed any, should have written each one done as I made changes):

Cover Artwork is now supported in flac and .m4a files. Any Cover Art in the input file will also be in the upmixed or processed output files (hopefully there is only one flavor, one image for these?).​
Another (hopefully final) fix for maths when your language region is not English​
The above mentioned Loudness Normalization Scripts​
Full list of the Unlimited mastering VST parameters now available in the ini file​
Loudness Target setting (vs. "autoset") option in the ini file​
Loudness Offset setting in the ini file​
Ability to set your temp directory folder, in the ini file​
Option to change the way SpecScript handles tracks with peaks below -6dB, in the ini file​
A check for "!" characters in any of the input path/filenames before processing starts (Sorry I still need these to be renamed before use in SpecScript. its a limitation of Windows Batch language).​
So I'm going to freeze feature adding and work on getting 1.8 released now.
 
Well maybe one more feature...

What about having one upmix script, instead of one per method, with a dialog box like this:

1659892143292.png


It would pop up first thing after dropping files on the script.

Note also the "All 5.1 methods" option, which would give you all methods for each input track.

If "All 5.1 Methods" would be useful, should it be an x seconds preview, vs. the whole track (or an option for only the first x seconds)?
 
Whenever you get to it, the All Scripts would be very helpful, especially if you could physically preview the tracks in the middle of the script at that point, and after hearing them, click one of the radio buttons that completes that one upmix to completion and puts it in the folder. 30 seconds is usually enough to get through the intro and start the vocals I think.
 
Last edited:
Post at top of thread updated with version 1.8.

Change History:
V1.8​
• All upmixing scripts combined into one, with a dialog box to choose the method​
• All Channel Operation Post Processing scripts combined into one, with a dialog box to choose the operation​
• Additional Post Processing operations for lead instrument hard panned left and right​
• Post Processing operations to fix early stereo and for lead instruments hard panned left and right now have and extra dialog box(es) to let you choose the crossover frequency(ies), to evenly split the sound between left and right.​
o Fix Early Stereo Lead in LS – Lowering the crossover frequency will push more sound to LS​
o Fix Early Stereo Lead in LS – Lowering the crossover frequency will push more sound to RS​
o Hard Panned Lead Instrument in LS – Fronts - Lowering the crossover frequency will push more sound to RF. Rears - Lowering the crossover frequency will push more sound to LS​
o Hard Panned Lead Instrument in RS – Fronts - Lowering the crossover frequency will push more sound to LF. Rears - Lowering the crossover frequency will push more sound to RS​
• In this way .m4a input files are supported for all methods including SpecWeb (which doesn’t support .m4a on its own)​
• Cover Artwork is now supported in flac and .m4a files. Any Cover Art in the input file will also be in the upmixed or processed output files - hopefully there is only one flavor, one image for these?​
• Another (hopefully final) fix for maths when your language region is not English​
• The Track Mode and Album Loudness Normalization Scripts. They work on both Stereo and 5.1 files, and normalize to an LUFS target (-14 lufs by default). The Peak normalization script was retired​
• Full list of the Unlimited mastering VST parameters now available in the ini file​
• Upmix Loudness Target setting (vs. autoset) option in the ini file​
• Upmix Loudness Offset setting in the ini file​
• Ability to set your temp directory folder, in the ini file​
• Option to change the way SpecScript handles tracks with peaks below -6dB, in the ini file​
• A check for exclamation characters in any of the input path/filenames before processing starts (Sorry I still need these to be renamed before use in SpecScript. its a limitation of Windows Batch language).​
 
Is there duration limit? I tried over an hour file but output was only 7 minutes. Version was 1.7.

Thanks for these scripts!
 
Not a "duration" limit per say, but a file size limit. So the duration depends on your source bitrate and sample depth.

From the doc: "Parts of SpecScript will not support files larger than 4GB".

Is your source a single song? Can it be divided into songs or "chapters"/"movements"?
 
I can manage, but I wanted to know. I noticed that doc info after I sent this question.

Thanks!
 
Back
Top