Simple plugin idea (redundant?): pitch class to arbitrary voltage mapper

Hi all!

I ran across (in another commercial product, unmentioned because I’m not sure what the rules are about that right now) some recently released sequencers with an idea that was new to me. They map different functionality to pitch classes; for example, C (in any octave) might ratchet at 2, G (in any octave) might ratchet at 3, etc.

Which got me thinking–an easy way to bring something like this into a modular environment would be a very simple plugin that took an incoming polyphonic V/Oct signal and sent a defined output associated with that note. (To be clear, I’m not talking about pitch recognition from audio, just some simple processing of an existing V/Oct voltage).

For 12TET music, it would have twelve knobs on the front; when a pitch class was detected (within some tuning window) on an input channel, it would output the value of that pitch class’s knob on the same channel. So, for the example above, if you had a square wave tremolo that was tempo-sync’d, C could be set to 0.5, and G could be set to 0.333, to get different ratchet-like repeats for different notes.

I might go ahead and make this, to warm up on the V2 API a little, but I thought I’d see if anyone knew of such a module already. (Obviously, there are lots of ways to do this with existing modules, but I can’t think of any that would be very convenient). I’m aware of (and admire) TheCage, which has some overlap, but I think that’s a little more general than what I have in mind, and I don’t think that it has quite the same features (although I will admit that I have not learned it in its entirety).

Assuming this is non-redundant enough to warrant development, I’d also welcome feature suggestions. Right off the bat I can imagine uses for gate-per-pitch-class, trigger-per-pitch-class, an out-of-tune output (approaching +5 as the V/Oct approached the midpoint between two 12TET notes and jumping to -5 on the other side of the boundary), and maybe some octave shenanigans (a pure octave extraction, like the A of whatever octave the note was in, and/or some integrated way of letting the octave influence the front panel parameter). Anything else?

1 Like

I got a module that takes poly gate and cv and outputs 8 gates. It’s super simple, meant for driving drums from Seq++. AFAIK it’s never been used.

1 Like

Ah, PolyGate! Yeah, I see the resemblance. The gate part of the proposed module would be like a weird matrix operation over that: there would be a polyphonic C gate out, C#/Db gate out, D gate out, etc. and the C gate out’s channels would be high when the input V/Oct channels were (close enough to) a C. So a four-note chord of C4/E4/G4/C5 would show 10V/0V/0V/10V on the C gate out, 0V/10V/0V/0V on the E gate out, etc.

Probably worth thinking about whether the gate and trigger outputs should be ANDed with an input poly gate (as you’re doing). I might make it AND if a poly gate were connected and pass through directly otherwise (effectively, normal the poly gate signal to +10V on all channels).