aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorCyrille Henry <nusmuk@users.sourceforge.net>2015-08-06 11:36:36 +0000
committerCyrille Henry <nusmuk@users.sourceforge.net>2015-08-06 11:36:36 +0000
commit117cfde55cb10f03546cc1088253eaaa8b8f4b8a (patch)
tree2c250b15579c72df589a0251f9a6387fec246484 /examples
parent00325fa7b669d5bcb9b8ccc563f9b795310283d8 (diff)
another way to use pmpd for real time audio synthesys
svn path=/trunk/externals/pmpd/; revision=17512
Diffstat (limited to 'examples')
-rw-r--r--examples/69_pmpd_for_audio.pd103
1 files changed, 103 insertions, 0 deletions
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;