Module ideas

can you feed the dexter with external VCOs?

super late reply, but I get a lofi distortion effect vaguely like “disintegration loops” by using red noise (from fundamental Noise module) to control the drive amount on a VCF. Passing the noise through a wave shaper, and/or a VCA controlled by BogAudio Walk gets a very nice, controllable effect.

In general, modulating sound processors with filtered noise is a way to add grit.

2 Likes

Yeah I’m also interested on this, or some other module that does FM taking arbitrary carrier and modulation signals. I’ll start to code if there aren’t :slight_smile:

I don’t think it’s possible to modulate an arbitrary carrier. the FM is induced while you you are generating the carrier. I must be misunderstanding here.

Most FM modules take an arbitrary (external) modulator. FM OP is the most popular. (although my Kitchen Sink does more :wink:

1 Like

Yeah, you can AM/RM any two arbitrary signals, but the frequency modulation happens inside the synthesis of the carrier.

2 Likes

Isn’t FM Linear type (i.e. affect frequency directly) a sort of FM? What if I modulate a frequency shifter so? Couldn’t be considered a sort of Linear FM? :stuck_out_tongue:

well, true. since frequency is just the integral of the phase you can get FM by modulating the phase of something. I kind of doubt that you can modulate most frequency shifters at audio rate and get anything good to happen, but you can try. bottom line - your reasoning sounds correct, but I’m skeptical that it a path to a good sounding module. But who knows, maybe?

1 Like

VCV-DJ

TLDR: A sample player / DJ player thing like those by Pioneer, Denon, Native Instruments, etc… I’m probably omitting some stuff in the description below, but it’s a nice starting point. The main inspiration for this module is the ability to setup a DJ workflow in VCV Rack with complicated send/return effects chains that can be beat synced to the track that’s playing.

Parameters

  1. Sample (external data): The song to play; loaded probably through drag and drop / right-click like how most samplers in the library currently function. However, an ability to load from RekordBox, Engine Prime, and etc. libraries would be useful in the future (i.e., with the addition of some a media browser so you can use the module to load songs more easily).
    • Sample Lock (Boolean Switch): an additional right-click context menu option that prevents changing the sample when the song is currently playing.
  2. Sample BPM (Numeric Keyboard Input): The BPM of the sample is analyzed by an algorithm first, but there also needs to be a way to change the BPM manually.
  3. Sample Alignment (Rotary Encoder Knob): The position of sample playback on the BPM grid is analyzed by an algorithm to automatically detect beats in the sample and align the sample in the grid. However, there also needs to be a way to change the alignment of the sample within the grid manually.
  4. Sample Position (Rotational Encoder / Click Sensor): i.e., “needle drop”. Select a point in the sample to play from. This is usually accomplished by displaying the entire waveform and either using a rotational encoder or touch sensor. Both can be done for VCV Rack to provide flexibility.
    • Sample Position Lock (Boolean Switch): an additional right-click context menu option that prevents changing the sample position when the song is currently playing.
  5. Play / Pause (Trigger Switch): Start the sample playback & stop the sample playback.
    1. Vinyl Brake (Knob): an additional parameter can control a vinyl break effect when playback is paused; measured in units of time.
    2. Motor Lag (Knob): an additional parameter can control a reverse vinyl break effect when playback is started; measured in units of time.
  6. Cue (Trigger Switch): Standard cue functionality from players. Jumps to the beginning of the song or wherever the cue-point is set if a cue-point exists
  7. Reverse (Boolean Switch): Reverse sample playback (inverts sample).
  8. Playback Rate (Slider): Control the rate that sample playback occurs at. There is usually an accompanying parameter for controlling the maximal bounds of the rate slider. playback rate is measured in % of BPM and the maximal bounds are typically log2, i.e., 2%, 4%, 8%, 16%, 50%, 100%. IMO replacing the (50%, 100%) tuple with (32%, 64%, 128%) would be nice.
  9. Sample Key / Pitch (TBD): Control the key / pitch of the sample without altering the BPM. This is usually accomplished through algorithms that I’m not currently familiar with. There are many ways to implement this including: (1) a pair of trigger switched, (2) a single encoder knob, or (3) a custom graphical interface).
  10. Jog Wheel (Rotary Encoder): Scrubs through the sample the same way putting your hand on a vinyl would, i.e., for scratching, beat matching, wind-backs, and mangling.
    • the far edge of the jog wheel usually functions as a “nudge” that is used to apply more subtle adjustments to sample playback rate, typically for beat-matching between songs
  11. Performance Pads (Momentary Boolean Switch): 8 buttons that act as performance pads for various sub-features related to sample playback. Some common performance features are:
    1. Roll: Loop for 1/64, 1/32, 1/16, 1/8, 1, 2, 4, 8 beats while the switch is held.
    2. Loop: Create arbitrary loops that can be quantized. The first press for a slot creates the start of the loop point. The second press creates the stop of the loop point and activates the loop. Subsequent presses disable / enable the loop. If the loop becomes activated by the user while the sample position is outside the loop, the sample position will obviously jump to the beginning of the loop; however, if the loop becomes activated by the user while the sample position is within the bounds of the loop, the sample position will proceed until it reaches the end of the loop.
      • quantization level can be set through right-click context menu, i.e., whether it’s on and the granularity: 1/64, 1/32, 1/16, etc…
    3. Hot Cue: Create arbitrary jump points in the sample. The first press of a slot creates an arbitrary hot-cue point in the sample. Subsequent presses change the sample position to that slot’s cue point.
  12. Auto-Loop (Boolean Switch / Discrete Encoder Knob): This functions very similarly to the loop and roll features. The boolean switch is used to activate/deactivate a loop in the song at the current beat. The encoder knob controls the duration of the loop in beats, i.e., 1/64, 1/32, 1/16, etc…
    • Beat Jump (Shift Modifier): When the auto-loop is activated, beat jump changes the start position of the loop. On a lot of players this is accomplished by using a “shift” modifier and extending the functionality of the auto-loop’s encoder. This can be done in VCV Rack as well, or a dedicated knob / pair of trigger switches can be used if it works better that way.

