• Get the best VPN on the market with 66% Discount!
Windows, Methods
Lite Converter 1.0 Automate Kontakt Lite Version Library Creation WiN screenshot
Script | KONTAKT Lite version tool | 29.17 MB
This is a CMD / powershell script which will extract NCW files to 24 bits WAV files, convert them to 16 bits with a high quality dither, and recompress to NCW files with a single click.

Well, actually you need to double-click the file but still, that's easy.

The script is written in Powershell and batch run some tools that will do the painfull and time-consuming conversion job for you.

You just have to extract NKX files into source folder (if necessary), and run the script to see the work done.
A limited documentation is provided, but if you need detailed steps for extraction or to get rid of a microphone position, I recommend you to read the excellent Rollerball's Tutorial
This script is not really a tutorial but a tool to make things easier and faster.

For a library with 24 bits NCW samples that are not packed in NKX containers, this is as simple as dropping the entire library directory in the source folder and run the script.
You will get a new folder with a lite version directly usable.

A portable version of Double Commander with inNKX module preinstalled is available along with the script if you need a tool for NKX containers extraction.

The script might be pimped or optimized, if you make some good optimization, please share it so I can update the script.

Requirements
Windows 64 bits (tested under Windows 10, should work with 7 and 11)
Script is in english, french version provided, just change script name in LiTE_Converter.cmd
May work in 32bits by replacing ReSampler x64 -> x86


For best performance, you need to use 2 different drives, SSD are a lot faster too.

download from free file storage
click to show download links
download from any file hoster with just one LinkSnappy account
download from more than 100 file hosters at once with LinkSnappy.

comments

  Member 31.08.2022 3 94
+153
thats really great. thanks!

EDIT: the rollerball link is corrupt. it has an additional [url=http://]http://[/url] at the end. deleting it will lead you to the actual tutorial
  Cleaner 21.01.2012 8022 2570
+274761
Thanks! Fixed!
  Resident 8.01.2022 22 118
+1722
Thanks for the fix @PiRAT
  Resident 23.12.2013 133
+27
if this true you helped a lot of peeps with not much hard drive space !
  Member 3.01.2024 3 57
+54
Can you make one for Mac to just extract and repack (without 16 bit conversion to just separate the mics]. It's too much of a hassle to get Crossover & then Total Commander. I did remove extra mics for Cinematic Studio Brass & Solo Strings but that was too much of a hassle I wound not want to repeat.
  Resident 8.01.2022 22 118
+1722
Unfortunately no, I cannot even do it for Windows as there is no command line tool that handles NKX containers extraction. The only way is to use the TotalCommander extension inNKX.

I searched a lot, no other software seems to exist for NKX extraction.
  Resident 31.01.2017 631
+184
Try asking Fred Bloggs on sister site, he can script for mac, has already done Kontakt Library Utility (KLU).
  Member 28.07.2023 56
+12
Magic. A whole lot of Magic
  Member 9.09.2022 2
0
It doesn't work for me.
"lite_converter_ENG.ps1 is not digitally signed.You cannot run this script on the current
system"
  Resident 8.01.2022 22 118
+1722
OK sorry, I forgot that most users don't use powershell often, I will modifiy the launcher.
Please, edit your LiTE_Converter.cmd with a text editor (notepad) and replace the line with this one :
powershell -NoExit -ExecutionPolicy Bypass -File "lite_converter_ENG.ps1"

Remember to edit the paths variables in lite_converter_ENG.ps1 before running the script.
  Member 17.11.2014 480
+87
french version of Rollerball's tutorial :
mediafire link
  Member 13.05.2024 2
0
Thanks for amazing tool! Unfortunately I am getting an error as below for half of libraries. Here is Symphobia 2 example:

Get-ChildItem : Cannot find path 'C:\temp\w' because it does not exist.
At D:\Inne\Lite_Converter-YDL\lite_converter_ENG.ps1:73 char:13
+ $wavFiles = Get-ChildItem -Path $rootPath -Force -Recurse -Filter "*. ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:\temp\w:String) [Get-ChildItem], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
  Resident 8.01.2022 22 118
+1722
Cannot find path 'C:\temp\w' because it does not exist.

Is your path correctly defined in variable?
Please check the $wavDir variable, the value is probably wrong.
defaut is:
$wavDir = "G:\temp\wav24\"

The safest is to change drive letter only (this is a temp folder which will be deleted at end), and for this variable specifically you have to check a backslash "\" is present at the end of the path.

Some commands are built with these strings and you have to keep the original syntax intact.
I'll try to improve that in a future version.
  Member 13.05.2024 2
0
yes path were denied in variables also I make sure to include slash "\" but still the same. For some libraries It works for some unfortunately not. As a result it is just moving the original library to new lite folder and all works very quick because it is not really converting the library. Below I am pasting all the response I've received:

Folders list:
Project Sam - Symphobia 2 Library
130  total files.
Total files size :
22,35 GB
Extracting NCW files to WAV...
NCW files conversion to WAV done!
Get-ChildItem : Cannot find path 'C:\temp\w' because it does not exist.
At C:\Lite_Converter-YDL\lite_converter_ENG.ps1:73 char:13
+ $wavFiles = Get-ChildItem -Path $rootPath -Force -Recurse -Filter "*. ...
+             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\temp\w:String) [Get-ChildItem], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand

