[FREE] ConvertWithMoss - convert from/to WAV,Bitwig,SFZ,SF2,DecentSampler,MPC/Force,Wave-/Modwave/KMP,NKI,EXS) v18.0

Sampler and Sampling discussion (techniques, tips and tricks, etc.)
Post Reply New Topic
RELATED
PRODUCTS

Post

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.

Post

ConvertWithMoss 6.3.0 is online!

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.
Enjoy!

Post

ConvertWithMoss 7.0.0 is online!

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.
Enjoy!

Post

Wow! Very nice update! Thank you!
Vendor‑Dependent Copy Protection: Customers lose. Pirates win.:mad:
(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.)
:roll:

Post

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.

Post

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.
Yes, please! I only have a few Kontakt 1 examples. Especially, multis would be interesting, too. Also Kontakt 2 Multis. Send me a PM.

Post

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.

Post

kidslow 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.
The NKI format is not only one format it is millions :D

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.

Post

ConvertWithMoss 7 intro:

Post

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.
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.

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.

Post

kidslow wrote: Sun Sep 24, 2023 5:23 pm
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.
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.

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.
monomadic has such a tool ("ni-info") which you can find here:
https://github.com/monomadic/ni-file

Post

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?

Post

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?
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.

Post

Instead of working on what I planned, I spent the better part of the day looking into this. :o

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!
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.

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
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.

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

Post

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?

SCR-20230925-qazy.png
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

Post Reply

Return to “Samplers, Sampling & Sample Libraries”