Malte Steiner a écrit :
I didnt looked into your patch yet but usually these waveforms are stored in one table as one sample.
Oops, fortunately you didn't looked into the patch, there was, again, a missing abstraction which is attached. It's a kind of autorange but that outputs values between zero and one for a given pair of input range. This abstraction permits to slide between waveforms by adding them progressively
Your tabread object should run through one waveform at a time,
So the functionning seems different because my patch is about getting the average between to successive waveshapes, instead of passing from one to another without transition.
I have to look up how much bytes they are but assume 256, so it runs from 0 to 255 and to switch to another waveform you add n*256 where n is the waveformnumber.
Good, then the amount of samples won't get truncated with using one hundred of different waveforms.
thanks, PC.
Cheers,
Malte
#N canvas 0 0 339 233 10; #N canvas 29 318 179 311 fade-morph 0; #X obj 42 8 inlet; #X obj 41 267 outlet; #X obj 42 114 change; #X obj 41 245 /; #X obj 42 157 -; #X obj 109 50 $2; #X obj 127 118 / 2; #X obj 42 178 abs; #X obj 42 200 -; #X obj 42 222 abs; #X obj 42 135 - $1; #X obj 42 30 t a b; #X obj 80 72 + $1; #X obj 42 91 clip $1; #X connect 0 0 11 0; #X connect 2 0 10 0; #X connect 3 0 1 0; #X connect 4 0 7 0; #X connect 5 0 6 0; #X connect 5 0 12 0; #X connect 6 0 4 1; #X connect 6 0 3 1; #X connect 6 0 8 1; #X connect 7 0 8 0; #X connect 8 0 9 0; #X connect 9 0 3 0; #X connect 10 0 4 0; #X connect 11 0 13 0; #X connect 11 1 5 0; #X connect 12 0 13 2; #X connect 13 0 2 0; #X restore 163 121 pd fade-morph; #X text 161 47 $2 = ending fade out; #X text 161 26 $1 = begining fade in; #X text 148 66 $2/2 = top level; #X text 86 44 inlet; #X text 72 189 outlet = value between 0 and 1; #X obj 163 94 inlet; #X obj 163 145 outlet; #X connect 0 0 7 0; #X connect 6 0 0 0;