Studente: Federico Brunello - Mat. 176389 Tesina conclusiva del corso di "Scientific Data Visualization" - "The art of sound" "The art of sound" - Ideazione di un progetto in Processing di visualizzatore generativo in 3D integrato in lettore di file audio universale e in un un sintetizzatore basato su generazione di suoni tramite patch UGen della libreria Minim. Sinistra: Visualizzazione di suoni in 3D utilizzando lo strumento "Firefly" per il programma Grasshopper Fonte: Pinterest.com - Tre parametri vengono descritti contemporaneamente: tempo (asse x), frequenze (asse y) e volume (asse z). Il grafico è dinamico e viene fatto scorrerere dal computer a seconda del passare del tempo. Destra: Equalizzatore grafico in 2D - Sono visibili due parametri nell'istogramma: barre delle frequenze (ascisse) e potenza di ciascuna frequenza (ordinate). Indice: 1) Introduzione: evoluzione del mercato della musica dagli anni '60 ad oggi - un nuovo modello di consumo grazie a digitalizzazione e smaterializzazione 2) Il suono: principali caratteristiche fisiche e grandezze coinvolte 3) Modellizzazione digitale del suono: il problema della campionatura in fase di registrazione - teorema di Nyquist 4) I files musicali: tecniche ed algoritmi di compressione. 5) Visualizzazione di suoni tramite Processing: Idee e Progetti pre-esistenti Open Source 6) Il protocollo MIDI per la campionatura dei suoni - Principali caratteristiche ed implementazione del campionamento 7) "The art of sound" - Ideazione di un progetto in Processing di visualizzatore generativo in 3D integrato in lettore di file audio universale e in un un sintetizzatore basato su generazione di suoni tramite patch UGen della libreria Minim. 1. Introduzione Negli ultimi due decenni la modalità di fruizione e consumo dei prodotti musicali e culturali ha subito un vero e proprio stravolgimento. A partire dagli anni '90, ed ancor più dagli anni 2000, la platea del mercato globale dei prodotti musicali si è fortemente espansa grazie alla fortissima crescita economica di Paesi come India, Cina, Brasile, Russia e Sudafrica. I cosiddetti mercati "maturi", ovvero i Paesi sviluppati, costituiscono a tutt'oggi i maggiori mercati in termini di spesa pro capite per il mercato musicale globale come riporta la tabella indicata sotto, con Giappone, Norvegia, Regno Unito, Australia e Svizzera come i maggiori mercati di riferimento. Si può tuttavia prevedere come nel breve termine, la quota del mercato musicale afferente ai mercati emergenti 1 aumenterà ulteriormente la propria quota fino a detenere una quota superiore al 60% sul volume totale dei consumi entro il 2050. Ragioni economiche dello sviluppo del mercato musicale globale dal 1990 ad oggi La crescita della classe media (con redditi compresi tra i 9000 e i 36000 dollari l'anno) in questi Paesi emergenti ha spostato progressivamente il fulcro del mercato musicale dai mercati "tradizionali" (Europa Occidentale, USA, Canada, Nord America e Australia), dominati da produzioni internazionali in lingua inglese, con generi musicali codificati all'interno di standard "occidentali", verso un pluricentrismo sia di mercato sia culturale. Le maggiori case discografiche negli ultimi 15 anni hanno notevolmente il proprio raggio d'azione e la presenza nei nuovi mercati: se da una parte si sta assistendo all'affermazione di una cultura musicale "internazionale" ed ad un fenomeno di "globalizzazione" della musica legato a successi commerciali di pochi artisti di talento immediatamente riconoscibili a livello mondiale, d'altro canto gli stessi produttori stanno cercando di diversificare ed adattare la produzione musicale ai gusti del mercato locale, consentendo anche nei paesi emergenti lo sviluppo di un'industria musicale nazionale, dove la cultura si manifesta in forma artistica per un mercato strettamente interno. In alcuni casi, inoltre, la presenza globale delle grandi case discografiche, favorendo la contaminazione tra culture musicali diverse, ha consentito il lancio di modelli musicali dei mercati emergenti anche fuori dall'ambiente culturale di riferimento e perfino a livello globale (si veda il caso del cantante cinese di rap Zhou Jie Lun che, dopo aver scalato il mercato interno, è riuscito ad affermarsi in USA e in Asia Orientale oppure il cantante sudcoreano PSY con il tormentone musicale "Gangnam Style" che è riuscito a scalare le classifiche mondiali dapprima utilizzando nuovi canali come Youtube e poi è riuscito a vendere milioni di CD basandosi su un modello "freemium"). 2 Uno studio economico della società di consulenza McKinsey ("Mapping China's Middle Class", Class" di Dominic Barton, Yougang Chen ed Amy Jin)) mette in luce il fenomeno di crescita impressionante della classe media in Cina (qui dai 9000 ai 36000 USD di reddito) dal 2000 ad oggi. Se nel 2000 solamente il 4% della popolazione urbana cinese si poteva definire "classe media", nel 2012 tale percentuale era salita al 68%, mentre nel 2022 ben il 75% della popolazione urbana potrà definirsi classe media in base a tale analisi, con un reddito procapite intermedio tra quello l'Italia e il Brasile. Tenendo conto del fatto il tasso di inurbamento in Cina sta progredendo molto velocemente (è passato del 36% del 2000 al 56% del 2015), si prefigura un consistente aumento dei consumi legati all'intrattenimento e al tempo libero nel prossimo futuro,, tipici dello stile di via della classe media media. Ragioni generazionali e culturali del cambiamento del mercato musicale Secondo uno studio di Deloitte ("The generation that won't spend is spending a lot in media content"), content") I millennials (ovvero i nati tra il 1980 e il 2000) di Canada ed USA, pur essendosi trovati al centro di una delle più grandi crisi finanziarie all'inizio zio della propria vita lavorativa e vivendo condizioni lavorative meno stabili e remunerative ve rispetto ai propri genitori hanno speso nel 2015 ben 62 miliardi di dollari in contenuti multimediali (musica, video, pay per view, film). In particolare, Deloitte nel proprio studio sottolinea come il consumo della musica sia passato ormai definitivamente da un consumo basato sull'acquisto di un oggetto fisico (CD, DVD) alla forma di un abbonamento streaming on demand tramite servizi come Spotify, mentre sia in forte espansione la fruizione di concerti e spettacoli. Si profila a livello culturale nei millennials, un passaggio definitivo dal concetto di "possesso" per utilizzo privato di beni come brani musicali in un CD, ad un concetto di "pagamento per i servizi", servi di "sharing economy" e di "on demand". Inoltre la forte componente "social" dell'esperienza data dai concerti, nonché il sempre più profondo valore dato dai millennials alle esperienze (meglio se condivisibili con il mondo intero tramite social networkk e cellulari con fotocamere integrate) rispetto agli oggetti posseduti, può spiegare la crescente domanda di partecipazione ad eventi e spettacoli live in stadi e altri luoghi pubblici. Tale tendenza è tipica di una società sempre più fluida e sempre più ù dinamica, in cui non conta più il mero possesso di un oggetto ai fini di utilizzo privato (come ad esempio un brano musicale, un automobile od un libro) bensì si valorizza (anche a causa del ridotto reddito disponibile ai millennials rispetto alle precedenti preced generazioni) la sua utilità nel momento in cui serve, per cui il possesso del bene in se viene svincolato dall'uso uso e dal diritto di "accesso" (meglio se "on demand") al bene bene,, che assume un ruolo molto più prezioso. prezioso Tale logica, assieme alla diffusione ne di reti ADSL prima e in fibra o ottica ttica poi con tariffe sempre più basse, ha consentito al mercato musicale di svincolarsi dalla commercializzazione in formato "fisico" tramite CD e 3 DVD, e di approdare ad un concetto di trasmissione on demand (streaming), "pay per use" prima e di pagamento "flat" poi. Servizi di accesso ai dati sempre più economici e on demand permettono ai fruitori di musica e/o concerti trasmessi in TV di potersi svincolare dal palinsesto previsto, riuscendo ad accedere a tutti i servizi di interesse ed ai contenuti sempre e comunque ad un prezzo fisso e sempre piu competitivo. La diffusione degli smartphone e di internet veloce sia in casa sia in mobilità (in maniera quasi ubiquitaria), è stato il catalizzatore principale del passaggio dall'acquisto di supporti digitali alla nascita della cultura dell'accesso 24/7 on demand ai beni musicali conservati in un server remoto. L'adozione e l'aumento della copertura delle reti veloci 3G (21 Mbps), HSPA (42 Mbps) e 4G LTE (150 Mbps) ha infine rivoluzionato l'accesso ai prodotti musicali, grazie alla diffusione di pacchetti illimitati di navigazione via cellulare sempre più economici ed alle performance in upload ed in download delle reti mobili, che ormai raggiungono e superano le performance di un'ADSL. Come scritto dall'economista Rifkin, nel libro "La società dell'accesso", la tendenza attuale del mercato della musica consiste nel pagamento ai fini dell'accesso ad un'esperienza più che all'acquisto di un oggetto. Ragioni tecnologiche del cambiamento del mercato musicale Oltre ai motivi economici, la diffusione di internet veloce a banda larga sia via cavo e satellite sia via etere (connessioni in 2G, 3G, HSPA, e LTE), dei lettori mp3 e degli smartphone ha causato un vero e proprio stravolgimento del mercato musicale. A partire dagli anni '90, ed ancor più negli anni 2000, la diffusione delle tecnologie a banda larga e la rivoluzione del Web 2.0, dove gli utenti possono facilmente creare, diffondere e condividere in forma Social o su Youtube brani musicali da loro stessi creati, ha quasi azzerato l'investimento di accesso necessario per i musicisti, che possono raggiungere miliardi di utenti connessi al web gratuitamente, grazie ai social network e ai propri canali youtube. Parallelamente a questo, la riduzione dei costi di fabbricazione e il miglioramento degli strumenti, della qualità delle schede audio e dei microfoni ha ridotto ulteriormente i costi di investimento necessari per una band musicale. Tra gli anni'60 e '90, i grandi investimenti necessari per la registrazione, produzione e messa in commercio della musica necessariamente associata ad un "supporto fisico" (con associati costi di produzione e spedizione) da commercializzare nei negozi, nonché i costi pubblicitari per le nuove produzioni hanno fatto in modo che si affermasse un modello di sviluppo oligopolistico e fortemente centralizzato dell'industria musicale, in cui la maggiori case discografiche detenevano il monopolio della produzione e commercializzazione su larga scala. Negli anni '70 tale processo accentratore della produzione musicale fece in modo che solamente 7 case discografiche si spartissero il 90% del mercato globale. La "prima rivoluzione" musicale: dall'analogico al digitale Il progressivo passaggio dal formato analogico di memorizzazione dei dati (dischi di vinile, nastri, musicassette) ad un formato digitale (DVD, CD, memorizzazione in computer tramite formati *.wav e *.midi, schede di memoria, dischi fissi a stato solido) ha costituito una "prima rivoluzione", consentendo una riduzione dei costi di memorizzazione e la possibilità di replicare e riprodurre brani musicali mantenendone inalterata la qualità nel tempo e la fedeltà rispetto al campione originale. La comparsa dei masterizzatori CD e DVD (con supporti ottici registrabili e riscrivibili), la nascita della tecnologia di ripping e di conversione diretta dei contenuti dei supporti ottici in files compressi come mp3, wav e mpeg ha consentito agli utenti finali di personalizzare le proprie liste musicali e di poter conservare copia di quantità sempre maggiori di brani musicali e video in alta definizione a prezzi sempre minori, per riprodurre e mixare i brani preferiti arrangiati in compilation personalizzate. 4 elle di memoria e ai nuovi materiali materiali, laa quantità di dati memorizzata nei Grazie alla maggiore densità delle celle supporti ottici digitali,, nei dischi fissi integrati e nelle microschede a stato solido è aumentata notevolmente. L'evoluzione del costo per Gb di memoria, seguendo la "legge di Kryd Kryder" er" (analoga della legge di Moore sulla potenza dei processori) ha reso possibile ridurre i costi di memorizzazione in modo esponenziale rispetto ai primi anni '80 e '90. La produzione di supporti ottici sempre più ad alta densità (DVD e DVD DVD-Blu Ray) ha consentito di memorizzare interi film su un unico disco. I nuovi dischi Blu Ray contengono fino a 100 GB di informazione, una quantità 133 volte superiore ai CD. Sono inoltre in sviluppo nuovi dischi olografici HVD (Holographic Versatile Disk), che promettono ono di avere una capacità di 6 TB. Riduzione dei costi di storage per GB (legge di Kryder) - Evoluzione della densità di storage dei supporti ottici La "seconda rivoluzione" musicale: la smaterializzazione della musica digitale. Dal CD al download allo llo streaming on demand La "seconda nda rivoluzione" del mercato dagli anni '90 ad oggi ha riguardato la il processo di smaterializzazione della musica. A partire dai primi anni 2000, la creazione dei formati di compressione audio *.mp3 e *.wav ha consentito dii ridurre a pochi MB il peso di una file musicale eliminando le frequenze che non sono percettibili all'orecchio umano e consentendo, grazie alla comparsa dei primi servizi di pay per download e di file sharing tramite reti peer-to-peer peer nonché alla diffusi diffusione one progressiva della banda larga (ADSL prima, fibra ottica e satellite in seguito) sul mercato mondiale, di trasferire il modello di consumo della musica dal possesso o noleggio di un elemento fisico compresso a quello dell'acquisto o noleggio di un file musicale. Tale prima fase di condivisione in rete peer peer-to-peer è stata in USA e in Europa al centro di polemiche giudiziarie in quanto, i pionieri della distribuzione di musica digitale via internet come Napster e BitTorrent, pur fornendo delle soluzioni tecniche eccellenti per la distribuzione di file, distribuendo il carico di banda in download su più computer ospitanti contemporaneamente, mancavano di un valido meccanismo di controllo degli scambi illegali di file nonché di pagamento da parte degli uten utenti ti per i file consumati. Il modello di file sharing tra la fine degli anni '90 e gli inizi degli anni 2000 è stato in ogni caso fondamentale per la costruzione ostruzione di una cultura di fruizione dei files musicali indipendentemente dal possesso di un oggetto fisico isico come un CD o un DVD. In particolare, grazie alla creazione di dispositivi portatili come gli iPod ed altri lettori mp3 portatili, negli anni 2000 si è consolidata la fruizione della musica in modo "liquido", svincolandosi dai pacchetti di album pre-impostati e pre-confezionati confezionati dalle case discografiche nei dischi in vendita. La creazione di nuovi modelli di business della distribuzione musicale, prima in pay pay-per per-download ed in seguito in formato di abbonamento (iTunes, Napster, Spotify), ha consen consentito tito alle case discografiche di migliorare i propri profitti, consentendo agli utenti di poter scegliere le proprie canzoni e i brani preferiti, 5 azzerando i costi di produzione e distribuzione dei supporti ottici a cui la musica era vincolata, e consentendo o agli autori di incassare quote più elevate di diritti d'autore. La possibilità di raggiungere miliardi di consumatori in modo istantaneo tramite un click ed un download, ha consentito alle major discografiche di ridurre il prezzo delle singole canzoni canzoni,, migliorando l'accessibilità dei brani e di incrementare i profitti complessivi. Una delle ragioni per cui la pirateria musicale molto diffusa nei primi anni 2000 è stata fortemente ridimensionata è stata l'intuizione di poter creare (come ha fatto Apple)) un sistema chiuso e protetto che si interfacciasse con un mercato pay pay-per per-download facile da usare. La nascita di queste piattaforme di download a pagamento, il crollo del prezzo dei singoli brani a meno di 1 dollaro per traccia e la facilità di utili utilizzo zzo e trasferimento dei files scaricati in lettori mp3 e smartphone ha contribuito a rivoluzionare ulteriormente il mondo della musica. Recentemente, a questi modelli di business di download "on demand", si sono affiancati modelli basati sullo streaming a pagamento e modelli di pagamento flat per accedere illi illimitatamente mitatamente ai brani musicali. La diffusione sempre crescente degli smartphone e di tariffe flat sempre più competitive per l'accesso in mobilità ad internet ha reso possibile il success successo di prodottii come Spotify, che consentono di accedere da ovunque in mobilità ad un numero illimitato di contenuti online pagando una quota fissa mensile. Come previsto dall'economista americano Jeremy Rifkin in "l'era dell'accesso", in una società sempre più liquida e dinamica la tecnologia saprà adattarsi alle esigenze personalizzate dell'individuo. E' molto probabile che la fruizione musicale si sposti permanentemente da un modello di "possesso" di un file e/o di un CD ad un modello di "accesso", dove si può scegli scegliere ere in ogni momento e in base al proprio stile di vita, di accedere a qualsiasi contenuto a richiesta da un database illimitato. 2. Il suono: principali caratteristiche fisiche e grandezze coinvolte In Fisica il suono viene definito come un'oscillazione eeffettuata ffettuata da delle particelle elementari in un mezzo. In particolare, in caso di propagazione in un mezzo come l'aria o l'acqua, il suono viene definito come uno spostamento di particelle vibratorio nel tempo lungo la direzione di propagazione dell'onda sonora nello spazio. In musica il suono è dovuto ad un'oscillazione periodica dell'aria generata da una vibrazione prodotta dalla voce umana, da uno strumento a percussione, a corda, a fiato o da altri strumenti musicali. L'onda sonora è riconducibile ad un segnale sinusoidale analogico (simile a quello delle onde elettromagnetiche) dove i picchi e le gole sono simmetric simmetrici rispetto all'asse dell'origine. La rappresentazione grafica del segnale sinusoidale analogico prevede l'uso di un piano cart cartesiano xy, y, riportante il tempo t sull'asse delle ascisse, e glii spostamenti delle particelle in funzione del tempo s(t) sull'asse delle ordinate. Le caratteristiche fisiche fondamentali nella descrizione di un'onda sonora sono: - Periodo (T) (segmento tra duee creste nel grafico): tempo che la particella impiega per compere un'oscillazione complete, ovvero che la particella impiega per poter tornare nello stesso spazio dopo aver completato uno spostamento completo. 6 - Ampiezza (potenza): distanza massima della cresta dell'onda dall'asse x. Vi sono inoltre grandezze derivate: - Frequenza (ν, misurata in hertz Hz): numero di periodi compiuti al secondo. - Lunghezza d'onda (λ, misurata in nm): distanza tra un'oscillazione completa e la successiva. - Pressione sonora: calcolata a partire dalla potenza (ampiezza), definita dalla variazione di pressione rispetto alla condizione di quiete. - Intensità acustica: rapporto tra la potenza e la superficie attraversata misurata in decibel. Le equazioni fondamentali di un'onda elettromagnetica sonora date dall'equazione di d'Alembert, che costituisce una funzione della posizione dell'onda sonora unidimensionale in funzione dello spazio e del tempo. 3. Modellizzazione digitale del suono: il problema della campionatura in fase di registrazione e il teorema di Nyquist-Shannon Come abbiamo visto nel paragrafo 1, il passaggio progressivo dalla musica analogica al digitale è stata fondamentale per la transizione all'attuale forma del mercato musicale. Il processo di digitalizzazione di un segnale analogico è rappresentata da un processo costituito da 4 fasi: - filtraggio del segnale (filtro anti-alias o filtro passa-banda): permette di filtrare il segnale analogico in ingresso e di ridurre la banda di frequenza del segnale in ingresso, al fine di soddisfare le bande di campionamento richieste dal Teorema di Nyquist. In particolare il filtro passa banda sopprime tutti i segnali all'esterno della banda di Nyquist per consentire un corretto campionamento del segnale. - campionamento del segnale: acquisizione ad intervalli di tempo regolari dell'informazione sonora analogica lungo un determinato spettro di bande di frequenza. In particolare il teorema di Nyquist Shannon prescrive che, per poter ricostruire in modo efficace un segnale digitale campionato in un suono analogico senza perdita di informazione nel processo di decodifica digitale-analogico e riproduzione musicale, la frequenza di campionamento fc deve essere superiore ad almeno 2 volte la frequenza massima del segnale originario campionato fm, ovvero: fc > 2 * fm Il campionamento del segnale analogico prevede di registrare ad intervalli di tempo piccoli e regolari Δt una serie di bande di frequenza rappresentative dell'intero segnale, trasformando l'informazione continua analogica in un insieme di valori discreti. Come descritto nel paper "An introduction to Processing and Music Visualization", infatti: "… continuoustime signals (analog signals, NoA) cannot be processed using computer technology. It is therefore required to first transform them to discrete-time signals (see Figure 20). This conversation is carried out by evaluating the amplitude of f(t) at defined time intervals T. The resulting discrete-time signal x(n) with n belonging to Z is then given by x(n) = f(T n)" . 7 Il campionamento di un segnale analogico s(t) riguarda la presa di un determinato valore s(t) ad ad intervalli di tempo regolari dt in maniera tale da riuscire ad approssimare il più possibile la forma del segnale analogico perdendo meno informazione possibile. Essendo un segnale digitale determinato da un valore numerico codificato in bit, la frequenza di campionamento in Hz risulta fondamentale nel prevenire la perdita di informazione che potenzialmente avverrebbe campionando il segnale. Nella figura in basso risulta evidente come,m raddoppiando la frequenza di campionamento di un'onda sonora, si riesca a mantenere una qualità e prevenire la perdita di informazione, ovviamente una frequenza di campionamento più elevata corrisponderà ad una dimensione del file più elevata. Un brano di 1 minuto campionato a 22000 campioni al secondo peserà la metà rispetto allo stesso brano effettuato con 44100 campioni al secondo. Ovviamente, l'approssimazione del segnale digitale ricavata con un campionamento di 22000 campioni al secondo sarà maggiore rispetto a quella ottenuta campionando con 44100 campioni al secondo. In particolare, gli attuali standard utilizzati industrialmente nella frequenza di campionamento per l'audio digitale si dividono in base alla quantità di informazione che si desidera conservare e alla qualità del suono che poi verrà riprodotto tramite decodifica digitale analogico. I principali sono (fonte: wikipedia): 8 KHz (campioni / secondo) per il telefono e la voce umana, 22 KHz per i video compressi in formato MPEG, 44 kHz per i CD audio, 48 KHz per trasmissione nel digitale terrestre e per i DVD. Frequenza di campionamento Utilizzo 8 000 Hz telefono e comunicazioni senza fili walkie-talkie 11 025 Hz un quarto della frequenza di campionamento degli audio CD; utilizzata per audio a bassa qualità PCM, MPEG e per analisi audio della banda passante per i subwoofer 22 050 Hz La metà della frequenza di campionamento degli audio CD; utilizzata per audio a bassa qualità PCM, MPEG e per l'analisi dell'energia alle basse frequenze. Utilizzabile per digitalizzare i precedenti formati audio analogici del XX secolo come ad esempio i 78 giri. 32 000 Hz miniDV digital video camcorder, nastri video digitali con canali extra per le informazioni audio (es. DVCAM con 4 Canali per l'Audio), Digital Audio Tape, Digitales Satellitenradio tedesca, compressione audio digitale NICAM, utilizzata per la televisione analogica in alcuni stati. Radiomicrofoni di alta qualità. 44 100 Hz audio CD, utilizzata spesso con la compressione audio MPEG-1 per la creazione di (VCD, SVCD, e MP3). Molte apparecchiature professionali utilizzano (o hanno presente come opzione) la frequenza di 44,1 kHz, inclusi mixer, equalizzatori, compressori, reverberi, crossover, registratori e radiomicrofoni professionali. 47 250 Hz Frequenza del primo registratore commerciale PCM della Denon 48 000 Hz Utilizzata per Digital Audio Tape, miniDV, digitale terrestre, DVD e per la produzione di film. 50 000 Hz Frequenza dei primi registratori commerciali degli ultimi anni '70 da 3M a Soundstream 50 400 Hz Frequenza di campionamento utilizzata dal registratore audio digitale Mitsubishi X-80. 88 200 Hz produzione di un audio CD (multipla di 44 100 Hz). 96 000 Hz DVD-Audio, alcune tracce DVD LPCM, tracce audio del formato BD-ROM (Disco Blu-ray) e HD DVD (High-Definition DVD). 176 400 Hz produzione di un audio CD (multipla di 44,100 Hz). 192 000 Hz DVD-Audio, alcune tracce DVD LPCM, tracce audio del formato BD-ROM (Disco Blu-ray) e HD DVD (High-Definition | DVD). Registratori e sistemi di editing in Alta definizione 2 822 400 Hz SACD, 1-bit sigma-delta modulation processo di campionamento conosciuto come Direct Stream Digital, 8 sviluppato da Sony in collaborazione con Philips - quantizzazione dei segnali:: ha la funzione di convertire il segnale campionato trasferendone i valori in una scala di valori discreti e limitati da un minimo e un massimo per poter facilitarne la conversione in un valore digitale. In particolare, la quantizzazione ha la funzione di stabilire le "regioni di decisione", ovvero stabilire quali sottoinsiemi di valori continui del segnale analogico campionato, compresi tra un valore s(t)min minimo e s(t)max massimo, corrispondano ad un dete determinato rminato valore digitale discreto. Il processo di quantizzazione è molto importante per il mantenimento della qualità sonora in fase di digitalizzazione, in particolare esistono quantizzatori a 8, 32, 64 bit. Più sono i bit a disposizione che possono in ogni istante t memorizzare una determinata informazione analogica, maggiore sarà la precisione e la qualità dell'informazione digitale registrata in quanto più fitta sarà la serie di valori estrapolabile in un determinato valore discreto digitale in un istante stante t dal valore analogico s(t). Nel processo di quantizzazione lineare o PCM (Pulse Code Modulation), o a "bit "bit-rate rate fisso", ad esempio, il numero di bit con cui si memorizza l'informazione analogica viene tenuto costante lungo tutta la durata del brano. Dato un quantizzatore a n bit, il numero di livelli possibile in cui suddividere l'informazione analogica da digitalizzare è dato da M = 2n. Pertanto un quantizzatore a 32 bit o a 64 bit consente di memorizzare una quantità di informazione analogica mo molto lto alta, ideale per le registrazioni Hi-Fi. Hi Politecnico di Milano: quantizzazione a 4 bit e a 8 bit Quantizzazione a 4 bit: l'onda sinusoidale viene suddivisa in 2n possibili valori digitali (16 valori) - codifica del segnale (tramite un codificatore o encoder) encoder): un encoder è definito come un componente elettronico in grado di trasformare un segnale in ingresso a n vie in un'informazione digitale d più compatta, tramite un algoritmo basato sulle porte logiche da cui è composto. Il codice in uscita, infatti, è funzionale all'ingresso attivato. Ad esempio, in un codificatore a 8 ingressi e 3 uscite, sono sufficienti 3 bit per contenere l'informazione mazione in ingresso da 8 bit, qualora solamente un ingresso venga attivato. Nel caso della quantizzazione, a 32 bit, infatti, essendo l'onda sonora una funzione continua nel tempo dove viene assunto un unico valore s(t) al tempo t, è possibile ottenere unaa risoluzione di 2^32 valori digitali in cui suddividere i valori dell'onda analogica approssimandoli con un'ottima approssimazione ad una scala digitale di 32 possibili valori. Essendo l'onda analogica del suono una funzione, per ogni valore di t (tempo), si avrà uno ed un solo valore di s(t) s(t).. Pertanto, si potrà codificare in maniera univoca il dato digitalizzato utilizzando un encoder a 32 ingressi e 5 uscite. 9 4. I files musicali: tecniche ed algoritmi di compressione. Le grosse dimensioni dei files musicali hanno per molto tempo costituito un ostacolo alla diffusione del download digitale. La registrazione in due canali (stereo) di un'ora di musica a 48 KHz di campionamento sui due canali con quantizzazione a 24 bit, infatti, ha dimensioni di 1 GB (v. tabella sotto), rendendo per molto tempo impossibile lo scaricamento immediato di musica in qualità CD. Settings 16 bit, 44.1 KHz 16 bit, 48 KHz 24 bit, 48KHz 24 bit, 96KHz Bitrate 1,411.2 Kbps 1,536 Kbps 2,304 Kbps 4,608 Kbps File size per second 176.4 KB 192 KB 288 KB 576 KB File size per minute 10.584 MB 11.520 MB 17.28 MB 34.56 MB File size per hour 635.04 MB 691.2 MB 1.036 GB 2.0736 GB Benchè tale problema sia stato in parte risolto tramite la diffusione di fibra ottica, Wi-Max ed altre connessioni a banda larga in mobilità come LTE-4G, la necessità di velocizzare il download o la fruizione del brano musicale da parte degli utenti ha condotto a tre soluzioni tecniche di algoritmi di compressione: - Algoritmi di compressione senza perdita di informazione (lossless): WMA, Real Player. La compressione viene attuata migliorando e comprimendo tramite algoritmi di consolidamento di dati la registazione originaria digitale e riducendo il bitrate ad una soglia tale per cui l'orecchio umano non si accorga della differenza con qualità CD. Lo standard WMA lossless riesce a ridurre le dimensioni di un CD audio da 650 MB a dimensioni variabili tra 206 MB e 411 MB con un bitrate tra 470 e 940 Kbit/s. - Algoritmi di compressione con perdita di informazione (lossy): Mp3, MPEG. La compressione viene fatta eliminando completamente alcune bande di frequenza non udibili dall'uomo (in particolare alte e basse frequenze) e riducendo la quantità di dati presenti in campionature che sono a frequenze vicine una all'altra, basandosi su studi di psicoacustica e studio della percezione uditiva. Esistono tre tipi di algoritmo per la compressione MP3 ed MPEG, con diversi tipi di compressione, in particolare l'algoritmo layer 3 riesce, con studi e metodi di psicoacustica più avanzati, a garantire qualità ad alta fedeltà ad un bitrate molto piu ridotto (112 kbit per secondo). In generale, tuttavia, una fedeltà accettabile per la voce umana si ha a 128 Kbps, mentre si parla di alta fedeltà per i brani musicali solo da 320 kbps (tuttavia si vede come rispetto alla qualità CD, le dimensioni di 1 ora di registrazione passino da 1 GB a 144 MB, con una riduzione delle dimensioni di quasi 7 volte. - Layer 1: 384 kbit/s, compressione 4:1 - Layer 2: 192...256 kbit/s, compressione 6:1...8:1 - Layer 3: 112...128 kbit/s, compressione 10:1...12:1 10 L'adozione del formato mp3 ha permesso la nascita e il condolidamento dell'industria pay-per-download, trasformando radicalmente l'industria musicale e consentendo agli utenti di selezionare solamente i propri brani preferiti. Inoltre gli MP3, distribuiti su piattaforme proprietarie come Itunes pensate per ecosistemi "chiusi" come Apple, hanno consentito alle case discografiche di azzerare i costi di produzione e distribuzione digitale e di controllare la pirateria, sia grazie al bassissimo prezzo per brano (99 centesimi), sia attraverso strumenti di Digital Rights Management sempre più evoluti. La tabella seguente visualizza le dimensioni dei file codificati nei vari bitrate mp3. Bitrate 8 Kbps 16 Kbps 32 Kbps 40 Kbps 48 Kbps 56 Kbps 64 Kbps 80 Kbps 96 Kbps 112 Kbps 128 Kbps 160 Kbps 192 Kbps 224 Kbps 256 Kbps 320 Kbps File size per second 1 KB 2 KB 4 KB 5 KB 6 KB 7 KB 8 KB 10 KB 12 KB 14 KB 16 KB 20 KB 24 KB 28 KB 32 KB 40 KB File size per minute 60 KB 120 KB 240 KB 300 KB 360 KB 420 KB 480 KB 600 KB 720 KB 840 KB 960 KB 1.20 MB 1.44 MB 1.68 MB 1.92 MB 2.40 MB File size per hour 3.6 MB 7.2 MB 14.4 MB 18.0 MB 21.6 MB 25.2 MB 28.8 MB 36.0 MB 43.2 MB 50.4 MB 57.6 MB 72.0 MB 86.4 MB 100.8 MB 115.2 MB 144.0 MB - Streaming: la tecnica di streaming serve a trasmettere in diretta o on demand un flusso di dati audio/video, e costituisce un metodo per visualizzare e fruire di contenuti senza possedere il file. Adattandosi perfettamente alle necessità di proteggere la proprietà dei files da parte dei detentori dei diritti d'autore e alla necessità di accesso illimitato e rapido a contenuti multimediali on demand da parte degli utenti, questa tecnologia prevede due diversi tipi di funzionamento a seconda del tipo di utenze: - Streaming live: il flusso di dati viene codificato e compresso in un file con un bitrate adatto alla trasmissione di dati (mp3, mpeg). In seguito, viene trasmesso in diretta dal server in un flusso di pacchetti video/ audio. Per garantire la fluidità della fruizione, sono necessari server con elevata banda e capacità di upload dei pacchetti ad alti flussi. Inoltre si utilizza il buffering, una prememoria di 5-10 secondi che viene caricata prima dell'inizio della visualizzazione per poter garantire che l'utente possa visualizzare senza scatti o interruzioni il contenuto. - Streaming on demand: il file registrato è depositato presso un server centrale e viene inviato su richiesta all'utente. La trasmissione si può adattare a diversi bitrate a seconda delle caratteristiche della connessione dell'utente. Recentemente, servizi come Netfilx e Spotify hanno permesso di estendere e rivoluzionare ulteriormente il mercato musicale e dell'intrattenimento, proponendo pacchetti flat mensili ad accesso illimitato. Lo streaming on demand si sta ulteriormente diffondendo in quanto consente di accedere immediatamente da PC, Smart TV e cellulare a tutti i files presenti nell'offerta commerciale per il proprio abbonamento, anche grazie alla diffusione di internet broadband e tecnologie LTE 4G sugli smartphone. 11 5. Visualizzazione di suoni tramite Processing: Idee e Progetti pre-esistenti Open Source Processing è un potentissimo software open source per la creazione di interfacce grafiche GUI in ambienti Windows e Linux. La comunità di Processing ha da tempo creato nel tempo una serie di visualizzatori grafici per la musica. In particolare la comunità Open Processing presenta numerosi progetti, tra cui un visualizzatore grafico di files musicali in stile WinAmp di Martin Schneider, basato sulla libreria "minim" ed un visualizzatore grafico in stile WinAmp. Progetto di Martin Schneider - Music Visualizer - A lato: visualizzazione WinAmp La libreria "Minim" risulta il cuore di quasi tutti i visualizzatori grafici creati dalla community di Processing. Si basa su tre elementi fondanti: - un'API Javasound (Application Programming Interface), una serie di librerie disponibili ai programmatori con una serie di funzioni per consentire al programmatore di accedere e comandare la scheda audio del PC In particolare Javasound permette di controllare la riproduzione audio, di registrare l'audio, di riprodurre con sintetizzazione gli spartiti MIDI e fare analisi di base e editing dei files MIDI. - Tritonus: un progetto open source che consente di ottimizzare la API Javasound in ambienti Java - L'add-in MP3SPI che consente al programmatore Java e processing di aggiungere funzionalità di lettura di MP3, protocollo MPEG e di visualizzazione grafica. Javasound contiene le seguenti funzionalità: • AudioPlayer: Riproduzione in background stereo di files WAV, AIFF, AU, SND, e MP3 • AudioMetaData: oggetto contenente I metadati aggiuntivi di un file musicale come l'autore. • AudioRecorder: registrazione audio mono e stereo sia per buffering sia su un disco rigido locale. • AudioInput: monitor dell'audio input in mono e in stereo. • AudioOutput: sintesi di suoni in mono e in stereo. • FFT: utilizzo delle Trasformate di Fourier su un file audio per generare uno spettro delle frequenze. • BeatDetect: classe di funzioni per analizzare il ritmo • Strumento di sintesi in tempo reale basato su UGens, sintetizzatori unitari. Minim è utilizzabile per caricare un file audio in Processing, riprodurlo e generare una visualizzazione grafica di base attraverso due diversi esempi presentati sul sito http://code.compartmental.net/tools/minim/quickstart/ 12 Istruzioni per caricare il file "Mysong.wav" (da http://code.compartmental.net/) Rappresentazione grafica a forma d'onda (Waveform) con grafico 2D tempo-intensità (da: http://code.compartmental.net/) Lo strumento più semplice per la rappresentazione grafica di un file è l'utilizzo di un'onda grafica piena che riproduca l'andamento nel tempo della riproduzione audio mettendo in correlazione l'intensità sonora con il tempo. In particolare, essendo un file digitale campionato un insieme discreto di valori di intensità spalmato su una serie di bande di frequenze di campionamento (v. Teorema di Nyquist), si ha che, in mancanza di accorgimenti grafici, il disegno dell'onda sarebbe ridotto ad una serie di punti disconnessi. Inoltre, nel tutorial si spiega che, essendo i valori dell'intensità sonora della sorgente analogica normalizzati dal processo di quantizzazione entro nei valori tra 0 e +/-1 (dove + 1 è il picco positivo dell'onda e -1 è il picco negativo dell'onda rispetto all'origine), i valori devono essere amplificati per rendere visibile la sinusoide all'interno del programma di visualizzazione sonora. 13 Rappresentazione grafica in due canali (Stereo) di un brano musicale in forma ondulatoria, a dx rappresentazione monocanale (Mono) di un suono in forma ondulatoria. (Fonte: "An Introduction to Processing and Music Visualization") Rappresentazione grafica di uno spettro di frequenze Il tutorial infine contiene informazioni su come visualizzare e creare un equalizzatore grafico che sfrutti le fasce di frequenze usate durante il campionamento digitale. In particolare, contenendo il file .wav le informazioni distinte di intensità per ciascuna delle finestre di frequenza con cui è stato effettuato il campionamento, risulta possibile generare un visualizzatore 2D grafico con equalizzatore a barre. Il codice di cui sotto crea un oggetto FFT che è in grado di leggere ogni 512 ms la traccia audio e di generare lo spettro come serie di barre verticali. (da: http://code.compartmental.net/) import ddf.minim.*; import ddf.minim.analysis.*; Minim minim; AudioPlayer song; FFT fft; void setup() { size(512, 200); // always start Minim first! minim = new Minim(this); // specify 512 for the length of the sample buffers // the default buffer size is 1024 song = minim.loadFile("mysong.wav", 512); 14 song.play(); // an FFT needs to know how // long the audio buffers it will be analyzing are // and also needs to know // the sample rate of the audio it is analyzing fft = new FFT(song.bufferSize(), song.sampleRate()); } void draw() { background(0); // first perform a forward fft on one of song's buffers // I'm using the mix buffer // but you can use any one you like fft.forward(song.mix); stroke(255, 0, 0, 128); // draw the spectrum as a series of vertical lines // I multiple the value of getBand by 4 // so that we can see the lines better for(int i = 0; i < fft.specSize(); i++) { line(i, height, i, height - fft.getBand(i)*4); } stroke(255); // I draw the waveform by connecting // neighbor values with a line. I multiply // each of the values by 50 // because the values in the buffers are normalized // this means that they have values between -1 and 1. // If we don't scale them up our waveform // will look more or less like a straight line. for(int i = 0; i < song.left.size() - 1; i++) { line(i, 50 + song.left.get(i)*50, i+1, 50 + song.left.get(i+1)*50); line(i, 150 + song.right.get(i)*50, i+1, 150 + song.right.get(i+1)*50); } } Questa funzione sarà utile nel mio progetto in quanto consente di generare una visualizzazione in 2D divisa in base alle intensità del suono in ciascuna delle sottobande analizzate, pertanto potrà venire facilmente espanso in un visualizzatore grafico 3D. 15 Visualizzatore grafico in 2D - dal sito faireplatform.com - In un visualizzatore grafico in 2D sono visibili le intensità del suono lungo l'intero spettro delle frequenze. Progetti e papers accademici sulla visualizzazione del suono Un ottimo paper di Christopher Pramerdorfer della Vienna University of Technology "An introduction to Processing and Music Visualization" spiega i principi e le modalità di utilizzo di Processing per la visualizzazione scientifica dei dati del suono. Visualizzatore di suoni integrato nel player iTunes di Apple Come descritto nel paper "An introduction to Processing and Music Visualization", il processo di digitalizzazione tramite quantizzazione PCM risulta essere la base fondamentale per i processi di Scientific Visualization. In particolare al fine di consentire la visualizzazione grafica, i dati grezzi digitali del suono ricavati con la PCM vengono ulteriormente suddivisi in porzioni (frames) che hanno lunghezze di circa 20 millisecondi. Per migliorare la visualizzazione si acquisiscono i frames in maniera parzialmente sovrapposta, inoltre si calcola un valore scalare di intensità del suono associato a ciascun frame. Per poter visualizzare meglio l'intensità del suono è possibile calcolare un parametro di rumore RMS ed utilizzarlo nella visualizzazione grafica come valore dell'intensità del suono. Il parametro Noise (RMS), corrispondente grosso modo all'intensità, calcolato sulla serie di frames ricavati dalla quantizzazione digitale PCM. Un altro metodo di processare e visualizzare dei dati musicali in base alle bande delle frequenze da cui sono costituiti è dato dall'uso della STET sul segnale analogico - ovvero la Trasformazione di Fourier a Tempi Brevi del campione audio, che trasforma il segnale dal dominio del tempo al dominio delle frequenze. Come riportato dal paper "An introduction to Processing and Music Visualization", "in questa trasformazione (STET) il segnale viene decostruito nella somma delle frequenze costituenti (spettro delle frequenze), trasformandolo in una somma di numeri complessi che rappresentano l'ampiezza e la fase delle 16 differenti componenti sinusoidali del segnale di ingresso. Le informazioni sulla fase vengono solitamente eliminate, in quanto non utili per la rappresentazione del segnale, mentre le informazioni sull'ampiezza consentono di ottenere una rappresentazione in base alle frequenze del segnale stesso" Le immagini qui sotto, tratte dal medesimo paper, mostrano un confronto tra la rappresentazione sinusoidale e quella nel dominio delle frequenze dopo la trasformazione di Fourier e della rappresentazione nel dominio delle frequenze a seguito dell'applicazione della STET con periodo di campionamento di 25 ms e di 1000 ms. Uno degli svantaggi della trasformazione STET, infatti, è la sua risoluzione fissa, ovvero non è possibile avere un'ottima risoluzione nella frequenza e nel tempo contemporaneamente. L'analisi STET a seconda della grandezza della finestra T che si usa per l'analisi, garantisce solamente o una buona risoluzione in frequenza con cattiva risoluzione sull'asse dei tempi o viceversa, e questo costituisce un problema nella visualizzazione grafica in 3D che discuto nel mio progetto. Nelle figure di cui sotto, lo stesso segnale audio audio è stato soggetto a STET cambiando le dimensioni della finestra temporale T di analisi: nella prima si ha una T di 25 ms, si ha un ampio dettaglio delle frequenze ma si perde informazione nell'asse dei tempi. Invece con una ampiezza T di 1000 ms, si riesce ad ottenere un miglioramento nello spettro dei tempi (Adattato da: An introduction to Processing and Music Visualization) . 6. Il protocollo MIDI - Principali caratteristiche ed implementazione del campionamento Il protocollo MIDI si è sviluppato alla fine degli anni '80. Tale protocollo di memorizzazione musicale non contiene una registrazione musicale bensì solamente una serie di istruzioni e di note musicali su uno spartito ed informazioni sugli strumenti musicali utilizzate. Il vantaggio della composizione in MIDI riguarda la facile sovrapposizione del protocollo con gli attuali spartiti musicali, inoltre, non contenendo dati audio, risulta un protocollo estremamente leggero in dimensioni. Il protocollo MIDI si è diffuso in partcolare nel mondo musicale senza componenti vocali, in quanto permette di riprodurre perfettamente tramite il computer i brani di un'intera orchestra mantenendo dimensioni molto limitate. 17 Il protocollo MIDI tuttavia ha il difetto di contenere solamente una serie di istruzioni interpretabili dalla scheda audio. Pertanto, pur essendo un formato universale, la qualità dell'esecuzione generata al computer, dipende dalla qualità e dal numero di strumenti campionati presenti già all'interno della scheda audio. Inoltre la riproduzione di un file midi basato su campionamento di note musicali riprodotte al computer può dare l'impressione di mancare di un'anima propria, rispetto all'esecuzione musicale prodotta da un musicista umano. I files MIDI sono supportati dalla libreria Processing e possono essere letti dal programma costruito con Processing. 7. Progetto "The Art of Sound": visualizzatore generativo in 3D di files sonori e sintetizzatore di suoni con patch "Ugens" "The Art of Sound" - Media Player per Wav, MP3 e MIDI con visualizzazione 2D e 3D. Il progetto che voglio sviluppare - "The Art of Sound" riguarda la creazione di un visualizzatore di suoni musicali in formato mp3, wav e midi con Processing, integrato ad un sintetizzatore MIDI che possa supportare tale formato in lettura (come supportato dalla libreria Minim). Il visualizzatore grafico per suoni in 3D che desidero progettare vuole essere uno strumento per la visualizzazione nello spettro delle frequenze (ricavato tramite analisi di Fourier STET della funzione del segnale s(t) presente nei files sorgenti) in 3D tramite una funzione di grafica generativa a picchi e gole dove l'asse delle x sarà l'asse del tempo, l'asse delle y l'asse delle intensità e sull'asse z le frequenze. Una volta iniziata la riproduzione il grafico si muoverà da destra a sinistra, con lo scorrere del tempo verso destra mentre saranno visibili le frequenze sull'asse z e le intensità sull'asse x. Visualizzazione di suoni in 3D utilizzando lo strumento "Firefly" - Paesaggio generato da suoni, Robert Hodgin, 2010. Nel player verrà inserita una barra di pulsanti utili per la riproduzione e la navigazione nel brano: - Stop - Forward - Back - Play / Pause - Volume Una barra di scorrimento permetterà di selezionare una porzione di brano e/o tornare indietro durante la riproduzione. La funzione "Play" avverrà tramite il richiamo della funzione song.play(); 18 all'interno della libreria minim. La funzione "Pause" avverrà tramite il richiamo della funzione song.pause(); mentre la funzione "Stop" avverrà tramite la funzione song.stop(); all'interno della libreria minim. Inoltre sarà possibile per l'utente visualizzare lo spettro musicale sotto forma di onda s(t) sui due canali, oltre a che nello spettro delle frequenze F(t), ricavate con utilizzo dell'analisi di Fourier, nonché in 2D tramite un visualizzatore grafico a lato della riproduzione 3D. Visualizzazione a "equalizzatore grafico" in 2D e ad onda, parallelo alla visualizzazione in 3D. L'utente sarà in grado di importare tramite un menu a tendina "File Apri" i files da riprodurre (in formato mp3, wav, wma e/o MIDI) e riprodurli, visualizzandoli tramite una visualizzazione generatrice a picchi e gole. L'importazione avverrà tramite la funzione minim.loadFile("mysong.wav", 512); "The Art of Sound" - Sintetizzatore a più strimenti con funzione Oscil() e visualizzatore 3D. Infine all'interno progetto, oltre al player di brani multimediali, dovrà essere presente una funzione di selezione tramite menu a tendina di una serie di strumenti (ad esempio pianoforte, chitarra, tromba) collegata ad una tastiera virtuale visualizzata sullo schermo, come ad esempio quella presente nel programma Virtual MIDI Piano Keyboard. Ciascuna pulsante premuto sulla tastiera virtuale viene quindi associato, tramite la funzione Oscil(Hz, 0.5f, Waves.Type) del plug in UGen ad un suono ad una determinata frequenza ed ampiezza che viene generato dal computer. 19 La funzione Oscil genera un'oscillazione artificiale di cui e possibile impostare la frequenza in Hz, l'ampiezza e il tipo di oscillazione (sinusoidale). Essendo possibile isolare gli spettri delle frequenze di tutte le note musicali dei maggiori strumenti (pianoforte, chitarra, tromba), diventa quindi possibile associare le frequenze principali che costituiscono lo spettro delle singole note ad una serie di frequenze. In questo grafico si vedono le frequenze di emissione in un violino: il Mi (7^ottava) a 2640 Hz, mentre il la (5 ottava) è a 880 Hz. Queste frequenze principali vengono quindi generate e sintetizzate tramite la funzione Oscil(Hz, 0.5f, Waves.Type). In particolare per generare il La della 5 ottava (880 Hz) con un violino userò il codice: wave = new Oscil( 880, 0.5f, Waves.SINE ); In questo modo riuscirò a generare un sintetizzatore elettronico virtuale, riuscendo a visualizzare in 3D l'immagine relativa alle frequenze nello schermo mentre con il mouse clicco sui tasti della tastiera virtuale, generando i picchi relativi al suono prodotto sul grafico 3D e sul grafico in 2D e a forma d'onda che è ad esso associato sullo schermo. Utilizzo della libreria Minim per sintetizzare singole note tramite UGens: (fonte: http://code.compartmental.net/tools/minim/quickstart/ ) Il sito ufficiale della libreria Minim fornisce un esempio di utilizzo e di implementazione della funzione Audio Output, generando un output stereo a 512 bit di buffering. AudioOutput out = minim.getLineOut(Minim.STEREO, 512); Riporto l'esempio indicato per l'uso della funzione minim per la produzione tramite la funzione Oscil() di una serie di note musicali che possono venire personalizzate per quanto riguarda la frequenza della nota in uscita , l'ampiezza e la tipologia di onda generata. import ddf.minim.*; import ddf.minim.ugens.*; Minim minim; AudioOutput out; Oscil wave; void setup() { size(512, 200, P3D); minim = new Minim(this); // use the getLineOut method of the Minim object to get an AudioOutput object out = minim.getLineOut(); 20 // create a sine wave Oscil, set to 440 Hz, at 0.5 amplitude wave = new Oscil( 440, 0.5f, Waves.SINE ); // patch the Oscil to the output wave.patch( out ); } void draw() { background(0); stroke(255); strokeWeight(1); // draw for(int { line( line( } the waveform of the output i = 0; i < out.bufferSize() - 1; i++) i, 50 - out.left.get(i)*50, i+1, 50 - out.left.get(i+1)*50 ); i, 150 - out.right.get(i)*50, i+1, 150 - out.right.get(i+1)*50 ); // draw the waveform we are using in the oscillator stroke( 128, 0, 0 ); strokeWeight(4); for( int i = 0; i < width-1; ++i ) { point( i, height/2 - (height*0.49) * wave.getWaveform().value( (float)i / width ) ); } } void { // // // // mouseMoved() usually when setting the amplitude and frequency of an Oscil you will want to patch something to the amplitude and frequency inputs but this is a quick and easy way to turn the screen into an x-y control for them. float amp = map( mouseY, 0, height, 1, 0 ); wave.setAmplitude( amp ); float freq = map( mouseX, 0, width, 110, 880 ); wave.setFrequency( freq ); } void keyPressed() { switch( key ) { case '1': wave.setWaveform( Waves.SINE ); break; case '2': wave.setWaveform( Waves.TRIANGLE ); break; case '3': wave.setWaveform( Waves.SAW ); break; case '4': wave.setWaveform( Waves.SQUARE ); 21 break; case '5': wave.setWaveform( Waves.QUARTERPULSE ); break; default: break; } } Conclusioni Il progetto "The Art of Sound" si pone l'obiettivo di trarre gli insegnamenti di visualizzazione scientifica del corso seguito e di trasporli nella produzione di un visualizzatore 3D a picchi e gole integrabile in un media player multiformato ed in un sintetizzatore basato sulla generazione delle frequenze corrispondenti alle note ed alle tonalità dei vari strumenti musicali. Riferimenti principali: "An Introduction to Processing and Music Visualization" Christopher Pramerdorfer Vienna University of Technology The expanding world middle class - Goldman Sachs Mapping China's Middle Class" - McKinsey di Dominic Barton, Yougang Chen ed Amy Jin Deloitte - "The generation that won't spend is spending a lot in media content" www.processing.org http://code.compartmental.net/ Wikipedia - The Free Encyclopedia Fondamenti di Elettronica 1 - Francesco Centurelli, Aldo Ferrari - Zanichelli Corso di Elettrotecnica ed Elettronica - 2 - Mirandola - ed. Zanichelli 22