SIM Development thread

I’m bumping this thread because I’ve just discovered Coerce and its freaking awesome. Its exactly what I’ve been trying to patch up - a customisable quantizer! Thank you @soundismovement !!!

2 Likes

Glad to hear you like it :slight_smile:

There are a few more in the pipeline. Perhaps the autumn weather will entice me to resume programming, allowing me to iron out the bugs so I can finish and publish them.

2 Likes

Same for me. I built like ten different patches trying to achieve what this module was capable of all along :slight_smile:

2 Likes

Hello! as a graphic designer I really appreciate the visualization used to denote normalling of quant ins.

This might sound silly, and maybe it is, but since the quant input requires a fairy-specific thing compared to what other common quantizer inputs ask for, it might be helpful to provide a module in the plugin dedicated to producing “poly cable scales”? or perhaps call your input something more specific to your plugin? Either might increase how intuitive the plugin feels to people who might not read documentation… idk. ( also I recognize just blindly asking for a module is rediculous )

1 Like

We have so many great modules here that this conversation reminded me what a great simple module SIM Coerce is. I love quantizing a melody to chords, such as with MelodyGen and Slips.

I would love to see more modules along the lines of Coerce.

2 Likes

Check out my Venom v2.6 beta with the new (not yet released) NORSIQ Chord to Scale module. Coerce is fantastic and compact - perfect as long as you are working with octave repeating scales. My new module is for the situation where you want a non-octave repeating scale. So you can play an extended chord to define a scale, and properly quantize notes that lie outside the range of the original chord.

3 Likes

Thanks for the heads up. Actually, this caught my eye as a result of your post yesterday.

Is it a conscious design decision not to have a trigger input on Coerce? I’m mostly fine with the continuous quantization but in some cases it’d simplify the patch having a trigger input on the module.

I’m wondering if it’d make sense to add a ‘default’ scale? I.e. just to have some chromatic scale available in case the QUANT cable is not connected.

I was also thinking hard about non-octave based scales and to come up with a third option (beside ‘Restrict’ and Octave fold’). Would it make sense to ask for an ‘Interval based’ calculation? I.e. providing a QUANT with 0.25, 0.50, and 0.55 would internally generate a scale of 0.25, 0.50, 0.55, 0.80, 1.05, 1.10, etc. Is there anybody having a view on this?

1 Like

Thanks. As a dancer, I really appreciate your appreciation.

As for your question: I often use the following module to connect to the quant input: VCV Library - Aaron Static DiatonicCV

Yes. Paradoxically, I wanted Coerce to be agnostic of anything discrete. No triggers and no default scales. That way you can use it as a free quantizer, but also as a versatile bit crusher or odd audio convolution module. I don’t think it’s worth adding a trigger input, since the functionality can already be achieved by adding a sample and hold module. But I am open to be convinced it should have a trigger input.

I guess it does make sense to have a default chromatic scale. All I have to do is step over my contrarian character trait. I think it can be done.

I think it does make some sense. But isn’t @DaveVenom’s module Non-Octave-Repeating Scale Intervallic Quantizer (quite a mouth full) capable of that?

1 Like

NORS_IQ (or NORSIQ) among friends.

Oooh - I don’t know why I never thought to feed audio signals into the NORS_IQ “V/Oct” input. Great fun. It almost makes me want to put an oversample option on the quantizer.

For your Coerce you could add a trigger input, and preserve the existing continuous behavior if the trigger input is unpatched. But you are correct, there are a number of polyphonic sample and holds available that would do the trick without any changes to your module. I chose to add the trigger option to my NORSIQ Chord to Scale module.

1 Like

Hello,

I’d like to introduce a few new modules.

image

Expandable modules:

  • Phi: A Sequencer
  • Spike: A Gate sequencer
  • Via: Use the compatible expanders on a polyphonic signal
  • Arr: Value provider (raw/scales/steps/fractions)
  • Bank: Value provider (On/Off)

Input expanders:

  • Reˣ: Change start and length of an Expandable
  • Inˣ: Overwrite data or insert data into an Expandable
  • Modˣ: Per step (im)probability/repetitions/glide for Expandable sequencer

Output expanders:

  • Outˣ: Copy data (individual or normalled) from or Cut data out of an Expandable
  • Gaitˣ: extra sequencer outputs (EOC/Step phase/Current Step)

