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
| | |-+  normalize~???
« precedente successivo »
Pagine: [1] Stampa
Autore Topic: normalize~???  (Letto 392 volte)
Galileo
Jr. Member
**
Posts: 60


Guarda Profilo
« il: Febbraio 28, 2008, 20:40:23 »

salve... lo sto sto sfaciando i maroni in questo periodo!!...avrei questo problemino
sto usando un filtro reson~ il problema è che quando setto q troppo alti ovviamente il volume del suono in uscitadiminuisce drasticamente, io invece avfrei bisogno ti tenerlo costante, crfedevo che l'oggetto normalize~ risorlvesse questo problema invece no, ho provato a fare qualcosa tipo la "retroazione" non so neanche se si dice così ma i risultati sono deludenti.
Ho trovato un oggetto tap.adapt~ che fa questo lavoro egregiamente ma non è free, quindi pensavo di poter costruire io una cosa del genere ma per ora nulla da fare..avete idee?

grassie

Vostro  col capo cosparso di cenere ( ..e noi zitti sotto.. )
Galileo
Loggato
lorbi
Full Member
***
Posts: 211


Guarda Profilo
« Risposta #1 il: Febbraio 29, 2008, 02:11:11 »

un normalize non ti puó servire, perché mette il picco a 0 db, non é che tiene su il volume..


musicalmente quello che cerchi é un compressore ben settato.
io, in max, mi guarderei gli oggetti OMX che trovi nei tutorials.

sennó anche un buon VST in uscita dovrebbe fare al caso tuo.

nabbrzz.

L.
Loggato
Galileo
Jr. Member
**
Posts: 60


Guarda Profilo
« Risposta #2 il: Marzo 07, 2008, 23:42:49 »

purtroppo ogniqualvolta uso gli oggetti omx max mi crasha dopo poco

non vorrei usare un vst a questo proposito anche perchè ho un poly con 4 istanze e  devo fare questo lavoro su ogni istanza quindi 4 vst, pensavo si potesse costruire una patch che se il volume del suono in uscita diminuisce si aumenta il gain del filtro o si amplifica il segnale ci stò provando da un pò ma non riesco anche perchè la risposta non è lineare...se è una cosa difficile da fare magari continuo ad usare il tap.adapt~ ma se avete qualche consiglio.....ve ne sarei grato..

galileo
Loggato
mauriziogiri
Amministratore
Sr. Member
*****
Posts: 348


Guarda Profilo WWW
« Risposta #3 il: Marzo 08, 2008, 22:33:17 »

Per questo tipo di problema si puo' usare una funzione di "balance" che estrae l'ampiezza di un suono e la applica ad un altro suono: se tu ad esempio estrai l'ampiezza del suono non filtrato e la applichi al suono filtrato puoi compensare la perdita di energia di quest'ultimo.
Ti allego una patch dove c'e' l'implementazione in maxmsp della funzione balance (tratta dalla libreria "Virtual Sound" che sara' disponibile con il libro su MaxMSP su cui Cipriani e io stiamo lavorando).

m

