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.
FYI SpecWeb, by itself, doesn't have the 4 Gig limitation.

SpecScript does, because its a limitation of SoX, which is heavily used by SpecScript and is not under current development (or it seems to be for linux, but not for windows).

You can drag and drop your file directly onto SpecWeb.exe, or the SpecWeb shortcuts on your desktop, to get a 5.1 upmix without the 4 Gig limitation.
 
We're talking about SpecWeb?

I deprecated "Zag" in favor of the Unlimited VST. The output level is automatically set to the peak level of the stereo input song (or the peak level of the surround, whichever is lower).

However, If you use SpecWeb from SpecScript, the VST settings in the SpecScript ini file are in effect, and in that case ALL of the parameters of the Unlimited VST are able to be set:

1662558700652.png

SpecScript.ini VST settings:

[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=0​
;​
; 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​
 
I'm always late to the ball, but I finally got a Dell laptop so that I can run some Windows based programs such as SpecScript. My first two attempts at upmixes using this program went well. However, I have a few questions:

1) With both upmixes, the bass ended up in the center channel. This isn't compatible with my system. The center bass needs to be in the LF and RF speakers. Can one of the post-processing scripts correct this?

2) I would assume that it is possible to process individual stems through SpecScript and then run with the results. Or is it better to use the script described here when dealing with individual stems:
https://www.quadraphonicquad.com/fo...tereo-to-5-1-script-v-0-2b.32788/#post-650273
 
1) You would need to use Music source separation tools to separate the bass into a stereo bass stem. Invert mix that with the original stereo to make a "other" stem (everything but bass). Upmix other, with SpecScript, and then mix in the bass stem to LF and RF.

2) See one above, Or feel free to experiment with the Demucs + CenterCut CL. The upmix parts are "similar" but differ in a few ways. Longer term I want to do something similar with SpecSpript, especially in targeting immersive formats for Atmos/DTS:X/Auro 3D systems. Also I would want to support more/higher quality Music Source Separation tools, such as lalal.ai.

For now, for my own up-remixes I get 5 to 7 stems from lalal.ai, make my own "other", upmix some, "stereoize" others with highpass/lowpass filters, an remix everything in Plogue Bidule (I find that easier than a traditional DAW for immersive formats). I have made custom groups in PB for solo/mute and stereo and 5.1 to 7.1.4 channel assignments, and for stereo and 5.1 panning to 7.1.4 (when I want something between channels) I use a free VST.
 
1) You would need to use Music source separation tools to separate the bass into a stereo bass stem. Invert mix that with the original stereo to make a "other" stem (everything but bass). Upmix other, with SpecScript, and then mix in the bass stem to LF and RF.
Thanks, Z. Not a problem as I've been using mvsep for some time to make my own mixes. Check the PM I sent to you on Monday. I don't know if saw it.

2) See one above, Or feel free to experiment with the Demucs + CenterCut CL. The upmix parts are "similar" but differ in a few ways. Longer term I want to do something similar with SpecSpript, especially in targeting immersive formats for Atmos/DTS:X/Auro 3D systems. Also I would want to support more/higher quality Music Source Separation tools, such as lalal.ai.

For now, for my own up-remixes I get 5 to 7 stems from lalal.ai, make my own "other", upmix some, "stereoize" others with highpass/lowpass filters, an remix everything in Plogue Bidule (I find that easier than a traditional DAW for immersive formats). I have made custom groups in PB for solo/mute and stereo and 5.1 to 7.1.4 channel assignments, and for stereo and 5.1 panning to 7.1.4 (when I want something between channels) I use a free VST.
Does the LALAL.AI tool yield observably better results than mvsep Demucs3 Model B? LALAL.AI does offer more stems.
 
Does the LALAL.AI tool yield observably better results than mvsep Demucs3 Model B? LALAL.AI does offer more stems.

If "observably better" = "sounds better" and or fewer missed notes then yes. I feel that lalal.ai is currently the highest quality we have. Especially in the stems types it shares with demucs, etc.

