Author |
Message |
memoryshell
Joined: Aug 02, 2008 Posts: 31 Location: india
|
Posted: Thu Jul 28, 2011 5:47 am Post subject:
NMG2 Open Source Editor |
 |
|
Hi,
Seeing that OSX Lion is out, and Windows 8 is probably not too far off, I'd give the NMG2 editor another 2-3 years of compatibility with major OSes. It appears it does with Lion, but obviously at some point in the future, this will change, when newer OSes are released.
Anyone can say whether we are likely to ever see an open source editor like Nomad for the G2? |
|
Back to top
|
|
 |
mickeyl
Joined: Oct 12, 2007 Posts: 18 Location: Frankfurt, Germany
|
|
Back to top
|
|
 |
blue hell
Site Admin

Joined: Apr 03, 2004 Posts: 24386 Location: The Netherlands, Enschede
Audio files: 296
G2 patch files: 320
|
Posted: Fri Jul 29, 2011 7:11 am Post subject:
|
 |
|
mickeyl (from that other thread) wrote: | don't see any chance for an open source editor. Coming from the embedded Linux community (some of us crazy folks are bound to port Linux to virtually everything, including undocumented windows phones etc.), I know a bit about the complexities of that stuff.
It would take a bunch of man-years to reverse engineer the USB communication, the DSP compiler, and the internal data structures. Nothing is impossible, but without any documentation I'm afraid it would never be completed and given the questionable legality, who would be able to coordinate and carry out such a major effort? |
Yeah it would be a lot of work, however the DSP compiler would not be part of it - that's all on the synth itself, or at least for the NM classic it was. So it'll be the job of figuring out the USB communications protocol for sending over patches and performances and a handful of commands for settings virtual keyboard etc., I'd expect it to be be similar to the NM Classic protocol ... but that one is not fully documented either. _________________ Jan
also .. could someone please turn down the thermostat a bit.
 |
|
Back to top
|
|
 |
memoryshell
Joined: Aug 02, 2008 Posts: 31 Location: india
|
Posted: Fri Jul 29, 2011 8:00 am Post subject:
|
 |
|
Thank you.. this is enlightening information. I can pretend to understand everything you said, but at least I get the basic point
Then I guess the only alternatives are to, at some point in the near future, invest in a netbook/laptop/desktop dedicated to running the G2 , and squeeze as much time out of it as possible, say another 4-5 years. Or maybe its a good time to sell the G2. |
|
Back to top
|
|
 |
mickeyl
Joined: Oct 12, 2007 Posts: 18 Location: Frankfurt, Germany
|
Posted: Fri Jul 29, 2011 10:24 am Post subject:
Don't sell! Subject description: It's a collector's item :) |
 |
|
Nah, never sell it! There is nothing that can replace it.
Since there won't be any updates to the Nord Modular editor the hosting PC / Laptop / Mac Book won't require any updates either. I have a dedicated Mac Book Pro for the editor which runs great. I don't see it dying any time soon  _________________ Cheers,
:M: |
|
Back to top
|
|
 |
pyrosonic

Joined: Jul 12, 2008 Posts: 383 Location: Kent,Oh. USA
|
|
Back to top
|
|
 |
memoryshell
Joined: Aug 02, 2008 Posts: 31 Location: india
|
Posted: Sat Jul 30, 2011 10:29 pm Post subject:
|
 |
|
Yea ... great advice. I'd have a real hard time selling it anyway.
In fact, A few months back, someone offered $ 2500 for it, but I just couldn't let it go  |
|
Back to top
|
|
 |
brunov
Joined: Aug 03, 2011 Posts: 227 Location: delft
Audio files: 1
G2 patch files: 2
|
Posted: Wed Aug 03, 2011 9:03 am Post subject:
|
 |
|
Hello
I'm new here, but been reading this forum a lot.
Bases on the work of others on this forum I've managed to set up an usb connection with the G2 in my windows Xp system.
So far I've been able to send over patches and change some parameters like the arpeggiator.
So if people are interessted I can post what I have so far. It's writen in Delphi |
|
Back to top
|
|
 |
blue hell
Site Admin

Joined: Apr 03, 2004 Posts: 24386 Location: The Netherlands, Enschede
Audio files: 296
G2 patch files: 320
|
Posted: Wed Aug 03, 2011 9:15 am Post subject:
|
 |
|
Oh, cool! I'd like to see that!
And brunov
If it could be ported to free pascal / lazarus it may even be relatively platform indepedent (just spent this afternoon looking into USB stuff for FPC (for another purpose)). _________________ Jan
also .. could someone please turn down the thermostat a bit.
 |
|
Back to top
|
|
 |
brunov
Joined: Aug 03, 2011 Posts: 227 Location: delft
Audio files: 1
G2 patch files: 2
|
Posted: Wed Aug 03, 2011 9:28 am Post subject:
|
 |
