Has anyone made a PLL-type adaptive MIDI clock that is derived from a mic input?
I would like such a thing to be able to automatically adjust delay and other tempo-based effects in a variety of synths (soft and hard).
If not, is this possible with Audulous 3? Seems like it should be.
Welcome to the Forum! It’s good to have you with us. It’s possible to build a clock that syncs to an external pulse. Here’s an example: https://discourse.audulus.com/t/master-clock-with-count-in/2517?u=stschoen
I haven’t had any luck building a PLL despite trying several different approaches so this uses a zero-crossing type of frequency detector. It works fairly well as long as the incoming clock pulse is stable. The bigger issue is MIDI. Audulus version 3 can receive MIDI notes, Pitch Bend and CC’s but cannot receive MIDI clock. V3 can’t send any MIDI out at all. The version 4 beta currently supports sending MIDI notes but still has no support for MIDI clock.
I’d love to see what you have for those PLL’s, @stschoen. “Wrong” PLL’s can be fun. I found Mr. Syrett’s efforts on the forum here, that was interesting. In fact it inspired me at the time to try a woggle bug thing in some other software.
Anyway, to the author here, I’m guessing from your post that instead of MIDI clock you might just mean clock, as in a steady gate signal derived from an audio source, if what you want to do is adjust delay time for effects and what not and not try to track someone singing, etc.
A PLL by design tracks frequency, but you also might be able to get somewhere using amplitude and filtering, esp. with drums – when a loud thing in this frequency range happens, use the envelope follower to get a threshold for a gate, then you can reset a timer or use the zero crossing node to get a hz value. It won’t be consistent but maybe something “close enough” might be satisfactory?
The problem that I ran into with the PLL designs I tried was instability in the feedback loop. I tried modeling a couple of hardware PLL circuits and wasn’t able to get anything useful. Audulus sometimes does funny things when using feedback at high frequencies. The zero-crossing node is actually pretty good so long as the input frequency is stable so end the end I decided to take that route.
Yeah, the zero crossing node is useful. PLL’s are an interesting topic. My efforts ended up a little wacky, at some point gave up on accuracy and leaned into “sonically interesting”.
Anyway, some module or other you have built usually ends up in my efforts in Audulus. Such a great collection of tools. Thanks again for all you have done!
Thanks for the complements. Audulus was my entry point into the wonderful world of synthesis and I’ve really enjoyed building things, particularly stuff that other people also find useful. I’m really looking forward to the release of version 4. We’ll have a whole new set of tools to work with.