I’m happy to announce that the EnigmaCurry
modules are now freely
available in the VCV Rack Library!
Transport is a
DAW-style play/stop/record state controller with quantized punch-in
and punch-out record timing. When paired with a recording device (eg. Lilac
Looper) it lets you
record audio for an exact number of clock cycles (bars) and loop it.
In order to get the perfect loop, the recording can be quantized
(Quantize Arming
) so that it starts exactly on the next bar, x2, x4
etc. Transport has buttons on-device for PLAY
, ARM
recording,
and RESET
(stop). You can also control Transport from an external
transport like
MIDI-CV and by
your host DAW.
Latch is a utility dual module that contains (32 polyphonic) flip-flop latches with discrete trig and reset inputs.
These modules are free and open-source (GPLV3+ and/or MIT dual-license). You can find the manual and all the source files in my github repository.
Here’s an introduction video for both modules, where I demonstrate how to build a live/loop recording platform from scratch (in 20 mins):
Here are a few things that I forgot to mention in the video, but that are covered in the manual:
-
You don’t have to copy everything I do in the video, there are numerous pre-made
Transport Looper
patches available for download from the github source repository, and are listed in the manual. -
In the video, I only showed how to record a 4 bar loop, but you can set the
LENGTH
to anything from 1 to 128 (and you can set theIncoming clock divider
menu option for extreme lengths). You can also disable theLENGTH
and still be able to record quantized:- Press
PLAY
on transport. - Disable the
LENGTH
by pressing the button (The light turns off, and the length turns to a white color). The length is now ignored. - Find
Quantize Arming
in the menu and set it to your desired quantization length. For example, choose4
. - Press
ARM
on transport. It will start recording on the next play count that is a multiple of4
+ 1. - Because
LENGTH
is disabled, recording will continue indefinitely. - When you press
ARM
again, it will wait until the record count is a multiple of4
+ 1, and then stop recording. - Thus you can record manually, starting and stopping, and still chop it to a length compatible with your clock.
- Press
-
Transport has triggers and gates for almost every input and output. This should let you hook it up to a wide array of devices, not just Looper. You can also turn the
PLAY
button/input to be a latch (stays on once triggered) or a toggle button with thePlay button is toggle?
option in the menu. You can always use the discreteRESET
button/input to stop Transport. -
Transport has configurable
On Start
andOn Stop
actions in the menu, very similar to what CLKD has. For the patch in the video, you need to set Transport’sOn Start
toNo action
, andOn Stop
toSend Reset
. (I had already set these options before the video started, and they are correct if you download the patch from github.) -
Transport has a
LOOP
output that triggers each time theLENGTH
counter is reached in play mode (whether recording or not). If you have a recording stored in Looper, and you stop it, and then when you play it again manually, it will (very probably) de-sync from the original clock and so it will be out of sync with everything else you have playing. You can use theLOOP
output of transport to re-trigger Looper:- Press
Stop
on Looper. - Attach the
LOOP
output of Transport to the main button input of Looper and wait for it to trigger once, to start the playback. - Immediately disconnect it from
LOOP
before it loops again (you don’t want it to fire twice, or else Looper will go into overdub mode.) - Your Looper is now playing in-sync with the original transport clock.
- Press
-
Although Looper can record up to 16 channels of audio, you don’t have to connect that many. In the video, I only connect a single monophonic source. Looper has an option in its menu to switch recording from a single track (or stereo pair) to a polyphonic <=16 channels multi-channel .wav file.
-
There is an example patch selection for recording 8channel stereo here. Use VCV Rack’s
Import selection
feature to load it.
If you have any questions or comments, please feel free to speak them in this thread. If you have suggestions, or find bugs, please open an issue on the github issue tracker. Thanks!