overdubbing looper

Sep 28, 2006 at 9:53pm

overdubbing looper

i want to make a loop machine for guitar performance. i understand the basic principles but im just not entirely sure how to program it so it can overdub a new layer on top of a previous one. it would also be nice to have a buffer with dynamic length so i could start recording, play then stop recording and have that be the loop length. any help is appreciated. thanks!

#27869
Sep 28, 2006 at 10:04pm

Adding to a buffer is possible, but your more likely to want to
bounce back and fourth between 2 buffers. This is digital, no
generation loss ;-)

As for buffer lengths, you must understand that a buffer is an
allotment of memory for your program.
looping is done by setting up two points to loop INSIDE that buffer.

see help for wave~ groove~ and play~

Cycling’s documentation is the best on the planet, its not like
normal documentation where you don’t bother reading it.

-matt

#84821
Sep 29, 2006 at 9:23am

I banged my head against the buffer~/groove~ wall for ages before finally abandoning it. A more successful approach for me has been using tapin~/tapout~. I use two pairs so that you can ‘undo’ as a hardware looping pedal would.

#84822
Sep 29, 2006 at 9:33am

The strategies for overdubbing loops which I have used in the past offer three distinct possibilities:

1. tapin-tapout: the simplest; if you route the outlet from tapout back into the inlet of tapin, you have a basic loop. By putting a volume fader between outlet and inlet, you can use it as a delay. The commands “clear” and “freeze”, or the interruption of the feedback-loop into tapin are the three pertinent commands. Drawback: the loop is cumulative, meaning that you cannot separate the layers which you have added to the loop. By changing the tapout times, you can vary the length of the loop, also while it is looping, but this can lead to a (not at all unpleasant) stuttering effect.

2. multiple buffers: I could just as well say “multiple tapins” (a tapin is basically a memory buffer which continually rereads and rewrites itself). Buffers need more components in order to function, but can be used for pitchbending. Also, you can layer the loops, fading various layers in and out. For me, one of the advantages of using buffers for looping is that I can save the individual loops and/or layers as wave-files.

3. stutter: the stutter object can be used either alone or in a layered setup. It is organized as if it were a tapin-tapout object which sends its contents to a buffer on command, allowing pitchbending. A bit tricky at first, but worth the work to discover its possibilities.

Hope this helps.

#84823
Sep 29, 2006 at 9:56am

#84824
Oct 1, 2006 at 10:41am

>The strategies for overdubbing loops which I have used in the past
>offer three distinct possibilities:
>

no-one ever talks about the fripp~ object – i belive it never was
100% finished but what existed was already quite great!! and since
the author was prowinding the C code (and telling he would happily
let anyone work on it) that seems a great possibility – for those of
you who know how to code, that is

best

kasper

#84825
Oct 3, 2006 at 1:51pm

where is this mysterious fripp~ object?
i can’t find any mention of it anywhere.

On Oct 1, 2006, at 11:41 AM, Kasper T Toeplitz wrote:

>> The strategies for overdubbing loops which I have used in the past
>> offer three distinct possibilities:
>>
>
>
> no-one ever talks about the fripp~ object – i belive it never was
> 100% finished but what existed was already quite great!! and since
> the author was prowinding the C code (and telling he would happily
> let anyone work on it) that seems a great possibility – for those
> of you who know how to code, that is
>
>
> best
>
> kasper

#84826
Oct 6, 2006 at 3:17pm

ipoke~ is wonderful, thank you!

for those looking for fripp~ it seems to be here:

http://www.angelfire.com/dc/swirlee/loop.html

best,
erik

On 9/29/06, Pierre Alexandre Tremblay

wrote:
> You should have also a look on my ipoke~ object, to be able to
> emulate Boss DD-3. Soon to be available as UB.
>
> http://www.no-tv.org/MaxMSP/
>
> pa


http://www.hecanjog.com / http://www.cedarav.com
http://www.luvsound.org / http://www.lovelymedia.org

#84827
Oct 6, 2006 at 4:09pm

I made fripp~ available for win, if someone look for.

f.e

erik schoster wrote:
> ipoke~ is wonderful, thank you!
>
> for those looking for fripp~ it seems to be here:
> http://www.angelfire.com/dc/swirlee/loop.html
>
> best,
> erik
>
> On 9/29/06, Pierre Alexandre Tremblay

wrote:
>> You should have also a look on my ipoke~ object, to be able to
>> emulate Boss DD-3. Soon to be available as UB.
>>
>> http://www.no-tv.org/MaxMSP/
>>
>> pa
>

#84828
May 3, 2007 at 8:36am

hey I am a noob, I know, i just got max a couple days ago, but how does one get fripp~ to work. I have frippmc.help open but all I can do is get the adc~ to turn on. Do I need to put the fripp~ object in a certain folder that max will look in? I should probably spend more time fiddling before going on this forum, but i just thought i’d ask.

thx

#84829
May 3, 2007 at 5:06pm

Nicholas Esterer schrieb:
> I should probably spend more time fiddling before going on this
> forum, but i just thought i’d ask.

yup, and its much easier to start first with the original distribution,
especially the tutorials and examples, before you dive into 3rd party
externals. They can have their own problems…

Stefan


Stefan Tiedje————x——-
–_____———–|————–
–(_|_ —-|—–|—–()——-
– _|_)—-|—–()————–
———-()——–www.ccmix.com

#84830
May 4, 2007 at 1:14am

there was a good patch that shows the basics of what you want posted a few days ago:

#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P newex 180 136 40 196617 trunc~;
#P comment 435 155 57 196617 click-track;
#P toggle 419 155 15 0;
#N vpatcher 20 74 295 334;
#P window setfont “Sans Serif” 9.;
#P newex 142 50 33 196617 < ~ 5.;
#P inlet 93 92 15 0;
#P newex 50 117 27 196617 *~;
#P outlet 50 153 15 0;
#P newex 51 96 41 196617 *~ 0.2;
#P newex 50 71 39 196617 < ~ 10.;
#P newex 50 50 90 196617 pong~ 1 0. 22050;
#P inlet 50 30 15 0;
#P connect 0 0 1 0;
#P connect 1 0 2 0;
#P connect 3 0 5 0;
#P connect 5 0 4 0;
#P fasten 7 0 3 0 147 90 56 90;
#P connect 2 0 3 0;
#P connect 6 0 5 1;
#P fasten 0 0 7 0 55 46 147 46;
#P pop;
#P newobj 361 175 68 196617 p click-track;
#P user scope~ 361 267 491 397 256 3 128 -1. 1. 0 0. 0 0. 102 255 51 135 135 135 0;
#P newex 180 56 35 196617 * 0.5;
#P flonum 179 38 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 46 176 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 249 53 33 196617 clear;
#N vpatcher 20 74 411 372;
#P window setfont “Sans Serif” 9.;
#P message 50 89 14 196617 1;
#P message 93 90 14 196617 0;
#P newex 92 70 38 196617 sel 32;
#P newex 50 70 38 196617 sel 32;
#P newex 92 50 40 196617 keyup;
#P newex 50 50 40 196617 key;
#P outlet 50 109 15 0;
#P connect 1 0 3 0;
#P connect 3 0 6 0;
#P connect 5 0 0 0;
#P connect 6 0 0 0;
#P connect 2 0 4 0;
#P connect 4 0 5 0;
#P pop;
#P newobj 47 71 63 196617 p space-bar;
#P message 47 114 37 196617 $1 10;
#P newex 47 133 32 196617 line~;
#P toggle 47 95 15 0;
#P newex 16 194 41 196617 *~ 0.5;
#P newex 180 232 35 196617 *~ 1.;
#P user scope~ 228 267 358 397 256 3 128 -1. 1. 0 0. 0 0. 102 255 51 135 135 135 0;
#P user ezdac~ 180 267 224 300 0;
#P newex 16 157 41 196617 *~;
#P newex 16 52 31 196617 adc~;
#P newex 180 167 67 196617 index~ loop1;
#P newex 180 116 40 196617 +~ 0.5;
#P newex 180 95 56 196617 *~ 88200;
#P newex 180 75 64 196617 phasor~ 0.5;
#P newex 249 75 104 196617 buffer~ loop1 20000;
#P newex 35 374 63 196617 poke~ loop1;
#P comment 65 96 39 196617 record;
#P comment 217 38 70 196617 playback rate;
#P connect 24 0 23 1;
#P fasten 23 0 12 0 366 213 185 213;
#P connect 23 0 22 0;
#P fasten 26 0 2 1 185 161 111 161 111 317 66 317;
#P connect 26 0 7 0;
#P fasten 26 0 23 0 185 160 366 160;
#P connect 18 0 3 0;
#P fasten 12 0 11 0 185 258 233 258;
#P fasten 12 0 10 1 185 258 219 258;
#P connect 12 0 10 0;
#P fasten 13 0 12 0 21 223 185 223;
#P fasten 7 0 2 0 185 213 40 213;
#P connect 7 0 12 0;
#P connect 6 0 26 0;
#P connect 5 0 6 0;
#P connect 4 0 5 0;
#P connect 21 0 4 0;
#P connect 20 0 21 0;
#P connect 19 0 13 1;
#P connect 15 0 9 1;
#P connect 16 0 15 0;
#P connect 14 0 16 0;
#P connect 17 0 14 0;
#P fasten 13 0 2 0 21 213 40 213;
#P connect 9 0 13 0;
#P connect 8 0 9 0;
#P window clipboard copycount 27;

#84831
Jun 27, 2008 at 10:22am

Hello,
does somebody can email me the ipoke external UB version?
the original website is off…

thanks

#84832
Jun 27, 2008 at 4:16pm

Hnady little patch there leafcutter John thank you. Its saves me a some trouble thank you.

Could somebody please explain why i can’t fill the buffer~ though? It allows me about 1000ms of record then loops over that section of the buffer~ again. I have modified the patch but it happens with the example above too.

Thanks for the time.
J

#84833
Jun 27, 2008 at 5:14pm

Hello,
Since I was the one who originally wrote that patch, I’ll try to explain a little. The *~ object in this patch is configured in such a way that it plays through and records 88,200 samples, which is 2 seconds at 44.1khz sampling rate. If you are using a different sampling rate, you’ll need to alter this patch to make it function properly. If you want to use a different length for the looping buffer, you’ll have to calculate the settings for the phasor~ and multipliers.

AB

#84834
Jun 28, 2008 at 1:35am

Hi, Thanks Andrew for the reply and the cool patch.

I’m trying to work this out but how do I work out work it out so that I can record, as you have defined with space bar, and overdub at 44.1 khz? I understand I need a sampling rate twice the frequency of my sound source but I’m stumped with the other signal boxes. Is there a tutorial you could recommend re-reading?

best
John

#84835
Jun 28, 2008 at 1:01pm

Could somebody please post ipoke~?

Site is down

Thanks

#84836

You must be logged in to reply to this topic.