Inputs

Pretty much all the parameters can have CV inputs with attenu-verters. There is one important dedicated input that I can think of though:

  1. Clock: Synchronizes the sample playback to other clocks / players.
    • A boolean switch (i.e., the infamous “sync” switch) will be needed for controlling whether the player listens to the clock input.

Outputs

  1. Sample: the result of sample playback after applying loops, reverse, etc. through the player
  2. Sample Playback: a gate that goes high when the sample is playing and low when it stops. I think it should follow the envelope of the motor lag / break as well.
  3. Clock: BPM signal for syncing other modules to the player. The clock output is active irrespective of sample playback state, i.e., as long as there is a sample loaded, the clock output will send the BPM signal.
  4. Cue: Sends a trigger any time a cue event occurs.
  5. Hot-Cue: Sends a trigger any time a hot-cue event occurs
  6. Performance Loop: gate that goes high when a performance loop is starting and low half-way through the loop
  7. Auto-Loop: Same as performance loop, but for the auto-looper

Lights

Most of the boolean options will have an associated light.

Sample Widget

An additional widget is necessary to show the sample playback. This can be as complicated as the developer would want. There are plenty of excellent examples out there between hardware players and software DJ tools. The most important part, IMO, is to have zoom, show the beat grid clearly, and maybe color code different spectral components (lows, mids, highs).

Design

A rough sketch:

Algorithms

There are a couple of specific algorithms for this module that need worked out, namely, the (1) beat detection algorithm / BPM analyzer, and (2) the key-shifting algorithm.

12 Likes

Did you ever find an expansion module for this?

I came up with this idea a while back when I was bored in math class and played around with my calculator making cool graphs and realized that you can make equations for all the standard sound waves. So here is my idea;

Module name: graphing oscillator

A module that can turn mathematical formulas into sound waves by imputing a equation and chosing a period range that the sound waves would cycle through like 0-360 if you are using degrees or 2pi for radians.

Features: All the standard operations including exponents and roots Should include sin and arcsin at minimum so that all the standard sound waves can be construed Could include constants so that you could make easy adjustments

Design: Would preferably look like a graphing calculator Could have knobs and CV for frequency, constants, and period ranges.

If you are familiar with TI calculators you could include ipart() and fpart() aswell depending on how hard it would be to implement

1 Like

https://library.vcvrack.com/FrankBuss/Formula and https://library.vcvrack.com/VCV-Prototype/Prototype can do this.

3 Likes

it has not happened to you when you are patching then you disconnect a cable and you want have a place to put the tip to connect it later back in your patch?

holder

two rows of Input and output that allow connect cables momentarily , it can allow stick names and if you press a button (or sending a trigger/ gate) the cables will reconnect automatically in the desired place

5 Likes

For this I use(d) Sink SS-112 - 12 Voltage Sinks from Submarine,

The SS-112 provides 12 input sockets which do absolutely nothing. The device is designed to use a minimum of processing power to provide you with somewhere to connect any device which requires an output to be connected for it to behave as you wish.

For the rest of your idea we need some magic I guess :blush:

2 Likes

I use SS-112 and sometimes I forget where a cable was plugged into. I created https://github.com/david-c14/SubmarineFree/issues/149 referencing @David’s post.

1 Like

Sibelle

a score recorder, takes 8 pairs cv/gate, quantizes to a scale, writes out scores in some markup and midi. Expander to make it 16/24/32. because VCOs are good and all, but sometimes it’s good to have people playing your score.

Yes, I like your idea! A module with 8 audio inputs, 8 CVs inputs, 8 Gates inputs, 8 Quantizers ON/OFF, 1 Rotary Selector switch 1 to 8, and a Start/Stop switch. That module’s job would be to create as many (1 to 8) MIDI files according to the value of the Rotary Selector switch. The MIDI files can afterward be inserted into your choice DAW. That’s an awesome idea. Of course, if someone makes that module, it should be ‘clean cut’ presentation like a Doepfer module, and not super compact.

My original intended purpose of this thread was to curate well-thought-out new module ideas, in which the idea-makers agree to “meet the developers halfway” by putting a reasonable amount of effort into their ideas as a courtesy to developers who spend hours of their time reading these ideas and days implementing them.

When I created this thread in December 2019, I had not yet made the guideline that thread topics should only be questions, ideas, or announcements. After some thought, I feel it is best to close this “megathread” (thread of multiple topics) and encourage users to create a separate thread for every new module idea. Threads will be moderated under the Rules for Plugins & Modules category as normal.

If you have a module idea, feel free to create a new thread in the #plugins category.

3 Likes

To those who posted in this thread: feel free to contact me if you’d like your module proposal/idea to be moved to a new separate topic.

1 Like