Is there a good method to suppress trigger salvos (red), so that a system only passes the first trigger (blue) and remains refractory thereafter for a defined period of time?
I found a way, but it seems circuitous, as it takes 5 modules. Is there a single module or a more straightforward technique to do this?
I assume you mean salvos, not salves.
All you need is a gate/trigger generator that allows you to control the length of the gate, such as the VCV GATES module. Using one GATES you can convert a salvo of triggers into a single long gate. Adjust the gate length as needed. Add a second GATES to convert the resultant gate into a short trigger.
Clean Gates.vcv (1.4 KB)
If you want to suppress a fixed number of triggers, you can use an Eugene to simply count the number of triggers in a burst and produce a single hit on the first (or whatever trigger you want by adjusting shift). See the top row in the picture.
If there is a variable number of triggers in a burst you can use a gate mod to produce a gate of variable duration on your first trigger. Set the duration to the maximum duration of the burst. Then put the gate produced in a comparator set to distinguish between binary signals and use the trigger output from that to create a trigger for the first pulse. See the second row.
I’m not sure if all gate mods work the same, but with VCV GATES you need only set the gate length to the desired refractory period plus the length of each incoming trigger. You don’t need the total length of the burst. If a second trigger occurs in the midst of a gate, it restarts the gate. Rinse and repeat. So all the triggers in the burst are combined into a single gate. The gate length is never longer than it needs to be, regardless how many triggers in the burst.
There’s more then one way to skin the cat. The behavior of both gate mods is pretty similar, at least if I put the Count Modula one in one-shot mode. I just used the modules I’m more familiar with, good to know that VCV GATES exists
Not really for a defined period of time, but till end of burst.
(you could of course just use the start out)
Salvos indeed! I am using VCV Library - pachde Imagine as a trigger generator and, depending on the pic loaded, there sometimes are salvos that cannot be controlled by the g/t knob.
The double GATES work nicely to suppress the salvos, thank you!
Thank you very much! The Gate Mod/Compare method also works fine.
The Eugene technique is highly interesting and I am sure I will use it in other patches to reduce trigger density. For my current patch it seems less suitable, as the number of triggers is highly variable.
Thank you so much! The Trigger Buffer method is great, but I’m not sure whether it is workable in my current patch. I think Imagine does not provide any END signal to re-arm the Trigger Buffer. I can probably generate it by some other means, but would have to sync it to Imagine somehow.
Smoothing (blurring) the image or scaling the image size can help with the chaos generated by Imagine (it is a beast). Has to be done external to Rack, but if you’re fiddling with an image in an editor, you can shift+click the pic button to quick-load the modified image.
Maybe I should add an option to use the slewed voltages for t/g. In any case, great to seeing Imagine in use!
Thank you for creating Imagine, it’s a marvelous concept!
I would prefer to not blur the source image for visual reasons. And occasionally interspersing a salvo or two as fills can yield a bit if variation, so having some kind of parameter/knob to control their intensity/frequency would be sweet.
Perhaps you also thought about additional controls for voltage-to-trigger. Imagine could then be interesting for phrase creation. For example, min and max thresholds would be useful to create triggers/gates if the voltage output goes below or above them.
Trigger salvos is - sometimes - useful (ratchets, as example).
I think maybe a knob for minimum time to elapse before a new trigger can occur could be one of the simplest and most effective. Current Imagine is very naive on the DSP front.
I have considered options for some image processing on load but haven’t done much to explore what would be most productive (some sort of “smart blur” or wavelet decomposition). I also think it will be useful to implement my original idea for an adjustable read head size that will sample from a larger area, which is effectively a blur (low-pass filter).
I have a visual design for an expanded Imagine with a larger image, with room for more controls and support for multiple read heads.
I was delighted to see someone figuring out how to drive the read head position externally. I didn’t know if that would turn out to be useful.
A minimum refractory time knob would be excellent! Would enjoy using an expanded version of Imagine with the improvements you have in mind.
Perhaps you could also carve out some space on the GUI by moving the ‘Open image’ button to the context menu?
I think the x/y control for the playhead is particularly useful and I’m glad you included it in the module to choose the read area more precisely. At first I thought I couldn’t get it to work because I only connected one of them attempting a straight horizontal or vertical pendulum, until I found that both, x and y need to have an input to overwrite the preset path.