I also like that they give you back whatever format and samplerate/bit depth you put in (although I don't know what conversions they do behind the scenes).

The other stems types are slowly improving over time, as they add training and change each stem to their newest models. It's a little different in that you have to get one stem at a time (and they charge you for each stem) and then you have to make your own "other" from the original and whatever stems you've downloaded.

There is a python api, but I haven't used it in a while as the web UI stem choices have been ahead of API updates.

I usually buy a block a 300 minutes, at a time.
 
1) With both upmixes, the bass ended up in the center channel. This isn't compatible with my system. The center bass needs to be in the LF and RF speakers. Can one of the post-processing scripts correct this?
1) You would need to use Music source separation tools to separate the bass into a stereo bass stem. Invert mix that with the original stereo to make a "other" stem (everything but bass). Upmix other, with SpecScript, and then mix in the bass stem to LF and RF.

Instead of messing with stems, I simply used the Post_Process 5.1_to4.1 script. That moved the center including the center bass into the LF and RF. Sound levels remained perfect and I am pleased with the result.* I will try a few others and see how things go.

*The song is Gordon Lightfoot's If You Could Read My Mind.
 
I'm getting some strange results here. I've only done a couple of songs with SpecScript. The Gordon Lightfoot song (circa early 70s) mentioned above and a Calexico song Alone Again Or (circa 2003.) Both were run as 5.1's using the "Feeling Lucky" option; and both songs returned the Phantom Side output.

On both songs, the front channels and the center channel, music and vocals, sound phasey...like they are somewhat under water. Does anyone know how to fix this issue? @zeerround ?
 
I'm getting some strange results here. I've only done a couple of songs with SpecScript. The Gordon Lightfoot song (circa early 70s) mentioned above and a Calexico song Alone Again Or (circa 2003.) Both were run as 5.1's using the "Feeling Lucky" option; and both songs returned the Phantom Side output.

On both songs, the front channels and the center channel, music and vocals, sound phasey...like they are somewhat under water. Does anyone know how to fix this issue? @zeerround ?
I don't have an answer for you, but appreciate your musical choices. :) That Calexico version is excellent.
 
I'm getting some strange results here. I've only done a couple of songs with SpecScript. The Gordon Lightfoot song (circa early 70s) mentioned above and a Calexico song Alone Again Or (circa 2003.) Both were run as 5.1's using the "Feeling Lucky" option; and both songs returned the Phantom Side output.

On both songs, the front channels and the center channel, music and vocals, sound phasey...like they are somewhat under water. Does anyone know how to fix this issue? @zeerround ?
I tried Alone Again Or. I suggest you try Wide Center and SpecWeb and see if you don't like one or both of those better on that track.
 
I tried Alone Again Or. I suggest you try Wide Center and SpecWeb and see if you don't like one or both of those better on that track.
so please don't give up based on two sources!

Give up? Why would I give up? I'm a verifiable maniac...How many people would be crazy enough to take 13 shots at making a 5.1 of Roll Over Beethoven?

I tried both Wide Center and SpecWeb on Alone Again Or. Here are the results of everything I have tried so far:

1) Phantom Side: Front and Center are phasey. Rear Channels are OK. (Phaseyness is particularly bad on the horns.)
2) Wide Center: Worse than Phantom Side for phaseyness.
3) SpecWeb: Front and Center Channels are OK. Rear Channels are phasey.
4) Hybrid 1: Took Front and Center Channels from SpecWeb and Rear Channels from Phantom Side. No phaseyness, but much reduced front to back separation.
5) Hybrid 2: Took Front and Center Channels from SpecWeb and Rear Channels generated using my own methods. Again, there was no phaseyness, but front to back separation was greatly compromised.

I tried the song Blue World by The Moody Blues. SpecScript selected Phantom Side. No phaseyness whatsoever anywhere.

I tried the song Pendulums by Sarah Harmer. SpecScript selected Wide Rear, which I suspected it would do. There is some phaseyness in the Fronts and Center, but it's not too noticeable when all channels are played as a whole.

It would seem that Alone Again Or is a torture track. It would be interesting to understand why Blue World upmixes so cleanly.


Also, I read this thread:

https://www.quadraphonicquad.com/fo...web-vs-penteo-16-pro.27384/page-3#post-457265
In post #56, @HomerJAU refers to "swishing." It sounds similar to what I describe as "phaseyness." Glenn, your response is post #61. But the thread is talking about SpecWeb, not SpecScript; and it is three years old.
 
I upmixed Blue World probably a decade or longer ago. Turned out pretty good.
I'm pretty sure I used Plogue Bidule and SPEC.

