Benvenuto, Visitatore. Per favore, effettua il login o registrati.

  Hai perso la tua email di attivazione?

Main Home Help Ricerca Login Registrati

+  Virtual Sound - FORUM
|-+  Linguaggi per la Computer Music
| |-+  Max MSP Jitter
| | |-+  Pendenza dei filtri
« precedente successivo »
Pagine: [1] Stampa
Autore Topic: Pendenza dei filtri  (Letto 186 volte)
Batti
Newbie
*
Posts: 13


yyxxzz


Guarda Profilo
« il: Febbraio 14, 2008, 08:41:42 »

Ciao a tutti

Sto cercando di realizzare un patcher per il riconoscimento del gap all’interno di una banda di rumore bianco, la banda passante deve essere di un ERB [(frequenza centrale + 165)/2], il filtro dovrebbe avere banda di transizione infinitamente ripida (80-90 dB/8va), qui si presenta il primo problema, guardando la documentazione, sembra non sia possibile modificare la pendenza dei filtri, ma solo guadagno, il fattore Q e la frequenza di taglio.
Come posso fare per realizzare un filtro con questa pendenza?

Vi allego quello che ho iniziato a fare

max v2;
#N vpatcher 91 51 1164 720;
#P origin 0 73;
#P toggle 70 62 15 0;
#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P newex 70 82 55 9109513 metro 3000;
#P flonum 351 398 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#N vpatcher 392 224 1171 816;
#P origin 171 0;
#P outlet 52 285 15 0;
#P inlet 415 37 15 0;
#P inlet 52 110 15 0;
#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#N vpatcher 312 94 912 494;
#P window setfont "Sans Serif" 9.;
#P flonum 233 127 33 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 153 162 68 9109513 expr $f1-$f2/2;
#P newex 240 162 73 9109513 expr $f1/2 +$f2;
#P newex 211 107 91 9109513 expr ($f1+165)*0.11;
#P outlet 240 201 15 0;
#P outlet 153 201 15 0;
#P inlet 211 69 15 0;
#P fasten 0 0 5 0 216 95 158 95 158 162;
#P connect 5 0 1 0;
#P connect 0 0 3 0;
#P connect 3 0 5 1;
#P connect 3 0 6 0;
#P fasten 3 0 4 0 216 147 245 147;
#P connect 4 0 2 0;
#P fasten 0 0 4 1 216 91 308 91;
#P pop 1;
#P newobj 415 61 35 9109513 p ERB;
#P flonum 495 138 59 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 282 138 61 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P user filtergraph~ 447 153 108 70 139 9 20. 20000. 0.000977 1.781797 0 1 1 0 0 1 1;
#X frgb 170 170 170;
#X brgb 209 209 209;
#X rgb2 0 0 0;
#X rgb3 130 130 130;
#X rgb4 0 0 0;
#X rgb5 76 108 172;
#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 2 1 0 0 1880.925049 1. 0.947832 0. 0. 0. 1. 0. 0.;
#X done;
#P user filtergraph~ 236 153 107 67 139 9 20. 20000. 0.000977 1.781797 0 1 1 0 0 1 1;
#X frgb 170 170 170;
#X brgb 209 209 209;
#X rgb2 0 0 0;
#X rgb3 130 130 130;
#X rgb4 0 0 0;
#X rgb5 76 108 172;
#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 1 1 0 0 2119.074951 0.895994 0.920062 0. 0. 0. 1. 0. 0.;
#X done;
#P newex 125 110 30 9109513 pink~;
#P newex 88 110 35 9109513 noise~;
#P newex 52 145 83 9109513 selector~ 2;
#P newex 52 251 48 9109513 cascade~;
#P newex 52 221 48 9109513 cascade~;
#P connect 10 0 2 0;
#P connect 2 0 0 0;
#P connect 0 0 1 0;
#P connect 1 0 12 0;
#P connect 3 0 2 1;
#P connect 5 0 0 1;
#P fasten 6 0 1 1 452 245 95 245;
#P connect 4 0 2 2;
#P fasten 9 1 7 0 445 115 287 115;
#P connect 7 0 5 5;
#P connect 11 0 9 0;
#P fasten 9 0 8 0 420 111 500 111;
#P connect 8 0 6 5;
#P pop 1;
#P newobj 253 414 57 9109513 p noisefilter;
#P user umenu 253 373 100 9109543 1 64 389 1;
#X add Nessun Segnale;
#X add White Noise;
#X add Pink Noise;
#P newex 151 434 27 9109513 *~;
#P flonum 483 33 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 498 173 29 9109513 - 127;
#P newex 71 169 36 9109513 s bang;
#P button 70 108 61 0;
#P flonum 528 175 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P user gain~ 483 52 24 100 128 0 1.071519 7.94321 10.;
#P flonum 307 161 35 9 0. 0 1 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 237 133 35 9 0. 0 1 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 167 111 31 9 0. 0 33 139 0 0 0 221 221 221 222 222 222 0 0 0;
#N vpatcher 412 32 1256 457;
#P window setfont "Sans Serif" 9.;
#P newex 169 203 34 9109513 r bang;
#P inlet 582 69 15 0;
#P inlet 513 69 15 0;
#P inlet 442 69 15 0;
#P inlet 371 69 15 0;
#P newex 371 113 152 9109513 expr ($f1-40-$f2-($f3*2))/2;
#P outlet 232 252 15 0;
#P message 232 198 34 9109513 set \$1;
#N vpatcher 539 102 666 272;
#P outlet 40 122 15 0;
#P window setfont "Sans Serif" 9.;
#P flonum 40 95 63 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 40 64 31 9109513 dbtoa;
#P inlet 40 37 15 0;
#P connect 0 0 1 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P pop;
#P newobj 512 198 60 9109513 patcher dbta;
#N vpatcher 539 102 666 272;
#P outlet 40 122 15 0;
#P window setfont "Sans Serif" 9.;
#P flonum 40 95 52 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 40 64 31 9109513 dbtoa;
#P inlet 40 37 15 0;
#P connect 0 0 1 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P pop;
#P newobj 582 198 60 9109513 patcher dbta;
#N vpatcher 539 102 666 272;
#P outlet 40 122 15 0;
#P window setfont "Sans Serif" 9.;
#P flonum 40 95 50 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 40 64 31 9109513 dbtoa;
#P inlet 40 37 15 0;
#P connect 0 0 1 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P pop;
#P newobj 232 175 60 9109513 patcher dbta;
#N vpatcher 539 102 666 272;
#P outlet 40 122 15 0;
#P window setfont "Sans Serif" 9.;
#P flonum 40 95 58 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 40 64 31 9109513 dbtoa;
#P inlet 40 37 15 0;
#P connect 0 0 1 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P pop;
#P newobj 302 198 60 9109513 patcher dbta;
#P newex 232 223 475 9109513 pack f 20 f f 0 f 0 f f f f f 0 20;
#P comment 454 38 56 9109513 ENVELOPE;
#B color 2;
#P fasten 12 0 3 0 587 149 237 149;
#P connect 3 0 6 0;
#P connect 6 0 1 0;
#P connect 13 0 1 0;
#P connect 1 0 7 0;
#P fasten 12 0 2 0 587 150 307 150;
#P connect 2 0 1 2;
#P fasten 8 0 1 3 376 186 342 186;
#P connect 9 0 8 0;
#P fasten 11 0 1 5 518 177 412 177;
#P connect 10 0 8 1;
#P fasten 10 0 1 7 482 84;
#P fasten 12 0 5 0 587 163 517 163;
#P connect 5 0 1 8;
#P connect 11 0 8 2;
#P fasten 11 0 1 9 552 84;
#P connect 12 0 4 0;
#P connect 4 0 1 10;
#P fasten 8 0 1 11 376 175 622 175;
#P pop;
#P newobj 167 193 221 9109513 p gap;
#P message 75 445 26 9109513 stop;
#P message 19 445 56 9109513 startwindow;
#P newex 124 462 36 9109513 dac~;
#N vpreset 1;
#X append 1 2 10 111 167 flonum float 700. \; 11 133 237 flonum float 6. \; 12 161 307 flonum float 1. \; 13 52 483 gain~ list 127 10. \; 14 175 528 flonum float 127. \; 18 33 483 flonum;
#X append 1 2 float 77. \; 20 373 253 umenu int 1 \; 22 398 351 flonum float 2000. \;;
#P preset 622 126 47 27;
#P newex 167 354 27 9109513 line~;
#P comment 206 110 77 9109513 ms totali stimolo;
#P comment 277 135 39 9109513 ms gap;
#P comment 348 163 100 9109513 ms pendenza gap;
#P comment 394 399 27 9109513 FC;
#P connect 24 0 23 0;
#P connect 23 0 15 0;
#P connect 15 0 16 0;
#P connect 8 0 6 0;
#P connect 7 0 6 0;
#P connect 19 0 6 1;
#P connect 21 0 19 0;
#P connect 10 0 9 0;
#P connect 9 0 4 0;
#P connect 4 0 19 1;
#P connect 11 0 9 1;
#P connect 20 0 21 0;
#P connect 22 0 21 1;
#P connect 12 0 9 2;
#P connect 17 0 9 3;
#P connect 18 0 13 0;
#P connect 13 1 17 0;
#P connect 13 1 14 0;
#P pop;

