[PD] newbie: Feedback and questions

Hans-Christoph Steiner hans at eds.org
Fri Dec 1 05:27:00 CET 2006


What kind of question is that?  You think you can just come here and  
be all friendly and expect a response?!?
;-)   ;-)   ;-)   ;-)   ;-)   ;-)   ;-)   ;-)   ;-)   ;-)   ;-)   ;-)

Ok, hope the tone came across right there...  Sounds like a  
interesting use of Pd, I always like to hear about things being  
stretched a bit here and there.

.hc

On Nov 30, 2006, at 8:44 AM, David F. Place wrote:

> Hello PD Virtuosi:
>
> Imagine my delight when I first enrolled in the PD list a few days  
> ago to find that you've all resolved to give up grumpiness so as  
> not to put off newbies like me!  It gave me courage to put forward  
> my first effort for criticism and feedback.
>
> The patch implements a tone generator for Pythagorean tuning with  
> syntonic comma offsets.  I hope it will help my renaissance flute  
> consort to learn to play in just intonation in the style of  
> Zarlino.  So, it has to be usable by non-electronic music  
> people.    It does what I want.  I would appreciate if anyone could  
> review it for style and understanding.  I suspect that I have done  
> some unnecessary things do to my imperfect understanding
>
> One thing in particular that it does in a way I don't like is  
> setting the note name.  I would prefer to pass the note name as an  
> argument to the noteSelector abstraction instead of having that bit  
> of [set( and [send] circuitry off to the side of the noteSelector,  
> but I couldn't figure out how.
>
> Thanks in advance for your attention.
>
> Cheers, David
>
>
> #N canvas 33 25 349 877 12;
> #X floatatom -20 76 5 0 0 2 frequency - -;
> #X obj -19 36 r \$0-freq;
> #X obj -20 255 s \$0-note;
> #X msg -20 231 set D-natural;
> #X obj -18 308 s \$0-note;
> #X obj -21 363 s \$0-note;
> #X obj -23 419 s \$0-note;
> #X obj -21 473 s \$0-note;
> #X obj -21 526 s \$0-note;
> #X obj -21 582 s \$0-note;
> #X obj -21 637 s \$0-note;
> #X obj -22 687 s \$0-note;
> #X obj -23 741 s \$0-note;
> #X obj -24 796 s \$0-note;
> #X obj -23 851 s \$0-note;
> #X msg -21 340 set E-natural;
> #X msg -23 396 set F-natural;
> #X msg -21 450 set F-sharp;
> #X msg -21 502 set G-natural;
> #X msg -21 556 set G-sharp;
> #X msg -21 611 set A-natural;
> #X msg -22 662 set B-flat;
> #X msg -23 717 set B-natural;
> #X msg -24 772 set C-natural;
> #X msg -23 826 set C-sharp;
> #X msg -18 285 set E-flat;
> #X text -20 10 Pythagorean Tone Generator;
> #X obj -20 118 *;
> #X floatatom 51 94 5 0.25 2 0 - - -;
> #X obj 69 33 octaveSelector;
> #X obj 104 231 noteSelector 1 1 \$0;
> #X obj 104 285 noteSelector 256 243 \$0;
> #X obj 104 340 noteSelector 9 8 \$0;
> #X obj 104 397 noteSelector 32 27 \$0;
> #X obj 104 450 noteSelector 81 64 \$0;
> #X obj 104 503 noteSelector 4 3 \$0;
> #X obj 104 557 noteSelector 729 512 \$0;
> #X obj 105 610 noteSelector 3 2 \$0;
> #X obj 106 663 noteSelector 128 81 \$0;
> #X obj 105 717 noteSelector 27 16 \$0;
> #X obj 106 771 noteSelector 16 9 \$0;
> #X obj 106 824 noteSelector 243 128 \$0;
> #X obj 202 33 pitchSelector;
> #X obj -20 141 toneGenerator;
> #X obj 202 92 noteDisplay \$0;
> #X connect 0 0 27 0;
> #X connect 1 0 0 0;
> #X connect 3 0 2 0;
> #X connect 15 0 5 0;
> #X connect 16 0 6 0;
> #X connect 17 0 7 0;
> #X connect 18 0 8 0;
> #X connect 19 0 9 0;
> #X connect 20 0 10 0;
> #X connect 21 0 11 0;
> #X connect 22 0 12 0;
> #X connect 23 0 13 0;
> #X connect 24 0 14 0;
> #X connect 25 0 4 0;
> #X connect 27 0 43 0;
> #X connect 28 0 27 1;
> #X connect 29 0 27 0;
> #X connect 29 1 28 0;
> #X connect 30 0 3 0;
> #X connect 31 0 25 0;
> #X connect 32 0 15 0;
> #X connect 33 0 16 0;
> #X connect 34 0 17 0;
> #X connect 35 0 18 0;
> #X connect 36 0 19 0;
> #X connect 37 0 20 0;
> #X connect 38 0 21 0;
> #X connect 39 0 22 0;
> #X connect 40 0 23 0;
> #X connect 41 0 24 0;
> #N canvas 204 45 837 771 12;
> #X floatatom 178 353 5 0 0 0 - - -;
> #X obj 143 33 bng 15 250 50 0 empty empty +0 0 -6 0 8 -90133 -1 -1
> ;
> #X obj 267 338 * 81;
> #X obj 267 361 / 80;
> #X floatatom 434 445 5 0 0 0 - - -;
> #X obj 161 33 bng 15 250 50 0 empty empty +1 0 -6 0 8 -250685 -1 -1
> ;
> #X floatatom 9 448 5 0 0 0 - - -;
> #X obj 125 33 bng 15 250 50 0 empty empty -1 0 -6 0 8 -250685 -1 -1
> ;
> #X obj 96 338 * 80;
> #X obj 96 361 / 81;
> #X obj 178 281 * \$1;
> #X obj 178 304 / \$2;
> #X msg 9 493 set sc-1;
> #X msg 178 396 set sc-0;
> #X msg 434 492 set sc+1;
> #X obj 178 373 s \$3-freq;
> #X obj 9 469 s \$3-freq;
> #X obj 434 467 s \$3-freq;
> #X obj 178 419 s \$3-comma;
> #X obj 9 517 s \$3-comma;
> #X obj 434 517 s \$3-comma;
> #X obj 103 289 outlet;
> #X obj 107 33 bng 15 250 50 0 empty empty -2 0 -6 0 8 -257472 -1 -1
> ;
> #X obj 179 33 bng 15 250 50 0 empty empty +2 0 -6 0 8 -257472 -1 -1
> ;
> #X floatatom -80 617 5 0 0 0 - - -;
> #X obj -29 550 * 80;
> #X obj -29 573 / 81;
> #X obj -80 638 s \$3-freq;
> #X obj -80 686 s \$3-comma;
> #X obj 457 549 * 81;
> #X obj 457 572 / 80;
> #X floatatom 537 614 5 0 0 0 - - -;
> #X obj 537 636 s \$3-freq;
> #X obj 537 686 s \$3-comma;
> #X msg 537 661 set sc+2;
> #X msg -80 662 set sc-2;
> #X floatatom 434 420 5 0 0 0 - - -;
> #X floatatom 9 419 5 0 0 0 - - -;
> #X obj 178 256 r pitch;
> #X connect 0 0 15 0;
> #X connect 1 0 0 0;
> #X connect 1 0 13 0;
> #X connect 1 0 21 0;
> #X connect 2 0 3 0;
> #X connect 3 0 36 0;
> #X connect 4 0 17 0;
> #X connect 5 0 4 0;
> #X connect 5 0 14 0;
> #X connect 5 0 21 0;
> #X connect 6 0 16 0;
> #X connect 7 0 6 0;
> #X connect 7 0 12 0;
> #X connect 7 0 21 0;
> #X connect 8 0 9 0;
> #X connect 9 0 37 0;
> #X connect 10 0 11 0;
> #X connect 11 0 0 0;
> #X connect 11 0 2 0;
> #X connect 11 0 8 0;
> #X connect 12 0 19 0;
> #X connect 13 0 18 0;
> #X connect 14 0 20 0;
> #X connect 22 0 24 0;
> #X connect 22 0 21 0;
> #X connect 22 0 35 0;
> #X connect 23 0 31 0;
> #X connect 23 0 21 0;
> #X connect 23 0 34 0;
> #X connect 24 0 27 0;
> #X connect 25 0 26 0;
> #X connect 26 0 24 0;
> #X connect 29 0 30 0;
> #X connect 30 0 31 0;
> #X connect 31 0 32 0;
> #X connect 34 0 33 0;
> #X connect 35 0 28 0;
> #X connect 36 0 4 0;
> #X connect 36 0 29 0;
> #X connect 37 0 6 0;
> #X connect 37 0 25 0;
> #X connect 38 0 10 0;
> #X coords 0 -1 1 1 100 50 1 100 0;
> #N canvas 0 0 450 300 10;
> #X symbolatom 103 160 0 0 0 2 syntonic_comma - -;
> #X symbolatom 104 128 0 0 0 2 note - -;
> #X obj 51 42 r \$1-note;
> #X obj 123 42 r \$1-comma;
> #X connect 2 0 1 0;
> #X connect 3 0 0 0;
> #X coords 0 -1 1 1 110 80 1 100 100;
> #N canvas 416 394 589 407 10;
> #X obj 172 141 f 1;
> #X msg 205 87 2;
> #X msg 240 86 4;
> #X floatatom 172 184 5 0 0 0 - - -;
> #X obj 6 30 bng 15 250 50 0 empty empty -2 0 -6 0 8 -99865 -1 -1;
> #X msg 172 87 1;
> #X msg 135 88 0.5;
> #X msg 99 88 0.25;
> #X obj 27 30 bng 15 250 50 0 empty empty -1 0 -6 0 8 -128992 -1 -1
> ;
> #X obj 50 30 bng 15 250 50 0 empty empty 0 0 -6 0 8 -166441 -1 -1;
> #X obj 71 30 bng 15 250 50 0 empty empty +1 0 -6 0 8 -195568 -1 -1
> ;
> #X obj 94 30 bng 15 250 50 0 empty empty +2 0 -6 0 8 -233017 -1 -1
> ;
> #X obj 172 210 outlet;
> #X obj 172 23 loadbang;
> #X obj 40 211 outlet;
> #X connect 0 0 3 0;
> #X connect 1 0 0 0;
> #X connect 2 0 0 0;
> #X connect 3 0 12 0;
> #X connect 4 0 7 0;
> #X connect 4 0 14 0;
> #X connect 5 0 0 0;
> #X connect 6 0 0 0;
> #X connect 7 0 0 0;
> #X connect 8 0 6 0;
> #X connect 8 0 14 0;
> #X connect 9 0 5 0;
> #X connect 9 0 14 0;
> #X connect 10 0 1 0;
> #X connect 10 0 14 0;
> #X connect 11 0 2 0;
> #X connect 11 0 14 0;
> #X connect 13 0 5 0;
> #X coords 0 -1 1 1 120 50 1 0 0;
> #N canvas 514 147 452 535 10;
> #X floatatom 53 193 5 0 0 0 - - -;
> #X floatatom 53 118 5 0 0 0 - - -;
> #X obj 53 139 * 2;
> #X obj 53 163 / 3;
> #X msg 8 73 408;
> #X msg 52 73 415;
> #X msg 93 72 440;
> #X obj 8 32 bng 15 250 50 0 empty empty 408 0 -6 0 8 -262144 -1 -1
> ;
> #X obj 53 220 s pitch;
> #X obj 135 39 loadbang;
> #X obj 34 32 bng 15 250 50 0 empty empty 415 0 -6 0 8 -262144 -1 -1
> ;
> #X obj 62 33 bng 15 250 50 0 empty empty 440 0 -6 0 8 -262144 -1 -1
> ;
> #X connect 0 0 8 0;
> #X connect 1 0 2 0;
> #X connect 2 0 3 0;
> #X connect 3 0 0 0;
> #X connect 4 0 1 0;
> #X connect 5 0 1 0;
> #X connect 6 0 1 0;
> #X connect 7 0 4 0;
> #X connect 9 0 6 0;
> #X connect 10 0 5 0;
> #X connect 11 0 6 0;
> #X coords 0 -1 1 1 85 50 1 0 0;
> #N canvas 261 25 840 825 12;
> #X obj 456 295 line~;
> #X obj 456 271 pack 0 50;
> #X floatatom 458 160 0 0 0 0 - - -;
> #X obj 306 232 *~;
> #X obj 456 196 / 10;
> #X obj 456 220 moses 0;
> #X msg 456 244 0;
> #X obj 326 265 *~;
> #X obj 265 265 sig~ 1;
> #X obj 275 318 /~;
> #X obj 290 292 +~;
> #X obj 275 370 hip~;
> #X obj 305 205 osc~;
> #X obj 304 179 / 2;
> #X obj 304 147 inlet;
> #X obj 344 880 t b;
> #X obj 344 827 f;
> #X obj 344 905 f;
> #X msg 458 904 0;
> #X obj 344 857 moses 1;
> #X obj 458 876 t b f;
> #X obj 424 837 moses 1;
> #X obj 20 487 dbtorms;
> #X msg 290 700 \; pd dsp 1;
> #X obj 20 560 line~;
> #X obj 55 632 *~;
> #X obj 55 662 dac~;
> #X obj 20 517 pack 0 50;
> #X text 129 854 test if less than 1 -->;
> #X text 95 881 if true convert to bang -->;
> #X text 91 486 <-- convert from dB to linear units;
> #X floatatom 314 609 3 0 100 0 dB - -;
> #X obj 141 15 bng 30 250 50 0 empty empty mute -38 7 0 12 -44926 -1
> -1;
> #X text 109 516 <-- make a ramp to avoid clicks or zipper noise;
> #X obj 145 631 *~;
> #X text 364 768 MUTE logic:;
> #X obj 344 931 s \$0-master-lvl;
> #X obj 314 669 s \$0-master-out;
> #X obj 424 808 r \$0-master-out;
> #X text 51 400 Level control abstraction \, used in many of the Pd
> example patches. The "level" and "mute" controls show up on the parent
> \, calling patch.;
> #X text 57 907 previous nonzero master-lvl -->;
> #X text 129 811 recall previous;
> #X text 129 829 value of master-lvl -->;
> #X text 30 709 automatically start DSP -->;
> #X obj 76 582 hip~ 3;
> #X obj 138 582 hip~ 3;
> #X obj 21 454 r \$0-master-out;
> #X obj 313 564 r \$0-master-lvl;
> #X obj 7 61 hsl 128 15 15 35 0 1 empty empty Richness -2 -6 0 8  
> -241291
> -1 -1 7300 0;
> #X obj 7 30 hsl 128 15 70 90 0 1 empty empty Volume -2 -6 0 8 -250685
> -1 -1 10900 0;
> #X text 213 30 Cobbled together output~ and waveshape example in the
> documentation.;
> #X connect 0 0 3 1;
> #X connect 1 0 0 0;
> #X connect 2 0 4 0;
> #X connect 3 0 7 0;
> #X connect 3 0 7 1;
> #X connect 4 0 5 0;
> #X connect 5 0 6 0;
> #X connect 5 1 1 0;
> #X connect 6 0 1 0;
> #X connect 7 0 10 1;
> #X connect 8 0 9 0;
> #X connect 8 0 10 0;
> #X connect 9 0 11 0;
> #X connect 10 0 9 1;
> #X connect 11 0 44 0;
> #X connect 11 0 45 0;
> #X connect 12 0 3 0;
> #X connect 13 0 12 0;
> #X connect 14 0 13 0;
> #X connect 15 0 17 0;
> #X connect 16 0 19 0;
> #X connect 17 0 36 0;
> #X connect 18 0 36 0;
> #X connect 19 0 15 0;
> #X connect 19 1 20 0;
> #X connect 20 0 18 0;
> #X connect 21 1 17 1;
> #X connect 22 0 27 0;
> #X connect 24 0 34 0;
> #X connect 24 0 25 0;
> #X connect 25 0 26 0;
> #X connect 27 0 24 0;
> #X connect 31 0 23 0;
> #X connect 31 0 37 0;
> #X connect 32 0 16 0;
> #X connect 34 0 26 1;
> #X connect 38 0 16 1;
> #X connect 38 0 21 0;
> #X connect 44 0 25 1;
> #X connect 45 0 34 1;
> #X connect 46 0 22 0;
> #X connect 47 0 31 0;
> #X connect 48 0 2 0;
> #X connect 49 0 37 0;
> #X connect 49 0 23 0;
> #X coords 0 -1 1 1 175 80 1 0 0;
> _______________________________________________
> PD-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/ 
> listinfo/pd-list



------------------------------------------------------------------------

If you are not part of the solution, you are part of the problem.






More information about the Pd-list mailing list