NS2 and NS3 program viewer

General Discussion of the Nord Stage (EX), Nord Stage 2 (EX), Nord Stage 3, and Nord Stage 4 Synths, FAQ, Troubleshooting etc.
Post Reply
florence
Patch Creator
Posts: 361
Joined: 20 Jul 2019, 14:51
5
Your Nord Gear #1: Nord Stage 3
Has thanked: 95 times
Been thanked: 340 times
Contact:
France

NS2 and NS3 program viewer

Post by florence »

Hi,

Wanted to share with the community what I have done so far regarding my program viewer app. The main idea was to display Nord Stage 3 program settings (ns3f files) without any download (no Nord Stage required, no Nord Sound Manager app required). Program sheet can then be saved as pdf file. Nord Stage 2 support is added too.

Online version: https://ns3-program-viewer.glitch.me

Offline versions (no longer supported):
NS2 & NS3 file format documentation: https://chris55.github.io/ns3-program-viewer

Updates:
  • Dec 2020: NS2 is also included now! (ns2p files)
  • Jan 2021: Offline version now available as standalone desktop application for Windows and Mac
  • Mar 2021: Added NS3 synth file support (ns3y)
  • May 2021: Offline version available for Linux distribution x64 and ARM for Debian/Ubuntu (*.deb) and Fedora/SUSE (*.rpm)
  • Jun 2021: Added NS2 synth file support (ns2s), and new Smart feature (highlight in red any setting that is different from the INIT values)
  • Oct 2021: Added bundle and backup files support (ns3b, ns3fb, ns3synthpb, ns3sbundle, ns2pb, ns2exb, ns2b, ns2synthpb files). File collection are listed as on Nord Sound Manager

Example of program settings:
Hi Resolution MW Program.png
Hi Resolution MW Program.png (680.31 KiB) Viewed 31299 times
Example of Bundle/Backup file:
Bundle Example.png
Bundle Example.png (634.72 KiB) Viewed 26742 times
Example of Smart Mode:
Smart mode.png
Smart mode.png (379.72 KiB) Viewed 29097 times
Thank you to the contributors @gaaal, @rpossemo, @cookie, @gordon, and @hobster

Video Tutorial (thanks to Marc from My Keys To Music):

Full source code available here: https://github.com/Chris55/ns3-program-viewer


Current coverage:
- Organ: 100%
- Piano: 100%
- Synth: 100%
- Extern: 100%
- Morph: 100%
- FX: 100%
- Global parameters: Master Clock/Transpose/Split/Dual Kb/Output Routing 100%


My questions would be:
- is it acceptable to publish this web site, or should it stay private? Should I ask Nord?
- the source code is private for now as the file format is undocumented, I'm not sure if I can publish it.

answering to myself :)

I contacted Nord and here the answer:
I talked to the guys here, and it is fine with us for you to proceed with this project - as long as you accompany your published work with a disclaimer that Clavia in no way is affiliated with it. We will not be able to provide any assistance with this, but good luck nonetheless!

@Clavia Support.

Last thing, I do this as a hobby in my free time, nothing to sell...

PS: I edited this post to reflect on this 1st message all the improvements done since the beginning...

PS: want to collaborate? read this

Thanks
Last edited by florence on 29 Sep 2024, 14:05, edited 32 times in total.
My free online tool to view Nord Stage programs https://ns3-program-viewer.glitch.me
User avatar
rpossemo
Patch Creator
Posts: 33
Joined: 01 Aug 2020, 21:28
4
Your Nord Gear #1: Nord Stage 3
Location: Buenos Aires, Argentina
Has thanked: 29 times
Been thanked: 12 times
Argentina

Re: NS3 program viewer

Post by rpossemo »

Wow, this is great work. Don't think a better UI is needed. Definitely would like this for the NS2 programs, so those can be re-created on my NS3. I tried a couple of my own programs and info looks great for the parts you already implemented. Especially interested in the synth part.
Have you documented your findings so far? I mean, from the binary file have you marked the meaning of each byte, etc? I wonder if I can help you, like if I can try to decode a filter or the piano, or whatever.
Maybe somebody can do the same for NS2.
Thanks for sharing! Really appreciated. We need more "share".
Let me know if I can help.
*RPM
florence
Patch Creator
Posts: 361
Joined: 20 Jul 2019, 14:51
5
Your Nord Gear #1: Nord Stage 3
Has thanked: 95 times
Been thanked: 340 times
Contact:
France

Re: NS3 program viewer

Post by florence »

rpossemo wrote: Have you documented your findings so far? I mean, from the binary file have you marked the meaning of each byte, etc?
my source code is documented but still need to think how to produce such document if I decide to go this way. This can be added to my todo list...
rpossemo wrote:I wonder if I can help you


sure any help is welcome.The simplest would be to have more validation steps, like a quality check. I tested all setting one by one for Panel A. For Panel B I did that for few settings only as it looks like everything is just duplicated. But feel free to test individually parameters from Panel B. I'm following a naming convention to automate the unit tests. Example: I created about 240 programs like that so far.

example 1: testing Panel A / Synth module
filename must be "panelA.synth.enabled eq true.ns3f"
filename must be "panelA.synth.enabled eq false.ns3f"

example 2: testing Panel A / Synth Osc1 Wave Form Type = Classic Sine
filename must be "panelA.synth.oscillators.type eq Classic and panelA.synth.oscillators.waveForm1 eq Sine.ns3f"

I you decide to go this way, please send me all your test ns3f files and rename them to understand the changes.

