[PD] IEMlib and compilation optimised for P4s

Ben Saylor bensaylor at fastmail.fm
Fri Nov 7 20:28:55 CET 2003


It's possible to make a good EQ using a chain of 
[equalizer]->[biquad~]s.  equalizer is from GGEE and generates peak 
filter coefficients for biquad~.  I've attached a 10-band eq that works 
pretty well, but the top and bottom bands should probably use lowshelf/
highshelf instead of equalizer.

Ben

On Friday 07 November 2003 12:37 am, David NG McCallum wrote:
> Nick,
>
> I was using one of the bp filters, which I think is a wrapper for the
> [filter~] object, so not the FIR~.
>
> I was just trying to build an EQ to replace a VST plugin I'm using
> right now. The problem was that my performance patch is heavily based
> on the use of delays and whenever the feedback got really small the
> filters in the EQ that it was ultimately going out just started
> freaking out.
>
> <sigh> Back to VST...
>
> David
> .
> . David McCallum
> .  Music wants to be free
> . http://mentalfloss.ca/sintheta
> .
>
> Nicholas Mariette wrote:
> > Hi David,
> >
> > I've recently had the same experience of unexpected high-CPU usage
> > from FIR~ in Iemlib (under WinXP).
> >
> > Which Iemlib filter have you had this experience with?
> >
> > I found that I can run a maximum of about 8 FIR filters of
> > 200samples length on a P4 2GHz.  This does seem a little low for
> > such a short FIR.
> >
> > I tried recompiling Iemlib with MSVC++6.0 but I got no performance
> > improvement.  I haven't yet looked at the code or tried special
> > compilers like the Intel compiler.
> >
> > However, I have found that Ben Saylor's partitioned convolution
> > external is somewhat more efficient for the same FIR filters.  If
> > you're referring to FIR filters, I'd try that external which can be
> > found here. http://home.gci.net/~pamsaylor/ben/partconv~-0.1.tar.gz
> >
> > And I'd be interested to hear of others' experiences with FIRs in
> > PD. Anyone?
> >
> > Nick
>
> _______________________________________________
> PD-list mailing list
> PD-list at iem.at
> http://iem.at/cgi-bin/mailman/listinfo/pd-list
-------------- next part --------------
#N canvas 10 20 762 475 10;
#X obj 324 102 vsl 8 96 -20 10 0 1 empty empty empty 0 -8 0 8 -262144
-1 -1 7500 1;
#X obj 281 448 dac~;
#X msg 130 79 1;
#X msg 179 79 0;
#X obj 246 339 eq10~ --------------;
#X obj 507 274 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 489 256 recompute;
#X obj 338 102 vsl 8 96 -20 10 0 1 empty empty empty 0 -8 0 8 -262144
-1 -1 4400 1;
#X obj 352 102 vsl 8 96 -20 10 0 1 empty empty empty 0 -8 0 8 -262144
-1 -1 7900 1;
#X obj 366 102 vsl 8 96 -20 10 0 1 empty empty empty 0 -8 0 8 -262144
-1 -1 4000 1;
#X obj 381 102 vsl 8 96 -20 10 0 1 empty empty empty 0 -8 0 8 -262144
-1 -1 5300 1;
#X obj 395 102 vsl 8 96 -20 10 0 1 empty empty empty 0 -8 0 8 -262144
-1 -1 8200 1;
#X obj 409 102 vsl 8 96 -20 10 0 1 empty empty empty 0 -8 0 8 -262144
-1 -1 9300 1;
#X obj 423 102 vsl 8 96 -20 10 0 1 empty empty empty 0 -8 0 8 -262144
-1 -1 2500 1;
#X obj 437 102 vsl 8 96 -20 10 0 1 empty empty empty 0 -8 0 8 -262144
-1 -1 8900 1;
#X obj 451 102 vsl 8 96 -20 10 0 1 empty empty empty 0 -8 0 8 -262144
-1 -1 1500 1;
#X msg 70 11 open /home/me/hip.wav;
#X obj 116 107 readsf~;
#X connect 0 0 4 1;
#X connect 0 0 5 0;
#X connect 2 0 17 0;
#X connect 3 0 17 0;
#X connect 4 0 1 0;
#X connect 4 0 1 1;
#X connect 5 0 4 11;
#X connect 7 0 4 2;
#X connect 7 0 5 0;
#X connect 8 0 4 3;
#X connect 8 0 5 0;
#X connect 9 0 4 4;
#X connect 9 0 5 0;
#X connect 10 0 4 5;
#X connect 10 0 5 0;
#X connect 11 0 4 6;
#X connect 11 0 5 0;
#X connect 12 0 4 7;
#X connect 12 0 5 0;
#X connect 13 0 4 8;
#X connect 13 0 5 0;
#X connect 14 0 4 9;
#X connect 14 0 5 0;
#X connect 15 0 4 10;
#X connect 15 0 5 0;
#X connect 16 0 17 0;
#X connect 17 0 4 0;
-------------- next part --------------
#N canvas 0 0 764 500 10;
#X msg 250 42 30 60 120 240 480 960 1920 3840 7680 15360;
#X obj 616 37 100;
#X obj 11 36 inlet~;
#X obj 250 67 unpack f f f f f f f f f f;
#X obj 556 461 outlet~;
#X obj 244 12 loadbang;
#X obj 606 2 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 70 202 equalizer;
#X obj 55 222 biquad~;
#X obj 92 180 inlet;
#X obj 125 223 equalizer;
#X obj 110 243 biquad~;
#X obj 147 201 inlet;
#X obj 181 244 equalizer;
#X obj 166 264 biquad~;
#X obj 203 222 inlet;
#X obj 236 265 equalizer;
#X obj 221 285 biquad~;
#X obj 258 243 inlet;
#X obj 293 286 equalizer;
#X obj 278 306 biquad~;
#X obj 315 264 inlet;
#X obj 348 307 equalizer;
#X obj 333 327 biquad~;
#X obj 370 285 inlet;
#X obj 404 328 equalizer;
#X obj 389 348 biquad~;
#X obj 426 306 inlet;
#X obj 459 349 equalizer;
#X obj 444 369 biquad~;
#X obj 481 327 inlet;
#X obj 516 370 equalizer;
#X obj 501 390 biquad~;
#X obj 538 348 inlet;
#X obj 571 391 equalizer;
#X obj 556 411 biquad~;
#X obj 593 369 inlet;
#X obj 691 200 inlet;
#X text 685 181 recompute;
#X connect 0 0 3 0;
#X connect 1 0 7 2;
#X connect 1 0 10 2;
#X connect 1 0 13 2;
#X connect 1 0 16 2;
#X connect 1 0 19 2;
#X connect 1 0 22 2;
#X connect 1 0 25 2;
#X connect 1 0 28 2;
#X connect 1 0 31 2;
#X connect 1 0 34 2;
#X connect 2 0 8 0;
#X connect 3 0 7 0;
#X connect 3 1 10 0;
#X connect 3 2 13 0;
#X connect 3 3 16 0;
#X connect 3 4 19 0;
#X connect 3 5 22 0;
#X connect 3 6 25 0;
#X connect 3 7 28 0;
#X connect 3 8 31 0;
#X connect 3 9 34 0;
#X connect 5 0 1 0;
#X connect 5 0 0 0;
#X connect 6 0 1 0;
#X connect 7 0 8 0;
#X connect 8 0 11 0;
#X connect 9 0 7 1;
#X connect 10 0 11 0;
#X connect 11 0 14 0;
#X connect 12 0 10 1;
#X connect 13 0 14 0;
#X connect 14 0 17 0;
#X connect 15 0 13 1;
#X connect 16 0 17 0;
#X connect 17 0 20 0;
#X connect 18 0 16 1;
#X connect 19 0 20 0;
#X connect 20 0 23 0;
#X connect 21 0 19 1;
#X connect 22 0 23 0;
#X connect 23 0 26 0;
#X connect 24 0 22 1;
#X connect 25 0 26 0;
#X connect 26 0 29 0;
#X connect 27 0 25 1;
#X connect 28 0 29 0;
#X connect 29 0 32 0;
#X connect 30 0 28 1;
#X connect 31 0 32 0;
#X connect 32 0 35 0;
#X connect 33 0 31 1;
#X connect 34 0 35 0;
#X connect 35 0 4 0;
#X connect 36 0 34 1;
#X connect 37 0 0 0;


More information about the Pd-list mailing list