TESINA MULTIMED I Di Federico Martusciello

Embed Size (px)

Citation preview

  • 8/16/2019 TESINA MULTIMED I Di Federico Martusciello

    1/23

    Corsi Accademici di Musica Elettronica DCPL34Conservatorio A.Casella, L'Aquila

    Multimedialità I Esercizidi ederico Martusciello

    !esina di Multimedialità I data "#$%3$&%"#

    RIASSUNTOerranno es(osti i (assa))i (er la realizzazione de)li esercizi asse)nati durante l*anno Accademico &%"4$&%"+ relativi al corso di Multimedialità I.

  • 8/16/2019 TESINA MULTIMED I Di Federico Martusciello

    2/23

    ESERCIZIO 1Implementare un “calcolatore” di frequenze della cala cromatica temperata!

    ella (atc- di Ma Ms( -o inserito

    uno slider (er sce)liere la /requenzadi ri/erimento.

    Il valore dello slider va nell*inlet di unsotto(ro)ramma c-iamatotem(erascale.

    e)li outlet, invece, escono i valoridelle /requenza del sistematem(erato a "& intervalli.

    La scala (rodotta secondo il tem(eramento equa0ile si ottiene, dividendo l'ottava in dodici(arti u)uali1 (oic-2 l'ottava ra((resentata dal ra((orto &", l'intervallo (i5 (iccolo quello c-e,molti(licato (er se stesso dodici volte 6cio2 elevato alla "&7 dà &. Esso corris(onde alsemitono tem(erato

     " semitono 8

    cala"temperata si occu(a, quindi, diim(lementare la /ormula (er il calcolode)li intervalli.

    9iccome la radice si (u: scrivere sotto/orma di (otenza in questo modo

    Per o)ni intervallo -o calcolato (rimaquesta /razione

     

    (oi la (otenza

      in/ine -o molti(licato il tutto (er la  /requenza di ri/erimento.

  • 8/16/2019 TESINA MULTIMED I Di Federico Martusciello

    3/23

    In questa seconda (arte s(ie)-er: come, essendomi reso conto della dis(endiosità di s(aziooccu(ata dalla (atc- im(lementata in (recedenza, si (ossa ottenere dallo stesso (rinci(io, lostesso risultato in maniera (i5 sem(lice, e//icace, e (ià o((ortuno in am0ito di (ro)rammazione.

    Partendo dal (rinci(io della (atc- (recedentemente (resa inconsiderazione creiamo una astrazione

    In questa astrazione risolviamo i calcoli della /ormula relativa al calcolodell'intervallo di mezzo tono e inserendo come ar)omento #1,#$,#%,nell'o))etto f , dando dei tri))er in modo di avere una inizializzazione ao)ni variazione della varia0ile,/acciamo in modo c-e i num0er dei treinlet della su0(atc- varino le varia0ili ; dell'astrazione al variare del floatin entrata ne)li inlet di p tempercale.

    Inca(suliamo questa astrazione tramite comando 6cmd&'ift&E7 e la salviamo nella stessacartella di (rovenienza della (atc- (rinci(ale.

    Creiamo (oi una su0(atc-, con stesso nome 6 in questo caso ptempercale7.

  • 8/16/2019 TESINA MULTIMED I Di Federico Martusciello

    4/23

    ESERCIZIO $

    *eneratore inuoidale a frequenza cauale +Implementareun ,eneratore di numeri cauali comprei tra un minimo e unmaimo -aria.ili!O,ni

    nuo-o numero cauale ric'ieto attra-ero un .an, -aria la frequenza diun ocillatore di tipo inuoidaleIl,uada,no in ucita / re,olato in ucita per mezzo di un potenziometro!O,ni nuo-o numero cauale c'e -aria la frequenza / ,enerato automaticamente o,nim milliecondi! Il parametro m / modifica.ile a piacere dell0utente!

    L*o))etto random ungeneratore di numeri

    pseudocasuali con un range chevaria da 0 e N1 dove N è il

    valore dell’inlet freddo.

    Con i due slider invio il valore

    minimo e massimo del range

    alle variabili inf (inferiore) e sup

    (superiore).

    Nella variabile met ci sono i

    millisecondi di ritardo tra un

    bang e l’altro.

    Ricevo le variabili e sottraggo il

    valore inferiore a quello

    superiore.

      ommo 1 per raggiungere il

    limite superiore.

     !ffido il risultato a random e al suo valore di uscita e sommo il limite inferiore in modo da traslare ilrange di numeri.

    "a frequen#a cos$ ottenuta va nell’inlet dell’oggetto osc% che genera un onda sinusoidale con la

    frequen#a immessa.

    &nfine riscalo l’ampie##a con uno slider che va da 0 a 1.

  • 8/16/2019 TESINA MULTIMED I Di Federico Martusciello

    5/23

    ESERCIZIO %

    Implementare una interpolazione tra i e,uenti -alori+partireda ))2zarri-are

    a 1)))2z in $ econdiarri-area $))2z in )!3 econdi e retar-i per ( econdiarri-area 4))2z in 3!% econdiarri-area ))2z in 1 econdo e rimanere fermi u tale -alore

    L*o))etto line5 accetta una lista di valori con un messa))io.

    !utti i messa))i in line5 ven)ono inviati contem(oraneamente.

    6ella (arte su(eriore della (atc- -o inserito le strin)-e (er sin)oli messa))i (er l'attivazionemanuale di o)nuno uno (er volta (er veri/icarne il /unzionamento7

  • 8/16/2019 TESINA MULTIMED I Di Federico Martusciello

    6/23

  • 8/16/2019 TESINA MULTIMED I Di Federico Martusciello

    7/23

    ESERCIZIO 3

    Come l0eercizio 3 ma l0eecuzione di un nuo-o file pu8 iniziare anc'e u ric'ietaeprea dall0utente 9.an,:! ;re-edere un crofade fra file di lettura 9fade out: equello uccei-o 9fade in:!

    La di//icoltà di questo esercizio nel )estire & linee di lettura se(arate /acendo in modo c-e almomento dell*inizio del /adeout sulla traccia di sinistra 0iso)na /ar (artire il /adein su quelladestra. Bo risolto in questo modo

    la (rima (arte della (atc- non altro c-e un lettore di /ile sequenziali a cui a((lic-eremo ilCross/ade (revisto nell'esercizio.

    (er (oter risolvere questo esercizio -o creato quindi un (iccolo al)oritmo contenuto nellasu0(atc- 9p crofade: in cui tramite l'o))etto cur-e5 viene creata una ram(a (er i nostri /ade oute /ade in.

  • 8/16/2019 TESINA MULTIMED I Di Federico Martusciello

    8/23

    L'o))etto curve> come la line>, ma (u: )enerare curve. Invece di due (unti 6valore e di tem(o7ne do00iamo /ornire tre 6il valore, il tem(o e la /orma della curva7. L'ultimo valore com(reso tra".% e ".%, con un valore ne)ativo (er una curva (ositiva, ed un valore (ositivo (er una curva(ositiva. Ad esem(io, (er /are una dissolvenza incrociata di +%% ms, andremo a s/umare il /ile dilettura con ", % +%%, %,+, e allo stesso tem(o lo incroceremo col nuovo con %, " +%% %.+.

    (er (oter costruire il ade out c' 0iso)no di conoscere la lun)-ezza in secondi del /ile audio

     

    l'o))etto .uffer5 tramite messa))io read mi(ermette di caricare un /ile audio e tramitel'o))etto in/o> ,con suo stesso ar)omento, diavere la durata com(lessiva del /rammento.

    Cos /acendo -o (otuto ,tramite messa))io Audio"   e r Audio" mandare i dati di o)nicam(ione caricato sequenzialmente direttamentenel messa))io in in)resso a curve> di /ade outdella su0(atc- 6p crofade7.

  • 8/16/2019 TESINA MULTIMED I Di Federico Martusciello

    9/23

  • 8/16/2019 TESINA MULTIMED I Di Federico Martusciello

    10/23

    ESERCIZIO @

    Implementare un panner!

    Iniziamo (osizionando un suono nel /ronte

    stereo/onico.(er /arlo do00iamo

    – calcolare un /attore di molti(licazione(er il volume dei due canali se adesem(io vo)liamo un suono tutto asinistra, il /attore di molti(licazione (eril canale sinistro sarà " e il /attore (er ilcanale destro sarà %1 se vo)liamo unsuono al centro, sia il /attore (er ilcanale sinistro, sia quello (er il canale

    destro, saranno %.+1 se in/ine vo)liamoun suono a destra, il /attore di sinistrasarà % e quello di destra ". Per le(osizione intermedie si utilizzano irelativi valori intermedi.

    – !enere conto c-e l'intensità del suono(erce(ito (ro(orzionale alla (otenzadel se)nale, cio (ro(orzionale alquadrato dell'am(iezza. uestosi)ni/ica c-e (rima di usare i /attori dimolti(licazione dell'am(iezza

    do00iamo calcolarne la radicequadrata.

    ediamo (er iniziare il (rimo (untoI /attori di molti(licazione (er il canale destro e il canale sinistro sono com(lementari l'uno ris(ettoall'altro quando il (rimo aumenta, il secondo diminuisce e viceversa. 9imuliamo ad esem(io unos(ostamento del suono da sinistra a destra, e vediamo come devono essere im(ostati i /attori dimolti(licazione (er i due canali

    – tutto a sinistra "1 %– (arzialmente a sinistra %.G+1 %.&+– al centro %.+1 %.+

    – (arzialmente a destra %.&+1 %.G+– tutto a destra %1 "

    Durante lo s(ostamento del suono, mentre il /attore di molti(licazione del canale sinistrodiminuisce il /attore di molti(licazione del canale destro aumenta 6 (erc- il suono si s(osta)radualmente verso destra7.La somma dei due /attori di molti(licazione, destro e sinistro, sem(re ".

    Hna volta c-e a00iamo i nostri due /attori di molti(licazione dell'am(iezza do00iamo, (er motiviesaminati in (recedenza nel secondo (unto, calcolarne la radice quadrata.

    Htilizzeremo un o))etto )ra/ico lider c-e un cursore c-e (roduce numeri interi. Lo slider con/i)urato, tramite il suo inspector, (er (rodurre valori decimali c-e variano tra % e " tramitequesti valori controlleremo la (osizione del suono.

  • 8/16/2019 TESINA MULTIMED I Di Federico Martusciello

    11/23

    Per il canale sinistro i valori ven)ono sottratti al numero " tramite l'o))etto B, c-e sottrae al suoar)omento il numero c-e riceve all'in)resso sinistro1 (er il canale destro i valori non ven)onomodi/icati. In questo modo (i5 alto sarà il valore in uscita a sinistra e minore sarà quello a destra eviceversa

    – se a sinistra il valore )!@3, a destra avremo 1 )!@3 D )!$3– se il valore a sinistra %."+ a destra avremo 1 )!13 D )!43

    In entram0i i casi viene calcolata la radice quadrata dei valori dall'o))etto qrt 6c-e e//ettuaa((unto questo calcolo7 e i risultati ven)ono tras/ormati in liste dall'o))etto append e (oi (assatiall'o))etto line5 c-e ne ''smussa'' i (assa))i tra un valore e l'altro utilizzando il valore di &%millisecondi /ornito ad a((end c-e corris(onde al tem(o in cui si (assa da un valore a quellosuccessivo.

    inalmente i valori in uscita da line5 (ossono essere usati (er molti(licare l'am(iezza del se)nalein entram0i i canali.

    9(ostando lo lider  a sinistra e a destra muoviamo il suono nella stessa direzione del cursore.

  • 8/16/2019 TESINA MULTIMED I Di Federico Martusciello

    12/23

    Eercizio 4

    Implementare un panner tereofonico econdo la oluzione di ?lumlein con le or,entipote a (3e & (3 ripetti-amente per il canale initro e detro!

     Alan Doler Jlumlein -a svilu((ato nel "K3" la teoria della s(azializzazione stereo/onicaancora o))i utilizzata (er le recenti tecnic-e Am0isonic. Il lavoro di Jlumlein considerava

    anc-e la codi/ica delle di//erenze di am(iezza e di /ase se(aratamente (er ricreare unimma)ine s(ettrale su)li assi orizzontale e verticale su una con/i)urazione di ri(roduzione0idimensionale.ell*esercizio c-iesto ven)ono /ornite le relazioni di Jlumlein (er )estire matematicamente leam(iezze dei sin)oli canali.

    Come nell'esercizio(recedente -oim(lementato un (anner,ma questa volta -o risoltol'o(erazione (er il)uada)no di destra esinistra tramite )li o))ettie(r c-e conten)onoris(ettivamente ilmolti(licatore6 eFprco9Gf1:&in9Gf1: 7 ed ilmolti(licando 6eFprqrt9$:H$ 7.

    L'o))etto cale serve ad

    attuare una conversione da)radi 6) %)7 a randianti 6)>$4%1437 tramite i suoiar)omenti.

    In/ine utilizzo l'o))etto Bcon ar)omento 6sottraendo7)! a//inc- l'o))etto miinverta )li inlet dei canaliricevendo dati in in)ressocon la vir)ola e lasciandoinvariati i calcoli delle

    o(erazioni.

  • 8/16/2019 TESINA MULTIMED I Di Federico Martusciello

    13/23

    Eercizio

    ;rodurre in JAK JS; un itema di codifica e decodifica di mea,,i JILI! Attra-ero taliitemi / neceario in-iareHrice-ere mea,,i JILI-eroHda de-ice JILI 'ardMare o oftMare 9-irtuale:!

    Per la realizzazione di questo esercizio -o /atto intera)ire Ma M9P e A0leton Live .

    Prima di tutto creo una traccia midi in A0leton in cui andr: ad inserire un suono tramite vst, inquesto caso ACE.Creo una seconda traccia midi a cui dir: di ricevere il se)nale audio dalla (rima e quindidirettamente dal nostro vst 6ACE7.

    ra nello scroll JILI to im(oster: MaM9P" in modo c-e il suono ven)a mandato al nostroam0iente di (ro)rammazione.

    !ramite l'o))etto midiin avremo accesso allo scroll da cui (otremo selezionare di ricevere i dati daA.leton.

  • 8/16/2019 TESINA MULTIMED I Di Federico Martusciello

    14/23

    L'o))etto midiin  una uscita dati di ricezione Midi c-e da ascolto ad una (orta s(eci/ica Midi e inout(ut i dati midi ricevuti.

    Jidipare inter(reta i dati in entrata.

    Unpac (rende la lista di dati in in)resso, ne se(ara )li elementi e invia o)ni voce a una uscitase(arata.

    eniamo alla (arte )ra/ica della (atc-.In questa (atc- -o voluto a))iun)ere una (arte video (er im(lementare, in (arte, itter  all'internodella tesina e (er /ar rendere conto al lettore de)li e//etti (ratici del colle)amento Midi tra A0leton eMa. Ad o)ni cam0io di nota o ad o)ni nota ri0attuta si avrà in/atti un cam0io di slide all'internodella nostra Pit!MindoM tramite l'o))etto metro e l'o))etto drun c-e, ris(ettivamente, daranno untem(o di cam0io continuo e sequenziale alle slide ma senza uno sc-ema sequenziale numerico0en (reciso tramite numeri random in uscita.L'o))etto Pit!qt!mo-ie qui ci (ermette di im(ortare /ilmati uicF!ime tramite il messa))io read!

  • 8/16/2019 TESINA MULTIMED I Di Federico Martusciello

    15/23

    Eercizio 1)

    ;rodurre in ;ure Lata un itema di codifica e decodifica di mea,,i JILI! Attra-ero taliitemi / neceario in-iareHrice-ere mea,,i JILI-eroHda de-ice JILI 'ardMare o oftMare 9-irtuale:!

    Prima di tutto do00iamo a0ilitare la (orta Jidi c-e ci consentirà lo scam0io di in/ormazioni tra Pure

    Data e il nostro st.Per questo esercizio -o utilizzato il vst QJ4 della ative Instrument.

    Per (rima cosa dal (annello di confi,urazione Audio Jidi entro in Lri-er IAC

    attivo il dis(ositivo

    uesto ci (ermetterà di avere comunicazione di dati Midi tra Pure Data e il nostro 9!.

    ra nelle im(ostazioni Midi Audio del 9! M andiamo ad attivare il nostro driver  IAC 9?u 1: in

    in(ut e out(ut.

    N molto im(ortante c-e queste o(erazioni avven)ano (rima dell'a(ertura di PD (er )arantirne ilcorretto /unzionamento.

    ra creiamo un nuovo (ro)etto in Pure Data e dal (annello scroll Media, clicc-iamo su etta,,iJidi e anc-e qui attiviamo il nostro Lri-er IAC 9?u 1:! In questo modo ora a00iamo il necessarioa//inc- avven)a uno scam0io di messa))i Midi verso$da device.

  • 8/16/2019 TESINA MULTIMED I Di Federico Martusciello

    16/23

    In/ine costruisco una (atc- c-e mi (ermette di veri/icare il /unzionamento del colle)amento Midi /raso/tare.

    In questo modo cliccando sul messa))io in entrata 9): in noteout otterremo la nota di do sullanostra tastiera del -t.

  • 8/16/2019 TESINA MULTIMED I Di Federico Martusciello

    17/23

  • 8/16/2019 TESINA MULTIMED I Di Federico Martusciello

    18/23

    9ptimer:

    Spie,'er8 qui la u.patc' contenente il timer!

    recei-e5 file"po rivece i dati relativi alla (osizione del /ile nel tem(o inviate)li dal terzo outlet difpla75 e li indirizza nell'inlet di nap'ot5 c-e li converte da dati di se)nale a dati numerici da cuiinizieremo i nostri calcoli (er ottenere ore, minuti e secondi relativi alla (osizione del /ile nel tem(o

      timer Q La (rima cosa c-e vo)liamo sa(ere quante ore sono trascorse. " ora 8 #%minuti, 8 #% R #% secondi "%%% ms 83#%%%%% ms. uindi se dividiamo ilse)nale da 3#%%%%% otteniamo le ore.

    Q Il 0it do(o la vir)ola a (oc-i minuti 6o/razioni di un'ora7. Per s0arazzarsi delnumero intero ed essere lasciato condecimali, a00iamo 0iso)no di sottrarre ilnumero intero al /loat. i un modointelli)ente (er /are questo eFpr G Q1B Gi1! Inviamo lo stesso numero in entram0i)li in)ressi, ma il diritto da un lato costretto ad essere un int. Cos, quando/acciamo la somma, solo il 0it do(o lavir)ola di sinistra. uesto dà i decimi diora, cos a00iamo F) (er ottenere

    minuti.

    Q ra a00iamo un'altra rimanenza do(ola vir)ola, cos /acciamo la stessa 6eFprG f1 D G i17 (er ottenere secondi.

    Q In/ine, (rendiamo il 0it do(o la vir)oladi nuovo, e F1) (er ottenere "%t-s6decimi di un secondo7.

    ra siamo in )rado di inviare tutti questi risultati al nostro dis(la=. Per /are questo a00iamo0iso)no di /are i numeri in un messa))io /ormattato. Possiamo usare s(rint/, c-e (roviene dalla(ro)rammazione C e C . Ci (ermette di assem0lare un messa))io (ro(rio come noi vo)liamoc-e sia /ormattato 6quindi come un (rint7. Hsiamo printf I+ i! I 6il c-e si)ni/ica c-e lascrittura sarà com(osta da 3 interi se(arati da due (unti7.

  • 8/16/2019 TESINA MULTIMED I Di Federico Martusciello

    19/23

    11 *EJ

    !utti )li elementi )ra/ici c-e stiamo (er creare risiedono in una /inestra se(arata ris(etto la/inestra di (atc- (rinci(ale. uesta nuova /inestra detta di visualizzazione *EJ . Hsiamol'o))etto ,emMin a cui manderemo in in)resso un to,,le 6"8 accensione %8 s(e)nimento 7 condue relativi messa))i, sem(re in in)resso al )emin, create e detro7 . Con diversi messa))i diin(ut , (ossiamo (ersonalizzare le (ro(rietà della /inestra di visualizzazione.

    inestra di visualizzazione

  • 8/16/2019 TESINA MULTIMED I Di Federico Martusciello

    20/23

    ESERCIZI SO

  • 8/16/2019 TESINA MULTIMED I Di Federico Martusciello

    21/23

    Rotate

    9econdo lo stesso (rinci(io visto in (recedenza, ora ruoteremo la nostra /i)ura )eometrica sui treassi tramite l'o))etto rotate c-e -a (er ar)omento (ro(rio i tre assi delle ,= e z.

    Scale

    Lo stesso vale anc-e (er il riscalamento tramite o))etto cale con ar)omento i tre assi.

  • 8/16/2019 TESINA MULTIMED I Di Federico Martusciello

    22/23

    Sfere illuminate rotanti

    In questa Patc- a di//erenza delle (recedenti non a00iamo un solo o))etto statico,il quale in(recedenza era un cu0o, ma due in rotazione l'uno attorno l'altro e il tutto illuminato dall'o))ettoli,'tin, 1.

    otiamo alcuni o))etti in (i5, tra cui p'ere in cui )li ar)omenti sono dimensione della s/era e

    se)menti c-e la com(on)ono 6 se ne mettessi tre sare00e immediato c-e otterremmo untrian)olo7, l'o))etto color  c-e avrà come ar)omento dei numeri c-e ci daranno il coloredell'o))etto e l'o))etto eparator .

    Separator in quanto se qui non /osse utilizzato, una delle catene rotazionali avre00e una rotazioneetra. Con il se(aratore, in sostanza, entram0i )li o))etti saranno translati, ma la rotazioneall'interno di un ramo non in/luenzerà quella dell'altro.

    In/ine troviamo un counter c-e da ) 6(unto di (artenza della s/era7 andrà a %3 6 (unto di arrivo7nel tem(o indicato)li dal metro e tramite load.an, darà inizio ad un nuovo )iro.

  • 8/16/2019 TESINA MULTIMED I Di Federico Martusciello

    23/23