Forums > MaxMSP

loop points no click

January 11, 2007 | 6:35 pm

Hello Volker,

I have another question about the looper you posted the other day
(sorry!!). Basically I was wondering why the pitch slides up and down
while the loop lengths are being changed and if it’s possible to
eliminate this somehow?

Thanks again
Peiman


January 13, 2007 | 12:28 pm

On 11 Jan 2007, at 19:35, peiman khosravi wrote:

> Hello Volker,
>
> I have another question about the looper you posted the other day
> (sorry!!). Basically I was wondering why the pitch slides up and
> down while the loop lengths are being changed and if it’s possible
> to eliminate this somehow?

the loop length and position are only sampled at the loop-points
(sah~ controlled by phasor~)
the phasor frequency depends on the loop length, but it isn’t sampled
only at the loop points but is sent directly to phasor~.
this causes the little glissandi when changing the loop length.

you have to sample the new freqency values only when phasor is
jumping back to the loop beginning – and this requires a feedback
loop, which is not easily possible when working with signal objects.
you can use send~ and receive~ objects to fake it.
it’s not 100% accurate, cause it depends on the signal vector size,
but it works quite ok in this context.
see below.
actually it would be best to have a dedicated external to do this, a
slight modification to phasor~ that only changes its frequency at the
beginning of a new ramp. i think i’ve done something like that when
first experimenting with writing externals.
let’s see if it’s still around…
volker.

#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P newex 486 168 56 196617 receive~ i;
#B color 6;
#P newex 414 183 29 196617 sig~;
#P newex 414 207 49 196617 sah~ 0.5;
#P newex 486 331 42 196617 send~ i;
#B color 6;
#P comment 125 146 100 196617 playbackposition;
#P newex 330 231 29 196617 sig~;
#P newex 330 314 35 196617 sah~;
#P newex 166 207 29 196617 * 1.;
#P user multiSlider 71 161 197 21 0. 1. 1 2680 47 0 0 2 0 0 0;
#M frgb 0 0 0;
#M brgb 206 206 206;
#M rgb2 127 127 127;
#M rgb3 0 0 0;
#M rgb4 37 52 91;
#M rgb5 74 105 182;
#M rgb6 112 158 18;
#M rgb7 149 211 110;
#M rgb8 187 9 201;
#M rgb9 224 62 37;
#M rgb10 7 114 128;
#P flonum 185 121 58 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 107 95 105 196617 info~ pi;
#P newex 355 283 39 196617 < ~ 0.5;
#P flonum 197 244 56 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 233 314 35 196617 sah~;
#P newex 197 277 29 196617 sig~;
#P newex 233 364 79 196617 +~;
#P newex 414 160 49 196617 !/ 1000.;
#P flonum 330 132 54 9 1. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 414 236 55 196617 phasor~ 7;
#P hidden newex 336 83 66 196617 loadmess 77;
#P toggle 252 477 15 0;
#P newex 285 510 31 196617 dac~;
#P newex 285 465 33 196617 *~;
#P newex 302 341 38 196617 *~ 10;
#P newex 414 405 94 196617 trapezoid~ 0.1 0.9;
#P message 123 42 43 196617 replace;
#P newex 123 69 82 196617 buffer~ pi 1000;
#P newex 285 410 46 196617 play~ pi;
#P comment 391 134 100 196617 loop size;
#P connect 2 1 18 0;
#P connect 3 0 2 0;
#P connect 20 0 21 0;
#P connect 18 6 19 0;
#P hidden connect 19 0 21 1;
#P fasten 21 0 16 0 171 233 202 233;
#P connect 16 0 14 0;
#P connect 14 0 15 0;
#P connect 15 0 13 0;
#P connect 17 0 15 1;
#P fasten 13 0 1 0 238 391 290 391;
#P connect 1 0 6 0;
#P connect 6 0 7 0;
#P fasten 8 0 7 0 257 497 290 497;
#P fasten 10 0 5 0 419 272 307 272;
#P connect 5 0 13 1;
#P fasten 6 0 7 1 290 494 311 494;
#P fasten 4 0 6 1 419 455 313 455;
#P hidden connect 9 0 11 0;
#P connect 11 0 23 0;
#P connect 23 0 22 0;
#P connect 22 0 5 1;
#P connect 10 0 17 0;
#P connect 17 0 22 1;
#P connect 11 0 12 0;
#P connect 12 0 27 0;
#P connect 27 0 26 0;
#P connect 26 0 10 0;
#P connect 10 0 4 0;
#P connect 28 0 26 1;
#P connect 17 0 25 0;
#P window clipboard copycount 29;


January 13, 2007 | 5:48 pm


Viewing 3 posts - 1 through 3 (of 3 total)