EntrianAudio / Rack

4 stars 1 forks source link

Stand alone CV / Gate module? #40

Closed ContemporaryInsanity closed 4 years ago

ContemporaryInsanity commented 4 years ago

We have individual drummer & melody modules, great for on the fly switching between multiple phrases, could we also have a similar CV / Gate module?

vcvrackideas commented 4 years ago

that would pretty nice for recording automation when only this is needed, good idea!

ContemporaryInsanity commented 4 years ago

A further thought. Since I got a Korg Nanopad I've developed a simple touchpad loop recorder (XYGLR, it's in my repo, not documented yet though), phase driven, with three inputs & outputs, x/y pos & gate, it's great fun.

If you do make a separate CV/GATE module (please :) ), could it be along the following lines? Module records, loops and edits 16 channels of CV. The usual phrase selector, clock, reset, run & record, plus three poly inputs, one carries CV to record, one specifies the channels currently being recorded (via gate), one clears the channels (via pulse), poly CV output. As well as using it as a XY pad looper we could also then record from a keyboard poly CV, gates, velocity, aftertouch, mod & pitch and whatever else simultaneously.

PS what is the GMIDI input for on Drummer?

RichieHindle commented 4 years ago

@ContemporaryInsanity : Thanks for the details - that's pretty much how I imagined it would work.

Other than the lack of polyphonic CV recording (#39) it sounds like you could do this with a one-track Timeline instance now, or are there other pieces missing?

"GMIDI" means "General MIDI", which defines a mapping between standard drum instruments and musical pitches, so C1 means "Bass drum", for instance. If you plug a physical MIDI drum kit into a MIDI-CV and then into the GMIDI input of an Entrian Sequencer, you can record your drumming with the right instruments mapped automatically:

image

ContemporaryInsanity commented 4 years ago

Possibly, my issue with Timeline is that it (understandably) uses a lot more CPU than Melody or Drummer and would be overkill for just looping CV. My patches can get quite large so I have to watch for CPU hungry stuff. My generic four channel CV looper uses 0.3%, my touchpad looper 0.1%. Ideally I'd rather use your modules for the editing capabilities they offer, my coding ability / concentration is not really up to that kind of thing any more.

ContemporaryInsanity commented 4 years ago

Hey Richie, hope all is well.

Are you going ahead with this? If not I'll write my own, it just won't be as good :)

RichieHindle commented 4 years ago

I'll need to see how much work is involved - I'll have a look into it this weekend, and then make a firm promise either way.

RichieHindle commented 4 years ago

Still a work in progress, but will definitely happen:

image

ContemporaryInsanity commented 4 years ago

Splendid!

Is this going to be signal type agnostic? I ask as we discussed poly cv elsewhere:

Me: I'd like to be able to record notes along with pitch & mod wheel data from a midi keyboard, I can get around this for now (sort of, in a limited way) using one of my own modules but would be a nice addition to Entrian. Bonus points for aftertouch.

You: How do you see that working? A melody clip for the notes and a simultaneous CV clip for the modulations? Or recording the whole lot into different channels of a CV clip?

Me: The former I think would make more sense, as note data may be polyphonic but mod/pitch isn't?

For poly CV in Timeline I think the former makes sense, but for a pure CV sequencer / looper the latter makes more sense? i.e. I wouldn't expect a vel input here as vel is just another voltage level, same for gates.

RichieHindle commented 4 years ago

The fact that CV notes have velocity is an accident, that should probably be ignored in most cases. All notes in all Entrian Sequences share a pile of properties, and velocity is one of them. I could have hidden it and no-one would have asked me to put it back, but I left it there because to be honest that was easier than hiding it. :-)

So yes, Entrian CV (and Timeline) will support Poly CV recording, just as a set of 16 channels. They don't put any interpretation on the meaning of the channels.

The CV module means you'll be able to record melody and CV simultaneously, by recording the CV into an instance of the CV module. You still can't record both melody and CV into the same Timeline module at the same time, but that no longer matters because you can record into a CV module and then (if you want) copy/paste the track into a Timeline.

ContemporaryInsanity commented 4 years ago

So I'll be able to record notes, vel, mod, pitch, aftertouch and say an x/y pad simultaneously :)

Will we be able to rename Chan 1..16 to something more descriptive?

RichieHindle commented 4 years ago

Yes and yes:

image

ContemporaryInsanity commented 4 years ago

Amusing labels :)

Will there be individual track write (via gate) & clear / zero (via pulse) ?

RichieHindle commented 4 years ago

"Yes" to per-track Gate, "Sort of" to per-track Clear.

Per-track gates work. They're optional, and if one isn't present, it's assumed to be open.

Re. Clear: in the current version, if you plug in a single-channel CV input to record it, you can route it to any channel by arming that channel for recording. The Clear button/parameter then applies to that channel only. If there's no cable plugged in for recording, Clear applies to all channels. In the new version, all that is still true,

In the new version, connecting a multi-channel CV input records into the channels on the wire. There's no concept of routing, or armed channels - a 4-channel wire records into channels 1-4. In that state, the Clear button/input clears all four of those channels (but not any others). If you need to record multiple channels at once, and have the ability to selectively clear them, you'll need to use multiple modules. If you want to, you can then collect your recordings into one place (Timeline or CV) using copy/paste.

ContemporaryInsanity commented 4 years ago

Ok, from your explanation I don't think this will do exactly what I want it to, not sure without getting hands on though.

I need a signal agnostic multitrack looper that can record / overdub (punch in / out) / clear on a track by track basis. NOT a problem, I can develop a module that does exactly that and implement the portable sequence thing so I can then copy to your module for editing purposes, as that's where my rusty coding skills fall short.

"three poly inputs, one carries CV to record, one specifies the channels currently being recorded (via gate), one clears the channels (via pulse), poly CV output" is all I need.

Thanks for all of your work so far. I note from a screen grab posted in the forum a MIDI import option which will be handy. Looking forward to the next release.

RichieHindle commented 4 years ago

Ha, good spot of the MIDI Import feature in that screenshot! Yes, that's also coming in the next release.

As for polyphonic Clear, that's going to be a Yes as well:

image

ContemporaryInsanity commented 4 years ago

Is there an ETA for the next release yet?

RichieHindle commented 4 years ago

Subject to feedback from interested parties, I'd guess the end of August. But I'll be able to give you a build in a matter of a day or two, so you'll be able to use the new features before the official release.

ContemporaryInsanity commented 4 years ago

Splendid, thank you.

ContemporaryInsanity commented 4 years ago

Could we have bezier curve handles (or similar curve facility) in the editor?

RichieHindle commented 4 years ago

You can turn a segment into a J-curve or an S-curve by pointing at it pressing S or J. Press again to embiggen the curvature. Press again to reverse the curvature. Press P to go back to a Plain old straight line.

Possibly the least discoverable feature ever (though the help text in the bottom/left of the editor does tell you about it, sort of).

image

ContemporaryInsanity commented 4 years ago

Ha! I was SURE there was such a facility, thought I was going mad(der). Cheers!

ContemporaryInsanity commented 4 years ago

I'm attempting to record a single channel of vult caudal output, shortly after I hit record it hangs: Screenshot_2020-08-24_16-59-57

Also, any reason that we're limited to -5 to +10? Caudal will output -10.

RichieHindle commented 4 years ago

Ouch. Will investigate. That ~3000 BPM clock is probably not helping. :-)

The VCV Voltage Standards document says "CV modulation sources should typically be 0 to 10V (unipolar CV) or ±5V (bipolar CV)." Does anything use CV down to -10V?

ContemporaryInsanity commented 4 years ago

Ok, that was rather careless, apologies. Working now at a more sensible speed.

You could modulate anything with caudal, which will produce -10.

Now I'm recording caudal in a loop, it records from when I hit record to end of loop, then stops though record light is still on & play head still moving.

Still exploring so just the one channel atm, will attempt looping from x/y pad at some point (three channels).

ContemporaryInsanity commented 4 years ago

Right, that works sometimes.

image

Sometimes it continues recording once looped, sometimes not, other times using the touchpad appears to change the final node value so even though the play head is on the left side, lines on the right side change (difficult to explain).

Do you have a x/y pad to try?

RichieHindle commented 4 years ago

I've just discovered for myself the problems you're seeing with looping, and I'm working on a fix.

My question about CV range stands: do you know of anything use CV down to -10V? In other words, is there ever a practical difference between -5V and -10V? As an example, a Pan input on a mixer is hard left at -5V - going any lower makes no difference.

ContemporaryInsanity commented 4 years ago

Re CV range not sure, I'll experiment. To me it instinctively makes sense that if a CV generator (ie caudal) can generate -10 a CV recorder should record it.

Good hunting :)

RichieHindle commented 4 years ago

You're right that if there are sources that produce -10V then you should be able to record it, but if it's of no practical value then I'm not sure it's worth the extra space in the editor. I'd be compressing the useful vertical range to three quarters of the available space, rather than all of the available space.

(Thanks!)

ContemporaryInsanity commented 4 years ago

Fair comment, but we do have zoom & scroll in the editor, if not in the module panel display.

RichieHindle commented 4 years ago

How do I get Caudal to produce anything outside of -5V to +5V? I can't make it do it, and the manual says "normalized from -5 V to 5 V" for all of the outputs.

ContemporaryInsanity commented 4 years ago

Bottom row:

image

RichieHindle commented 4 years ago

Got it, thanks. Pleased to see that it does actually record, play back, save, load, etc.; it's just the editor that doesn't support it.

ContemporaryInsanity commented 4 years ago

Rationale: The modular spectrum; at one extreme you're constantly considering CV, gates, phase etc and at the other you're pseudo-randomly patching, twiddling knobs & listening, hoping for those elusive happy accidents. Sub -5 territory, which might need the occasional tweak ;)

ContemporaryInsanity commented 4 years ago

Thanks for the update, didn't notice it came from noreply@vcv so responded - doh!

Anyway, some observations:

Recording a loop from caudal, it still occasionally changes the value at the end of the loop instead of the values under the play head, emphasis on occasionally, you may have to watch for several minutes before it does, or you might get lucky. It typically does this for one entire loop, then reverts to expected behaviour, then, some time later, repeats.

Hooking CV out to a poly scope, extra channels appear, if I use bogaudio polymult on the input, as I up the channel count I get more channels out than I'm putting in, this appears true for CV, gate & vel outputs.

When recording the output is very jumpy, when not recording it is smooth as expected.

Output when recording: image

Output after recording: image

PS other modules which will output -10 include bogaudio LFOs & WALKs.

ContemporaryInsanity commented 4 years ago

Further to the above, while recording it looks like the output is rapidly switching between what was already recorded in the previous loop and what is being recorded in the current loop.

EntrianAudio commented 4 years ago

Implemented in version 1.1.17. The suggestion that the editor goes from -10V to +10V is still not implemented - I've raised that separately as #47.

EntrianAudio commented 3 years ago

Linked issue #47 is implemented in version 1.1.19 - the CV editor now goes from -10V to +10V.