Giter VIP home page Giter VIP logo

monome-rack's Introduction

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 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.

monome modules and virtual grid in VCVRack

This plugin currently includes:

  • Virtual versions of the venerable monome grid 64 and 128, a series of open, interactive grid instruments, in 8x8 and 16x8 versions.
  • The white whale 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
  • The meadowphysics grid-enabled rhizomatic cascading counter
    • An event sequencer for polyrhythms and rule-based evolving patterns
    • 8 trigger outs
    • Controlled by internal or external clock
  • The earthsea grid-enabled shape-memory pattern instrument
    • A live keyboard that can sequence melodies and recall CV with gestures
    • 1 trigger out, 4 CV outs

All three 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?

Download a release for your platform from the Releases page and place it in your Rack\plugins-v1 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 and grid 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.

Going deeper

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?

Original hardware and firmware code in linked submodules is by monome with contributions from the community at lines. The VCVRack-specific code in this repository is a separate 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 wrapper 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.

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/.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.