monome-rack — VCVRack plugin for monome hardware
What is this?
This is a PRERELEASE plugin for the VCVRack open-source virtual modular synthesizer that implements (some of) the Eurorack modules and control hardware designed and manufactured by monome. This is an unofficial community-driven port, and no support guarantees, warranty, or affiliation is implied from any organization mentioned in this document.
This plugin is still in development. The extremely hypothetical release roadmap is here.
This plugin currently includes:
- teletype, an algorithmic ecosystem
- a dynamic, musical, scriptable event triggering platform.
- 8 trigger ins, 1 CV in, 4 CV and 4 trigger outs
- ansible, a multi-mode module
- with a grid, can run the kria sequencer, plus polyphonic versions of the meadowphysics and earthsea modules
- with an arc controller, can run the apps levels or cycles
- 4 CV outs, 4 trigger outs, 2 trigger ins
- white whale, a grid-enabled probabilistic step sequencer
- A 16-step sequencer with a focus on live-manipulation and controlled variations
- 4 trigger outs, 2 CV outs
- Controlled by internal or external clock
- meadowphysics, a grid-enabled rhizomatic cascading counter
- An event sequencer for polyrhythms and rule-based evolving patterns
- 8 trigger outs
- Controlled by internal or external clock
- earthsea, a grid-enabled shape-memory pattern instrument
- A live keyboard that can sequence melodies and recall CV with gestures
- 1 trigger out, 4 CV outs
- Support for monome grid hardware controllers, both current editions and older models, plus virtual versions of the controllers within VCV Rack, in 64, 128, and 256-key flavors.
All of the modules can connect to either a virtual grid or a real hardware grid controller. (Serialosc is required to use real hardware, but no drivers are required for the virtual grids.)
Through the virtual grid, all features of each module are accessible, but some features are awkward to use without multiple fingers on a real grid. Control-clicking (Linux/Windows) or Command-clicking (Mac OS) will allow you to "hold" keys to perform multi-press gestures.
How do I use this?
- Install serialosc.
- Download a release for your platform from the Releases page and place it in your
Rack2\plugins
folder.
More detailed instructions are available in the Rack documentation on installing non-library plugins.
Connecting modules to grids
- Start VCVRack. Add a
white whale
andgrid 128
module to your patch. - Right-click the
white whale
module and select your virtual grid from the list of devices. It should light up. - If you have a hardware grid connected, right-click the module and select your hardware grid from the list. The virtual grid should go dark and your physical grid should light up.
Learning
- The offical docs for the hardware modules:
- Video tutorials for the original "trilogy" hardware:
- Tutorials, videos, and resources for the Teletype hardware:
- VCV Rack-specific tutorials:
Why is this?
In order of importance, the initial goals of this project were/are:
- Provide an easier environment for developing, debugging, and testing new and improved firmware features for the monome Eurorack modules
- Allow users of the hardware modules to practice, experiment, and/or record while away from their systems
- Expose new users to the monome hardware/software ecosystem
- Accelerate development of completely new grid applications
- "Because it was there"
How does this work?
The firmwares for the monome modules are written in C for the AVR32 platform. (More details here.) In this project, these firmware repos are built into separate C shared libraries, together with stub I/O implementations for parts of the AVR32 API. The Rack plugin will load a new copy of this firmware library into memory for each module instance you place, so statics and globals work as expected within each copy of the module.
How can I build the source myself?
See DEVELOPING.md.
Who did this?
The original hardware and firmware projects were initiated by @tehn at monome with contributions from many members of the lines community. See the individual submodule repositories for more details. The VCVRack-specific code in this repository is a separate community effort, and again, no support or warranty is implied.
Michael Dewberry (@dewb) wrote the virtual grid module, the hardware simulation layer, and the VCV module wrappers for white whale, meadowphysics, earthsea, and teletype.
Additional community contributions and feedback are very welcome! Discuss either in an issue here, in the lines thread, or in the thread on the VCV Rack Community Forum.
What's next?
See the release plan for the current thinking, but no promises.
License
The original monome firmware is licensed under the GPL version 2. Panel graphics incorporate elements of hardware panel PDFs licensed CC-BY-SA 3.0.
The new code in this repository is also licensed under the GPL version 2.
The base64, oscpack, and serialosc libraries are licensed from their authors via GPL-compatible licenses according to the LICENSE file in each subfolder under lib/.