TODO: (as in, not working yet or anymore)

  • I’ve disabled the phasor clock for the two sequencers since the reverse glide and reverse gate delay seem broken. There might be remnants in the plugin.json and elsewhere.
  • There’s a connection light bug when you have smart rearrangement enabled and drag an expandable over another expanded expandable.

The new modules are currently in alpha. And although there isn’t a manual, I did make two extensive patches that serve as walk throughs explaining and demonstrating most of the functionalities. This way you can immediately tinker with them and hopefully grasp them easily. Here’s a sample of a selection of one of these patches.

Phi1

You can download them here: manual_part1.vcv (9.7 KB) manual_part2.vcv (9.4 KB)

Unfortunately each time I take them for a spin I find a bug. As “not a developer” I use them in my own patches, and it might be the case that code assumes too much of the happy path.

I would appreciate feedback, ideas, feature requests and bug reports (either here or on github).

Over the past few months I’ve seen other modules appear in the library that implement very similar ideas. That’s a good sign. (Hello @DaveVenom, @trickyflemming , Sparkette (couldn’t find your @)).

I hope to iron out the bugs soon so that these modules can find their way into the library. Until then I’m definitely open to suggestions and feature request.


Some exploration tips:

  • Check out the two patches above. (you can ignore the rest of this list if you do)
  • Input Expanders go left and output Expanders go right of an Expandable.
  • Each Expander can be used only once per Expandable.
  • The context menu of most Expandables and some Expanders contain extra options.
  • Everything is relative. The gate duration, glide time, and individual gate delays are all relative to the time between two clock pulses.
  • The order of the input expander matters. In most cases: put Reˣ immediately left of the expandable.
  • Arrˣ can be useful icw the sequencers (or perhaps in general).
    • If you want to have the Nth gate of Spike to ratchet with 5 repetitions, setting Arrˣ “Snap to steps” allows you to dial in (or type in) the number of repetitions without having to worry about voltage levels divided by like 10/16.
    • If you want to delay the Nth gate of the gate sequencer by increments of 3/7ths of a clock pulse you can set the Snap to fraction by picking 3 for the numerator and 7 for the denominator to. …

Enough. Off you go modules. Into the world.

16 Likes

very excited to work with these more. The manual patches are brilliant. Thanks for that!

1 Like

Thank you!

I’ll include a link to these manual patches on the actual manual page. They are much more instructive and tactile than the dry text I wrote that now serves officially as the manual.

I hope you get some good use out of them. They are, in a way, quite un-modular and reflect how I wanted to manipulate melodies and gates when I first started using VCV: easily inject and extract particular values or subsequences into and out of existing sequences in a polyrhythmic kind of way.

Expect more expandables and input expanders, after I clean up and optimize the underlying caching and data passing code some more.

Happy patching.

1 Like

Hello, i must say your modules are very usable and i replaced some older modules with them. The idea of modularity is great and they are quite small. Well done, very good work!

A possible feature request or need some advice: If i put the out extension beside the cv-sequencer all individual cv per step are patchable through the out port. But this seems not possible if will use the out extension beside gate-sequencer. Any ideas? For clarification: i want to grab the individual step-gate from the individual out port. Here i got all gates serialized on gate out port. Regards Karl

And a second question: Is it possible to set repeat for an individual step. Useful for burst or ratcheting individual.

Regards Karl

Thank you very much. Glad you find value in their modularity. I still find them a bit rough. A big performance and functionality update is on the way but might take a little while.

As for your question: Not 100% sure I read your question correct, but I’ll answer the way I understand it. Since OutX is not compatible with Phi (poly cv sequencer), I assume you mean Arr? (I consider it a value provider, not a sequencer).

If you want to grab the individual gates from the gate sequencer Spike, you must switch the mode of OutX from ‘normalled’ to ‘individual’. The little led underneath the ‘n’ on the top. Then the corresponding OutX out port will be high when the connected sequencer passes that gate AND the gate button is on.

If you want a similar function as Arr you can use Bank, which is the gate equivalent of Arr. (ps: there’s a big bug using bank and using its context menu. Will fix it asap.)

Hope that answers your question.

ModX is fully polyphonic. If you connect a 16 channel cable to the reps input of a connected ModX, you can set the number of repetitions per individual gate.

Setting Arr ‘snap to’ steps makes picking the number of repetitions a bit easier.

image

Yes thank you. Think that you understand my question.:+1: I will test your answer.

See you.

Hello, i thank you very much. It’s working as i expected now.

1 Like