#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P comment 0 85 74 196617 glissando freq;
#P message 76 83 134 196617 110 \, 5500 5000 110 5000;
#P newex 76 115 53 196617 line~ 110;
#P button 157 53 15 0;
#P user spectroscope~ 313 260 300 100 20 0 0 0 1 1 0 0 0 0 0 0;
#X frgb 224 224 224;
#X brgb 255 255 255;
#X rgb2 0 0 0;
#X rgb3 243 204 204;
#X rgb4 255 0 0;
#X rgb5 184 184 184;
#X rgb6 0 0 0;
#X rgb7 0 0 0;
#X rgb8 255 255 255;
#X rgb9 255 0 0;
#X rgb10 255 191 0;
#X rgb11 0 191 127;
#X rgb12 127 0 127;
#X rgb13 0 0 0;
#X range 0. 1.2;
#X domain 0. 22050.;
#X done;
#P message 197 363 27 196617 stop;
#P message 197 346 67 196617 startwindow;
#P newex 270 363 29 196617 dac~;
#P user gain~ 270 243 21 89 158 0 1.071519 7.94321 10.;
#P message 218 83 104 196617 1 \, 100 5000 1 5000;
#P newex 218 112 41 196617 line~ 1;
#P newex 185 174 86 196617 reson~ 1 3300 1;
#P newex 293 111 55 196617 saw~ 110;
#N vpatcher 20 74 344 443;
#N comlet ampiezza controlsig;
#P outlet 144 295 15 0;
#N comlet signal shaped;
#P outlet 22 295 15 0;
#N comlet lowpass freq (default 10 Hz);
#P inlet 214 51 15 0;
#N comlet comparator;
#P inlet 144 51 15 0;
#P window setfont "Sans Serif" 9.;
#P newex 22 260 27 196617 *~;
#N comlet signal;
#P inlet 39 51 15 0;
#P newex 39 208 27 196617 !/~;
#P newex 144 130 30 196617 abs~;
#P newex 144 157 80 196617 onepole~ 10. Hz;
#P newex 39 130 30 196617 abs~;
#P newex 39 157 80 196617 onepole~ 10. Hz;
#P fasten 5 0 6 0 44 116 27 116;
#P connect 6 0 9 0;
#P connect 5 0 1 0;
#P connect 1 0 0 0;
#P connect 0 0 4 0;
#P connect 4 0 6 1;
#P fasten 2 0 4 1 149 187 61 187;
#P fasten 8 0 0 1 219 107 114 107;
#P connect 7 0 3 0;
#P connect 3 0 2 0;
#P connect 2 0 10 0;
#P connect 8 0 2 1;
#P pop;
#P newobj 270 216 57 196617 p balance~;
#P window linecount 2;
#P comment 157 27 216 196617 click qui per portare il fattore Q da 1 a 100 e viceversa in 10 secondi;
#P comment 303 189 321 196617 <- suono di comparazione: l'ampiezza di questo suono viene applicata al suono che entra nell'inlet di sinistra;
#P window linecount 1;
#P comment 161 207 119 196617 suono da modificare ->;
#P comment 325 83 100 196617 glissando Q;
#P connect 14 0 16 0;
#P connect 14 0 8 0;
#P connect 16 0 15 0;
#P connect 15 0 6 2;
#P connect 8 0 7 0;
#P connect 7 0 6 3;
#P fasten 6 0 4 0 190 203 275 203;
#P fasten 5 0 6 0 298 154 190 154;
#P fasten 5 0 4 1 298 154 298 154;
#P connect 4 0 9 0;
#P connect 9 0 10 0;
#P connect 11 0 10 0;
#P connect 12 0 10 0;
#P connect 9 0 10 1;
#P connect 4 0 13 0;
#P window clipboard copycount 18;
Loggato

Maurizio Giri Home Page: http://www.giri.it
Galileo
Jr. Member
**
Posts: 60


Guarda Profilo
« Risposta #4 il: Marzo 08, 2008, 23:35:36 »

grazie mille maurizio!

funziona benissimo esattamente quello che cercavo!
mi sa che questo libro sarà mio!
ora posso anche postare  la patch a cui stavo lavorando senza problemi.

Galileo
Loggato
Galileo
Jr. Member
**
Posts: 60


Guarda Profilo
« Risposta #5 il: Marzo 09, 2008, 00:08:32 »

ho guardato bene la patch e credo di aver capito come funziona ( grazie ho imparato qualcosa di nuovo!)
però una domanda:

a cosa serve il filtro a 10 hz?

la sua funzione  è di "pulire" il segnale per rendere il calcolo più preciso ed efficiente?

Galileo
Loggato
mauriziogiri
Amministratore
Sr. Member
*****
Posts: 348


Guarda Profilo WWW
« Risposta #6 il: Marzo 09, 2008, 21:46:05 »