|
here it is the source code.
To make it work you need the libusb-win32 driver from http://sourceforge.net/projects/libusb-win32/files/
You can install this driver as a "filter driver" on de clavia usb driver. That way clavia driver is still there and the clavia software keeps working.
I accidently installed it once as a device driver but than it replaces the clavia driver, so you don't want to do that.
Description: |
|
 Download (listen) |
Filename: |
G2 Tool.rar |
Filesize: |
220.04 KB |
Downloaded: |
1154 Time(s) |
Description: |
|
 Download (listen) |
Filename: |
G2 Tool.rar |
Filesize: |
220.04 KB |
Downloaded: |
1199 Time(s) |
Description: |
|
 Download (listen) |
Filename: |
G2 Tool.rar |
Filesize: |
220.04 KB |
Downloaded: |
1095 Time(s) |
|
|
Back to top
|
|
 |
blue hell
Site Admin

Joined: Apr 03, 2004 Posts: 24386 Location: The Netherlands, Enschede
Audio files: 296
G2 patch files: 320
|
Posted: Wed Aug 03, 2011 9:59 am Post subject:
|
 |
|
Can't really test it here ... but it compiles in D2009 with some minor issues, also did a quick project conversion to Lazarus which compiles, but I cant get a proper lib-usb in the andLinux thingie I'm running it on (and so the link phase breaks).
Glad you didnt try to copy from the Nomad project, that code is too complicted IMO ... anyway, will have a look at it later at home where I have an actual G2.
Can lib-usb be used to spy on the G2 protocol too? _________________ Jan
also .. could someone please turn down the thermostat a bit.
 |
|
Back to top
|
|
 |
brunov
Joined: Aug 03, 2011 Posts: 227 Location: delft
Audio files: 1
G2 patch files: 2
|
Posted: Wed Aug 03, 2011 10:43 am Post subject:
|
 |
|
Don't know if you can use it for spying. I've been using snoopypro. My method is to copy the output to a text file, then parse it and put all the messages in a database.
So i've made a reference run: start snoopy->start clavia software->close clavia software ->stop snoopy. Next run i do a thing extra like playing a note on the virtual keyboard.
Then in de database i look for the messages in de second run that aren't in de reference run. |
|
Back to top
|
|
 |
blue hell
Site Admin

Joined: Apr 03, 2004 Posts: 24386 Location: The Netherlands, Enschede
Audio files: 296
G2 patch files: 320
|
Posted: Wed Aug 03, 2011 2:40 pm Post subject:
|
 |
|
Hmm .. not getting through it tonight ... but it looks very promising! _________________ Jan
also .. could someone please turn down the thermostat a bit.
 |
|
Back to top
|
|
 |
brunov
Joined: Aug 03, 2011 Posts: 227 Location: delft
Audio files: 1
G2 patch files: 2
|
|
Back to top
|
|
 |
blue hell
Site Admin

Joined: Apr 03, 2004 Posts: 24386 Location: The Netherlands, Enschede
Audio files: 296
G2 patch files: 320
|
Posted: Thu Aug 04, 2011 1:57 pm Post subject:
|
 |
|
It all looks very different from the NM Classic protocol, comparing the opcodes you found with some of my old notes. A lot of searching still to be done then ...
Still didnt try to run the code, have been reading it rather  _________________ Jan
also .. could someone please turn down the thermostat a bit.
 |
|
Back to top
|
|
 |
brunov
Joined: Aug 03, 2011 Posts: 227 Location: delft
Audio files: 1
G2 patch files: 2
|
|
Back to top
|
|
 |
qfingers
Joined: Nov 16, 2006 Posts: 186 Location: Tucson, AZ
G2 patch files: 2
|
Posted: Fri Aug 05, 2011 11:22 am Post subject:
|
 |
|
brunov wrote: |
And now it would be nice to have the usb interface also.
Here is what i've figured out so far of the start-up fase of the G2 usb-protocol. |
Since I've done all the work (except what you have done) decoding the usb protocol, I can tell you that it's not going to be trivial to even set parameters on modules that have already been created in patches. One thing is that much of the protocol reuses the patch format in order to keep things simple. Loading patches and setting the global parameters on patches and slots is the simple part. Things you have missed is the usb protocol has various session IDs that are required for proper communication to the slots, and performance data.
Even getting the currently stored patches banks took me a week to get correct. I've got usb protocol dumps of adding modules, making connections, turning knows, loading patches, saving patches, and selecting variations. The protocol for sending and receiving data to a G2 is simple. It's the format of every message that make things complicated. Plus as you have seen, there are messages that are unknown.
So with all that said, make sure you understand the patch (.pch2) and performance (.prf2) formats as they are used throughout the communication protocol for adjusting things. The only complete document I know of is my python code in g2ools. It's only for version 1.4 as 1.62 changed the format enough for me to not want to reverse engineer the format. So if you are running 1.62, you will most likely have to reverse engineer the patch and performance format again.
This project is HUGE and is going to take several months and perhaps years to get working. I've work on it sporadically and only got vary minimal communication working.
Good luck.
q |
|
Back to top
|
|
 |
