electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
 Forum index » Clavia Nord Modular » Nord Modular G2 Discussion
G2 Engine upgrade / mod to G2
Post new topic   Reply to topic Moderators: Nord Modular Editors
Page 1 of 1 [15 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Author Message
sellblue



Joined: Nov 24, 2021
Posts: 9
Location: Austria

PostPosted: Wed Nov 24, 2021 9:01 pm    Post subject: G2 Engine upgrade / mod to G2 Reply with quote  Mark this post and the followings unread

Hello,

It is possible to hack the NM G2 Engine using the G2 or G2x front panel, ie pluging the front panel of G2 onto the motherboard of the engine and use it as a controller?
It seems to me that the G2 / G2x / G2 Engine all use the same motherboard.

G2 / G2X:
Posted Image, might have been reduced in size. Click Image to view fullscreen.

G2 Engine:
Posted Image, might have been reduced in size. Click Image to view fullscreen.
Back to top
View user's profile Send private message
3phase



Joined: Jul 27, 2004
Posts: 1182
Location: Berlin
Audio files: 13
G2 patch files: 141

PostPosted: Fri Dec 10, 2021 9:55 am    Post subject: Reply with quote  Mark this post and the followings unread

probably..

but seens the engine is even more rare than the keyboard version.
seems the g2 will be an expensive classic..
still an unbeatable package with the 8 variation buttons.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Electromagnetic Wave



Joined: Apr 28, 2013
Posts: 292
Location: Kebek
G2 patch files: 38

PostPosted: Sun Jan 09, 2022 8:51 pm    Post subject: Reply with quote  Mark this post and the followings unread

Hey,
Quote:
On the question of modding the G2 Engine with G2 key features I can quote the Clavia developers:

The key versions have their specific features on the panel circuit board, e.g. the A/D converter for the pedal input is on the panel board, also some of the mic preamp circuitry. As there is no panel board in the Engine there is no straightforward way to add those features to an Engine. On startup the motherboard detects the presence of a panal board, if it can't find one all software that handles the G2 key and G2X specific features is simply not loaded and can't be activated (meaning all panel board functions plus mic preamp plus control pedal input).
The G2X panel board has an A/D chip with two more channels as the 3 oct G2 key, to handle the two extra global wheels. These global wheels cannot be simply added to the 3 oct G2 key, as it lacks A/D channels to read them.

https://www.electro-music.com/forum/post-59286.html#59286

Recently I wanted to do something similar > mod a G2 with some kind of switch to use the front panel to control a g2 keyboard and a G2 engine. I needed to understand how the OS would react if I assigned the front panel to the G2 engine while the G2 keyboard and G2 engine were already on. I believe this information closed the topic for me. Confused
Back to top
View user's profile Send private message
sellblue



Joined: Nov 24, 2021
Posts: 9
Location: Austria

PostPosted: Tue Feb 08, 2022 12:29 pm    Post subject: Reply with quote  Mark this post and the followings unread

Soon I will get a G2 keyboard version. I also have an Engine so will be able to plug the front panel to the Engine's main board.

According to the service manual it is possible to plug the front panel (panel board) Engine's main board. However it is only for diagnostic purposes and G2 Engine won't work as the keyboard version.
I think there is a trick to enable the keyboard version when the front panel is connected. Maybe it is resistor coded as the G2X features (see more in the service manual). I plan to do comparison on G2/G2 Engine main boards.

I have attached the service manual.


nord modular G2 service manual v1.2.pdf
 Description:

Download
 Filename:  nord modular G2 service manual v1.2.pdf
 Filesize:  1.35 MB
 Downloaded:  145 Time(s)

Back to top
View user's profile Send private message
sellblue



Joined: Nov 24, 2021
Posts: 9
Location: Austria

PostPosted: Sun Feb 27, 2022 7:17 am    Post subject: G2 Rack
Subject description: Modify G2 Engine to G2 Rack
Reply with quote  Mark this post and the followings unread

Please vote if you would buy a controller with the same functionality as the G2 keyboard control panel.
It is possible according my research. I could implement such a controller based on the number of votes.


2022-02-27_15h08_24.png
 Description:
 Filesize:  147.78 KB
 Viewed:  35 Time(s)
This image has been reduced to fit the page. Click on it to enlarge.

2022-02-27_15h08_24.png


Back to top
View user's profile Send private message
Electromagnetic Wave



Joined: Apr 28, 2013
Posts: 292
Location: Kebek
G2 patch files: 38

PostPosted: Sun Mar 06, 2022 9:56 pm    Post subject: Reply with quote  Mark this post and the followings unread

Thanks for sharing the service manual here! I think these 2 resistors are related to the extra controllers on the G2X. I did not follow the traces on the pcb but they must be connected. On the other hand, I doubt that the OS makes the difference between G2 keyboard and a G2 engine in the same way, with a resistor. But I'm not saying it's impossible to spoof / emulate G2 keyboard components and cheat the G2 engine OS. But it requires a little material, time .. and who wants to risk damaging his G2! But if you have other leads I can participate in the project (the one you are talking about at the start) and do some tests if I don't think it's too risky. I had in my possession a G2X, a G2 keyboard and a G2 engine. I changed some parts on some of them.

Quote:
Please vote if you would buy a controller with the same functionality as the G2 keyboard control panel.
It is possible according my research. I could implement such a controller based on the number of votes.

I also did some research in this direction. When I wanted to convert the parameter names for the 'parameter pages' to send them to the screen of a novation SL mk2. At this point several people were suggesting sites that make custom MIDI control surfaces. I use the Novation SL mk2 to control many other machines, especially with sysex. So I use the Novation to control the G2 engine parameter pages I gave up making a custom controller for the G2. But you have my vote if you want to work on it, if it's quality, serious and it costs a few hundred dollars.

Can you give a little more detail on what you have in mind? Would the engine OS be able to recognize the custom control surface as a G2 keyboard?
Back to top
View user's profile Send private message
sellblue



Joined: Nov 24, 2021
Posts: 9
Location: Austria

PostPosted: Wed Jul 20, 2022 12:36 pm    Post subject: Reply with quote  Mark this post and the followings unread

Electromagnetic Wave wrote:
Thanks for sharing the service manual here! I think these 2 resistors are related to the extra controllers on the G2X. I did not follow the traces on the pcb but they must be connected. On the other hand, I doubt that the OS makes the difference between G2 keyboard and a G2 engine in the same way, with a resistor. But I'm not saying it's impossible to spoof / emulate G2 keyboard components and cheat the G2 engine OS. But it requires a little material, time .. and who wants to risk damaging his G2! But if you have other leads I can participate in the project (the one you are talking about at the start) and do some tests if I don't think it's too risky. I had in my possession a G2X, a G2 keyboard and a G2 engine. I changed some parts on some of them.


Thanks for your support.

Quote:
I also did some research in this direction. When I wanted to convert the parameter names for the 'parameter pages' to send them to the screen of a novation SL mk2. At this point several people were suggesting sites that make custom MIDI control surfaces. I use the Novation SL mk2 to control many other machines, especially with sysex. So I use the Novation to control the G2 engine parameter pages I gave up making a custom controller for the G2. But you have my vote if you want to work on it, if it's quality, serious and it costs a few hundred dollars.


Are you able to control the Parameter Pages or other functions (like page buttons) via MIDI (Sysex not CC) commands? If so then I would go to that direction and make an external controller rather than hacking the hardware. Can you share more detail on the sysex implementation. I did not found any information on the internet other than what is written in the manual.

Quote:
Can you give a little more detail on what you have in mind? Would the engine OS be able to recognize the custom control surface as a G2 keyboard?


The Engine main board is a population variant of Keyboard version board (some components are soldered differently). My original idea was to make a controller that could be connected to the Engine's main board (However it would be much more elegant to connect it via MIDI/USB).
My goal is to achieve the same user experience as the Keyboard version gives.
Back to top
View user's profile Send private message
Electromagnetic Wave



Joined: Apr 28, 2013
Posts: 292
Location: Kebek
G2 patch files: 38

PostPosted: Sun Jul 31, 2022 5:49 pm    Post subject: Reply with quote  Mark this post and the followings unread

Quote:
Are you able to control the Parameter Pages or other functions (like page buttons) via MIDI (Sysex not CC) commands?

Not directly but with the non-official G2 editor in the middle yes. I discussed about it and I shared a youtube video here .
https://electro-music.com/forum/post-450758.html#450758

The final goal is not to use the moded editor for the GUI but only to make the bridge between the Novation surface control and the G2 engine > to control the parameter pages .. and everything else (patch settings > arp, tempo, etc.., slot selection, etc..). All texts will show on the Novation screens (for each 8 encoders / buttons) if I can understand how to sniff the parameter page text from the G2 screens. I know how to send it after to the Novation screens and I should be able to edit the texts in real time.
Back to top
View user's profile Send private message
sellblue



Joined: Nov 24, 2021
Posts: 9
Location: Austria

PostPosted: Mon Aug 01, 2022 5:54 am    Post subject: Reply with quote  Mark this post and the followings unread

Electromagnetic Wave wrote:
Quote:
Are you able to control the Parameter Pages or other functions (like page buttons) via MIDI (Sysex not CC) commands?

Not directly but with the non-official G2 editor in the middle yes. I discussed about it and I shared a youtube video here .
https://electro-music.com/forum/post-450758.html#450758

The final goal is not to use the moded editor for the GUI but only to make the bridge between the Novation surface control and the G2 engine > to control the parameter pages .. and everything else (patch settings > arp, tempo, etc.., slot selection, etc..). All texts will show on the Novation screens (for each 8 encoders / buttons) if I can understand how to sniff the parameter page text from the G2 screens. I know how to send it after to the Novation screens and I should be able to edit the texts in real time.


I also use the unofficial G2 editor with an AKAI Midimix. Actually the same method as you except I use a PC as intermediate interface.
I have dropped a message in the post you've mentioned for Bruno. Hope he will give us some insights about G2's USB protocol.
Back to top
View user's profile Send private message
brunov



Joined: Aug 03, 2011
Posts: 225
Location: delft
Audio files: 1
G2 patch files: 2

PostPosted: Mon Aug 01, 2022 11:23 pm    Post subject: Reply with quote  Mark this post and the followings unread

Hi,

I don't think I received any messages, but I like to help you with your project.

Everything that is known about the file structure and usb protocol is in the code. I can point you to the relevant parts of the things that your are interested in.

Bruno.

_________________
My old OS NMG2 editor: http://sourceforge.net/projects/nmg2editor/?source=directory
My new G2 editor FMX: http://www.bverhue.nl/g2dev/?page_id=17
Source code: https://github.com/BVerhue/nord_g2_editor
Back to top
View user's profile Send private message Visit poster's website
sellblue



Joined: Nov 24, 2021
Posts: 9
Location: Austria

PostPosted: Wed Aug 03, 2022 5:40 am    Post subject: Reply with quote  Mark this post and the followings unread

brunov wrote:
Hi,

I don't think I received any messages, but I like to help you with your project.

Everything that is known about the file structure and usb protocol is in the code. I can point you to the relevant parts of the things that your are interested in.

Bruno.


Hi Bruno,

Thank you for your quick response.
So as I mentioned before I would like to design an external Physical controller for G2 Engine like G2 Keyboard version has. Same functions and similar layout.


I see three approaches to implement it:
1. "Clone" the G2 Keyboard front panel and connect it to G2 Engine main board (already proved it is working).

2. Design an external controller that is capable to control G2 Engine via MIDI(not CC).
For example use a Microcontroller:
- Interface to G2 Engine (MIDI host)
- Interface to Encoders (knobs), LCDs and buttons.

3. Design an external controller that is capable to control G2 Engine via USB. For example use a Raspberry Pi:
- Interface to G2 Engine (USB host)
- Interface to Encoders (knobs), LCDs and buttons.

Could you please help me and give some explanation how parameter page values are communicated via USB or MIDI(if so)? Sorry I'm not familiar with Delphy.
[img][/img]


2022-08-03_14h03_48.png
 Description:
 Filesize:  19.33 KB
 Viewed:  201 Time(s)

2022-08-03_14h03_48.png


Back to top
View user's profile Send private message
brunov



Joined: Aug 03, 2011
Posts: 225
Location: delft
Audio files: 1
G2 patch files: 2

PostPosted: Wed Aug 03, 2022 6:35 am    Post subject: Reply with quote  Mark this post and the followings unread

A knob on the parameter page refers to a parameter.

To change the value of a parameter through USB you have to send the following message:

(In file g2_mess.pas, line 3657)

function TG2MessSlot.CreateSetParamMessage( aLocation, aModule, aParam, aValue, aVariation: byte): TG2SendMessage;
begin
Result := TG2SendMessage.Create;
Result.WriteMessage( $01);
Result.WriteMessage( CMD_NO_RESP + CMD_SLOT + SlotIndex );
Result.WriteMessage( FPatchVersion);
Result.WriteMessage( S_SET_PARAM);
Result.WriteMessage( aLocation);
Result.WriteMessage( aModule);
Result.WriteMessage( aParam);
Result.WriteMessage( aValue);
Result.WriteMessage( aVariation);
end;

CMD_NO_RESP (Hex30) means it is a message that does not initiates a response

CMD_SLOT (Hex08) + SlotIndex refers to the slot the patch is in.

FPatchVersion is a number that increases every time a structural change is made in a patch.

S_SET_PARAM (Hex40)

aLocation refers to the VA or FX section.
aModule is the Module id in the location
aParam is the id of the Param in the module
aValue is the new value for the parameter
aValraition is the variation


The in-memory data structure of the G2 is more or less the same as the file structure. The file structure consists of "chunks". So there one or more "module" chunks, one or more "cable" chunks, "module name" chunks, "parameter" chunks, "parameter name" chunks, "knob" chunks, "cc assignment" chunks and so on.

A single "Knob" in a "knobs" chunk has this structure

(g2_file.pas, line 566)

TKnob = class
private
FAssigned : TBits1;
FLocation : TBits2;
FModuleIndex : TBits8;
FIsLed : TBits2;
FParamIndex : TBits7;
...

With USB you can upload/download complete chunks but you can also send/receive all kinds of messages, one of which is setting a parameter value.

with MIDI (SysEx), as far as I know, you can only request a complete patch or performance and send a (changed) complete patch or performance.

_________________
My old OS NMG2 editor: http://sourceforge.net/projects/nmg2editor/?source=directory
My new G2 editor FMX: http://www.bverhue.nl/g2dev/?page_id=17
Source code: https://github.com/BVerhue/nord_g2_editor
Back to top
View user's profile Send private message Visit poster's website
brunov



Joined: Aug 03, 2011
Posts: 225
Location: delft
Audio files: 1
G2 patch files: 2

PostPosted: Thu Aug 04, 2022 9:36 pm    Post subject: Reply with quote  Mark this post and the followings unread

I'll explain a bit more on how the usb connection is set up:

The os editor uses the libusb library.

You can interface with the library using this header file.

In unit G2_USB.pas there are the functions for:

Setting up the connection:

function TG2USB.Init : boolean;

Closing the connection:

procedure TG2USB.Done;

Reading an interrupt (small) message:

function TG2USB.iread(addr: byte; var buffer; size, timeout: longword): integer;

Reading a bulk message:

function TG2USB.bread(addr: byte; var buffer; size, timeout: longword): integer;

Writing a bulk message:

function TG2USB.bwrite(addr: byte; var buffer; size, timeout: longword): integer;

For reading messages from the g2 a listening thread is set up:

procedure TReceiveMessageThread.Execute;

This thread blocks waiting for an incomming interrupt message. Possibly this is then followed by a bulk message.

For sending messages a thread is used also, but this may not be necessary.

_________________
My old OS NMG2 editor: http://sourceforge.net/projects/nmg2editor/?source=directory
My new G2 editor FMX: http://www.bverhue.nl/g2dev/?page_id=17
Source code: https://github.com/BVerhue/nord_g2_editor
Back to top
View user's profile Send private message Visit poster's website
sellblue



Joined: Nov 24, 2021
Posts: 9
Location: Austria

PostPosted: Fri Aug 05, 2022 9:44 pm    Post subject: Reply with quote  Mark this post and the followings unread

brunov wrote:
I'll explain a bit more on how the usb connection is set up:

The os editor uses the libusb library.
...


Thanks Bruno for your detailed description. I'll try to understand all information and try to implement something.
Back to top
View user's profile Send private message
mosc
Site Admin


Joined: Jan 31, 2003
Posts: 18090
Location: Durham, NC
Audio files: 184
G2 patch files: 60

PostPosted: Sat Aug 06, 2022 12:12 pm    Post subject: Reply with quote  Mark this post and the followings unread

3phase wrote:

seems the g2 will be an expensive classic..
still an unbeatable package with the 8 variation buttons.


Yep. It's been years since it was discontinued. I stopped patching it because of the discontinuation. I've been using it as a MIDI controller for playing out. Virtually all of my work is on IOS apps now. There a several nice "modular" apps there, but I'm finding the G2 is just as good or better than any of them. Easier to program as well.

As time goes on, I'm finding myself loading some patches from the archive here and finding them very useful in my music. I use the G2X on virtually every Twyndyllyngs performance live streams on e-m.

When we get this electro-music.com server migration issue sorted out, don't be surprised to see me posting some more patches.

_________________
--Howard
my music and other stuff
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address
Display posts from previous:   
Post new topic   Reply to topic Moderators: Nord Modular Editors
Page 1 of 1 [15 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
 Forum index » Clavia Nord Modular » Nord Modular G2 Discussion
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use