ImpromptuModular
Virtual Eurorack Modules for VCV Rack
Install / Use
/learn @MarcBoule/ImpromptuModularREADME
Virtual Eurorack modules for VCV Rack, available in the plugin library.
Version 2.5.0
Feedback and bug reports (and donations) are always appreciated!
<a id="modules"></a>
Modules
Each module is available in light or dark panels with contrast adjusment, selectable in the right-click menu of the modules. By default the modules follow the global Rack setting ("Use dark panels if available"), but this can be bypassed on a per-module basis, where a fixed theme can be set for a given module. A default contrast can be set, which takes effect only when adding new modules to a patch.
-
AdaptiveQuantizer: Adaptive reference based quantizer.
-
BigButtonSeq: 6-channel 64-step trigger sequencer based on the infamous BigButton by Look Mum No Computer.
-
BigButtonSeq2: 6-channel 128-step gate and CV sequencer based on BigButtonSeq.
-
ChordKey: Keyboard-based chord generator.
-
Clocked/Clkd: Chainable clock generator modules with external synchronization.
-
CVPad: CV controller with 16 programmable pads (can be configured as 1x16, 2x8 or 4x4).
-
Foundry: 4-track phrase sequencer with 32 steps per sequence, 64 sequences per track, 99 phrases per song/track.
-
FourView: A small chord viewer module that shows note or chord names.
-
GateSeq64: 32-phrase gate sequencer with 64 steps per sequence and per-step gate probability control, perfect for adding controlled randomness to your drum patterns (can be configured as 1x64, 2x32 or 4x16).
-
Hotkey: A utility module that sends a trigger when a given key is pressed (mouse must be over module).
-
NoteEcho/NoteLoop/NoteFilter: CV/Gate based delay/looper/filter modules with sample-and-held inputs.
-
Part: A gate splitter module based on an input CV and split point.
-
PhraseSeq16: 16-phrase sequencer with 16 steps per sequence, with onboard keyboard and CV input for easy sequence programming.
-
PhraseSeq32: 32-phrase sequencer with 32 steps per sequence, with onboard keyboard and CV input for easy sequence programming (can be configured as 1x32 or 2x16).
-
ProbKey: Keyboard-based random note generator.
-
Sygen: Synchronous gate enable.
-
Tact/Tact1/TactG: Touch-like CV controller modules.
-
TwelveKey: Chainable one-octave keyboard controller.
-
WriteSeq32/64: Multi-channel 32/64-step sequencers with CV inputs for easy sequence programming.
-
Variations: Sample and hold a CV with addition of a random noise value.
Recommended reading:
-
Expanders for added features and CV inputs
<a id="set-table"></a> The table below shows a comparison of the features available in the Impromptu sequencers.
| | WriteSeq32/64 | PhraseSeq16 | PhraseSeq32 | GateSeq64 | Foundry | BigButton1/2 | | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- | ----------- | | Configuration* | 3x32 / 4x64 | 1x16 | 1x32, 2x16 | 4x16, 2x32, 1x64 | 4x32 | 6x64 / 6x128 | | Clock inputs | 1 / 2 | 1 | 1 | 1 | 4 | 1 | | Outputs | CV+gate | CV+2gates | CV+2gates | Gate | CV+gate+ CV2 | Gate / Gate+CV| | Patterns per track/ channel| 1 | 16 | 32 | 32 | 64 | 2 (banks) | | Song length | - | 16 | 32 | 64 | 99 | - | | Seq. repetitions | - | FWD 2,3,4 | FWD 2,3,4 | FWD 2,3,4 | 0 to 99 | - | | Gate types | 2 | 12 | 12 | 8 | 12 | 1 | | Probability | No | Global | Global | Per step | Per step | No | | Slide | No | Global | Global | - | Per step | - / No | | Edit while runnning | Gates only | Yes | Yes | Yes | Yes | Yes | | Portable sequence | Yes | Yes | Yes | - | Yes | - / Yes |
* Configuration is noted as follows: Channels/Tracks x Sequence-Length. The distinction between channels and tracks relates to clock inputs: when channels are separately clockable they are referred to as tracks.
<a id="known-issues"></a>
Known issues
For sequencers and clock modules, it is advisable to have a Audio module added to your patch and assigned to a sound device in order for the timing and response delays in the user interface to be of the proper duration.
<a id="accessibility"></a>
Accessibility
The RGB values used in the green and red colors in the various LEDs can be tweaked and made more accessible for the color-challenged. This can be done via the ImpromptuModular.json settings file that gets created in the Rack user directory.
Acknowledgements
Impromptu Modular is not a single-person endeavor. Many people have taken the time to suggest improvements and to collaborate on module concepts, graphics, testing, etc. This list of acknowledgements is too large to maintain properly, and so in place of a detailed list of names and participations, I would simply like to extend a big thank you to all that have helped and contributed to the project.
<a id="general-concepts"></a>
General Concepts
Many Impromptu Modular sequencers feature a CV input for entering notes into the sequencers in a quick and natural manner when using, for example:
- a physical midi keyboard connected via the MIDI-CV module in VCV Rack;
- a software midi keyboard (such as VMPK) via the MIDI-CV module (a software midi loopback app may be required);
- a keyboard within VCV Rack such as TwelveKey.
Such sequencers have two main inputs that allow the capturing of (pitch) CVs, as follows: The edge sensitive WRITE control voltage is used to trigger the writing of the voltage on the CV IN jack into the CV of the current step. Any voltage between -10V and 10V is supported, and when a sequencer displays notes via a built-in keyboard or a display showing note letters, non-quantized CVs are mapped to the closest note but are correctly stored in the sequencer.
When AUTOSTEP is activated, the sequencer automatically advances one step right on each write. For example, to automatically capture the notes played on a keyboard, send the midi keyboard's CV into the sequencer's CV IN, and send the keyboard's gate signal into the sequencer's Write input. With Autostep activated, each key-press will be automatically entered in sequence. An alternative way of automatically stepping the sequencer each time a note is entered is to send the gate signal of the keyboard to both the write and ">" inputs.
A concept related to AutoStep, which is called "AutoSeq when writing via CV inputs", can be used to automatically change to the next sequence when a write operation reaches the end of the current sequence. Without this, the writing operations loop back over to the start of the current sequence (default behavior). This can be used to turn the sequencers into very long stepped CV recorders (1024 steps in the case of PhraseSeq32 and GateSeq64).
All edge sensitive inputs have a threshold of 1V. In all sequencers, the duration of the gates normally corresponds to the pulse width (high time) of the clock signal. When sequencers offer an Advanced gate mode and this mode is activated, the pulse width of the clock signal has no effect on the sequencer.
In all sequencers, clicking Randomize in the right-click menu of the module will only serve to randomize the content (CVs, gates, slides, etc., as applicable) of the current sequence. For sequencers with a song mode, no song content is randomized when in SONG mode.
<a id="seq-sel"></a>
Sequence selection via CV inputs
Many sequencers feature SEQ# CV inputs, which can be used to select the active sequence for editing or to externally control the playing order of the sequences. Three different modes are available for these inputs in the right click menu of the modules, under Seq CV in.
- 0-10V: a 0 to 10V input is proportionally mapped to the 1 to N sequence numbers; for example:
- In PhraseSeq16 the mapping is
SEQ# 1-16 <-> 0-10 V - In PhraseSeq32 and GateSeq64, the mapping is
SEQ# 1-32 <-> 0-10 V - In Foundry, the mapping is
SEQ# 1-64 <-> 0-10 V
- In PhraseSeq16 the mapping is
- C4-D5# (or other note intervals): CV levels corresponding to the standard note voltages are mapped to the 1 to N sequence numbers, for example:
- In PhraseSeq16 the mapping is
SEQ# 1-16 <-> C4-D5# - In PhraseSeq32 and GateSeq64, the mapping is
SEQ# 1-32 <-> C4-G6 - In Foundry, the mapping is
SEQ# 1-64 <-> C2-D7#
- In PhraseSeq16 the mapping is
- Trig-Incr: the input is trigger sensitive and moves to the next sequence number every time a trigger is received. A reset can be used to move back to the first sequence.
This feature can be used to play difference sequences consecutively under external control, without using the built-in song mode in those sequencers.
<a id="expanders"></a>
Expanders
A few of the modules feature Expander modules to provide additional functionality via CV inputs or other controls. An expander modules must be added to the right side of the mother module with no space between the two modules. Expanders automatically match their mother module's panel theme, thus they do not have a panel theme option in their right-click menu. Only compatible expanders will work with a given module. For example, the PS-X expander will only work with the PhraseSeq16 a
