NCW <-> WAV converter
-
- KVRist
- Topic Starter
- 37 posts since 2 Nov, 2019
Hello
I've made a small utility that converts between Kontakt NCW and WAV files. Though there are different ways of doing this using Kontakt, may be someone would find it useful.
Utility is in test state. I've tested it on Kontakt instruments I have and it seems to work, though NCW is a closed format so I might miss some tricks and nuances that may appear with other instruments. So if someone wants to test it - I'd appreciate that.
Converter is not highly optimized so while it works faster than Kontakt in one direction (WAV->NCW), it's slower in other direction (NCW->WAV).
Using is more or less obvious, nevertheless there's a text file with detailed explanation in the archive.
Converter
https://wdho.ru/99cH
-----
Small additional utiliy.
Sometimes Kontakt creates WAV files that it marks as 'standard' while they are not standard actually. The difference is in the WAV header size (it must be 16 bytes for standard header, while Kontakt sometimes makes it 20 bytes). Some programs don't accept such files ('SOX' for example). This utility corrects the header size.
It may also be useful if you are going to test my converter by comparing files with those generated by Kontakt, because my converter creates WAV files according to standard (16 bytes header).
WAV corrector
https://wdho.ru/99cG
-----
If you want to write your own converter - you are welcome. I'd share the information I have.
I've made a small utility that converts between Kontakt NCW and WAV files. Though there are different ways of doing this using Kontakt, may be someone would find it useful.
Utility is in test state. I've tested it on Kontakt instruments I have and it seems to work, though NCW is a closed format so I might miss some tricks and nuances that may appear with other instruments. So if someone wants to test it - I'd appreciate that.
Converter is not highly optimized so while it works faster than Kontakt in one direction (WAV->NCW), it's slower in other direction (NCW->WAV).
Using is more or less obvious, nevertheless there's a text file with detailed explanation in the archive.
Converter
https://wdho.ru/99cH
-----
Small additional utiliy.
Sometimes Kontakt creates WAV files that it marks as 'standard' while they are not standard actually. The difference is in the WAV header size (it must be 16 bytes for standard header, while Kontakt sometimes makes it 20 bytes). Some programs don't accept such files ('SOX' for example). This utility corrects the header size.
It may also be useful if you are going to test my converter by comparing files with those generated by Kontakt, because my converter creates WAV files according to standard (16 bytes header).
WAV corrector
https://wdho.ru/99cG
-----
If you want to write your own converter - you are welcome. I'd share the information I have.
-
- KVRAF
- 2591 posts since 19 Mar, 2008 from germany
Thanks ASTN for this great conversion tool!
You really did a great job - especially since there are a lot of "free" NCW files.
They could be converted into normal WAVs and worked on for personal use.
What I have a hard time with, though, is the command-line operation.
Is there any chance that you create a GUI version? That would be super
awesome.
free mp3s + info: andy-enroe.de songs + weird stuff: enroe.de
-
litylitylitylity litylitylitylity https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=509850
- KVRer
- 2 posts since 24 Apr, 2021
i am very interesting your project.could you upload a scorce code?otherwise,i need reverse Engineering your software。
-
litylitylitylity litylitylitylity https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=509850
- KVRer
- 2 posts since 24 Apr, 2021
may i know how did you get the format of the ncw?did you reverse enginnered the kontakt?i found the kontakt was encrypted.i dont know how to Reverse Engineering.Could you help me?
-
- KVRAF
- 4083 posts since 2 Jul, 2005
Encrypted library files may take another layer of processing to get out of the container files that kontakt libraries use. This may also violate the EULA. As long as it is for your own use though, there should be no real problems. Just don't start sending those files around. Many current player Libraries are watermarked with your personal info and it is definitely a nono to redistribute the encrypted library files (even if the watermark isn't enough of a deterrent). This is cool though. I like to be able to use files that I've paid for in whatever way aid most useful to me.
Don't F**K with Mr. Zero.
-
- KVRist
- Topic Starter
- 37 posts since 2 Nov, 2019
Sorry, I forgot about this project.
I couldn't answer some people by answering their messages, so I decided to upload sources her. But beware... my code is an epitome of shitcode. Anyway, here's the Delphi sources:
https://wdho.ru/46d8c
I actually remember myself making a TXT-file with desctiption of NCW format... but I can't find it. So, I guess you have to look to my code (while crying and tearing your hairs off). The overall idea of NCW-file: the header (with some info); a table of blocks offsets; blocks. Every block (except for he last one) coressponds to exactly 512 samples of noncompressed audio. The 'compression' is actually simple bit-truncating. Small tricky part is that sometimes they store channels as MID+SIDE rather than LEFT+RIGHT.
I couldn't answer some people by answering their messages, so I decided to upload sources her. But beware... my code is an epitome of shitcode. Anyway, here's the Delphi sources:
https://wdho.ru/46d8c
I actually remember myself making a TXT-file with desctiption of NCW format... but I can't find it. So, I guess you have to look to my code (while crying and tearing your hairs off). The overall idea of NCW-file: the header (with some info); a table of blocks offsets; blocks. Every block (except for he last one) coressponds to exactly 512 samples of noncompressed audio. The 'compression' is actually simple bit-truncating. Small tricky part is that sometimes they store channels as MID+SIDE rather than LEFT+RIGHT.
-
- KVRist
- Topic Starter
- 37 posts since 2 Nov, 2019
I tried reverse engineer my own code and combine it with what I remember about NCW. That's what I got (TXT-file):
https://wdho.ru/da2b5
It was long ago, and my code is not that easy to understand (even for me), so there are might be some mistakes. But I think it's correct in general.
Also, I actually found some NCW files that my converter wasn't able to convert correctly (some strings library).
https://wdho.ru/da2b5
It was long ago, and my code is not that easy to understand (even for me), so there are might be some mistakes. But I think it's correct in general.
Also, I actually found some NCW files that my converter wasn't able to convert correctly (some strings library).
-
- KVRian
- 553 posts since 19 Oct, 2006 from Israel
-
- KVRer
- 1 posts since 14 Oct, 2021
Hi! Really interested in your tool. I downloaded it but it doesn't work with my setup (win10). When I click the data nothing happens. I also tested it in compatibility mode. Do you have an advice for me?
Many regards and thank you!
Nico
Many regards and thank you!
Nico
-
- KVRist
- Topic Starter
- 37 posts since 2 Nov, 2019
Hi!
What do you mean by 'click the data'? Like, double-click on EXE file?
The program is a console application. That means that you have to use command-line.
For example, you run the console (WIN+R, 'cmd', ENTER), then type something like:
Code: Select all
C:\Users\Joe> cd Downloads
C:\Users\Joe\Downloads> CONNCW piano.WAV
Code: Select all
C:\Users\Joe\Downloads> CONNCW piano.NCW
...
Maybe I'll write some GUI on the weekend.
-
- KVRist
- Topic Starter
- 37 posts since 2 Nov, 2019
Ok, I wrote a simple GUI
https://wdho.ru/6651c6
you have to put it in the same directory where your converter app is (conNCW04.exe or conNCW05.exe).
The GUI is super simple, and using console version still gives you more options. Also, my laptop and my Delphi is pretty old so I don't know if it works on a modern OS. I guess it should, since I didn't use any super-specific API. I tested it on Win7 and it worked.
https://wdho.ru/6651c6
you have to put it in the same directory where your converter app is (conNCW04.exe or conNCW05.exe).
The GUI is super simple, and using console version still gives you more options. Also, my laptop and my Delphi is pretty old so I don't know if it works on a modern OS. I guess it should, since I didn't use any super-specific API. I tested it on Win7 and it worked.