MOM (Master Of Modules) manages synthesizer modules to make them work as a single musical instrument. The main responsibilities of MOM are
- Control patching.
- Control parameters.
- Organize voices.
- (possibly) Organize modules such as device ID management.
Designing and implementing MOM and synth module data model is yet another challenge out of building CAN network. Basically, the inter-module communication depends on CAN physical layer, but it’s a pain to dragging such a dependency during the MOM development. I’m sure the CAN network would be quite unstable at first and I don’t want to stop and troubleshoot CAN while I’m working on MOM.
So, in order to remove dependency on CAN network, I’ll build the initial version of MOM based on TCP/IP with dummy (stub) synth modules that are purely software oriented and talk TCP/IP. Once the MOM design is fixed, I can replace the TCP/IP driver by CAN driver later. It will not ruin the module data model.