Delay Sync to MIDI Clock


#5

I am not a programmer, so much of the more complicated stuff is lost on me in reference, but I am mathematically and logically capable of doing much of this... Just takes time!

I have not used tables, but looking into them will be on my list.

When changing delay time on many delay devices, pitch shifting is typical behavior... And sometimes really fun. I'm hoping to create a multi-delay where I can add multiple delays together, all set to different clock intervals, so a rapidly changing MIDI clock won't be a common occurrence. Counting the incoming MIDI clock and using math to convert that to a delay time setting could be a viable solution. Does anyone have thoughts on how that could be done? How is the best way to constantly analyze the rate of of the incoming MIDI clock and produce a number from that? If the clock changes, it could then react to that change and shift the math, so ideally it would look at the space between pulses and produce a number from that.

Thanks everyone for the help!


#6

I'm currently looking into using a timer to measure the length of a beat and using it to control modsource which then controls delay time. No great success yet :smile:


#7

Maybe some sort of ability to immediately analyze the clock gets it right up to speed, but also the ability to take in to account the last few pulses helps smooth out small inconsistencies. This kind of analysis could be useful for some sort of tap tempo feature as well. Maybe could be used to watch a MIDI note or CC which could be tapped by an external device via button, trigger, pad, key, etc!


#8

Here's v2, the first one had crackle so I deleted it. But: https://www.youtube.com/watch?v=-yVQqf9MPpA


#9

Cool. I'll have to watch at home tonight on a larger screen so I can see the details of what you did. It looks like you have some custom objects in there. Any chance you can post some files?

Thanks!


#10

They are subpacthes, but this should get you started:

synxdelaytestsimple.axp (12.8 KB)


[Help the noob!] - Convert Midi ppq to LFO frequency
#11

Thank you so much for this. I'll try it tonight. When I get something working I'll report back!


#12

There's a lot of possibilities. You can make it into a subpatch and load multiple instances for stereo stuff like on the video. I imagine it would also be easy to put an envelope follower on the input and use it to "duck" the delayed signal. Or put a soft clipper into the feedback loop, or whatever.

The delay time doesn't sound like it's 100% accurate even with the smoothed control so there's a little "twang" to it but that can be nice too :smile:

You could put a latch object in there to lock the delay time, and only unlatch when you want to detect a new tempo if you don't like the twang.


#13


I've made this to provide my delay readers and LFO's the host tempo, while also having it midi-controlled by specific notes.
Tempo-synced, frequency controlled, note triggered audio-retriggers/mods anyone? :stuck_out_tongue:
ps, I have this thing for 3 days now, but I have 14 years of experience with synthedit, so this is gonna be fun guys!
Got a problem? Tell me and I'll kill it! moehahahaha!


#14

Thanks so much for posting this. Some questions:

1) What is Note 40 doing? From what I can tell it is a manual trigger of the LFO wave. I suppose this would allow you to sequence the note from an external control to have more complex control over the LFO timing?

2) What is Note 39 doing? Again, similar to the LFO, does this allow for manual triggering / sequencing of the delay?

3) How are you controlling clock divisions to control the LFO and delay in relationship to the tempo... for 1/4 notes, 1/8 notes, 1/16 notes, 1/8 triplets, 1/16 triplets, etc?

4) Any chance you might share the file to get someone started?

Thanks!


#15
  1. note 40 controls the rate of the LFO as an integer multiple of the host rate. The gate retriggers the LFO
  2. note 39 controls the division of the base timing based on the host rate.
  3. see point 1. Also, to get other divisions use an integer-control, followed by a "reciprocal" (math, float) followed by a div64 (divide by 64) and multiply this with the frequency to divide it by a given division.
    You could also very well use a multiplexer to select between standard divisions using the velocity.
  4. When I got a nice "total" subpatch that you can use to sync multiple LFO's and delay easily, I'll upload it

#16

Thanks so much!

I have seen some posts around here talking about how to make the Axoloti more accessible to many more people. The generosity of the community members is very helpful. "Total" subpatches like you are mentioning will go a long way towards getting more people comfortable with using the Axoloti for their musical adventures. I suppose being able to easily navigate objects and sub patches within the software will be important as well.

I am very happy to have jumped in to the Axoloti after it sitting by my computer unused for a while as I didn't really know where to start. I'm grateful for everyone's help.


Clock tapping patch
#17

for me it just looks so much like synthedit that it is very easy to go around and think of solutions if a function is "missing".
I guess I'll need to build a whole bunch of subpatches myself to regain all the functions I used in synthedit.


#18

SirSickSik, I remember your name from Synthedit forums. Great to know that you're around and getting in to Axoloti!


#19

@SirSickSik your sync engine looks nice, would you mind posting the patch?


Cpwitz Contributions
#20

hmm, trying to, but I can't seem to locate the subpatch with windows explorer.. it just doesn't show up in the map somehow.. not even if I save as a normal patch..

wow, seriously... trying everything here.. it just won't show up..?!? I'm afraid you'll have to do with the picture...
Though, you'll need to extra divide the delaytime with 3 and multiply with 4 when the clock is coming in at 24 frame rate

oh... FINALLY!
Though then again.. first tried it with a new post, then thought, let's just add it to the former one and closed the loading screen. When I opened the former post and tried to add the file... it was gone again?!? Though, luckily, it was able to re-save the file and show up again (no mention of any overwriting existing files...?!?)
midi clock sync example2.axp (19.1 KB)


#21

Thanks for sharing and thanks for the effort! Maybe the problems you describe are problems of the unfinished test release?

I'm trying out your patch but I'm a bit unsure how to set it up.
I set the delay write to 682ms and choose low rate accordingly at "Low<>High Rate". I connected the blue output that goes to delay read disp to delay read with a conv/interp. To which value should I set the knob at the delay read object? right now it's not syncing and changing delay time only introduces a little glitch but doesn't really change much.

Edit: Generally speaking I'm a bit confused as to how the delay read works. It seems as if the red inlet is only for modulating the pitch, whereas the knob chooses the delay length by choosing the lenghth of window within the sample recorded by delay write.


#22

I would appreciate if you would put an delay into your patch,
so noobs like me could comprehend how to apply your patch to a delay...


#23

I figured it out. No it's time to experiment with subdivisions and filters+saturation in the feedback loop :smile:

midi clock sync example delay.axp (21.7 KB)


#24

Hi there,

I just sketched up something that might be related,it's pretty close to a tap-tempo-object.
what it does roughly,is start counting and then setting a saw-LFO to the corresponding speed.

taptempo_4.axp (4.5 KB)