brunov
Joined: Aug 03, 2011 Posts: 227 Location: delft
Audio files: 1
G2 patch files: 2
|
Posted: Fri Aug 05, 2011 12:21 pm Post subject:
|
 |
|
I apreciate all the work you have put in this qfingers and i didn't know about the big version differences. I think i'm on the latest.
Altough this thread is called "NMg2 open source editor", that was not my intention for working on this usb interface (i didn't start this thread), I just wanted to send over patches quickly and do some tweaking on the arp an so on, since there are no sysex/cc midi messages for these.
I could keep this all for myself but why not post it here, that way al the info about the g2 is where it should be.
And when you start on something like this, it's such a puzzle it now keeps me awake at night.
So for now my aim is only to decode this usb protocoll a bit more, i'll post when i learn something new, and i hope you'll throw in a remark when you think i am going the wrong way. |
|
Back to top
|
|
 |
blue hell
Site Admin

Joined: Apr 03, 2004 Posts: 24386 Location: The Netherlands, Enschede
Audio files: 296
G2 patch files: 320
|
Posted: Fri Aug 05, 2011 12:55 pm Post subject:
|
 |
|
brunov wrote: | i'll post when i learn something new |
Appreciated very much, and who knows who'll take it further  _________________ Jan
also .. could someone please turn down the thermostat a bit.
 |
|
Back to top
|
|
 |
brunov
Joined: Aug 03, 2011 Posts: 227 Location: delft
Audio files: 1
G2 patch files: 2
|
Posted: Sat Aug 06, 2011 8:55 am Post subject:
|
 |
|
I may have stumbled upon the meaning of 3 of the unknown messages. The first one is the not very exciting patch text.
The other 2 have something to do with de VA en FX cycles en memory indicators that are shown in the clavia software.
Probably these messages contain a table with the amount of resources that are in use for the va en fx sections. So it can instantly update the indicators when you add a module with a particulat resource fingerprint.
Description: |
|
 Download (listen) |
Filename: |
G2 usb messages v2.txt |
Filesize: |
16.38 KB |
Downloaded: |
943 Time(s) |
Description: |
|
 Download (listen) |
Filename: |
Resource table v1.xls |
Filesize: |
24.5 KB |
Downloaded: |
903 Time(s) |
|
|
Back to top
|
|
 |
Arnaud06
Joined: Jul 13, 2009 Posts: 40 Location: France
Audio files: 1
|
Posted: Mon Aug 08, 2011 2:31 am Post subject:
|
 |
|
I'm dreaming about a G2 Engine Editor for Linux again  |
|
Back to top
|
|
 |
mickeyl
Joined: Oct 12, 2007 Posts: 18 Location: Frankfurt, Germany
|
Posted: Mon Aug 08, 2011 7:16 am Post subject:
|
 |
|
Yeah, that would be nice. Or something for iOS, so I can have it on the iPad  _________________ Cheers,
:M: |
|
Back to top
|
|
 |
brunov
Joined: Aug 03, 2011 Posts: 227 Location: delft
Audio files: 1
G2 patch files: 2
|
Posted: Mon Aug 08, 2011 1:14 pm Post subject:
|
 |
|
My humble goal for now is to make a simple patch with usb commands, with one oscilator and one output and patched with two cables.
I' ve found out the general commands to add a module and cables, they are in the messages doc. But i've to figure out what all the bytes mean exactly. The positive thing is that they look a lot like the patch data file format.
And i also made a new version of the usb demo. Added the parsing of patch data, thanks to qfingers and all the others that did the hard work. Also some more usb messages implemented.
Description: |
|
 Download (listen) |
Filename: |
G2 usb messages v3.txt |
Filesize: |
18.35 KB |
Downloaded: |
953 Time(s) |
Description: |
|
 Download (listen) |
Filename: |
G2 USB Demo v3.rar |
Filesize: |
272.83 KB |
Downloaded: |
928 Time(s) |
|
|
Back to top
|
|
 |
brunov
Joined: Aug 03, 2011 Posts: 227 Location: delft
Audio files: 1
G2 patch files: 2
|
|
Back to top
|
|
 |
blue hell
Site Admin

Joined: Apr 03, 2004 Posts: 24386 Location: The Netherlands, Enschede
Audio files: 296
G2 patch files: 320
|
Posted: Thu Aug 11, 2011 10:11 am Post subject:
|
 |
|
Guesses ... IsLed indicates that an LED is associated with the output, type indicates if the cable goes from an output to an input or from an input to another input (that distinction has been made for the NM Classic IIRC).
You're doing great work  _________________ Jan
also .. could someone please turn down the thermostat a bit.
 |
|
Back to top
|
|
 |
|