I was thinking about 2-way communication between my midi controller and Cantablie. There wasn’t anything that quite did it for me so I looked into rolling my own and found this thread.
It was for Fractal but it had a lot of useful information. The controller at the start of the thread uses sysex to “talk” back and forth. I decided to make something like it but using basic MIDI program changes etc so it would work with any equipment, especially Cantabile.
I started with a concept another user on the fractal board had that looked like this:
To handle the 19 screens during prototyping I designed a PCB and had it made and shipped from a PCB place in China:
This is the butt-ugly prototype for testing and software development:
Eventually, that will all be replaced by some much neater PCBs ribbon cables etc. This is what the screens look like at this point:
I had to change the exposure or the screen colors were all washed out. Eventually it will have the following features:
- 127 preset slots that can send up to 8 midi events: control changes, program changes, note on, note off, sysex, transport controls etc.
- each of those preset slots can have what I call a scene which will have the button navigate to 12 new screens/buttons that can have a variety of functions. Imagine having one button for changing patches, and another for turning a pedal in Amplitube on or off, etc.
- There is a mode button so I can quickly switch the 12 lower screens/buttons to an “effects” screen that can sent commands to common effects in Cantablie and or my Eleven Rack
- I do plan to allow 2 way communication so that changes in Cantable can be sent to update the controller.
- There will be standard Midi In/Out ports
- It will be able to send Midi via Apple/RTP midi over the network using a Cat6 Connection. It can be used to power the whole thing via POE or I can use an adapter. I’ll probably always use the Network Cable since I can be a LONG way away from the back-of-line stuff and only need one cable for everything.
- It will be programmable via the buttons on the device or a separate program. I’ve already coded that to the point it can send the preset slots and all events. It’s a flutter app, so eventually I may be able to have it working on all platforms. Just Windows for now though.
- It will have 2 analog inputs for continuous controllers.
I periodically post to the Fractal thread mentioned earlier if you want to follow along. My contributions start around page 5.
You’re feedback thoughts and suggestions would be appreciated.
Thanks!