- Joined
- Apr 11, 2010
- Messages
- 955
Here is the fourth public release of the next generation of my Spectral Upmix tools.
https://surroundbyus.com/sbu/download/SpecScript 2.0 Release.zip
v2.0 Change Notes:
SpecScript 2.0 is all about speed of processing and unlimited size of audio files. There is no change to the upmixmethodology itself, from version 1.9. On a “fast” computer with 6 cores 12 threads, and 2 NVME SSDs I have achieved over 4X realtime processing (It takes less than 60 seconds to process a 44.1KHz input track of 4:19duration).
Everything that can be done in parallel is now run in parallel. Assuming you have more than 4 cores/threads on your CPU, SpecScript will take maximum advantage of parallelism for processing speedup. Things will still work ifyou have 4 cores/threads or less, just not as fast as on a machine with more cores/threads.
In order to support maximum speed up while not losing CPU cycles waiting for I/O, in the ini file you can specify up to 5 different locations for temporary files. In a perfect world you would have 5 SSDs to spread things across ,but you can use a mix of SSDs and HDDs or assign two or more of the “tmpdir”s to the same location. You can use the performance section of the windows task manager to monitor the disk and CPU utilization, while SpecScript is running, and use the data to optimize things. If you see the cpu utilization being under say 35%AND one or more disks being at 100% utilization, that is an indication that the cpu is being underutilized waiting for disk operations to finish. I’ve noticed that you can also have both 100% cpu AND 100% disk utilization with SSDs, and that is fine. The CPU is working as hard as it can.
In SpecScript 2.0 there is no limit on the file size that can be processed. There are several audio formats that support larger than 4GB files and SpecScript/Web should support them all, as stereo inputs (outputs will still be.flac). I have tested with almost 5 hour long files, approximately 5 GB to start with. However it takes a LOT of temporary diskspace to process large files, and that is another reason why you may want to split up your“tmpdir”s across as many (fast) disks as you have. However, just because you can process larger audio files doesn’t necessarily mean you should. Dynamics matching and Automatic Method Selection (Feeling Lucky) both work better on an individual song bases, vs. on a whole album or concert at a time in one input file. Also remember that you can drag and drop an album/concerts’ worth of individual song files on SpecScript and it will process them all, one at a time.
Support for DSD input files has been added. Both . dsf and .dff files are supported, however tags/artwork may be lost (a current ffmpeg limitation). Note: Rather than preserve the highest equivalent sample rate, SpecScript uses 96Khz 24 bit for DSD64, DSD128, and DSD256. This is based on the typical (highest) sample rates used for surround delivery.
v1.9 Change Notes:
General Info:
First (circa 2006) there was "Spec" in Plogue Bidule, Then "SpecWeb" standalone in windows, and now in 2022 a set of opensource windows batch scripts and utilities for upmixing stereo to 5.1 and 7.1 surround.
Just Drag and Drop one or more stereo files the SpecScript.bat file and choose an upmix methos. I suggest you start with “5.1 feeling lucky upmix”, as it will automatically choose the "best" option for your input from the 6 other 5.1 methods, and the latest SpecWeb 5.1 method.
The output will be a multichannel flac file (6 or 8 channels as appropriate) with all tags and artwork copied from the stereo source.
SpecScript, by default, automatically measure the dynamics of the Stereo and Upmixed files, and set the parameters of a mastering limiter VST, such that the final upmix output loudness and peak levels should match that of the original Stereo to within 0.5dB (an in-audible difference).
The output files will be in the same directory as the input files. Output files are named such that you can tell which script/method was used.
Installation
If you have previously installed any version of SpecWeb, and use any Dot Net programs, there is likely nothing to install. Just unzip the distribution and you are ready to go (v1.9 and v2.0 note you may want to run the installer, just to create the SpecScript shortcut in the SpecScript directory, to get around the Windows 11 "new" terminal cmd default).
If not, double click on "Install_SpecWeb.bat", and follow the instructions to install any needed libraries.
Parts of SpecScript (CenterCut) also need dot net 3.5 or 4.. Windows should prompt you if you need it.
Please see the SpecScript 2.0.pdf file for more information.
Thanks to the QQ and SurroundByUs users that helped in getting SpecScript to this point. Over 1200 stereo tracks upmixed and tested to date.
https://surroundbyus.com/sbu/download/SpecScript 2.0 Release.zip
v2.0 Change Notes:
SpecScript 2.0 is all about speed of processing and unlimited size of audio files. There is no change to the upmixmethodology itself, from version 1.9. On a “fast” computer with 6 cores 12 threads, and 2 NVME SSDs I have achieved over 4X realtime processing (It takes less than 60 seconds to process a 44.1KHz input track of 4:19duration).
Everything that can be done in parallel is now run in parallel. Assuming you have more than 4 cores/threads on your CPU, SpecScript will take maximum advantage of parallelism for processing speedup. Things will still work ifyou have 4 cores/threads or less, just not as fast as on a machine with more cores/threads.
In order to support maximum speed up while not losing CPU cycles waiting for I/O, in the ini file you can specify up to 5 different locations for temporary files. In a perfect world you would have 5 SSDs to spread things across ,but you can use a mix of SSDs and HDDs or assign two or more of the “tmpdir”s to the same location. You can use the performance section of the windows task manager to monitor the disk and CPU utilization, while SpecScript is running, and use the data to optimize things. If you see the cpu utilization being under say 35%AND one or more disks being at 100% utilization, that is an indication that the cpu is being underutilized waiting for disk operations to finish. I’ve noticed that you can also have both 100% cpu AND 100% disk utilization with SSDs, and that is fine. The CPU is working as hard as it can.
In SpecScript 2.0 there is no limit on the file size that can be processed. There are several audio formats that support larger than 4GB files and SpecScript/Web should support them all, as stereo inputs (outputs will still be.flac). I have tested with almost 5 hour long files, approximately 5 GB to start with. However it takes a LOT of temporary diskspace to process large files, and that is another reason why you may want to split up your“tmpdir”s across as many (fast) disks as you have. However, just because you can process larger audio files doesn’t necessarily mean you should. Dynamics matching and Automatic Method Selection (Feeling Lucky) both work better on an individual song bases, vs. on a whole album or concert at a time in one input file. Also remember that you can drag and drop an album/concerts’ worth of individual song files on SpecScript and it will process them all, one at a time.
Support for DSD input files has been added. Both . dsf and .dff files are supported, however tags/artwork may be lost (a current ffmpeg limitation). Note: Rather than preserve the highest equivalent sample rate, SpecScript uses 96Khz 24 bit for DSD64, DSD128, and DSD256. This is based on the typical (highest) sample rates used for surround delivery.
v1.9 Change Notes:
The 1.9 change is due to the different cmd/terminals available in windows 11. SpecWeb needs the older version, which is no longer the default. Version 1.9 creates desktop shortcuts that use that older version, so you don't have to change your default, if you don't want to.
There is also a bug fix, in 1.9, with at least one user reporting "[results are] far more better" with 1.9.
General Info:
First (circa 2006) there was "Spec" in Plogue Bidule, Then "SpecWeb" standalone in windows, and now in 2022 a set of opensource windows batch scripts and utilities for upmixing stereo to 5.1 and 7.1 surround.
Just Drag and Drop one or more stereo files the SpecScript.bat file and choose an upmix methos. I suggest you start with “5.1 feeling lucky upmix”, as it will automatically choose the "best" option for your input from the 6 other 5.1 methods, and the latest SpecWeb 5.1 method.
The output will be a multichannel flac file (6 or 8 channels as appropriate) with all tags and artwork copied from the stereo source.
SpecScript, by default, automatically measure the dynamics of the Stereo and Upmixed files, and set the parameters of a mastering limiter VST, such that the final upmix output loudness and peak levels should match that of the original Stereo to within 0.5dB (an in-audible difference).
The output files will be in the same directory as the input files. Output files are named such that you can tell which script/method was used.
Installation
If you have previously installed any version of SpecWeb, and use any Dot Net programs, there is likely nothing to install. Just unzip the distribution and you are ready to go (v1.9 and v2.0 note you may want to run the installer, just to create the SpecScript shortcut in the SpecScript directory, to get around the Windows 11 "new" terminal cmd default).
If not, double click on "Install_SpecWeb.bat", and follow the instructions to install any needed libraries.
Parts of SpecScript (CenterCut) also need dot net 3.5 or 4.. Windows should prompt you if you need it.
Please see the SpecScript 2.0.pdf file for more information.
Thanks to the QQ and SurroundByUs users that helped in getting SpecScript to this point. Over 1200 stereo tracks upmixed and tested to date.
Last edited: