IOhannes m zmoelnig wrote:
> Derek Holzer wrote:
>> Hi Roman,
>>
>> and thanks. I implemented it in my patch, but it doesn't seem to work
>> right. The looping isn't seamless, in fact there's a "hiccup" at the
>> point where the loop wraps around. In my previous version, I had another
>> function to calculate the offset and start point, so what would work
>> better for me is the the original concept, of an audio [mod~] which
>> would only wrap around the end point of the table.
>>
> 
> 
> like this?
> 

or to put it in your own words: try and find the difference...


mfga.sdr
IOhannes
#N canvas 334 83 885 778 10;
#X text 240 13 0 - 127;
#X text 574 6 0 - 255;
#X text 581 45 127 = normal;
#X text 580 31 255 = lowest;
#X text 584 61 0 = highest;
#X obj 91 516 phasor~;
#X obj 91 553 *~;
#X obj 91 302 / 44.1;
#X obj 91 329 expr 1 / ($f1 * 1 / 1000);
#X obj 61 247 t f f;
#X obj 91 422 sig~;
#X obj 91 450 *~;
#X text 142 302 time in ms (use 48 if sample rate is 48KHz);
#X obj 268 116 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
-1 -1 0 1;
#X text 241 39 127 = whole sample;
#X text 244 60 0 = smallest fraction;
#X obj 251 146 / 127;
#X obj 61 219 *;
#X obj 91 583 +~;
#X obj 452 124 hsl 128 15 0 255 0 0 empty empty empty -2 -6 0 8 -262144
-1 -1 0 1;
#X floatatom 458 193 5 0 0 0 - - -;
#X obj 385 234 *;
#X obj 581 229 / 127;
#X obj 622 134 hsl 128 15 0 255 0 0 empty empty empty -2 -6 0 8 -262144
-1 -1 0 1;
#X floatatom 595 272 5 0 0 0 - - -;
#X obj 598 196 abs;
#X obj 599 172 - 255;
#X obj 250 175 t b f;
#X obj 400 188 t b f;
#X floatatom 324 163 5 0 0 0 - - -;
#X obj 434 153 / 255;
#N canvas 0 22 406 310 wraparound~ 0;
#X obj 87 29 inlet~;
#X obj 87 149 outlet~;
#X obj 87 83 wrap~;
#X obj 87 55 /~;
#X obj 87 113 *~;
#X obj 144 28 inlet total num of samples in table;
#X connect 0 0 3 0;
#X connect 2 0 4 0;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X connect 5 0 3 1;
#X connect 5 0 4 1;
#X restore 91 631 pd wraparound~;
#X obj 551 383 table test_zample;
#X obj 29 21 openpanel;
#X obj 30 -8 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X msg 29 49 read -resize \$1 test_zample;
#X obj 28 76 soundfiler;
#X obj 240 85 inlet loop length;
#X obj 393 86 inlet loop offset;
#X obj 552 85 inlet loop pitch;
#X text 420 60 0 = table end;
#X obj 91 712 dac~;
#X text 121 585 offset loop from start of table;
#X text 126 555 multiply phasor~ by loop length;
#X text 277 329 convert ms to frequency in Hz;
#X text 209 630 <------this needs help!!!!!! without this subpatch
\, loop offset works \, but can go beyond bounds of table. with this
subpatch \, loop offset does not work \, so table bounds cannot be
reached.;
#X text 103 245 number of samples in loop;
#X text 416 16 0 - 255;
#X text 419 32 255 = table start;
#X obj 91 688 tabread4~ test_zample;
#X connect 5 0 6 0;
#X connect 6 0 18 0;
#X connect 7 0 8 0;
#X connect 8 0 10 0;
#X connect 9 0 6 1;
#X connect 9 1 7 0;
#X connect 10 0 11 0;
#X connect 11 0 5 0;
#X connect 13 0 16 0;
#X connect 13 0 29 0;
#X connect 16 0 27 0;
#X connect 17 0 9 0;
#X connect 18 0 31 0;
#X connect 19 0 30 0;
#X connect 21 0 18 1;
#X connect 22 0 24 0;
#X connect 22 0 11 1;
#X connect 23 0 26 0;
#X connect 25 0 22 0;
#X connect 26 0 25 0;
#X connect 27 0 17 0;
#X connect 27 1 17 1;
#X connect 28 0 21 0;
#X connect 28 1 21 1;
#X connect 30 0 20 0;
#X connect 30 0 28 0;
#X connect 31 0 49 0;
#X connect 33 0 35 0;
#X connect 34 0 33 0;
#X connect 35 0 36 0;
#X connect 36 0 17 0;
#X connect 36 0 21 0;
#X connect 36 0 31 1;
#X connect 37 0 16 0;
#X connect 38 0 30 0;
#X connect 39 0 26 0;
#X connect 49 0 41 0;
_______________________________________________
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to