Old 04-06-2023, 05:47 AM   #1
AudioBabble
Human being with feelings
 
AudioBabble's Avatar
 
Join Date: Dec 2021
Location: Jupiter Island
Posts: 924
Default Native Komplete nksf data extraction

[April 2023]
Does anyone know anything about this?

It's clearly possible, and maybe a bit of an inexact science -- have just been playing around with PresetMagician, which clearly doesn't do as good a job as Komplete Kontrol itself, since it finds some plugins to be "incompatible".

It's possible to open nksf files in a text editor, but there is non-compatible (proprietory?) encoding.

Still, I can see that most of the data I'm interested in is there.

I copy/pasted some info out of VScode into notepad, then posted it below (interestingly this forum has stripped out the incompatible encoding!):

```
name Fatty 02 SNIPPY LEAD

comment MW = trill

vendor u-he

deviceType INST

bankchain Zebra2 Zebra Factory 2.2

types Synth Lead Classic Mono

modes Analog Clean Dry Lead Monophonic
```

apart form the above, I'm interested in the path to the .ogg previews (which I think is as simple as "./.previews/<<nameOfPreset.nksf>>.ogg"

and finally... the path to the dll file -- which I can't find in the nksf data, but PresetMagician seems to be able to find - so there must be a way?

My aim is to create a database browsing tool for plugin presets that use the nks system without being restricted to using Komplete Kontrol...

Wonder if anyone has any advice or can point me in the right direction?

Last edited by AudioBabble; 04-06-2023 at 12:12 PM.
AudioBabble is offline   Reply With Quote
Old 04-06-2023, 12:26 PM   #2
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,185
Default

The developer of PresetMagician documented a lot of their findings about nksf. Awesome resource. I used it to implement something pretty similar as part of ReaLearn: A way to browse, preview and load NKS presets without Komplete Kontrol. And also to control the macro parameters. It works already. Look here: https://forum.cockos.com/showthread.php?t=272220 ... I think there are some links, too. If you are not scared of Rust code, you can also have a look into "nks.rs" in the ReaLearn GitHub repo.
helgoboss is online now   Reply With Quote
Old 04-06-2023, 01:51 PM   #3
AudioBabble
Human being with feelings
 
AudioBabble's Avatar
 
Join Date: Dec 2021
Location: Jupiter Island
Posts: 924
Default

Yes -- I saw that thread and it sounded intriguing... just thought it was specific to having a physical MIDI control surface, but looking deeper it seems that's not essential. High time I learned to use ReaLearn properly anyway, so will definitely take a closer look!

Certainly will look into the rust library too.. that sounds like a way to go if I have specific things I want to do programmatically with nks info that haven't already been covered in an existing tool (which I suspect I do!).

Many thanks

EDIT: I see -- you mean your actual rust code for nks... yes I will have to peruse that for some tips, normally if I stare at code for long enough it starts to make some kind of sense!

Last edited by AudioBabble; 04-06-2023 at 02:01 PM.
AudioBabble is offline   Reply With Quote
Old 04-09-2023, 09:38 AM   #4
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,185
Default

Quote:
Originally Posted by AudioBabble View Post
Yes -- I saw that thread and it sounded intriguing... just thought it was specific to having a physical MIDI control surface, but looking deeper it seems that's not essential. High time I learned to use ReaLearn properly anyway, so will definitely take a closer look!

Certainly will look into the rust library too.. that sounds like a way to go if I have specific things I want to do programmatically with nks info that haven't already been covered in an existing tool (which I suspect I do!).

Many thanks

EDIT: I see -- you mean your actual rust code for nks... yes I will have to peruse that for some tips, normally if I stare at code for long enough it starts to make some kind of sense!
I'm currently looking into building a basic UI for browsing/loading the presets. So one doesn't need to use a hardware controller. All the category/preset browsing and loading logic is already there, so it would be a shame not to build a UI around it. I'll keep you posted. Maybe it is already what you are looking for. Or if you have specific ideas, let me know, maybe I can incorporate them.
helgoboss is online now   Reply With Quote
Old 04-10-2023, 05:21 AM   #5
AudioBabble
Human being with feelings
 
AudioBabble's Avatar
 
Join Date: Dec 2021
Location: Jupiter Island
Posts: 924
Default

That sounds like just the thing I need - I look forward to it.
I got interested in Komplete through looking at some of the sample browsers that are about -- particularly Sononym which has a really interesting (and possibly unique) feature that it can sort samples by frequency content. You set a range, and it brings up samples in that range.
So I got to thinking that this is great for samples, but if only there was something similar for plugin/synth presets.
This could be done via the generated samples for nks -- although I realize it would take a lot of processing (sononym pre-analyses the sample database).
Another (simpler) idea was that the sample previews could be pitch-correctable within a 12-note range, so they don't just play at C3, but can be selected (manually) to play in key.
Just some food for thought, I don't know if I'll ever find the time to figure these things out for myself!
AudioBabble is offline   Reply With Quote
Old 04-15-2023, 10:17 PM   #6
helgoboss
Human being with feelings
 
helgoboss's Avatar
 
Join Date: Aug 2010
Location: Germany
Posts: 2,185
Default

I will release the GUI next week. Nothing as fancy as sort by frequency in there. But maybe in future, why not.
helgoboss is online now   Reply With Quote
Old 03-19-2024, 08:51 AM   #7
AudioBabble
Human being with feelings
 
AudioBabble's Avatar
 
Join Date: Dec 2021
Location: Jupiter Island
Posts: 924
Default roll your own nksf?

I'm revisiting this thread after nearly a year... (actually it came up via search engine!)

I have now been using Pot Browser (or Soundpot as it's now called within HelgoBox) -- and it's a fantastic tool. Particularly the preset crawler and preview recorder functions are incredibly useful.

Also, where I think it really shines is in the implementation of Komplete Kontrol info... it's a HUGE improvement over the cramped, fiddly Komplete interface.

In that sense, the title of this thread 'nksf data extraction' is satisfied for me. Now I'm wondering about 'nksf data creation'!!

I'm still very interested in making the most of the nks format. Apart from the clever stuff with controller mappings, what I like a lot is the classification system of types, sub-types and characters, plus the fact that it can be universally applied to samples, loops, instruments and effects.

An interesting thing I was just looking at is this: jhorology/gulp-nks-rewrite-meta

This seems to be a way to 'get inside' the nksf file and do stuff. I'm intrigued with the possibility of doing things programmatically with this.

However, since I'm not exactly a code-buff what I'm really wondering about is whether there is a way to 'create' an nksf file from scratch.

I still have plenty of stuff I have that has no nksf data of course.

I know there's 'preset magician', but it seems when I try it that it only recognizes a small portion of my plugins. I know that some plugins are not supported, but still it seems oddly incompatible with quite a lot of well known plugins. On the PM website, their 'supported plugins' and 'non-supported plugins' pages are giving a 404 error, so can't check.

I have yet to try jhorology's code. It would be nice to imagine I could just create an empty .nksf file and populate it with metadata... but have more than a suspicion that it's not that simple!
__________________
{Read This} | {FR - FX inserts on sends} | {latest drivel}
AudioBabble is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 04:31 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.