Nord Stage 4 Program file decoder

General Discussion of the Nord Stage (EX), Nord Stage 2 (EX), Nord Stage 3, and Nord Stage 4 Synths, FAQ, Troubleshooting etc.
ns4decode
Posts: 14
Joined: 21 Sep 2024, 19:42
Your Nord Gear #1: Nord Stage 4
Has thanked: 5 times
Been thanked: 26 times

Nord Stage 4 Program file decoder

Post by ns4decode »

I made a command-line utility called ns4decode for Mac OS that decodes many (not all) of the parameters stored in Nord Stage 4 program files (ns4p files). It reads one or more Program files and writes the decoded parameter values in human readable csv-formatted files that you can open with a spreadsheet app. I made ns4decode for my own use, but I decided to make it available to the community in case it's useful as-is to anybody else. It's free. You can downloaded it from the website

https://ns4decode.netlify.app

The website explains how to set it up and use it.

The website also lists its limitations. One limitation is that it doesn't have a graphical user interface, so it's different than the Nord Stage 2/3 file viewer that was developed earlier by other users. You can skim through the usage examples on the website linked above to help you decide how big or small that limitation is for you.

I designed ns4decode to meet my own needs, and I don't plan to develop it any further except to fix bugs. You may report bugs using the contact info provided on the website.
These users thanked the author ns4decode for the post (total 13):
Schorsch, Tracii, st2ex, TommyX, Nordlicht, maxpiano, FZiegler, WannitBBBad, Heatha05, florence, guyd789, SuperStage, mobil
User avatar
cookie
Patch Creator
Posts: 809
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: 165 times
Been thanked: 350 times
France

Re: Nord Stage 4 Program file decoder

Post by cookie »

Interesting indeed for Stage 4 users ! Needs to be analyzed and discussed as requests will sure come to integrate this deciphering into the Nord File Viewer ;)

Fred
ns4decode
Posts: 14
Joined: 21 Sep 2024, 19:42
Your Nord Gear #1: Nord Stage 4
Has thanked: 5 times
Been thanked: 26 times

Re: Nord Stage 4 Program file decoder

Post by ns4decode »

In case anybody just wants ns4decode's deciphering information, here's a trick to avoid reading the source code. The command

ns4decode --writeto yourOutputFolder --bitmaps

writes a set of csv files that give the beginning/ending bit location of each parameter that ns4decode knows about. (The simpler command "ns4decode --bitmaps" writes those files to the current working directory.) The command

ns4decode --helpwith bitmaps

explains the (quirky) notation used in those bitmap files. Knowing where a parameter lives in the Program file is only part of the deciphering challenge, of course, but this trick at least helps with that part.
Last edited by ns4decode on 25 Oct 2024, 03:33, edited 1 time in total.
User avatar
maxpiano
Patch Creator
Posts: 6753
Joined: 27 Jun 2011, 13:29
13
Your Nord Gear #1: Nord Stage 3
Location: Italy
Has thanked: 494 times
Been thanked: 2366 times
Italy

Re: Nord Stage 4 Program file decoder

Post by maxpiano »

ns4decode wrote: 23 Sep 2024, 16:18 In case anybody just wants ns4decode's deciphering information, here's a trick to avoid reading the source code. The command

ns4decode --writeto yourOutputFolder --bitmaps

writes a set of csv files that give the beginning/ending bit location of each parameter that ns4decode knows about. (The simpler command "ns4decode --bitmaps" writes those files to the current working directory.) The command

ns4decode --helpwithbitmaps

explains the (quirky) notation used in those bitmap files. Knowing where a parameter lives in the Program file is only part of the deciphering challenge, of course, but this trick at least helps with that part.
I see you also published the list of recognized parameters https://ns4decode.netlify.app/parameters.txt, good job, I am not a NS4 owner but you deserve a big thanks for this :thumbup:
User avatar
Schorsch
Donator
Posts: 2508
Joined: 15 May 2018, 23:34
6
Your Nord Gear #1: Nord Stage 3
Your Nord Gear #2: Nord Stage 3
Location: Germany - NRW
Has thanked: 1410 times
Been thanked: 898 times
Germany