My biggest concern is about legal aspect if we publish this, hence my questions on my initial post.
Last edited by florence on 24 Aug 2020, 17:21, edited 1 time in total.
My free online tool to view Nord Stage programs https://ns3-program-viewer.glitch.me
User avatar
rpossemo
Patch Creator
Posts: 33
Joined: 01 Aug 2020, 21:28
4
Your Nord Gear #1: Nord Stage 3
Location: Buenos Aires, Argentina
Has thanked: 29 times
Been thanked: 12 times
Argentina

Re: NS3 program viewer

Post by rpossemo »

Let's see if I can help with something like this that I just did. If so, I can continue with other settings for Piano section, that you mentioned that is not done yet.

Piano Timbre
Offset in file: 0x4E (Just Least Significant 6 bits, so OR 0x2F)

Values:
0x00- None
0x08- Soft
0x10- Mid
0x18- Bright
0x20- DYNO1
0x28- DYNO2

Piano KB Touch
Offset in file: 0x4D (just least significant bit 1, so OR 0x01) and 0x4E (Just Most Significant Bit, so OR 0x80)

Values:
0x00 + 0x8x- KB Touch 1
0x01 + 0x0x- KB Touch 2
0x01 + 0x8x- KB Touch 3

Piano Layer Detune
Offset in file: 0x34

Values:
0x00- None
0x20- 1
0x40- 2
0x60- 3

Piano Soft Release
Offset in file: 0x4D (just least significant bit 4, so OR 0x08)

Values:
0x00 - No
0x08 - Soft Release

Piano Pedal Noise
Offset in file: 0x4D (just least significant bit 2, so OR 0x02)

0x00- No
0x02- Pedal Noise

String Res
Offset in file: 0x4D (just least significant bit 3, so OR 0x04)

0x00- No
0x04- String Res

Sustain Pedal
Offset in file: 0x48 (just bit 0x40)

Values:
0x00- No
0x40- Yes

Pitch Stick
offset in file: 0x48 (just bit 0x80)
Values
0x00- No
0x80- Yes

Octave Shift
offset in file: 0x47 (just 4 last bits, OR 0x0F)

Values:
0xF5- Shift -1
0xF6- No shift
0xF7- Shift +1
Last edited by rpossemo on 24 Aug 2020, 16:49, edited 1 time in total.
These users thanked the author rpossemo for the post (total 2):
WannitBBBad, A_440
*RPM
florence
Patch Creator
Posts: 361
Joined: 20 Jul 2019, 14:51
5
Your Nord Gear #1: Nord Stage 3
Has thanked: 95 times
Been thanked: 340 times
Contact:
France

Re: NS3 program viewer

Post by florence »

thank you! will add all these settings...
My free online tool to view Nord Stage programs https://ns3-program-viewer.glitch.me
User avatar
rpossemo
Patch Creator
Posts: 33
Joined: 01 Aug 2020, 21:28
4
Your Nord Gear #1: Nord Stage 3
Location: Buenos Aires, Argentina
Has thanked: 29 times
Been thanked: 12 times
Argentina

Re: NS3 program viewer

Post by rpossemo »

And to know the piano Type and Model:

Type:
offset 0x49 (only 4 bits, last 3 of first nibble, first of second nibble) OR 0x98

Values:
0x40- Grand
0x48- Upright
0x50- Electric
0x58- Clav
0x60- Digital
0x68- Misc

Model:
Offset 0x49 and 0x4A (last 3 bits of 0x49 and first 2 bits of 0x4A). So byte 0x49 OR 0x07 and byte 0x4a OR 0xC0
Values:
0x00 0x00: model 1
0x00 0x01: model 2
.. and so on
0x02 0x01: model 10
These users thanked the author rpossemo for the post (total 2):
WannitBBBad, A_440
*RPM
neomad
Posts: 274
Joined: 12 Feb 2019, 11:42
5
Your Nord Gear #1: Nord Stage 3
Has thanked: 114 times
Been thanked: 58 times
Italy

Re: NS3 program viewer

Post by neomad »

Merci bien Florence !
Current Keyboard Rig: Nord Stage 3 compact, Yamaha Montage 7wh, Yamaha YC61, Alesis Fusion 6HD. Yamaha babygrand Piano. Extra sounds Ipad with AUM and plenty of synth apps + onsong pro
User avatar
cookie
Patch Creator
Posts: 806
Joined: 08 Dec 2011, 17:38
13
Your Nord Gear #1: Nord Stage 3
Your Nord Gear #2: Nord Stage 2 EX
Location: France
Has thanked: 163 times
Been thanked: 349 times
France

Re: NS3 program viewer

Post by cookie »

Excellent !

I believe you'll need to reactivate the "Stage 2" community on the thread we discussed so your app could read and "tree" the ns2p format !
And we all anticipate the next step where you can populate some of the ns3p with the ns2p ?

Fred
florence
Patch Creator
Posts: 361
Joined: 20 Jul 2019, 14:51
5
Your Nord Gear #1: Nord Stage 3
Has thanked: 95 times
Been thanked: 340 times
Contact:
France

Re: NS3 program viewer

Post by florence »

sure I accept the challenge NS2 once the NS3 is complete... If some volunteers accept to participate see how we proceed with @rpossemo (actually we continue by PM) For NS2 I would need also the test file for each case as I cannot generate it myself...
My free online tool to view Nord Stage programs https://ns3-program-viewer.glitch.me
User avatar
rpossemo
Patch Creator
Posts: 33
Joined: 01 Aug 2020, 21:28
4
Your Nord Gear #1: Nord Stage 3
Location: Buenos Aires, Argentina
Has thanked: 29 times
Been thanked: 12 times
Argentina

Re: NS3 program viewer

Post by rpossemo »

Yep! Will continue today with Effects 2 and Delay. We are getting close! But we definitely need support from a NS2 owner (or owners)
These users thanked the author rpossemo for the post:
Eisenhans
*RPM
Post Reply