L'algoritmo funziona così: un segnale audio digitale normalmente è composto da valori numerici positivi e negativi che oscillano attorno allo zero. Con la funzione abs~ i valori negativi vengono trasformati in positivi (in pratica la parte negativa dell'onda viene rovesciata specularmente sui valori positivi): questo ha come effetto l'enfatizzazione delle componenti pari, ivi compresa quella a 0 Hz, la cui ampiezza è prporzionale all'ampiezza del suono (un altro modo di vedere la cosa è pensare che il valore attorno a cui oscilla il segnale si è spostato nella parte positiva ed è proporzionale all'ampiezza del suono).
Filtrando questo suono con un passabasso a 10 Hz posso isolare la componente a 0 Hz (quella proporzionale all'ampiezza) e in pratica ottengo l'inviluppo del suono.
L'oggetto !/~ calcola il rapporto tra i due inviluppi e, moltiplicando questo rapporto per il suono di sinistra, "impongo" a quest'ultimo l'inviluppo dell'altro suono.

buon lavoro! e appena hai nuove versioni della tua patch pubblicale nel forum (un piccolo suggerimento: perche' non aggiungi un multislider per ogni voce con cui variare la frequenza del filtro? E un sistema di preset non sarebbe male...)

m
Loggato

Maurizio Giri Home Page: http://www.giri.it
Galileo
Jr. Member
**
Posts: 60


Guarda Profilo
« Risposta #7 il: Marzo 10, 2008, 00:10:04 »

ti ringrazio per le delucidazioni.

per il la frequenza del filtro ho messo un number box che controlla la center frequency perchè il filtro che uso è reson~ per utilizzare il multislider dovrei cambiare filtro o sbaglio?

per quanto riguarda i preset è vero,
però questa patch l'ho concepita per un brano per chitarra elettrica ed elettronica che devo presentare al diploma di composizione ed alle 4 voci verranno mandate delle liste del tipo 10011010 che vengono trattate secondo i procedimenti tipici del contrappunto come retrogradazioni e permutazioni ( per questo ho trovato l'oggetto zl molto utile e funzionale) quindi ad esempio da 10011010 ottengo 10011010/01011001 ( 16 step) poi la lista di 8 step originaria viene ruotata di "-1" e diventa 00110101 gli viene aggiunta la sua retrogradazione e così via, anche l'armonia del brano è concepita così' con accordi "simmetrici" tipo  ( dal basso verso l'altro)" sol do# fa# do" se lo leggi dall'alto verso il basso " do fa# do# sol" gli intervalli sono sempre gli stessi ( quinta dim, 4 giusta, quinta dim) ecc ecc

cmq appena ho tempo implementerò i tuoi suggerimenti

altra cosa se ho capito bene le tue spiegazioni questo metodo con abs~ e onepole a 10 hz ( senza !/~) può tornarmi utile anche per un envelope follower?

ciao e a presto

Galileo
Loggato
mauriziogiri
Amministratore
Sr. Member
*****
Posts: 348


Guarda Profilo WWW
« Risposta #8 il: Marzo 11, 2008, 08:52:14 »

Ciao, riguardo il multislider mi riferivo alla possibilità di cambiare la frequenza di reson~ ad ogni step.

per l'envelope following ti consiglio average~ (vedi l'help)

m
Loggato

Maurizio Giri Home Page: http://www.giri.it
Galileo
Jr. Member
**
Posts: 60


Guarda Profilo
« Risposta #9 il: Marzo 11, 2008, 12:05:52 »


non avevo capito na mazza riguardo al multislider Sorriso
mi sembra un'ottima idea cercherò di aggiungerla anche per il mio pezzo, il problema è  l'interfaccia che già è grandìna, vedrò di ridurre un pò di cose.

ulteriore domandina (off topic):
secondo te in generale quando si costruisce uno strumento ad esempio a 4 voci sapendo che comunque le 4 voci suoneranno sempre tutte ha senso usare poly~ o conviene fare 4 bpatcher?
( inizialmente avevo fatto coi bpatcher, poi nel forum mi hanno suggerito poly~ l'ho studiato e ho rifatto tutto con poly~...)
Loggato
mauriziogiri
Amministratore
Sr. Member
*****
Posts: 348


Guarda Profilo WWW
« Risposta #10 il: Marzo 12, 2008, 10:39:24 »

usare un poly~ è sempre una buona idea, secondo me.
Se dopo aver costruito lo strumento scopri che vuoi usare 8 voci invece di 4 ti basta cambiare un numero, e poi magari ti viene in mente che 8 voci non necessariamente devono suonare tutte insieme e quindi le puoi mettere in mute etc. etc.
E naturalmente nessuno ti impedisce di controllare il poly~ tramite dei bpatcher.

m
Loggato

Maurizio Giri Home Page: http://www.giri.it
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!