Help me make my friend a delay-looper


#1

So, my band mate wondered if I could help him with making a delay-looper using Axoloti. I've tried searching the forums. I've tried looking up threads on loopers, tables, pitch shifting etc, but every time I approach a table it just does not seem to work for me. There is something I'm just not getting, and every patch I think might be similar to what I want is either too complex for me to understand or is uploaded with a link that leads nowhere, so it's unavailable. When I try making it from scratch, I either end up with no sound from the table or I get stuck on either not getting it to loop or not having an option of using it as a delay and looper at the same time, or the pitch shifting sounds like a horror movie. The list goes on. After three days of scratching my head I ask if any of you would be so kind as to help me out with getting started. Here's a mockup of what he wants:

So, it's a guitar pedal which would function as a long delay. It has a switch for bypass and a switch to set the feedback so that it keeps repeating forever (like a looper). He wants a toggle to switch the direction of the playback (reading the table forwards or backwards) and a knob that alters the speed of the repeats/loop, preferably in set intervals (octave up, +7ths, +5ths, +3rds, normal, -3rds, -5ths, -7ths, octave down). I figure the part with the intervals might be tricky (impossible?), but even so a normal sweep through the speed would probably work too. Then stuff that I figure should be easy, like an LP filter, mix and knob for delay time. I just need a bit of a starting point with the actual delay-looper, I guess. Any help would be appreciated!


#2

Hello, I think a good starting point for you would be to watch this video by user Mytas (Matthew Tyas), should get you where you want to go initially Mytas fun with delays

He has a few other patching videos (This one too is appropriate for your project) that were very useful to me when I started patching, and is an all round decent chap


#3

All of this doable with axoloti! Have a look at @rbrt's looper objects. He has some example patches that you can use as foundation and then modify to add your features. From looking at what you want you can skip his lrec object and work directly with the ldub object, since you want a continuos recording buffer.

The big question here is what should the time knob do? Should it "speed" up the virtual tape, thus raising or lowering the pitch while making loop length shorter or longer? Or should it move/extend the loop end point? In that case what happens if you have loop in the buffer and extend the time? There will be a bit of "empty" loop if you do so.

The speed and reverse things will be quite straight forwart with the rbrt objects!


#4

Thank you for replying. The first video I used to make my own little delay machine, but I don't know how to make that patch:

A) reverse how it is read so I can get reverse delay/loop
B) pitch shift the delay/loop in intervals (speed up/slow down the playback continuously)

The second video is one I watched when trying to figure this out, but he ended up doing a lot of MIDI stuff and sequencer stuff that I guess just confused me more than enlightened me. I will watch it again and see if I'm able to understand what is relevant and what is not, adapting accordingly.


#5

Thank you! I will try looking at his objects, for sure. I don't know what Irec and Idub entails, but I will have a look!

I imagine the time knob will work like on any other delay pedal, so either compressing or stretching the audio in the buffer so that the pitch either goes up or down.

I will have a look at his objects and get back to you with more silly questions, I'm sure! Thanks again, both of you!


#6

I mainly referred you to Matthews videos because you said you could not "get" tables and in both of those videos he very clearly illustrates how a table is implemented and used, yes after that the videos veer off into him doing his own thing, but ain't that just the nature of AxoLand, just take what you need and use that info to make your own.

Having said that Blindsmyth is right there are objects from the community library that will do what you need Factotum from SSS it does almost pretty much all you describe and more, although it doesn't really overdub, which I use all the time, or Roberts Looper blocks, Luckily rbrt for has a Help file for Irec (Click on Help, the library, community, then rbrt and it's in the looper section)

By looking at both you will get a better understanding of how to work with tables, because that is essentially what rbrts looper blocks are, just a lot more streamlined


#7

You're welcome. As I said check out the help patches.

In that case it might be easier / better sounding to work with delay lines instead of tables.

One important factor is: does it need to be able to synchronize to a clock?


#8

I think I understand, but can I play delay lines in reverse and change the playback speed so that it would produce the different pitch intervals as well?


#9

hmmm actually i don't know. I have tried but never figured out how to get reverse playback on delay lines...

So maybe tables is the better start. If your friend is fine by having the length knob just changing the window that is recorded into I could patch something together for you very quickly. Just as a start.


#10

Hey there made you a simple example patch:
simple delay style looper.axp (8.3 KB)

the looplength makes the window of the table that you record into shorter or longer. You could also do that with the speed inlet to get tape style speed change but this will result in a lot of artefacts, so i would not recomend it.

I think this aproach has many advantages. you can do stuff like retrigger loop start from a sequencer or replace the table read with a granular table etc the sky is the limit :slight_smile:


#11

Oh, man! That looks great! Thank you very, very much! I haven't been able to try it yet, but I will tomorrow, for sure! It ended up looking way less complex than what I had imagined, haha! Again, I really appreciate it! Much love :heart_eyes:


#12

No problem. my looper patches grew so complicated in the last 4 years that I actually enjoy making something so simple and effective :wink:

Note that the speed changes are based on pure intervals, thus giving you perfect fifth, as opposed to equal temperemant fifth. if you want equal temperemant you have to do some math.
but since this is also influences the timing i find it more elegant to stay with the pure ratios.


#13

Could you give an example of what kind of math you would need to do for equal temperament, please?

I've been using an axoloti looper set up very similar to your example above for years now. It works well, but recently I've been wanting to make it equal temperament. I thought i could just multiply the play speed with a decimal value representing the note ratio, but I can't wrap my head around how to do it on Axoloti.


#14

A semi tone up could be attained by multiplying the frequency by the twelfth root of two. Powers of the twelfth root of two will give you the number of semi tones.


#15

thank you! i was going for the more crude approach of using decimal values representing the notes (see for example a list here: https://en.wikipedia.org/wiki/Equal_temperament, under "comparison with just intonation"), but your approach is more elegant :slight_smile: but sorry, my question was unclear:

i don't get how to do this math on axoloti. in pd or max it would be a piece of cake, but on axoloti the numbers doesn't behave like i'm expecting them to. for example, a dial setting of 64, is also = 1 in math calculations. sometimes.

here's an example:

Any suggestions on how to get the output to be 67.8 instead, so I can pitch my looper playback to equal temperament? :slight_smile: