MarcBoule / ImpromptuModular

Virtual Eurorack Modules for VCV Rack
Other
95 stars 10 forks source link

PROB-KEY / ADAPTIVE QUANTIZER feature request. #64

Closed ContemporaryInsanity closed 1 year ago

ContemporaryInsanity commented 1 year ago

Would be handy to have a way of copying the adaptive quantizer settings to prob-key, would be even handier if prob-key could work as an expander to AQ and dynamically follow whatever scale AQ is quantizing.

MarcBoule commented 1 year ago

Interesting idea, I'll take a look. I doubt I will do the expander idea, but copying weights/probabilities between ProbKey and AQ does seem easy to implement.

MarcBoule commented 1 year ago

I had coded the copy/pasting in both directions, but it turns out it's way more complicated than I thought for the direction ProbKey -> AQ, because of the many extra data entries inside AQ (timeline, gate durations, etc), i.e. its internal history table, which is something that ProbKey does not have, so I opted to keep only the other direction, namely AQ -> ProbKey. If ever you want a build to test it, just let me know, but I'll likely update the library soon.

ContemporaryInsanity commented 1 year ago

That's all I wanted, surely if you want AQ to follow probkey, just patch probkey into AQ ref inputs? Shame you're not going the expander route, that would've been great, but this is still good, thanks.

Would love a preview build.

MarcBoule commented 1 year ago

Excellent, builds posted here.

ContemporaryInsanity commented 1 year ago

Works great, thanks once more. However... I've since noticed that prob-key occasionally emits a note clearly out of expected range. For example, I have squash at 12 o'clock, offset fully counter clockwise, lock around 95%, this burbles away quite happily, but every so often a note substantially higher (typically by a couple of octaves) than it should be creeps in, which is quite startling. Any ideas? You may need to run it for quite some time for a rogue note to appear but it happens sooner or later. Holding lock opposite for the duration of the loop removes the offending note, or it'll eventually get overwritten by one in expected range, but that can also take a long while.

MarcBoule commented 1 year ago

strange indeed, I'll look into it!

MarcBoule commented 1 year ago

hmm, I'm not sure it's a bug, when lock is at 95%, it can take a while for any steps that existed in the normal range to get replaced with steps in the new offset range. in other words, if PK starts out with all 32 notes in its normal octave range, the behavior you see is perhaps normal. I'll need a precise series of steps to reproduce, along with a patch perhaps.

ContemporaryInsanity commented 1 year ago

Any chance of making AQ polyphonic?

MarcBoule commented 1 year ago

I don't think so unfortunately, I think I'll be keeping that module pretty much as it is now