File count OK, conversion is starting.
Starting conversion 24 bits -> 16 bits with dither.
Conversion 24 -> 16 bits done!
Compressing 16 bits WAV files into NCW.
ERROR: 'C:\temp\wav16' file or directory doesn't exist
NCW Compression done!
Cleaning and last operations...
Cleaning temporary files / folders...
Remove-Item : Cannot find path 'C:\temp\wav24\' because it does not exist.
At C:\Lite_Converter-YDL\lite_converter_ENG.ps1:129 char:1
+ Remove-Item $wavDir -Recurse -Force
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\temp\wav24\:String) [Remove-Item], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand

Remove-Item : Cannot find path 'C:\temp\wav16' because it does not exist.
At C:\Lite_Converter-YDL\lite_converter_ENG.ps1:130 char:1
+ Remove-Item $16bDir -Recurse -Force
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\temp\wav16:String) [Remove-Item], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand

Non-samples files are being transfered to destination folder...
Non-samples files copy is done.
Cleaning done!
130  files in destination folder.
All files are converted to 16 bits and NCW compressed, all operations are done.
New-TimeSpan : A positional parameter cannot be found that accepts argument 'Start'.
At C:\Lite_Converter-YDL\lite_converter_ENG.ps1:160 char:9
+ $time = New-Timespan  Start $StartDate  End $EndDate
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [New-TimeSpan], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.NewTimeSpanCommand

You cannot call a method on a null-valued expression.
At C:\Lite_Converter-YDL\lite_converter_ENG.ps1:162 char:20
+ "Conversion time $($time.ToString("hh\:mm\:ss"))" | Out-File -FilePat ...
+                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

You cannot call a method on a null-valued expression.
At C:\Lite_Converter-YDL\lite_converter_ENG.ps1:165 char:1
+ Write-Host "Total time (hh:mm:ss) : " $time.ToString("hh\:mm\:ss")
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull
  Resident 8.01.2022 22 118
+1722
Can you send me (PM) your variables section please?
And also the full path to the samples in source folder.
Did you try without the whole libray folder, maybe with samples folder only?

EDIT: OK, I definitly believe that you didn't extract NCW files from NKX containers as I read your prompt:
Project Sam - Symphobia 2 Library
130  total files.
Total files size :
22,35 GB

Symphobia uses thousands of sample files, not 130, so you missed the first step. As I stated it in documentation, you can drop a full library folder ONLY if samples are not packed into NKX containers and NCW format.

To convert Symphobia you have to use DoubleCommander (see first post) and extract all files before droping the lib in source folder.
  Member 8.11.2013 48
+8
quote by YodaDLOK sorry, I forgot that most users don't use powershell often, I will modifiy the launcher.
Please, edit your LiTE_Converter.cmd with a text editor (notepad) and replace the line with this one :
powershell -NoExit -ExecutionPolicy Bypass -File "lite_converter_ENG.ps1"

Remember to edit the paths variables in lite_converter_ENG.ps1 before running the script.

Or
Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
  Resident 8.01.2022 22 118
+1722
Script updated:

- Added more readable file variables.ps1 for variables to prevent modifying main script.
- Added NKX files presence check, fail conversion if detected.
- Added powershell execution-policy bypass in command line
- Added warning and start confirmation
- Updated documentation
  Resident 20.01.2024 41 137
+1091
How does it handle 32bit Float samples? Some libraries have a few scattered 32Float samples in there sample pool.

I've experienced that when I've used NCWCon to convert libraries, those samples were converted into distorted "regular" 32bit samples. Not sure if there is a way to fix or at least detect it but if you automate the conversion from 24bit ncw to 16bit ncw you might not find out about this until you actually load one of those patches containing a samples or two that are completely distorted
  Resident 8.01.2022 22 118
+1722
I have no idea but if this is due to conNCW, the issue should be present as the script rely on it.
But I could maybe add a check to avoid converting such samples.
I would appreciate an example sample for testing purpose.
  Member 12.05.2024 11
+5
When i use the script it gives me an error towards the end that keep repeating

C:\Users\user\Downloads\Lite : The term 'C:\Users\user\Downloads\Lite' is not recognized as the
name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if
a path was included, verify that the path is correct and try again.
At line:1 char:1
+ C:\Users\user\Downloads\Lite Converter 1.0 Automate Kontakt Lite Ver ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:\Users\user\Downloads\Lite:String) [], CommandNotF
oundException
+ FullyQualifiedErrorId : CommandNotFoundException

Edit:
Fixed the problem, had to change the the folder that contained the script to "Lite". Hopefully can help someone else who has this same problem
  Resident 8.01.2022 22 118
+1722
It looks like it's better to avoid spaces in script path.
I will fix it if I found where is the bug.
  Resident 8.01.2022 22 118
+1722
Script updated:

- 16 bits wav files are directly copied to destination and not only droped.
That way, 24 bits libraries that contains some 16 bits samples won't generate a bad count error during conversion.

- File count is displayed and logged in case of difference.

Links are updated in original post (don't use audioz mirror as it's outdated).

Please, feel free to give some feedback and report errors as needed.

Spread the Word