a 4 voice polyphonic randomized and quantized sequence generator
with just 1 input for the base clock.
clock divider and multiplier for each sequence, a possibility to to set the outs to chords.
the range of each sequence and the octave of it should be controllable by an attenuverter/knob.
4 outs for 1V/oct and 4 corresponding trigger/gate outs
An envelope generator that simulates action potential propagation in a squid axon using the Hodgkin-Huxley model. A gate or trigger input would be current (I) in the model. The envelope output would be voltage (V) in the model.
Inputs: Gate or trigger inputs (with an attenuverter).
Outputs: Envelope out(s).
Parameters: Capacitance, conductance, resting potential (with cv controls for each)
I think that this animated GIF explains why this idea would be cool:
What we see is the voltage (envelope) output with varying amplitudes of voltage (trigger or gate) input. Adjusting the capacitance, conductance, and resting potential parameters would adjust the properties and propagation of the waveform.
Spherical Harmonics synthesizer. The amplitude is determined either by the arg or modulus of the value of a user-specified combination of spherical harmonics, and you scan across the unit sphere in a user-specified fashion.
A signal booster module. audio in audio out, and a knob to adjust amount of signal boost. no coloration. no amp modeling. just bring the audio level up to where its usable in relation to other audio signals, often as gain staging before entering a mixer. currently the only way to do this is to clone a signal and mix the cloned signals together with something like Unity. i have been looking for one for a couple years now. i have asked my friends both users and devs and they havent seen one. its one of the most common questions that i get from new users. how does this module not exist?
A PureData bridge-type module, capable of opening and playing PD patches via the embeddable libpd library.
I was experimenting at something sort of it when VCV Rack was still at its 0.6 incarnation. Basically I heavily based my experiments on a indirect porting the ofxPd addon for openFrameworks by Dan Wilcox in the context of Rack, that is, consuming the libpd_wrapper API through an extension of the PdBase class in the context of the Rack module instance.
I managed to have the audio stream buffer to work, and also to launch the native Tcl/Tk Gui to edit or manually banging/configuring the PD patch on the fly.
But that’s all, my code was simply a rudimentary step-on, and ultimately I’m really not as good at C++ to be able to finalize this kind of project, again the super-fast evolution of VCVRack to version 1++ - and soon 2.0, I see - together with some family problems and lack of spare time made me quit the fun coding.
That said, IMHO a few major issues in this project seem to be:
the cross-platform requisite (compilation and testing)
static linking of libpd in the delivered plugin
the necessity to access the native GUI
synchronization issues
real multi-instance support
With regards to the last point, it has to be said that it’s been in active development in the last year, it has not so long been already implemented in the libpd core code, and AFAIK is actively worked on with regards to related thread-safe issues, extended multi-hook support, and a definitive C++ wrapper implementation (there is lot of github activity in recent days).
Signal booster module. This is definitely needed. An example implementation would be a 4hp module with two columns of jacks, in and out. the out is just 10x the input. that way you can easily get 10x, 100x, 1000x gain. It’s weird that the easiest module to get a high amount of transparent gain is bogaudio LMTR.
Had a quick look at it but it seems to be the opposite of what I mean. It generates an image based on an input signal. I may be very wrong though.
Regarding ANS, In its ‘simplest’ form it generates a sine wave osc. for each pixel with frequency depending of the y position and a amplitude based on density of the pixel (converted to linear gamma 16 bit gray-scale). Move the vertical scan-line in horizontal direction with a speed of n pixels per beat and m bpm as image width. As there are quite some ‘points’ missing for a full wave form the in between points can be interpolated linear or sinc or something more clever I don’t understand. Per step add the all the values for a single column.
To make it more interesting, vary the speed from the ‘recording’, time stretching. Don’t use a simple vertical a scanline but use a (bezier)spline drawn upon the image to sample the pixels and create a oscillator that way. Instead of sine wave oscillators use noise as ARSS optionally does (source is on the linked site).
L-systems ,in addition to the above, are a power full tool for explorations, mostly used in 3D graphics but it can be used for wave form creation, melody creation and even orchestrations. It all depends recursively replacing characters with strings and giving ‘value’ to characters once a string is made. One can crate branches, twigs, think polyphony or grow new roots, think instruments in an orchestra.
If I understand this right, my DHE-Modules Func 6 module might be able to help… up to a point. If you send an input signal to its first channel, then configure each channel to multiply by 2, you get a 64x (i.e. 2^6) signal from the last channel.
That said, if all you want is a signal boost, I can envision a module that would do that with a lot less width than Func 6. An input port, an output port, a knob, and maybe a switch to select the scale of the knob (10, 100, 1000, whatever scales would be useful).
I have a Word document with hundreds of VCV module ideas…here’s a few.
Transcritical Bifurcator:
A module that uses transcritical bifurcation to animate waveforms. You would just need an input, output, Range knob with CV in, and Rate knob with CV in, so I figure you could probably stack two identical bifurcators on top of one another in one skinny module.
Variable Fractal Shaper:
A module that applies fractals to incoming waveforms - meant to be used with multiple VFSs in sequence.
5 knobs, each with CV inputs: Amount, Width, Offset, Skew, and Lacunarity (determines how many instances of the waveform are skipped over in the fractalizing process)
In/Out
Rotating Slope Comparator:
A slope comparator with a 360-degree rotatable angle of comparison
Angle (0-360) knob with CV in
Signal In and External Angle inputs
5 outputs: Match Trig, Match Gate, Above Gate, Below Gate, Difference Envelope (built-in envelope follower that follows the difference between the angle of the input signal and the internal or external angle)
Advanced Syncing Suite:
A module that collects all the various types of waveform sync (most of which almost never get used) under one roof.
2 halves: Active (top) and Passive (bottom).
Active half: 2 inputs (X and Y), Adjustment knob with CV in, selector between Variable Sync (Adj knob = soft->hard), Fixed Threshold Sync (Adj knob = Threshold), Relative Threshold Sync (Adj kob = Threshold), and Reset Inhibit Sync (Adj knob = Threshold); selector also has a CV in for automated cycling, with Slew knob (+CV in) for continuous morphing between types; Cycle Direction toggle (up/down/random), out
Passive half: 2 inputs (X and Y; normalled to Active inputs when left open), selector (with trig in + Slew + Cycle Direction) between Hard Sync, Reversing Sync, Overlap Sync, Phase Advance Sync, and Low Threshold Sync
Uncommon Binary Function Generator:
4 sections, each with 2 inputs (X and Y) and 1 output: Amplitude Modulation (knob goes to 200%), Convolution, Cross-Correlation, and Average
Morphing Triangle Oscillator.
Triangle core with 3 waveshaping knobs: Skew, Step, and Diet (all with CV in)
Skew moves the peak left or right, creating a saw when all the way left and a reverse saw when all the way right
Step puts an S&H on the wave, going from a smooth slide to a staircase to a 50/50 pulse
Diet changes the curve of both slopes from linear (as in a normal triangle) to exponential all the way left and reverse exponential all the way right)
Octave and Fine tuning knobs + FM Amount knob in a row below the 3 morph knobs
All 6 knobs have CV inputs (and possibly CV attenuverters)
1v/oct and Sync inputs
Output
Quadrature Trapezoid Oscillator (like the Doepfer A-110-6):
4 knobs (Exponential Tune, Exponential FM, Linear Frequency Control, Linear FM)
MQTT-Client(s): depending on messages the client receives from the off-rack world it can trigger events, emit voltages etc. Turn your weather station, your home automation system etc. into a music generator.
https://mqtt.org/
Maze: a maze generator and a somewhat stupid maze solver. Track the solvers movements and turn it into voltages.