[FREE] ConvertWithMoss - convert from/to WAV,Bitwig,SFZ,SF2,DecentSampler,MPC/Force,Wave-/Modwave/KMP,NKI,EXS) v18.0
-
- KVRist
- 246 posts since 27 Apr, 2005
Thank you for making such great tools! I am attempting to convert SF2 files to Wavestate multisamples. It appears the loop end in the multisample is being set to the sample end rather than the loop end defined in the SF2. I will do more testing to see if I can verify.
- KVRAF
- Topic Starter
- 4869 posts since 13 May, 2004
ConvertWithMoss 6.3.0 is online!
Get it from https://mossgrabers.de
Get it from https://mossgrabers.de
- Default volume envelopes are applied based on the detected category if none is present.
- Decent Sampler
- Fixed: Read: Wrong velocity range (0-0) when velocity settings were missing.
- MPC keygroups
- Fixed: Read/Write: Improved mapping of envelopes.
- Fixed: Write: Pitch was not correct.
- SFZ
- Fixed: Increased allowed range of pitch values.
- Fixed: Panorama was not read / written.
- KVRAF
- Topic Starter
- 4869 posts since 13 May, 2004
ConvertWithMoss 7.0.0 is online!
Get it from https://mossgrabers.de
Get it from https://mossgrabers.de
- '(Velocity) Layers' have been renamed to 'Groups' in the user interface.
- Fixed: Some issues with reading WAV files.
- MPC keygroups
- Improved: Loop information is written to the WAV file which seems to be used by the MPC.
- Native Instruments NKI files - Reading
- New: Conversion of Kontakt 4.2 - 7 files: metadata, zones, loops, NCW and monoliths files work but no support for envelopes and filters.
- Native Instruments NKI files - Writing
- Fixed: Created Kontakt 1 files could be opened with Kontakt but not saved again due to the use of forward slashes for sample paths. Backward slashes are used now.
- Sf2 - Reading
- New: Use filename (without ending) for instruments named 'NewInstr'.
- Fixed: Panorama setting was not corrected when mono files were combined to stereo.
- Fixed: If left and right sample had different lengths, the shorter sample had data from the following sample added.
- KVRAF
- 7019 posts since 19 Apr, 2002 from Utah
Wow! Very nice update! Thank you!
Vendor‑Dependent Copy Protection: Customers lose. Pirates win.
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
(Also: I'm Accused of lying about Linux—it boots, runs my pro audio workflow, stays stable, updates--though yearly dismissed as “niche”. Yet I'm the deluded one.)
- KVRAF
- 20670 posts since 22 Nov, 2000 from Southern California
When converting Kontakt 1 files, I'm receiving the following error:
"No sample file for group found in XML document."
I would be happy to send you the NKI if it's useful to you.
"No sample file for group found in XML document."
I would be happy to send you the NKI if it's useful to you.
- KVRAF
- Topic Starter
- 4869 posts since 13 May, 2004
Yes, please! I only have a few Kontakt 1 examples. Especially, multis would be interesting, too. Also Kontakt 2 Multis. Send me a PM.Uncle E wrote: Sun Sep 24, 2023 3:31 am When converting Kontakt 1 files, I'm receiving the following error:
"No sample file for group found in XML document."
I would be happy to send you the NKI if it's useful to you.
- KVRAF
- 1583 posts since 26 Aug, 2019
How is it possible to determine from just an .nki file what version of Kontakt it was created with? Is there a way? Kontakt knows, right?
I'm stumped. Sometimes it's in the documentation, but usually not. Can't find it by opening Kontakt and inspecting the instrument. Can't find it by examining strings within the NKI binary, although in some I see plain XML at the end of the file, so assuming those are from a version earlier than 5.
I'm stumped. Sometimes it's in the documentation, but usually not. Can't find it by opening Kontakt and inspecting the instrument. Can't find it by examining strings within the NKI binary, although in some I see plain XML at the end of the file, so assuming those are from a version earlier than 5.
- KVRAF
- Topic Starter
- 4869 posts since 13 May, 2004
The NKI format is not only one format it is millionskidslow wrote: Sun Sep 24, 2023 7:37 am How is it possible to determine from just an .nki file what version of Kontakt it was created with? Is there a way? Kontakt knows, right?
I'm stumped. Sometimes it's in the documentation, but usually not. Can't find it by opening Kontakt and inspecting the instrument. Can't find it by examining strings within the NKI binary, although in some I see plain XML at the end of the file, so assuming those are from a version earlier than 5.
There are basically 4 main formats:
- Kontakt 1
- Kontakt 2-4.1.x
- Kontakt 4.2
- Kontakt 5-7
And then there are millions of little changes in-between. This tells a lot about NI and why there is so many technical dept with their products...
What I found out so far is documented here:
https://github.com/git-moss/Kontakt-Fil ... -Format.md
ConvertWithMoss will tell you the exact Kontakt version which created the file when it is read.
- KVRAF
- Topic Starter
- 4869 posts since 13 May, 2004
ConvertWithMoss 7 intro:
- KVRAF
- 1583 posts since 26 Aug, 2019
Thanks for the reference Moss. Very helpful, as is your tool. What I'm imagining is a simple command that returns the Kontakt version for a given nki from the command line, so I could run it recursively through a directory tree and return a manifest of all nki files and versions.moss wrote: Sun Sep 24, 2023 8:57 am ConvertWithMoss will tell you the exact Kontakt version which created the file when it is read.
On Mac, it appears that I could get most of the way there by creating a custom "magic" file for kontakt nki files, as in most cases the first four bytes is the tell, and then I can use the UNIX `file` command to return a kontakt version and recurse using a Bash script or whatever.
- KVRAF
- Topic Starter
- 4869 posts since 13 May, 2004
monomadic has such a tool ("ni-info") which you can find here:kidslow wrote: Sun Sep 24, 2023 5:23 pmThanks for the reference Moss. Very helpful, as is your tool. What I'm imagining is a simple command that returns the Kontakt version for a given nki from the command line, so I could run it recursively through a directory tree and return a manifest of all nki files and versions.moss wrote: Sun Sep 24, 2023 8:57 am ConvertWithMoss will tell you the exact Kontakt version which created the file when it is read.
On Mac, it appears that I could get most of the way there by creating a custom "magic" file for kontakt nki files, as in most cases the first four bytes is the tell, and then I can use the UNIX `file` command to return a kontakt version and recurse using a Bash script or whatever.
https://github.com/monomadic/ni-file
-
Echoes in the Attic Echoes in the Attic https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=180417
- KVRAF
- 12002 posts since 12 May, 2008
I see that NCW is supported now. What does that actually mean though? Does the tool resave the source samples as wave files? For example if you want to convert kontakt NKIs to SFZ, and those NKIS reference NCW audio files, I assume SFZ can't read ncw, so you'd have to have wav files right?
- KVRAF
- Topic Starter
- 4869 posts since 13 May, 2004
Yes, they are converted to WAV. It is currently not working for some variations, if you run into a not working one, please get in touch.Echoes in the Attic wrote: Sun Sep 24, 2023 8:27 pm I see that NCW is supported now. What does that actually mean though? Does the tool resave the source samples as wave files? For example if you want to convert kontakt NKIs to SFZ, and those NKIS reference NCW audio files, I assume SFZ can't read ncw, so you'd have to have wav files right?
- KVRAF
- 1583 posts since 26 Aug, 2019
Instead of working on what I planned, I spent the better part of the day looking into this.
I was able to get a partial magic file written, but still missing a known good example of a Kontakt 1 .nki GOT ONE! ... and I looked far and wide.
Found what are seem to be K1 monolith nkis that I PMed you about Moss. Here's the perplexing response from ConvertWithMoss v7 analyse:
These are definitely from Kontakt 1.5.3.
Unlike the 1st 4-bytes documented on your git-moss page for Kontakt1 as "5E E5 6E B3" these files have "7F A8 90 12" as the magic "word". Another magic that showed up in 10 files is "2F 5C 20 4E" and those all appear to be K5, but ascii dump shows /\ NI FC MTD /\ near the top, which googling tells me is associated with ncint.
Here is a magic file that will work with many Kontakt 1-4.1 .nki files.
Save to a file named nki-magic and can be invoked in the Terminal using the command:
file -m nki-magic <NKI FILE TO SCAN>
To install systemwide (Mac) I copied to /usr/share/file/magic/kontakt and moved /usr/share/file/magic.mgc to magic.bak and invoked `sudo file -C` inside /usr/share/file to recreate the system magic. Now I can use the 'file' command on any nki to determine if it is from a supported Kontakt version. I might add a Services script to do from Finder next.
Lastly, if anyone wants to recursively scan a directory tree for .nki files and return a manifest of Kontakt 2 - 4.1 nki instruments, name & filepath (relative to where it is invoked), here it is.
I was able to get a partial magic file written, but still missing a known good example of a Kontakt 1 .nki GOT ONE! ... and I looked far and wide.
Found what are seem to be K1 monolith nkis that I PMed you about Moss. Here's the perplexing response from ConvertWithMoss v7 analyse:
Code: Select all
Detected Kontakt 2 format (created with Kontakt 0.0.0.000 - monolith) - Big-Endian.
Monolith in big-endian encoding not supported. Please send me the file for testing!
Unlike the 1st 4-bytes documented on your git-moss page for Kontakt1 as "5E E5 6E B3" these files have "7F A8 90 12" as the magic "word". Another magic that showed up in 10 files is "2F 5C 20 4E" and those all appear to be K5, but ascii dump shows /\ NI FC MTD /\ near the top, which googling tells me is associated with ncint.
Here is a magic file that will work with many Kontakt 1-4.1 .nki files.
Code: Select all
0 belong 0x1290a87f Kontakt 2-4.1.x
0 lelong 0x7fa89012 Kontakt 2-4.1.x
0 belong 0x5ee56eb3 Kontakt 1.x
0 belong 0x7fa89012 Kontakt 1.x
file -m nki-magic <NKI FILE TO SCAN>
To install systemwide (Mac) I copied to /usr/share/file/magic/kontakt and moved /usr/share/file/magic.mgc to magic.bak and invoked `sudo file -C` inside /usr/share/file to recreate the system magic. Now I can use the 'file' command on any nki to determine if it is from a supported Kontakt version. I might add a Services script to do from Finder next.
Lastly, if anyone wants to recursively scan a directory tree for .nki files and return a manifest of Kontakt 2 - 4.1 nki instruments, name & filepath (relative to where it is invoked), here it is.
Code: Select all
#!/bin/sh
find . -name '*.nki' -print0 | while read -d $'\0' file;
do
head -c 4 "$file" | od -t x1 -An |tr -d '\n ' | grep -q "^1290a87f";
echo "$file" | cut -c 3-;
done
- KVRian
- 1057 posts since 17 Jan, 2005 from London
Hello Moss! I've just installed v7.0.0 of ConvertWithMoss and it's good to see that it installs cleanly on macOS; last time I had to revert to building from source!
I've just tried opening one of my 3rd party Kontakt files, after selecting Kontakt from the selektor(!). All `.nki` files are greyed out and cannot be selected. What am I missing?
I've just tried opening one of my 3rd party Kontakt files, after selecting Kontakt from the selektor(!). All `.nki` files are greyed out and cannot be selected. What am I missing?
You do not have the required permissions to view the files attached to this post.
Bitwig 6.0.8 + Akai MIDIMix + Launchpad X + MF Twister
ExpressiveE Osmose Keyboard + Universal Audio Apollo Twin X
Mac Mini M1 16GB/4TB + macOS 26.5 Tahoe
ExpressiveE Osmose Keyboard + Universal Audio Apollo Twin X
Mac Mini M1 16GB/4TB + macOS 26.5 Tahoe