Re: Nord Stage 4 Program file decoder

Post by Schorsch »

++1 :thumbup: :clap: :thumbup:
Regards Schorsch

Check this awesome website to visualize NS2/3 programs and re-create them on the other instrument!

Gear: NS3C, Uhl X4V-1, 2-manual HX3.4 organ made by Tastendoktor, SL88 Studio
guyd789
Posts: 13
Joined: 23 Dec 2023, 17:54
1
Your Nord Gear #1: Nord Stage 4
Has thanked: 4 times
Been thanked: 6 times
Belgium

Re: Nord Stage 4 Program file decoder

Post by guyd789 »

I tried ns4decode under windows 10 (after an installation of python for windows). The program works correctly if you add xxd for windows (from sourceforge.net) in the same directory as the python sources. xxd is a Unix command that is used by ns4decode to dump the .ns4p file.
These users thanked the author guyd789 for the post (total 2):
ns4decode, Nordlicht
ns4decode
Posts: 14
Joined: 21 Sep 2024, 19:42
Your Nord Gear #1: Nord Stage 4
Has thanked: 5 times
Been thanked: 26 times

Re: Nord Stage 4 Program file decoder

Post by ns4decode »

guyd789 wrote: 24 Sep 2024, 12:14 I tried ns4decode under windows 10 (after an installation of python for windows). The program works correctly if you add xxd for windows (from sourceforge.net) in the same directory as the python sources. xxd is a Unix command that is used by ns4decode to dump the .ns4p file.
Thank you for discovering this! I updated the ns4decode website to acknowledge this option.
ns4decode
Posts: 14
Joined: 21 Sep 2024, 19:42
Your Nord Gear #1: Nord Stage 4
Has thanked: 5 times
Been thanked: 26 times

Re: Nord Stage 4 Program file decoder

Post by ns4decode »

I'd like to say thanks to guyd789 for finding and deciphering the arpeggiator parameters in the Nord Stage 4 Program file! This contribution increased ns4decode's coverage of the Program file from 66% (version 1.3) to more than 73% (version 1.4).

Link to revision history: https://ns4decode.netlify.app/revisions
Link to parameter list: https://ns4decode.netlify.app/parameters.txt
Link to coverage picture: https://ns4decode.netlify.app/coverage

The command

ns4decode --helpwith arp

explains how to interpret ns4decode's representation of the arpeggiator accent, gate, and pan parameters.
ns4decode
Posts: 14
Joined: 21 Sep 2024, 19:42
Your Nord Gear #1: Nord Stage 4
Has thanked: 5 times
Been thanked: 26 times

Re: Nord Stage 4 Program file decoder

Post by ns4decode »

I know I said I wasn't planning to develop ns4decode any further, but I couldn't resist... I added the ability to decode Preset files (ns4o, ns4n, ns4y) and Live files (ns4l), and the ability to save some user preferences.

Also new since the original announcement is the ability to find-and-decode all Program and Preset files under a given folder, recursively.

Application: after unzipping a full NS4 backup file (ns4b), which you can do on Mac OS using the Unarchiver utility, you can run ns4decode on that top-level backup folder. That single command decodes all of the Program and Preset files that were in your NS4 at the time the full backup was saved.

Link to revision history: https://ns4decode.netlify.app/revisions
These users thanked the author ns4decode for the post (total 3):
st2ex, WannitBBBad, mobil
EllenD
Posts: 4
Joined: 16 Dec 2022, 00:04
2
Your Nord Gear #1: Nord Electro 6
Has thanked: 3 times
Canada

Re: Nord Stage 4 Program file decoder

Post by EllenD »

guyd789 wrote: 24 Sep 2024, 12:14 I tried ns4decode under windows 10 (after an installation of python for windows). The program works correctly if you add xxd for windows (from sourceforge.net) in the same directory as the python sources. xxd is a Unix command that is used by ns4decode to dump the .ns4p file.
I would pay someone for online assistance to get this loaded onto my PC. Thanks for considering!
Post Reply