Janus KEY
Key assigner and voice spread · Vulpus Labs
Janus KEY converts MIDI notes to CV signals. It assigns each active note to a stack of polyphonic channels, and fans out control signals across each stack for detuned unison, stereo separation, and other more creative uses. You can have each note you play voiced by multiple polyphonic channels, each with a different pulse width or LFO rate feeding the vibrato.
It also offers flexible note-stealing rules, mono and legato modes, and a retrigger output for co-operating envelope generators such as Janus ENV. The control signal from an envelope generator can be fed back in to inform the note-stealing algorithm so that it picks the quietest releasing channel first.
IN
MIDI IN — receives note on and off, pitch bend, the mod wheel (CC1), the sustain pedal (CC64), channel aftertouch, and the two panic messages (CC120 and CC123).
Transport start, continue, stop and reset all release every held note.
LEVEL — optional poly input, fed back from your envelope's output.
With nothing patched here, the module cannot tell a note that has finished ringing from one still sounding, so any released voice is fair game for note-stealing. With it patched, the engine will first choose a wholly quiescent channel and then, failing that, the quietest one.
KEYBOARD
WIDTH
1 to 16 lanes per key. One key claims a stack of adjacent lanes, and the stack is the unit of everything after it: a note-off releases one, a steal takes a whole one, and so on.
At 1 this is an ordinary sixteen-voice assigner. At 16 every lane plays one key — unison. In between you are trading polyphony for thickness: four keys of four lanes each, two of eight, and so on.
Changing WIDTH applies from the next note on.
ORDER
Which free stack a key takes next, when you are playing faster than the voices are releasing.
- FIXED — picks the lowest free stack. A repeated staccato key lands back where it was and cuts its own tail each time.
- ROTARY — picks the next stack round from the last one used. A repeated key walks the pool and leaves each tail ringing, so releases overlap and the sound is smoother and less controlled.
- NEAREST — the stack whose last note was closest in pitch.
Use NEAREST when something downstream glides. With a slew limiter on the pitch output, every lane slides from whatever it last played — so which lane a key lands on decides how far it slides. The other two orders know nothing about that, and a chord change comes out as one small slide and three swoops. NEAREST hands each key the lane with the least distance to travel.
Under NEAREST, nearness outranks silence: a nearby voice still ringing is taken before a silent one an octave away, because the point of the mode is to keep the glide short and a long sweep is more conspicuous than a clipped tail. Under the other two orders a finished tail always goes first.
MONO
One key at a time, on one stack of the width WIDTH asks for. The rest of the pool goes dark.
The two controls do not fight: MONO at width 1 is a single voice, at width 8 an eight-lane detuned unison with eight lanes spare. If you want a narrow mono lead, turn WIDTH down rather than your host's polyphony.
Priority is last note. The most recently struck key sounds; letting it go falls back to whichever key is still down and was struck most recently before it. (Great for pedal tone licks!)
Releasing a key that was not the one sounding changes nothing you can hear — but it does leave the stack, so it is no longer there to fall back to.
LEGATO
Whether overlapping keys retrigger, in MONO.
- Off — every key gets its own onset: a new TRIG, a fresh draw on the random fan, an envelope that starts again.
- On — a key struck while another is still down changes the pitch under a note that goes on sounding. Play overlapping for slides, lift between notes to retrigger.
The gate never dips either way. The gate means "a key is down", and through an overlap one continuously is; retriggering is what TRIG is for. Falling back to a held key obeys LEGATO for the same reason — a key is down throughout, so the note never stopped. A phrase starting from silence always begins properly however the button is set.
Nothing in POLY reads it. Overlapping keys there land on stacks of their own, which is what polyphony is.
BEND
0 to 12 semitones, each way, at full deflection of the wheel, in whole semitones. It loads at one; set it to two for the range most controllers assume, or to twelve for an octave.
This sets the range only. BENDER on the output side is the wheel's own position as a voltage, unscaled and unaffected by this knob.
SPREAD
What makes the lanes of one stack differ from each other. At width 1 there is nothing to spread and this whole band is inert — except under the random law, which detunes a single voice too.
DETUNE
0 to 100 cents, the whole chord's spread. Zero is exactly no detune, bit for bit.
The span is the total width of the stack, so at 100 cents a four-lane stack puts its outermost lanes 50 cents either side of the note. A few cents thickens; twenty is obvious; the top of the travel is an effect rather than a tuning.
CV and AMOUNT — a mono input with its own attenuverter. Full deflection covers the whole span
rather than offsetting the knob by a fixed number of cents, so it means the same thing wherever the
knob is left: at +1 the chord is as wide as it goes, at −1 it is in unison, from any starting
point. The knob is where the modulation departs from, and the ends clamp.
Mono, and deliberately so. A detune span is the chord's width — it is what the lanes are spread across — so a per-lane version of it would be sixteen answers to a question with one. The laws below are the per-lane control.
LAW
How the lanes are laid out across the span. The DISTRIBUTION legend beside the selector shows
each one as sixteen dots on a bipolar axis: no deviation down the dotted middle, full detune at the
− and + ends.
- LIN — evenly spaced, edge to edge. The plainest reading of "spread", and the one to start with.
- GEOM — every lane moves outward, the ends stay pinned, and the gaps crowd at the edges while the middle opens up. What it makes is a hollow stack: two clusters at the extremes with little in between — the wide, edge-heavy shape of a detuned supersaw.
- RAND — a draw per lane, taken when the lane is claimed and held for the note. Not a modulation source: only this module knows when a lane is claimed and how long the note lasts.
RAND draws at width 1 as well, unlike the other two. There is nothing to fan between, but a single voice landing slightly off is per-note tuning error — most of what makes a stack of analogue oscillators sound thick.
The law applies from the next note on, like WIDTH. The span reaches notes already sounding, because it is an amount rather than a shape.
OUT
NOTE — one per voice
| jack | what it carries |
|---|---|
| V/OCT | 1 V/octave, with detune and bend in it. 0 V is C2 |
| GATE | 5 V while a key or the pedal holds the note |
| VEL | velocity as 0 to 5 V, held for the note's whole duration |
| TRIG | one sample at 5 V at every onset |
TRIG fires at onsets a gate cannot show — including a lane claimed again while its gate is already high, which is what a retrigger is. Patch GATE to an envelope's gate and TRIG to its retrigger input.
Pitch holds; everything else falls to zero. A releasing voice keeps its pitch and its fan positions and drops its gate. The gate is the only output that means "the key is up"; the rest belong to the note, and the note is still sounding in whatever is downstream. A pitch CV snapping to 0 V under a release would sweep it three octaves down on its way out.
FAN — one per voice, one jack per law
LIN, GEOM and RAND, each ±5 V at the ends of the stack, all three available at once.
These carry a lane's position in its stack, not a pitch — a per-voice modulation source that knows something nothing downstream can work out for itself: which lane of which stack a voice is, fixed the moment the key was struck and held for the note.
There is no amount control on any of them, because everything you will patch them into has an attenuverter of its own. Patch LIN into a filter's cutoff so the stack opens as a fan; patch RAND into an oscillator's phase, a pan position or a filter offset and every voice lands somewhere of its own.
The three are independent: RAND's draws do not shift when you change the DETUNE law.
COMMON — one per keyboard
| jack | what it carries |
|---|---|
| HELD | 5 V while any voice is held |
| PHRASE | one sample at 5 V when the keyboard goes from empty to played |
| BENDER | the wheel's position, ±5 V, centre exactly zero |
| MOD | the mod wheel, CC1, 0 to 5 V |
| PRESS | channel aftertouch, 0 to 5 V |
These are what the mono half of a patch takes. A poly cable into a mono jack hands the destination lane 0, and lane 0 is not the keyboard — it falls silent in the middle of a phrase the moment a note moves somewhere else.
PHRASE is a phrase mark, not a note mark. Notes added to a chord already sounding do not fire it, and neither does a steal. It is the rising edge of HELD — the event you want for arming a delay or restarting a sweep once per phrase. If you want a pulse per note, that is the per-voice TRIG.
The last three are channel messages: one MIDI channel has one mod wheel, so a poly output carrying the same number sixteen times would be a lie about where the signal came from.
Notes
0 V is C2, MIDI note 36 — this rack's convention. An oscillator built around C4 would play two octaves above whatever you patched into it.
A releasing voice is as free as an idle one. Letting go of a key returns its voice to the pool immediately; it does not wait for the tail to finish. That is what makes FIXED the tight, tail-cutting order it is. Patch LEVEL if you want tails protected.
A repeated key takes its own ringing tail first, once LEVEL is patched. Re-cutting a decaying copy of the note you are playing is the least audible steal there is. Not under ROTARY, whose repeated keys are meant to walk.
No reviews yet. Be the first to review this product!
Janus KEY
$10.00