FAQ & Terms of UseFAQ & Terms Of Use   Wiggler RadioMW Radio   Muff Wiggler TwitterTwitter   Support the site @ PatreonPatreon 
 SearchSearch   RegisterSign up   Log inLog in 

Smoothly variable delay time, tap tempo DIY delay?
MUFF WIGGLER Forum Index -> Music Tech DIY  
Author Smoothly variable delay time, tap tempo DIY delay?
Dave Kendall
Hi all. Department of impossible requests here. . .

Looking for a DIY mono or stereo delay, either digital or analogue, but more or less quiet, which can;

* Accept external CV for continuously variable delay time, with the pitch of the delayed signal changing as it does (like a BBD)
* Accept an external clock signal for tempo-synced delay time.
* Allow delay times of at least 400mS at better than 6K -8K bandwidth- preferably much longer than that.

I'm not too interested in "character" of the delay - feedback filtering etc. will be added during the build.

Nothing I've seen yet has the first two features available at the same time.
The Erica synths delay has *either* continuously variable delay time, *or* sync, whether from the tap button or the sync input. The time control knob and CV input socket become clock divider/multipliers when sync is enabled. (the above conclusion is based on this demo )

Bare PCB, PCB + uProc or full/partial kits would be preferred, rather than ready-built, but I guess ready-made would be OK if there's no other option.

Anybody got any ideas ?

Dave Kendall wrote:

Nothing I've seen yet has the first two features available at the same time.
The Erica synths delay has *either* continuously variable delay time, *or* sync, whether from the tap button or the sync input.

and how should that work? You can set the delay time either or.

You could ask for a 'fine-tune' depending on cv. Maybe Erica will do a custom/alternative firmware that sets the basal time via the clock, and then plusminus a few percent via a cv signal. Not sure if many people need that, though.

Of course, you could also 'fine tune' the clock using a cv signal and see what happens.
Dave Kendall
Yes - I'm quite possibly asking the impossible smile
I'm not a coder, so am guessing here, but perhaps it could work this way;

Incoming clocks are converted to a CV that in turn controls the delay tempo perhaps by varying the system clock/sample rate like the old deltalab rack delays. That bit would require some precision components to scale the CV (log ? expo?) to map it to tempo properly, and would perhaps need a uProc to do the job properly.
Incoming CV is then precision-summed with the CV derived from the clocks - the final sum is what controls the delay time.

It wouldn't be trivial by any stroke of the imagination, but is perhaps possible.

Hmm. Perhaps I should contact Erica synths.
Have you had a look at the Dervish project? It's a pretty fully-featured DIY multi-FX module that has a range of delays and you can also code your own if that's your thing.
No programs with the current Dervish set will will do clock sync delay time and cv controlled delay time together either. Its one or the other.

I don't see any reason why it wouldn't work though. The FV-1 clock sync delay programs work by using a ramp LFO that is reset by each incoming clock pulse. At the next clock pulse, the current ramp level is used to set the delay time & the LFO is reset. There's no reason why another CV couldn't be added to that measured ramp time and then that value is used to set the delay time.
Two downsides i can see to this.

* You'd lose a CV, so you'd lose control over damping or feedback.

* Massive variations in delay time change can result in glitchy artifacts in the sound. The clock sync code takes up quite a few instructions & i'm not sure you'd have enough free to do a reasonable amount of interpolation of the delayed signal. There might be enough for a basic delay. (The instructions lost from the feedback or damping function would probably cover the extra CV handling)
Last night I had a go at converting my dervish simple clocksync delay to clocksync + cv control of the delay time. It does work. I took the CV at the control pot ADC & tried scaling it for varying amounts of control over the delay time, both uni & bi-directional. For adding small variations in delay time, i like it.

The main issue for me with it is when i want to return to "zero CV", & have the delay "locked" to the clock sync. The zero point is roughly halfway in the control pot's travel. For a CV that's scaled in the code to produce a wide bi-directional delay time variation, the pot is quite sensitive, so a small deviation either side of zero impacts the delay time. With the program coded to scale the CV for a small amount of delay time variation, its less of an issue. Uni-directional control isn't an issue, just wind the pot fully CCW. (The input CVs are summed with the pots & the resulting CV presented to the FV-1 control input, so for a bi-directional control you'd need the pot centred).

One thing i didn't bother coding, but would definitely need adding for a finished program, is to detect when the CV is going to take the delay time past the maximum for that patch. Currently it wraps around back to a very short delay. Probably not what most people would want smile

And I didn't get the glitchy artifacts i was expecting. bah. :(
Dave Kendall
aragorn23 - thanks for the suggestion - I actually already had the dervish bookmarked, based on the analogue-ish delay demo sounds in the 12hp dervish thread smile

gbiz - wow ! many thanks for looking into that. Didn't expect that fast a response to what I thought was a semi-hopeless quest ! we're not worthy

