[PD] Csound opcode Moogladder to Pd?

Mika Ristimäki mika.ristimaki at tkk.fi
Tue Aug 26 11:01:47 CEST 2008


Hi,

I once made some kind of implementation of the Moogladder filter to  
Pd. I never evaluated the implementation so I'm not sure if it really  
sounds as the Csound version or gives the same output as in the paper.  
It is kind of crude Pd code anyway. =) But I'll attach the patch here  
if you wan to give it a try?

-Mika

> Message: 2
> Date: Mon, 25 Aug 2008 22:49:11 +0200
> From: " Anton H?rnquist " <anton.hornquist at gmail.com>
> Subject: [PD] Csound opcode Moogladder to Pd?
> To: pd-list at iem.at
> Message-ID:
> 	<58a0928c0808251349r7decd8b8x7b113258f9915f73 at mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> I've used the Csound opcode Moogladder (based on an algorithm by Antti
> Huovilainen) in Pd using csoundapi~. It uses a lot of cpu cycles but
> it sounds really good. The csoundapi~ external is useful but it only
> allows one instance per patch on windows so ideally I would like to
> have this opcode as a Pd abstraction or external and get rid of the
> csoundapi~ external.
>
> Is it possible to convert the Moogladder opcode to a Pd abstraction?
>
> Csound code: http://www.csounds.com/udo/displayOpcode.php?opcode_id=32
>
> /Anton
>
>
>


