Forums > MaxMSP

phase-linear eq for max/msp?

November 4, 2008 | 4:20 pm

is there any implementations of a phase linear eq for max/msp, and even for 4.6 maybe?

thank you very much in d=advance!

jrp


November 5, 2008 | 8:08 am

You can easily design one using buffir~ and biquad

ex: capture the impulse response of a biquad~ (feed by count~ + ==~ 1) and store it in a buffer with an offset of 128 samples.
Then copy those sample but reversed at the begining of the buffer, to do the symetry.

Salvator


November 7, 2008 | 10:58 am

who can tell something about the first max-mailing list (the mcgill-list)?

i would be very thankful for any information…

regards,
steff
Messenger Games: Mit Freunde zusammen im Messenger spielen!

http://redirect.gimas.net/?n=M0811xGamesDE


November 8, 2008 | 12:21 pm

who can tell something about the first max-mailing list (the mcgill-list)? i would be very thankful for any information… regards,steff

Damit Privates privat bleibt! Jetzt den Internet Explorer 8 Beta downloaden!
MSN Mobile: Die neuesten Infos aus der Welt der Stars und Sternchen zum Mitnehmen!

http://redirect.gimas.net/?n=M0811xMobileDE


November 9, 2008 | 8:28 pm

oh my, thank you salvator, i will try to read up on the details of phase linear eq’s whenever possible, momentarily i was just looking for a working solution (being a buffir~ newbie at least…) – and only for a highpass eq to filter some unwanted sub frequencies without a counter wave right above the filter cutoff frequency…

nevertheless, i guess i am gonna have to read up about the detailed functioning and math behind linear phase then first. i’d be glad if you had a recommendation for a tutorial.

thank you very much

jrp


November 9, 2008 | 9:33 pm

Quote: jayrope wrote on Sun, 09 November 2008 20:28
—————————————————-

> nevertheless, i guess i am gonna have to read up about the detailed functioning and math behind linear phase then first. i’d be glad if you had a recommendation for a tutorial.

Have a look here:

http://www.dsprelated.com/dspbooks/filters/


November 10, 2008 | 10:57 am

Hi,

Attached is a quick patch to help you getting on the right track.
Note : for bass frequency processing, I would avoid FIR linear phase, as you need long filter (CPU heavy) and also have pre-ringing.

Why a normal biquad don’t work for hipass filtering ?

Salvator

#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#N vpatcher 20 74 808 545;
#P window setfont "Sans Serif" 9.;
#P flonum 571 143 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 516 143 55 196617 voffset $1;
#P flonum 571 128 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 516 128 55 196617 vzoom $1;
#P newex 116 87 37 196617 ==~ 1;
#P user pictslider 324 160 19 76 0 0 0 0 wfknob.pct 1 wfmodes.pct 1 2146 0 0 196608 1. 1.;
#N vpatcher 40 55 278 404;
#P window setfont "Sans Serif" 9.;
#P newex 96 202 27 196617 int;
#N coll ;
#T flags 1 0;
#T 0 mode select;
#T 1 mode loop;
#T 2 mode move;
#T 3 mode draw;
#P newobj 131 255 53 196617 coll;
#P button 75 117 15 0;
#N comlet waveform~ mode messages;
#P inlet 74 164 15 0;
#P newex 113 88 27 196617 < < 1;
#P newex 96 140 40 196617 change;
#P newex 96 164 45 196617 select 0;
#P newex 96 117 27 196617 |;
#P outlet 131 284 15 0;
#P newex 45 62 78 196617 modifiers 100;
#P connect 5 0 7 0;
#P connect 0 3 2 0;
#P connect 7 0 2 0;
#P connect 2 0 4 0;
#P connect 4 0 3 0;
#P connect 3 0 9 0;
#P connect 6 0 9 0;
#P connect 0 4 5 0;
#P connect 5 0 2 1;
#P connect 9 0 8 0;
#P connect 3 1 8 0;
#P connect 8 0 1 0;
#P pop;
#P hidden newobj 343 102 50 196617 p wfkeys;
#P message 371 134 86 196617 set linear-biquad;
#P user waveform~ 343 160 392 171 3 9;
#W mode move;
#W mouseoutput continuous;
#W clipdraw 1;
#W unit samples;
#W grid 11.337869;
#W ticks 8;
#W labels 1;
#W vlabels 1;
#W vticks 1;
#W vzoom 1.89;
#W bpm 120. 4.;
#W frgb 16 0 0;
#W brgb 94 166 169;
#W rgb2 63 112 185;
#W rgb3 0 0 0;
#W rgb4 0 0 0;
#W rgb5 169 165 207;
#W rgb6 108 108 108;
#W rgb7 78 74 220;
#P newex 54 220 45 196617 !-~ 129;
#P newex 54 272 98 196617 poke~ linear-biquad;
#P newex 228 231 43 196617 +~ 127;
#P newex 186 272 98 196617 poke~ linear-biquad;
#P newex 183 375 115 196617 buffer~ linear-biquad 7;
#P newex 50 50 79 196617 count~ 1 128 1;
#P newex 119 167 79 196617 biquad~;
#P inlet 132 147 15 0;
#P connect 2 0 7 0;
#P connect 1 0 6 0;
#P connect 7 0 6 1;
#P connect 2 0 12 0;
#P connect 12 0 1 0;
#P connect 0 0 1 1;
#P connect 1 0 4 0;
#P connect 2 0 5 0;
#P connect 5 0 4 1;
#P hidden connect 11 1 10 0;
#P hidden connect 10 0 8 0;
#P hidden connect 9 0 8 0;
#P connect 13 0 8 0;
#P connect 15 0 8 0;
#P hidden connect 14 0 13 0;
#P hidden connect 16 0 15 0;
#P pop;
#P newobj 221 233 104 196617 p create linear phase;
#P newex 62 360 134 196617 buffir~ linear-biquad 0 256;
#P newex 62 300 34 196617 pink~;
#P user ezdac~ 62 420 106 453 0;
#P user umenu 160 81 70 196647 1 64 97 0;
#X add display;
#X add lowpass;
#X add highpass;
#X add bandpass;
#X add bandstop;
#X add peaknotch;
#X add lowshelf;
#X add highshelf;
#X add resonant;
#X add allpass;
#P user filtergraph~ 221 99 255 124 3 9 20. 20000. 0.0625 16. 1 1 1 0 0 1 1;
#X frgb 193 193 255;
#X brgb 233 233 255;
#X rgb2 0 0 0;
#X rgb3 130 130 130;
#X rgb4 0 0 0;
#X rgb5 118 121 166;
#X rgb6 210 74 54;
#X rgb7 255 22 22;
#X linmarkers 5512.5 11025. 16537.5;
#X logmarkers 10. 100. 1000. 10000.;
#X nfilters 1;
#X setfilter 0 5 0 0 0 508.544128 0.217209 0.938167 0. 0. 0. 0. 0. 0.;
#X done;
#P connect 3 0 4 0;
#P connect 4 0 2 0;
#P connect 1 1 0 0;
#P connect 0 0 5 0;
#P window clipboard copycount 6;


Viewing 7 posts - 1 through 7 (of 7 total)