SHQ : Sample Hold Quantizer, by TheTechnobear

shq - sample and hold, with quantizer

sample and hold module with optional quantizer and tranposition

Download :

Change Log

1.3.1 release, re-write using new infra and ui - more details
1.3.0 pre-release

1.0.1 Adjust for pitch cv changes
1.0.0 Initial Release

Developer: TheTechnobear

I develop these plugins for free, please consider supporting my efforts with a donation.

General Usage

SHQ is a quad sample and hold module with optional quantizing.

The intention behind SHQ was to provide both a flexible and easy to use sample and hold module,
and also a simple to use quantizer for common scales.
There are 87 fixed scales, if you need other scales (!) then I would point you to the MTQ module, which is fully customisable.

each of the SHQ 4 instances has its own signal input (SIG) , and a trigger (TRIG) input.

the basic operation is:

on a rising edge TRIG input (> 0.5) the SIGnal is read, and output (along with TRIG output)

if no SIG input is connected, S&H will use a random voltage (unique for each S&H instance)

if the QUANT button is pressed, then the outputs will all be quantised.
the quantisation is based on the SCALE selected and the ROOT note.

Note: This document is based on the LATEST version of the plugin


the module is optimised so that it only evaluate those sample and holds that have outputs connected to them.

the 4 instance of the sample and hold have the trigger normalised.
this means if you connect the 4 outputs to something, and don’t have a signal input for each.
then trigger the first instance, will emit random voltage on all 4 outputs.

essentially ROOT acts as a transposition, where A4 = 0v
This in practice means that you can leave your oscillators tuned to A (default for SSP), and use SHQ to ensure pitches are transposed to a particular key (scale + tonic)


Percussa SSP -


congrats on the release @thetechnobear, looks great!

1 Like

Having a very pleasant afternoon playing with SHQ - using NOI, noise as cv input and LFO saw to trigger SHQ and producing a nice stream of random voltages to plug into an external VCO. I’ve noticed, not a moan just interested, the voltage range of outputs appears to be approx +2.5V to -2.5V. - is that what we would expect? scaling at default 1.

Question - I’ve like to reduce the output range - I’ve used scaling to reduce the output - that makes sense right?

Another observation worth mentioning for info, is initially the NOI settings had the ‘toggle’ setting low, producing +/- 3V output - winding the toggle up toward the very top I’m getting +/- 4.8 approx.

Tomorrow - add in scales! to the experimentations :grinning:

AND big thanks TB for this module! :smiley: :smiley:


cool, having fun is the main goal :slight_smile:

you mean from the internal random generator (ie. no sig connected)
shouldn’t be :

v = (randomGen_.nextFloat() * 2.0f) - 1.0f;

this should definitely be, -1 to 1 , so therefore +/- 5v

if your talking about NOI, I’m not sure , have not checked… but you could scale it up if that’s what your seeing.

I’ll be honest, the internal random on unconnected SIG is really just a quick n’ easy thing, I’d say there is more fun generating a signal (with NOI/LFO) and perhaps even filtering it… to get the ‘control’ you want.

this is a good question
yes, you can scale it up or down the input or output voltages if your using unquantisedvoltages. and that’s why I’ve not added this functionality inside the vst (it be duplicating what the SSP can already do)

however, IF you are quantising the you should scale and offset the input voltage to get the range you want…
I’d not recommend scaling/offsetting the outputs at the moment (due to the way the SSP currently not using an ‘idealised’ voltage i.e. 0.2 is NOT an octave)

sorry, I’ve not really looked at NOI output range much… sounds like a different topic :wink:
(raise a new post… also mention if you are using OUT rather than internal voltage, as that is significant :wink: )

1 Like

The output signal of NOI module, both white noise and toggle, don’t cover entire range.
So, you need scaling the signal if you want to cover the entire range.

And, yes!! SHQ is awesome!! I want to say thanks to @thetechnobear too!


yeah, maybe the NOI is filtered, so that would likely attenuate it slightly.
(as above, the internal random in the SHQ is not filtered, so should be full range)

usually, Im using these noise for subtle tiny random fluctuations, so I have them attenuated right down.
tip: with SHQ, you can just send the attenuated NOI into SIG 1, and its normalled to the other SIG inputs.
(I was inspired with how RndStep works … as I find this a really useful module)

anyway, Im pretty much always scaling and offsetting inputs and outputs on the SSPs network screen, I find it one of the coolest features of the SSP.
(of course, and alternative is to use a VCA, and then you can slowly modulate the attenuation which is a cool thing too)