Ciao
Matteo
Loggato
mauriziogiri
Amministratore
Sr. Member
*****
Posts: 348


Guarda Profilo WWW
« Risposta #1 il: Febbraio 14, 2008, 11:06:55 »

Ciao, i tipici filtri MSP (quelli realizzati con biquad~ per intenderci) sono di secondo ordine e hanno una pendenza di 12 dB per ottava. Un modo per aumentare la pendenza è mettere più filtri in cascata, tramite l'oggetto cascade~, a cui però vanno mandati tanti gruppi di coefficienti quanti sono i filtri desiderati (vedi l'help). Un altro modo è mettere in cascata più biquad~ con gli stessi coefficienti.
Per una pendenza "verticale" (ma con una risposta in fase tutt'altro che piatta) puoi usare la trasformata di fourier: vedi l'esempio in examples/fft-fun/forbidden-planet2003.pat
In questo caso pero' sei limitato nella scelta della frequenza di taglio.

m
Loggato

Maurizio Giri Home Page: http://www.giri.it
Batti
Newbie
*
Posts: 13


yyxxzz


Guarda Profilo
« Risposta #2 il: Febbraio 14, 2008, 18:18:04 »

Grazie Maurizio Grossa risata
adesso funziona tutto correttamente, ho risolto mettendo a cascata 8 filtri bisquad~!

grazie ancora
Matteo
Loggato
Batti
Newbie
*
Posts: 13


yyxxzz


Guarda Profilo
« Risposta #3 il: Febbraio 14, 2008, 18:19:37 »

 Wow
biquad~
Loggato
Pagine: [1] Stampa 
« precedente successivo »
Salta a:  


Login con username, password e lunghezza della sessione

Powered by MySQL Powered by PHP © Copyright 1996 - 2008 - ConTempoNet Edizioni Musicali ® - P.IVA: 05174251008
Tutti i diritti riservati - Tutti i marchi sono registrati -
È vietata la riproduzione, anche parziale, dei testi e delle immagini.
Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC
Traduzione Italiana a cura di SMItalia
XHTML 1.0 Valido! CSS Valido!