[PD] Serial abstraction "Schoenberg"

David Powers cyborgk at gmail.com
Fri May 5 23:12:09 CEST 2006


Hello, attached find my first version of "Schoenberg", a simple abstraction
for doing serial permutations. One drawback is, it only does one process at
once, though this could easily be solved with some feedback loop, or with
multiple copies. Maybe in the future I could add the possibility to do more
at once. I may also add an optional modulus of [n... default 12] on the
output, so that if desired, the operations always are within 0->n range and
transposition outside the abstract octave is reserved for a seperate round
of processing.

Anyway, I think it will be useful for me and maybe for somebody else... It
would definitely be useful for teaching, as one could instantly get
different permutations and demonstrate the sound of various serial
operations.

Coming soon: "Boulez", an abstraction to do serial multiplication on
partitioned row segments. (I still have to think about how this should work
in terms of correct inputs).

PS. Why does PD always mangle the text comments I input? My carriage returns
always disappear or are misplaced... This makes it IMPOSSIBLE to make nice
reading help documentation (making me lean towards a pdf help file for the
moment.)

~David
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20060505/b37caa49/attachment.htm>
-------------- next part --------------
#N canvas 401 200 762 459 12;
#X obj 69 11 inlet;
#X obj 392 9 inlet;
#X obj 222 346 outlet;
#X obj 69 46 route ori ret inv rot;
#N canvas 792 26 458 533 inversion 1;
#X obj 20 13 inlet;
#X obj 196 13 inlet;
#X obj 126 115 list;
#X obj 114 67 t b f;
#X obj 251 254 list-abs/list-idx 0;
#X obj 106 161 list-abs/list-math +;
#X obj 163 202 t l l;
#X obj 164 369 list;
#X obj 249 298 * 2;
#X obj 137 413 list-abs/list-math +;
#X obj 34 269 list-abs/list-math * -1;
#X obj 201 336 t b f;
#X obj 137 467 outlet;
#X connect 0 0 3 0;
#X connect 1 0 2 1;
#X connect 2 0 5 0;
#X connect 3 0 2 0;
#X connect 3 1 5 1;
#X connect 4 0 8 0;
#X connect 5 0 6 0;
#X connect 6 0 4 0;
#X connect 6 1 10 0;
#X connect 7 0 9 0;
#X connect 8 0 11 0;
#X connect 9 0 12 0;
#X connect 10 0 7 1;
#X connect 11 0 7 0;
#X connect 11 1 9 1;
#X restore 255 166 pd inversion;
#N canvas 436 169 454 304 original 0;
#X obj 32 20 inlet;
#X obj 222 21 inlet;
#X obj 87 132 list;
#X obj 63 204 list-abs/list-math +;
#X obj 87 74 t b f;
#X obj 63 255 outlet;
#X connect 0 0 4 0;
#X connect 1 0 2 1;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 4 0 2 0;
#X connect 4 1 3 1;
#X restore 49 166 pd original;
#N canvas 724 384 454 304 rotation 0;
#X obj 43 175 list-abs/list-rot;
#X obj 52 77 t b l;
#X obj 42 125 list;
#X obj 118 118 unpack 0 0;
#X obj 43 229 list-abs/list-math +;
#X obj 39 23 inlet;
#X obj 142 22 inlet;
#X obj 43 268 outlet;
#X connect 0 0 4 0;
#X connect 1 0 2 0;
#X connect 1 1 3 0;
#X connect 2 0 0 0;
#X connect 3 0 0 1;
#X connect 3 1 4 1;
#X connect 4 0 7 0;
#X connect 5 0 1 0;
#X connect 6 0 2 1;
#X restore 358 166 pd rotation;
#N canvas 475 130 454 304 retrograde 0;
#X obj 31 167 list-abs/list-math +;
#X obj 36 78 t b f;
#X obj 29 201 list-abs/list-rev;
#X obj 40 122 list;
#X obj 33 243 outlet;
#X obj 30 23 inlet;
#X obj 141 20 inlet;
#X connect 0 0 2 0;
#X connect 1 0 3 0;
#X connect 1 1 0 1;
#X connect 2 0 4 0;
#X connect 3 0 0 0;
#X connect 5 0 1 0;
#X connect 6 0 3 1;
#X restore 144 166 pd retrograde;
#X connect 0 0 3 0;
#X connect 1 0 4 1;
#X connect 1 0 5 1;
#X connect 1 0 6 1;
#X connect 1 0 7 1;
#X connect 3 0 5 0;
#X connect 3 1 7 0;
#X connect 3 2 4 0;
#X connect 3 3 6 0;
#X connect 4 0 2 0;
#X connect 5 0 2 0;
#X connect 6 0 2 0;
#X connect 7 0 2 0;

-------------- next part --------------
#N canvas 353 223 678 457 12;
#X msg 112 213 0 1 2 3;
#X obj 27 290 print;
#X msg 28 84 ori 3;
#X msg 49 115 ret 3;
#X msg 89 180 rot 2 -1;
#X msg 69 147 inv 12;
#X obj 28 34 t b b b b b;
#X obj 28 8 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1
;
#X obj 187 13 cnv 15 450 300 empty empty schoenberg-help 20 12 0 14
-228992 -66577 0;
#X obj 27 252 schoenberg;
#X text 205 46 Schoenberg: An abstraction to perform classic serial
operations on lists.;
#X text 204 283 by David A. Powers. Created May 1 \, 2006;
#X text 206 86 Messages:;
#X text 204 107 ori [transposition amount]: Output a transposed version
of the original row.;
#X text 204 139 ret [transposition amount]: Output a transposed version
of the retrograde row.;
#X text 204 173 inv [transposition amount]: Output a transposed version
of the retrograde row.;
#X text 204 207 rot [rotation amount] [transposition amount]: Output
a rotated and transposed version of the original row.;
#X connect 0 0 9 1;
#X connect 2 0 9 0;
#X connect 3 0 9 0;
#X connect 4 0 9 0;
#X connect 5 0 9 0;
#X connect 6 0 2 0;
#X connect 6 1 3 0;
#X connect 6 2 5 0;
#X connect 6 3 4 0;
#X connect 6 4 0 0;
#X connect 7 0 6 0;
#X connect 9 0 1 0;



More information about the Pd-list mailing list