Modiy is an open-source hardware interface for modular synthesis. The project is in a work-in-progress status.
- Download release https://github.com/buzzinglight/Modiy/releases
- Unzip and copy
Modiy
folder into theRack/plugins/
folder in your Documents location
- Clone repository into the
plugins/
folder of VCV Rack source code (https://github.com/VCVRack) :
cd plugins
git clone https://github.com/buzzinglight/Modiy.git
- Build plugin (see https://github.com/VCVRack/Rack#building-plugins for help)
cd Modiy
make
- Copy Realtime Message Broker binary (https://github.com/buzzinglight/RTBroker/releases) into
Modiy/res/
folder. Do not copy index.html file. - Launch Realtime Message Broker
- From the webpage opened by Realtime Message Broker, download Arduino source code at the bottom of the page and upload it into an Arduino Mega board.
- After uploading, quit Arduino and open Settings page from the traybar icon of Realtime Message Broker and select the corresponding Arduino serial port in the list
- Launch VCV Rack with an instance of Modiy plugin on your rack (Realtime Message Broker will be automaticaly launched if you closed it).
- Pin number for each potentiometers, switches or patching jacks can be found on the admin page of Modiy : right-click —> Open webpage then select Show pin number (selected by default). Wire components in this way (and add as many Arduino MEGA as needed by Modiy) :
If you want to control VCV Rack from OSC (instead of Arduino), here are the main messages to be sent on 57130
port. IDs of potentiometers, switches or patching jacks can be found on the admin page of Modiy : right-click —> Open webpage then select Show IDs.
/potentiometer/set/absolute <potentiometerId> <abolsute value>
/potentiometer/set/norm <potentiometerId> <value between 0 and 1>
/potentiometer/add/absolute <potentiometerId> <absolute value to be added>
/potentiometer/add/norm <potentiometerId> <value between -1 and 1 to be added>
/potentiometer/reset <potentiometerId>
/switch <switchId> <0|1 : switch off or on>
Be careful, only plug outputs on inputs. However, you can permute the arguments in the OSC messages.
/link <jackId source> <jackId destination> <0|1 : remove or add a wire>
/link/clear