From 117cfde55cb10f03546cc1088253eaaa8b8f4b8a Mon Sep 17 00:00:00 2001 From: Cyrille Henry Date: Thu, 6 Aug 2015 11:36:36 +0000 Subject: another way to use pmpd for real time audio synthesys svn path=/trunk/externals/pmpd/; revision=17512 --- examples/69_pmpd_for_audio.pd | 103 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 examples/69_pmpd_for_audio.pd diff --git a/examples/69_pmpd_for_audio.pd b/examples/69_pmpd_for_audio.pd new file mode 100644 index 0000000..b34fa3b --- /dev/null +++ b/examples/69_pmpd_for_audio.pd @@ -0,0 +1,103 @@ +#N canvas 561 405 565 496 10; +#N canvas 962 510 568 520 filtrer_pmpd 0; +#X obj 40 33 bang~; +#X obj 40 63 t b b b; +#X obj 120 117 tabwrite~ sound_in; +#X obj 59 144 _until; +#X obj 59 186 tabread sound_in; +#X obj 59 165 t f f; +#X obj 59 377 tabwrite sound_out; +#X obj 59 332 pmpd; +#X obj 86 228 loadbang; +#X msg 59 353 \$3; +#X obj 40 400 s bang_tabplay; +#X obj 39 480 outlet~; +#X obj 39 457 tabplay~ sound_out; +#X obj 39 435 r bang_tabplay; +#X obj 312 56 table sound_in 64; +#X obj 312 81 table sound_out 64; +#X obj 119 24 inlet~; +#X msg 59 123 64; +#X msg 59 207 force 1 \$1 \, bang \, massPos 4; +#X obj 220 29 inlet; +#X msg 86 251 reset \, mass fix 0 \, mass sound 1 100 \, mass sound +1 100 \, mass sound 1 100 \, mass sound 1 100 \, link filter 0 1 1 +10 \, link filter 1 2 1 10 \, link filter 2 3 1 10 \, link filter 3 +4 1 10; +#X connect 0 0 1 0; +#X connect 1 0 10 0; +#X connect 1 1 17 0; +#X connect 1 2 2 0; +#X connect 3 0 5 0; +#X connect 4 0 18 0; +#X connect 5 0 4 0; +#X connect 5 1 6 1; +#X connect 7 0 9 0; +#X connect 8 0 20 0; +#X connect 9 0 6 0; +#X connect 12 0 11 0; +#X connect 13 0 12 0; +#X connect 16 0 2 0; +#X connect 17 0 3 0; +#X connect 18 0 7 0; +#X connect 19 0 7 0; +#X connect 20 0 7 0; +#X restore 67 247 pd filtrer_pmpd; +#X floatatom 69 91 5 0 0 0 - - -, f 5; +#X obj 69 111 mtof; +#X floatatom 69 132 5 0 0 0 - - -, f 5; +#X floatatom 155 70 5 1 200 0 - - -, f 5; +#X msg 155 128 setK filter \$1; +#X obj 155 108 pow 2; +#X obj 155 89 / 100; +#X obj 124 302 oscillo~; +#X obj 68 176 +~ -0.5; +#X obj 67 386 dac~; +#X text 199 69 <- this is somehow connected to cutoff frequency; +#X text 322 104 <- this is the filter quality; +#X text 190 17 analog style filter using mass-spring; +#X floatatom 284 105 5 0 500 0 - - -, f 5; +#X obj 284 143 pow 2; +#X obj 284 124 / 100; +#X msg 284 162 setD filter \$1; +#X obj 67 200 *~ 0.5; +#X obj 66 354 *~ 0.2; +#X text 143 400 warning : low quality mean hight resonnancy : amplitude +can be very important if filter cutoff is close to input frequency +; +#X obj 120 197 noise~; +#X obj 67 222 *~ 1; +#X obj 119 222 *~ 0; +#X obj 27 174 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 27 196 == 0; +#X obj 15 18 loadbang; +#X msg 15 40 dsp 1; +#X obj 15 61 s pd; +#X obj 69 152 phasor~ 55; +#X connect 0 0 8 0; +#X connect 0 0 19 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 29 0; +#X connect 4 0 7 0; +#X connect 5 0 0 1; +#X connect 6 0 5 0; +#X connect 7 0 6 0; +#X connect 9 0 18 0; +#X connect 14 0 16 0; +#X connect 15 0 17 0; +#X connect 16 0 15 0; +#X connect 17 0 0 1; +#X connect 18 0 22 0; +#X connect 19 0 10 0; +#X connect 19 0 10 1; +#X connect 21 0 23 0; +#X connect 22 0 0 0; +#X connect 23 0 0 0; +#X connect 24 0 25 0; +#X connect 24 0 23 1; +#X connect 25 0 22 1; +#X connect 26 0 27 0; +#X connect 27 0 28 0; +#X connect 29 0 9 0; -- cgit v1.2.1