-------------- next part --------------
#N canvas 181 68 924 573 12;
#X obj 47 316 phasor~ 100;
#X obj 47 406 dac~;
#X msg 51 202 \; pd dsp 1;
#X msg 144 204 \; pd dsp 0;
#N canvas 144 240 793 706 moog 1;
#X obj 221 138 filter;
#X obj 225 173 filter;
#X obj 229 216 filter;
#X obj 232 252 filter;
#X obj 106 197 *~ 0;
#X floatatom 148 177 5 0 0 0 - comp -;
#X obj 72 489 *~ 0;
#X floatatom 130 466 5 0 0 0 - res -;
#X obj 71 522 *~ 4;
#X obj 234 103 -~;
#X obj 114 65 inlet~;
#X obj 20 18 block~ 1 1 1;
#X obj 71 559 delwrite~ delay 1;
#X obj 74 403 fexpr~ tanh($x1[0]);
#X obj 373 381 outlet~;
#X obj 74 447 -~;
#X obj 530 174 *~ 0;
#X obj 481 199 *~ 0;
#X obj 425 216 *~ 0;
#X obj 382 247 *~ 0;
#X obj 344 280 *~ 0;
#X obj 593 154 r a;
#X obj 579 186 r b;
#X obj 557 215 r c;
#X obj 518 241 r d;
#X obj 495 281 r e;
#X msg 46 261 stop;
#X msg 16 294 start;
#X obj 284 39 delread~ delay 0.002676;
#X floatatom 556 328 5 0 0 0 - - -;
#X obj 540 623 s g;
#X obj 557 410 / 44100;
#X obj 556 355 * 6.2832;
#X obj 635 379 samplerate~;
#X obj 555 385 t f b;
#X obj 561 469 pow 2;
#X obj 611 466 pow 3;
#X obj 664 466 pow 4;
#X obj 644 497 * 0.0202;
#X obj 486 496 * 0.4342;
#X obj 394 496 * 0.9892;
#X obj 557 440 t f f f f;
#X obj 462 532 -;
#X obj 618 527 -;
#X obj 538 560 +;
#X floatatom 540 594 5 0 0 0 - - -;
#X obj 572 497 * 0.1381;
#X obj 557 291 r cut;
#X connect 0 0 1 0;
#X connect 0 0 17 0;
#X connect 1 0 2 0;
#X connect 1 0 18 0;
#X connect 2 0 3 0;
#X connect 2 0 19 0;
#X connect 3 0 20 0;
#X connect 3 0 13 0;
#X connect 4 0 15 1;
#X connect 5 0 4 1;
#X connect 6 0 8 0;
#X connect 7 0 6 1;
#X connect 8 0 12 0;
#X connect 9 0 0 0;
#X connect 9 0 16 0;
#X connect 10 0 9 0;
#X connect 10 0 4 0;
#X connect 13 0 15 0;
#X connect 15 0 6 0;
#X connect 16 0 14 0;
#X connect 17 0 14 0;
#X connect 18 0 14 0;
#X connect 19 0 14 0;
#X connect 20 0 14 0;
#X connect 21 0 16 1;
#X connect 22 0 17 1;
#X connect 23 0 18 1;
#X connect 24 0 19 1;
#X connect 25 0 20 1;
#X connect 26 0 13 0;
#X connect 27 0 13 0;
#X connect 28 0 9 1;
#X connect 29 0 32 0;
#X connect 31 0 41 0;
#X connect 32 0 34 0;
#X connect 33 0 31 1;
#X connect 34 0 31 0;
#X connect 34 1 33 0;
#X connect 35 0 39 0;
#X connect 36 0 46 0;
#X connect 37 0 38 0;
#X connect 38 0 43 1;
#X connect 39 0 42 1;
#X connect 40 0 42 0;
#X connect 41 0 40 0;
#X connect 41 1 35 0;
#X connect 41 2 36 0;
#X connect 41 3 37 0;
#X connect 42 0 44 0;
#X connect 43 0 44 1;
#X connect 44 0 45 0;
#X connect 45 0 30 0;
#X connect 46 0 43 0;
#X connect 47 0 29 0;
#X restore 45 371 pd moog;
#X floatatom 47 292 5 0 0 0 - freq -;
#X floatatom 187 11 7 0 0 0 - freq -;
#X obj 32 12 hsl 128 15 20 20000 1 0 freq empty sawtooth_frequency
-2 -8 0 10 -262144 -1 -1 0 1;
#X floatatom 186 47 7 0 0 0 - cut -;
#X obj 31 48 hsl 128 15 1 14000 1 0 cut sweep filter_cutoff -2 -8 0
10 -262144 -1 -1 0 1;
#X obj 32 87 hsl 128 15 0 1 0 0 res empty filter_resonance -2 -8 0
10 -262144 -1 -1 0 1;
#X floatatom 188 83 5 0 0 0 - res -;
#X obj 33 127 hsl 128 15 0 1 0 0 comp empty filter_comp -2 -8 0 10
-262144 -1 -1 0 1;
#X floatatom 192 123 5 0 0 0 - comp -;
#X obj 312 16 vsl 15 128 -10 10 0 0 a empty A 0 -9 0 10 -262144 -1
-1 0 1;
#X floatatom 304 159 5 0 0 0 - a -;
#X obj 366 16 vsl 15 128 -10 10 0 0 b empty B 0 -9 0 10 -262144 -1
-1 0 1;
#X floatatom 358 159 5 0 0 0 - b -;
#X obj 420 16 vsl 15 128 -10 10 0 0 c empty C 0 -9 0 10 -262144 -1
-1 0 1;
#X floatatom 412 159 5 0 0 0 - c -;
#X obj 470 13 vsl 15 128 -10 10 0 0 d empty D 0 -9 0 10 -262144 -1
-1 0 1;
#X floatatom 462 156 5 0 0 0 - d -;
#X obj 521 12 vsl 15 128 -10 10 0 0 e empty E 0 -9 0 10 -262144 -1
-1 0 1;
#X floatatom 513 155 5 0 0 0 - e -;
#X obj 279 304 noise~;
#X obj 205 482 writesf~ 1;
#X msg 238 426 start;
#X msg 243 453 stop;
#X obj 489 322 line;
#X msg 537 268 10000 4000;
#X floatatom 491 358 5 0 0 0 - - sweep;
#X msg 440 269 100;
#X msg 198 393 open lowpass_500;
#X connect 0 0 4 0;
#X connect 4 0 1 0;
#X connect 4 0 1 1;
#X connect 4 0 25 0;
#X connect 5 0 0 0;
#X connect 26 0 25 0;
#X connect 27 0 25 0;
#X connect 28 0 30 0;
#X connect 29 0 28 0;
#X connect 31 0 28 0;
#X connect 32 0 25 0;
-------------- next part --------------
#N canvas 848 849 487 383 10;
#X obj 37 154 inlet~;
#X obj 36 223 biquad~ 0.5 0 0.3846 0.1154 0;
#X obj 226 -32 r g;
#X obj 203 25 / 1.3;
#X obj 203 55 t f f;
#X obj 227 87 * 0.3;
#X obj 264 50 -;
#X msg 256 21 float 1;
#X obj 227 -5 t f b f;
#X obj 219 126 pack f f f;
#X obj 36 258 outlet~;
#X msg 142 171 \$3 0 \$1 \$2 0;
#X connect 0 0 1 0;
#X connect 1 0 10 0;
#X connect 2 0 8 0;
#X connect 3 0 4 0;
#X connect 4 0 9 0;
#X connect 4 1 5 0;
#X connect 5 0 9 1;
#X connect 6 0 9 2;
#X connect 7 0 6 0;
#X connect 8 0 3 0;
#X connect 8 1 7 0;
#X connect 8 2 6 1;
#X connect 9 0 11 0;
#X connect 11 0 1 0;


More information about the Pd-list mailing list