Andrew
Developer
Posts: 110
Posts: 110
|
Post by Andrew on Aug 14, 2016 11:20:42 GMT 1
Hey people, will probably be updating my TD_Modules pack with some more stuff before the end of the year, part of the updates is some delays and delay related stuff(for people who build there own reverb). Most of my delays use 3point-hermite or 4point-lagrange interpolation, which is much better than than linear interpolation IMHO, CK delays and the native delay2 module use linear interpolation btw. So I'm making a to-do list, as always there will be some specialist modules and some variations, so feel free to suggest any variation that you might like/want/need - I'll try my best to add it if I can, no promises though... My partial list so far: - Regular Delay - replacement for delay2 module, just better interpolation. Max 5sec delay.
- Regular Delay - like above but with lowpass and/or hipass filters in feedback path, maybe low/high shelf filters? Obviously the shelf will be cut only, delay need to be strictly unity gain or they blow up. Max 5sec delay.
- Spacey Delay - low shelf and 1 or 2 extra allpass delays in the feedback path, FYI if you put an allpass delay in a feedback loop the repeats gets smeared over time giving a kind of simple reverb-like effect. Max 5sec delay.
- Allpass Delay - For reverb builders, does not modulate. Max 100ms delay.
- 2nd order Nested Allpass Delay - For reverb builders. Basically and allpass delay with another allpass delay in its feedback loop. Should I do a 3rd order nested allpass delay? Basically an allpass within an allpass within an allpass. Does not modulate. Max 200-300ms delay.
- 2tap Regular Delay - mono in, stereo out. 2 delay lines. Feedback Modes: Normal, Ping-Pong, Matrix.
- Specialist Short Delay - For chorus/flanger builders. With very high quality interpolation, maybe with 6 or 8 point interpolation, still need to do some tests on this one. Max 100ms delay.
I'm still struggling with a reverse delay, so that one is a 'maybe'. Any other variations that you think would be useful? Regards Andrew
|
|
|
Post by KlangManipulation on Aug 14, 2016 22:11:02 GMT 1
wow, that souns great, i hope your delay will solve my stock-delay2 problem if connected to cv/gate. i have an id for ping-pog mode.. it would be cool to say "1 time left, 2 times right, or 2xleft 2xright and so on. ok it could be done with a panning sequenzer too. necessarry? NO, useful? maybe, exciting... yes  a delay with stereo inputs would also be nice. ok you can use 2 delays but i think that saves cpu power. stereo ping pong... revers delay would be awesome. i have an unfinished reverser plugin (like backman), mabe this will motivate me to finish it.
|
|
Andrew
Developer
Posts: 110
Posts: 110
|
Post by Andrew on Aug 15, 2016 19:57:32 GMT 1
wow, that souns great, i hope your delay will solve my stock-delay2 problem if connected to cv/gate. Hmm, what problem is it giving you? Do you use it poly-phonically? Like in physical-modelling/string synthesis? For that you need a specialized delay that receives a Voice/Active pin/command otherwise the delay might be full of junk if SE suspends and then re-awakens a voice. Yeah, a stereo delay sounds like a good idea, will add that to the list. P.S - a ping-pong delay is always first summed mono before being processed, it won't work otherwise. A "1 time left, 2 times right etc etc" delay is usually done with a multi-tap delay, for L/R you'll need a stereo version or maybe just mono-in + output pan, it's pretty versatile that way, and less CPU to do it in a custom module than setting up individual delays to do it. That way you can do: Delay,Delay,Delay, delay or Delay, Delay, Delay, Delay or Delay, delay, Delay, delay. This would be totally doable. Will a 8 tap delay be enough?
Would also dig to make a simple Reverb module for the community someday, I can code a 'good enough for rock and roll' reverb, but the CPU use is still a tad high. The only reverb module that I know of was the DH one, which was a 'Schroeder'-type reverb, that I for one did not like very much, so the trick is to make a reverb that is at least better than the DH one but still with a reasonable amount of CPU usage. I've been playing around with the Keith Barr(RIP) loop-type reverbs, just built from CK modules and need to code an actual module for my new synth project, so maybe I can see if I can adapt that into a slim-version, that hopefully doesn't sound like crap or eats too much CPU...
Keith Barr Loop Reverb
|
|
|
Post by KlangManipulation on Aug 15, 2016 22:31:57 GMT 1
the problem is that it sometimes stucks at 10 volts. i try to build a strumming gate delay. im not 100% sure but i think its a bug. i will try a ck delay soon to check this. but back to ... DELAY Lay lay... 8tab means you have maximum of 8 times repetition of the original signal like a little 8 step sequenzer right? i think 8 would be ok... 12 amazing 
|
|
Andrew
Developer
Posts: 110
Posts: 110
|
Post by Andrew on Aug 19, 2016 10:42:47 GMT 1
the problem is that it sometimes stucks at 10 volts. i try to build a strumming gate delay. im not 100% sure but i think its a bug. i will try a ck delay soon to check this. but back to ... DELAY Lay lay... 8tab means you have maximum of 8 times repetition of the original signal like a little 8 step sequenzer right? i think 8 would be ok... 12 amazing If it gets stuck with polyphony, it's definitely a Voice/Active thing, not really a bug, it may be just that the native Delay2 was not designed to work with polyphony, this should be an easy fix, if that is indeed the problem. And yip, with 8 taps equals 8 repetitions, to do 12 or 16 taps is trivial and would still be cheaper CPU-wise to do it in it's own module rather than separate delay modules. The only slight drawback is max delay time, should probably be 10 or 20 seconds or even more? With 8 taps and max 10 seconds delay maximum separation per tap is 10 seconds / 8 taps = 1.25 seconds max delay per tap. Also sleep-mode is directly related to max delay time, say max delay is 20 sec, if will have to check the buffer for 20 seconds to make sure it's empty before it can sleep.
|
|
|
Post by KlangManipulation on Aug 22, 2016 22:08:17 GMT 1
i think 10 second is enough. i thought about delay functions and a have an idea. what a about a "pre" delay function. a special delay that has a pre delay unit without feedback before the normal delay starts. for a bpm-delay example: pre-delay 1/2 - and after that a normal 1/8 delay with feedback. i hope you know what i mean  some more ideas? yes.... a special delay that dont reduce the volume level. instead it shortens the output... for example.. the sample of delay is 5 seconds. first feedback is 5 secs, second is 4 secs, third is 3 secs.... on and on.. max 16 feedback cycles? would be cool for special effects  a delay with pitchable feedback.... btw what means "matrix" mode?
|
|
Andrew
Developer
Posts: 110
Posts: 110
|
Post by Andrew on Aug 24, 2016 16:51:38 GMT 1
i think 10 second is enough. i thought about delay functions and a have an idea. what a about a "pre" delay function. a special delay that has a pre delay unit without feedback before the normal delay starts. for a bpm-delay example: pre-delay 1/2 - and after that a normal 1/8 delay with feedback. i hope you know what i mean some more ideas? yes.... a special delay that dont reduce the volume level. instead it shortens the output... for example.. the sample of delay is 5 seconds. first feedback is 5 secs, second is 4 secs, third is 3 secs.... on and on.. max 16 feedback cycles? would be cool for special effects a delay with pitchable feedback.... btw what means "matrix" mode? Consider a "pre-delay+delay" added, it's a good idea! For the other idea, it can be done but it is dangerous, multiple feedback paths can easily blow up, basically you're putting a bunch of flangers(comb-filters) in the feedback path...delays always have to satisfy a unitary condition(feedback less than 1), so you need some form of unitary/orthogonal matrix -> rotation, hadamard, householder etc. Depending on amount of feedback taps/times/matrix - it would sound like anything from a highly repetitive/resonant machine gun, to something mildly reverb-ish. And yeah, sorry, for matrix I meant to say ->rotation matrix, though the angle of rotation would be fixed. Left/Right delays need to have different delays time for this to work. This is a nice way to combine stereo feedback and still achieve maximum feedback. Also, just summing Left and Right channels and then feeding it back would actually make the echos Mono! That is why I prefer the simple matrix approach. en.wikipedia.org/wiki/Rotation_matrix
|
|
Andrew
Developer
Posts: 110
Posts: 110
|
Post by Andrew on Dec 1, 2016 17:07:43 GMT 1
revers delay would be awesome. i have an unfinished reverser plugin (like backman), mabe this will motivate me to finish it. Reverse Delay is a real PITA! It is much more complicated than I thought  *If* I ever make a publicly available SEM of it, it will probably have some heavy end-user restrictions, particularly that it can't be modulated, it's actually works more like an oscillator than a simple delay, I spoke about it here: Reverse Delay Mechanics linkThe code posted there has evolved, I added correction code so that the delay won't go out of sync in a BPM implementation, and I'm experimenting with different shapes for the cross-fading atm.
|
|
|
Post by gremwave on Oct 23, 2019 5:24:51 GMT 1
hey Andrew! love your modules. could you give me some insight into how your allpass delay module works? I'd like to get a reverb vst i made working on mac, but i unfortunately can't use your allpass module. is it simply a delay-allpass feedback loop? couldn't get the same smearing with 10+ allpasses. thx!
|
|
Andrew
Developer
Posts: 110
Posts: 110
|
Post by Andrew on Oct 23, 2019 6:38:33 GMT 1
I'm not really understanding the question...is there a potential problem with my module or are you trying to re-create it since my modules don't support MAC? Allpasses have a unity(flat) frequency response over time, while the phase response is dependant on the time and feedback paramenters. My module is the same as the old Chris Kerry one(all single allpass delays should in thery be 100% the same). In practice, it is this:
P.S. I'll only be able to reply again in about 11 hours time.
|
|
Andrew
Developer
Posts: 110
Posts: 110
|
Post by Andrew on Oct 23, 2019 6:43:31 GMT 1
Can also build it in SE with native modules, or the Schroeder one here, there might look different but they are exactly the same(fig2 & fig2.3). Note that in SE 10 Volts is actually 1 (in math).
|
|
Andrew
Developer
Posts: 110
Posts: 110
|
Post by Andrew on Oct 23, 2019 6:52:31 GMT 1
Forgot that I already made a native SE example for someone in 2017. Here it is. Attachments:Allpass Native.se1 (13.15 KB)
|
|
|
Post by gremwave on Oct 23, 2019 18:03:50 GMT 1
Andrew, yes, just looking to rebuild since it is unsupported on mac. being able to open up this native SE example is wonderful. thank you so much. and thanks for these sources!
|
|