When clock-synced, small amounts of delay-time variation is mostly all that I'd need personally, but it would be nice to be able to go a bit mad dub-wise occasionally. Having a CV in for delay-time modulation rather than just a control pot is important for me, as I want to experiment with other wave-shapes and CV signals than just a triangle/sine LFO.

In experiments with emulating tape and BBD delays, I've found that there is a noticeable difference between a delay with LFO-modulated delay time, and a delay fed into a chorus. The former sounds much closer to the originals, and nicer to my ears for a simple echo effect.

For what I hope to use it for, lack of feedback/damping CV inputs are not a big deal, as there would be an analogue feedback loop added to what would essentially be a single-repeat delay with sync and delay mod input. DAMPING would be my personal choice for the CV input to lose.

Would you consider releasing a custom program for the Dervish? I'm fine with a lot of DIY stuff, and have even designed some very basic state-machines using HCMOS, but have never (yet) done anything with code or burning firmware into ICs.

Thanks again for working on it ! smile
NP Dave. I was curious as to how well it would work & how easy it would be to code. I haven't done any fv-1 tinkering for a while, so it was a nice way to lose an evening smile

Something i didn't really make obvious is that as the CV is always there, this won't lock the delay to the clock in the same way as the "only clock sync" delays, unless you manage to get the controls exactly at the "zero" CV. There's always the chance it'll be slightly out. TBH i like that. With bonkers amounts of feedback it gets very interesting smile

Having enough variation to get the delay time up or down to a fraction of the clock sync time (eg a triplet) worked well. I think i was just lucky that i hit a good scaling value to get that at either end of the pot travel. I was plugging random numbers in to see what worked & what didn't.

I'm only using a pot to test it as i don't have a second LFO in my test rig. LFO would be better as once the pot is set at the "zero" point, you can always set the LFO level to 0 to get back to the sync delay time.

In the code, the variation amount is only a change of the CV scaling parameter, so i could do a bank of programs with various amounts of CV scaling, and damping (as thats a fixed amount now), much like the other programs/banks that are already in it.

The code really needs the limit coded to prevent wraparound. I'll try & take a look at that this eve. Once i'm happy with it i'll do an audio demo.
Dave Kendall
That's great news - looking forward to it - thanks ! smile
I did a quick rough & ready noodle this morning & stuck it up on my soundcloud (link at end of this post). This is the regular Dervish "clocksync-simple" program (single tap using the full delay amount, very little filtering) with the additional CV delay time control. There's a small hardcoded amount of damping to replace what would usually be set by the pot/cv. I've added bounds checking so the delay time CV doesn't over/under flow. The scaling used here for the delay CV gives a reasonably wide CV control over the delay time. Personally i think this CV amount is too much, less that just adds a small amount of variation would be better.

This code only needs an extra 8 or so instructions, so it'll fit in some of the more complex delays (dual tap, ping pongs etc).

As the clocksync is setting the base delay time & the CV is summed with this, & the CV won't give a full sweep of the whole delay, the min & max delay times do vary according to the clock sync period. In this track i switch between 1/4 of the clock used for the kick, 1/2 & 1, then back to 1/4.

The soundcloud track is annotated to give a rough description of what's happening. The track notes detail what i've used for the sound sources. The raw sound source is at the start.

Soundcloud linky
Dave Kendall
Well, that was a trippy way to have a late breakfast. Most people have the radio on . . . smile

Sounds like it works, and is quiet enough ! If you were happy to make a version with that program, I'll go for two uDervish 8hP boards, maybe another later when I get some dosh in.

If it's not too much to ask, is it possible to make a program version with NO damping easily enough ? It would be nice to have a totally clean version available.

Many thanks for doing all this. thumbs up
Start as i mean to go on here at gbiz towers Rasta-nana (It's this or the Today program. I'm not sure which is trippier)

The damping code is easy to remove. This version has a reduced amount of CV scaling & no damping on the feedback. CV modulated by one half of Peaks. soundcloud linky

Like this theres enough code steps free now to add some basic reverb or some chorus.

If you want to do external processing of the feedback, i really should think about coding something up that uses both inputs & outputs to allow insertion of external processing. I've talked about doing this before.

(Restock of uDervish PCBs should be with me in a week or so. Ping me an email regarding those).
Dave Kendall
gbiz wrote:
(Restock of uDervish PCBs should be with me in a week or so. Ping me an email regarding those).

Will do ! Thanks smile
Hi Dave, some of the ICs you sent me are going to be used to build the mighty 1-Bit delay by Feedback modules.

See the thread here :

I'm not sure how well it would fit your requirements but it's certainly packing a lot of features and it's a quite an advanced build. Miley Cyrus
MUFF WIGGLER Forum Index -> Music Tech DIY  
Page 1 of 1
Powered by phpBB © phpBB Group