Page 5 of 22

Re: NS3 program viewer

Posted: 24 Nov 2020, 00:07
by Hobster
As Florence stated, I will be taking a look at other possible global settings.

This is part of the work I'm currently doing which is writing a Perl script that takes an NS3 program file and outputs, in a simple and fairly user-configurable way, a text file with all the parameter values.
It doesn't look as polished as Florence's online viewer as there's no real graphics but it can do this in batches and should be useful, among other things, for seeing how all Nord's presets work and for easily comparing one file that you know is slightly different to another file but are not quite sure why, for example.

It was Florence's work that actually inspired me to do this as he's done the hard work of not only figuring out what 'bits' in the .ns3f file represent each parameter, but also which Nord samples are used. That last bit will have been extremely time consuming as the sample names are not stored in the file but, instead, a 'hash' of the name is stored.
And as we don't have the hashing algorithm that Nord uses, he's had to individually map, one at a time, EVERY sample to the hash it produces!

Being a software engineer, I can tell you this guy has put a HUGE amount of effort into his viewer! :clap:
I hope my script will prove useful and will hopefully be available in the next week or two.

Once again though, huge thanks to Florence and the other guys who contributed to this herculean effort :thumbup:

PS. With regards the sample names, user sample names are also stored as hashes so, again, without knowing Nord's hashing algorithm, it's impossible to display the name of a user sample. We don't even know if it's a one-to-one hash-to-name thang or if the hash translates to some sort of internal storage mapping...
Of course, if Nord would care to let us in on their hashing algorithm... 8-)

Re: NS3 program viewer

Posted: 24 Nov 2020, 11:01
by Hlaalu
florence wrote:Thanks Hlaalu !

will check how is implemented the output routing, if it is per program it can be added... also @Hobster proposed his help to check these global settings, once available it can be added of course.

regarding the synth engine: right I tried different approach but maybe not the most simple :)

first the type is under OSC (Sample, Classic, Wave....)

If Sample then
- Nord Library Sample: The name is actually not stored in the program itself, only a sample ID that is a hash code from the Original Nord Sample library file. I added all library hash code to be able to translate it to a name. If the sample ID is unknown then it simply shows Unknown...
- User sample: the name is stored in the Preset property. I simply show the preset name.

If Classic, Wave, Formant, Super...
- I show the Waveform name and optional Preset name if available

Finally if the displayed name is the same as the preset, I show it only one time... this is maybe what cause your confusion...
Thank you for your incredible work!
I am wondering a couple of things about Preset names, not exaclty what you wrote about but related. I'll do some tests and hopefully clarify my own thoughts. nord-stage-forum-f3/ns3-synth-presets-a ... 20293.html

Re: NS3 program viewer

Posted: 30 Nov 2020, 09:02
by florence
Hobster wrote: And as we don't have the hashing algorithm that Nord uses, he's had to individually map, one at a time, EVERY sample to the hash it produces!
btw I believe that this hash code is one way only. If you change just one letter from a sample filename then it changes...

time consuming... yes my friend: I loaded all Piano, library 2, 3 and archive sample, also product bundles to define my own database. It contains now about 4700 entries! This was done by chunk of 25 programs each time as a bundle can only contain 25 programs... Then by automation I read the bundle to extract the hash code and detailed sample names.

Re: NS3 program viewer

Posted: 30 Nov 2020, 09:20
by Hlaalu
I am using your tool a lot recently, and I can't express my gratitude enough!

I have a couple of suggestions/questions.

1) When an engine is ON on a Panel but the Panel itself isn't active in the Program, the tool will show that Panel's settings in a dimmed-out fashion (if you know what I mean... English isn't my first language). Isn't there a way to make them more visibile (while still providing some visual clue that the Panel is not active) -- a little less dim, to be actually readable? The "show all instruments" settings show them ALL, even the OFF ones, so it becomes a bit confusing visually.

2) Try load the attached Program in the tool. You'll notice that, on Panel A's Synth section, it reads "config: 4 detune", but the wave type is super, which isn't compatible with the osc configuration 4, "detune". I was wondering if the Synth somehow remembers the last setting done on a different wave type and still show it even if it's not applicable in the current settings. For example one selects the classic "sine", goes to osc config n. 4, then change the wave type. The osc config n. 4 disappears, but apparently it is still "remembered" and saved into the Program. A bit strange though...

Re: NS3 program viewer

Posted: 30 Nov 2020, 10:01
by florence
Thanks Hiaalu!

1) sure this can be added, was the case initially actually, then I changed my mind to not show the engines when disabled... but yes easy to enable again.

2) you are right, if Super Wave is selected, only config 5/11 or 14 are allowed. Need to mask it in these cases ! Good catch.

Re: NS3 program viewer

Posted: 30 Nov 2020, 10:24
by Hlaalu
florence wrote: 1) sure this can be added, can the case initially actually, then I changed my mind to not show the engines when disabled... but yes easy to enable again.
Thanks! The thing is, those engines are ON indeed, it's the Panel which is not active.

The reason I asked is because I'd like to be able to see "in one glimpse" all the ON engines on both Panels, regardless of whether both Panels are active or just one of them is.

florence wrote: 2) you are right, if Super Wave is selected, only config 5/11 or 14 are allowed. Need to mask it in these cases ! Good catch.
I find it interesting that the Synth still "remembers" the last osc config selected even if the currenly selected wave doesn't allow for that particular config to be used.

Re: NS3 program viewer

Posted: 01 Dec 2020, 19:31
by florence
this is now added !

By default you can now see all enabled sections from Panel A&B (even if Panel B is not selected)
Additionally you can see all sections using the 'Show All Instruments' as before.

Re: NS2 and NS3 program viewer

Posted: 29 Dec 2020, 17:18
by florence
Hi

Latest update of the app includes now both NS2 and NS3 !

This was actually just a dream when I started in August this year: able to check Nord Stage 2/3 program settings with an external tool, even for people not having a Nord Stage. Example I have an Electro but how is this nice NS3 program done?, or I have only a NS3, how was this great NS2 program done....?

A little crazy project started from scratch but I learned a lot about my loved Nord gear during this dev. Now, 6 months later it is online.

This was a lot of work but thanks again for all the help of all other members credited in the 1st post.

Re: NS3 program viewer

Posted: 04 Jan 2021, 18:47
by florence
Hlaalu wrote:
Also, the headers for synth engine don't make it clear enough (IMHO of course) whether what is being showed is the name of the sample, of the synth preset or the wave type. I mean they can be guessed most of the times, but perhaps there could be a more systematic way to tell (different background colors)?
I reworked this, and the simplest way is to show it as on the NS3 Synth display! Preset always in the top, then OSC details/control knob position, and finally sample name (if type is Sample). (The only small missing part is the Synth Preset Category, but this is not available in the program file...)
NS3 Synth display.png
NS3 Synth display.png (116.9 KiB) Viewed 5082 times

Re: NS2 and NS3 program viewer

Posted: 05 Jan 2021, 01:52
by cookie
FANTASTIC !!!

Fred