Some can disagree, but I found a long time ago there is some music that just does not separate very well, regardless of method used. As the tools get better, that becomes less so.
The "swooshy" factor, or phaseyness as you call it, has been around since there have been upmixing methods. The way the music was mixed, the number of instruments or voice lying in the same domain as each other and trying to pull them all apart invariably create some degree of artifacts and/or missing notes.

Spectral editing can help with this but it's just too time consuming and tedious for me.
 
I upmixed Blue World probably a decade or longer ago. Turned out pretty good.
I'm pretty sure I used Plogue Bidule and SPEC.

Some can disagree, but I found a long time ago there is some music that just does not separate very well, regardless of method used. As the tools get better, that becomes less so.
The "swooshy" factor, or phaseyness as you call it, has been around since there have been upmixing methods. The way the music was mixed, the number of instruments or voice lying in the same domain as each other and trying to pull them all apart invariably create some degree of artifacts and/or missing notes.

Spectral editing can help with this but it's just too time consuming and tedious for me.
I might have a workaround. I tried it on Pendulums and it worked like a charm. It's a little more work, but well worth the effort. I will also see if I can get Alone Again Or to behave and report on all of this later today.
 
Workaround for Phaseyness / Swishing

It seems that my aural chicanery worked. As mentioned in earlier posts, I had upmixed a few tracks where "phaseyness" (or swishing) was an audible problem. I employed the following machinations and I'm very pleased with the results. It adds some work to the process, but remember that we are making something great out of essentially nothing.

Pendulums by Sarah Harmer

Problem:
Swishing in the drum track gives the upmix a somewhat phasey or metallic sound. Not bad, but sounds like something is not quite right or there is background garbage.

Solution:
1. Extracted the drums stem [mvsep.com or lalal.ai].
2. Inverted the drums stem in a DAW.
3. Mixed the inverted drum stem with the main track in a DAW to remove the drums.
4. Reduced the amplification of the resultant stereo track by 6 dB; otherwise clipping occurred.
5. Processed the resultant stereo track in SpecScript (SpecScript chose Wide Rear as the preferred method for this song.)
6. In the DAW, reduced the volume of the drum stem by 6dB (to match levels.)
7. Mixed the drum stem into the front channels.
8. Mixed some variation of the drum stem into the rear channels. My preference is to "Remove Center" in a DAW and then mix the result into the rears.

Result:
A cleaner and more pleasing sounding track, with no perception of something not being quite right.


Alone Again Or by Calexico

Problem:
Swishing in the drums, horns, vocals...essentially everything. Much worse than on Pendulums. Brutally obvious. Horns are particularly bad...almost sound like comb filtering.

Complications:
1. Using another upmixing selection instead of Phantom Side reduced the problem to an extent, but also reduced the separation and excitement of the resulting 5.1 mix.
2. Extracting the drum stem, inverting it and then mixing back the inverted stem into the song like I did on Pendulums did not work. Some drums were left remaining, and a slight timing difference actually resulted; further proof that there are serious phase issues to be dealt with in this song.
3. Mixing together the remaining stems (bass, other instruments, vocals) and upmixing with SpecScript also yielded unsatisfactory results...continued phasey / swishing sound.

Solution:
1. Split the song into four stems (bass, drums, other instruments, vocals) and reduced volume of each by 6dB in a DAW.
2. Upmixed each stem separately in SpecScript using Phantom Center Side as the upmixing method for all stems.
3. Listened to each upmixed stem track. No significant swishing was evident on the upmixed bass, other instrument and vocal tracks. Drums were awful.
4. Mixed the upmixed multichannel bass, other instruments and vocal tracks together into a 5.1 mix using a DAW. Did not use upmixed drum track.
5. Mixed the original stereo drum stem into the front channels.
6. Mixed some variation of the original drum stem into the rear channels. As noted above, my preference is "Remove Center" and then mix the result into the rears.

Result:
Like night and day. No noticeable phase / swishing issues in the final mix. The horns sound lovely.

:SG:SG:SG:SG:SG:SG
 
Last edited:
I just started getting the following SpecScript error message trying to upmix two different songs. The script went through it's whole sequence and returned the error just before the end. Rebooting did not solve the problem. Any ideas? Thanks.

SpecScript Error Message.jpg
 
Back
Top