VCV

This Project's GitHub - VCV Library


Knowledge ~ Github

Context

VCV is a modular synth emulator.
It is a nice first step in developing audio effect. Only making module, you don't have to think too much about interfacing with the sound API and all the other complexity which comes with developing software.

The interface (which can represent most of the work) are based on SVGs. Using a illustrator-like software (Inkscape in my case) to work in a WYSIWYG fashion is way easier than the geometry based approach of JUCE (it does open more possibility for responsive design and evolution of knob design based on the parameter value). On this SVG background, you can layer the functional elements, input, output, switch, knob (which are also SVG with a rotation transform). There are some pre-existing assets for all of this.

For the computational side, vcv gives you a simple function executing at each sample, accessing parameters and in/out is really simple.

The setup tutorial is well made, that’s dear to my heart: coming with no programming background, setting up an environment can be quite hard. Not understanding any of the weird words and encountering endless error messages in the command line.

There are also a lot of examples, especially mutable instrument modules taught me loads of things. They are thoroughly commented, sometimes even with ascii schematics. For me, looking at the work of other is one of the most efficient ways of learning.

All of this let you quickly prototype ideas.

There are some problems with this platform nonetheless, open source is mostly one-sided, vcv get the plug-ins of many free worker while they keep there software closed, asking fork to close to avoid commercial competition. Aria Salvatrice explain all of this much clearer and with a nicer looking website, also touching on community problem that I haven’t got to witness, I don’t hang much on the forum.

Noi Interfaces

Trying to maintain a visual coherence, I set some kind of graphic charter. It can be summarize as a list of rules

Noi Philosophy

There are some rules I try to follow when making modules.
  • If there is a parameter, it must be CV-able.
  • To many times I've been deceived by a fun modulation that I couldn't make happen.
  • There must be an attenuverter on each CV input (except toggle)
  • - I can't emphasize how convenient it is -
  • Use less parameters
  • Noi Modules

    I started with CV modules, this let me avoid most of dsp complexities.

    ~ Dicotyledon is a logical processor, It's really easy to make, I tried to give it a little twist to make it interesting, normalizing the comparator to the switch.

    ~ Sunflower is a bit more new, it's a circular mixer: there are 12 inputs and 1 outputs, leds indicates the selected input, you can blur the selection to add neighbouring input. It can be interesting for audio as well as CV. It works well with ambient and pendular movement.

    Then I dipped a toe into dsp with wilt.

    ~ Wilt was at first a weird (in the bad sense) multi-effect, I was just trying stuff out and putting them in series. It evolved when I tried to implement a reverberation and found a profound well of granular glitch more on this in upcoming research paper.

    ~ Sinensis is a bank of filter. The idea comes from a course from Spitfire audio on making field recording musical, for this they add resonator on a note, thus adding a melodic component and making it playable in a sampler. Instead of one frequence, you can add harmonics to further shape the sound. At a point, I made an Ableton audio rack with multiple band letting me choose the tone I want. It's really not that practical and it's one of the first encounter with the "How do I map parameters to make this unsusable mess a music instrument" question. I ended up with sinensis, 4 parameters :

    The purpose here is, instead of pitching a sample with a resonance, to move the filter around while the recording is playing. A VST version will come later that also accept midi to let you play your field recording with a keyboard.

    ~ Hellebore is following the steps of wilt, playing with reverberation concepts. The goal here is to find interesting ways of modulating and repitch all the buffers inside the reverberation.
    The "Variation Knob" on the left is doing a lot of stuff that are not usually associated on the same parameters :

    In a similar manner than sinensis set the root and then choose the ratio, here, the buffer size set the base buffer size and then you set buffer size ratio.

    - home -