Comments
Description
Transcript
ddddd - Luca Andrea Ludovico
Linguaggi di programmazione per l’informatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio di Informatica Musicale) DICo – Università degli Studi di Milano Digital Sound Production 1957 – Max V. Mathews (Bell Labs) “a computer could synthesize sounds according to any pitch scale or waveform” 23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 2 Digital Sound Production 1957 – Max V. Mathews (Bell Labs) IBM 704 Vacuum tube 36 bit, floating point, 32k words core memory Istruzioni in linguaggio macchina Risultato su nastro (digitale) magnetico Computer a 12 bit (vacuum tube) 23 ottobre 2004 Conversione digitale-analogico Linguaggi di programmazione per l’Informatica Musicale 3 Digital Sound Production 1957 – Max V. Mathews (Bell Labs) Music I Segnale a forma di triangolo equilatero Possibilità di controllo Pitch Forma d’onda Durata Guttman, Newman (1957) – In a silver scale 23 ottobre 2004 Prima composizione (con conversione digitaleanalogico) Linguaggi di programmazione per l’Informatica Musicale 4 Digital Sound Production 1958 – Max V. Mathews (Bell Labs) Music II 4 voci indipendenti 16 forme d’onda IBM 7094 Transistor Programmabile in assembler Guttman, Newman (1958) – Pitch Variation 23 ottobre 2004 Primo concerto di CM - Svizzera Linguaggi di programmazione per l’Informatica Musicale 5 Digital Sound Production 1960 – Max V. Mathews & Joan Miller (Bell Labs) Music III 23 ottobre 2004 Introduzione degli UG Linguaggi di programmazione per l’Informatica Musicale 6 Digital Sound Production Unit Generator (UG) Moduli per il trattamento dei segnali: Oscillatori Filtri Amplificatori Etc… Configurabili in patch Modellazione di numerosi algoritmi di sintesi 23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 7 Digital Sound Production 1963 – Max V. Mathews (Bell Labs) Music IV 23 ottobre 2004 Linguaggio macro assembly Linguaggi di programmazione per l’Informatica Musicale 8 Digital Sound Production 1968 – Max V. Mathews (Bell Labs) Music V Linguaggio standard per l’elaboratore Fortran IV ’70 - Diffusione negli ambiti universitari e di laboratori di ricerca (art of digital synth) 23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 9 Digital Sound Production Music V Modello seguito da: Music 4BF Music 360 Music 7 Music 11 Csound MUS10 Cmusic Common Music Lisp Tutti appartenenti alla famiglia Music N 23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 10 Digital Sound Production Software Synthesis Versus Hardware Synthesis 23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 11 Software Synthesis Tutti i calcoli necessari per la computazione di un flusso di campioni vengono realizzati da un programma, modificabile arbitrariamente dall’utente. La risorsa hw è un general purpose computer 23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 12 Software Synthesis Flessibile Uso di elaboratori poco costosi Si possono implementare una varietà di algoritmi di sintesi 23 ottobre 2004 Real-time Non-Real-Time Linguaggi di programmazione per l’Informatica Musicale 13 Software Synthesis Categorie 23 ottobre 2004 Editor grafico di strumenti Linguaggi di sintesi Linguaggi di programmazione per l’Informatica Musicale 14 Software Synthesis Graphical instrument editor 23 ottobre 2004 UG -> Icone Icone + Interconnessioni -> Patch Linguaggi di programmazione per l’Informatica Musicale 15 Software Synthesis Real-time 23 ottobre 2004 La computazione di un campione della forma d’onda finale, avviene all’interno di un periodo di campionamento Linguaggi di programmazione per l’Informatica Musicale 16 Software Synthesis Synthesis Language 23 ottobre 2004 Codice -> Testo Testo -> Interprete Linguaggi di programmazione per l’Informatica Musicale 17 Hardware Synthesis Circuiteria dedicata alla produzione sonora 23 ottobre 2004 Computazioni in tempo reale Flessibilità ridotta (algoritmi predefiniti) Linguaggi di programmazione per l’Informatica Musicale 18 DSP Synthesis Digital Signal Processors 23 ottobre 2004 Elaborazioni ad alta capacità computazionale Programmabile Linguaggi di programmazione per l’Informatica Musicale 19 Algoritmi e Metodi Obiettivo: generare una successione di numeri, che rappresentino i campioni di una forma d’onda sonora 23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 20 Algoritmi e Metodi Obiettivo: generare una successione di numeri, che rappresentino i campioni di una forma d’onda sonora 23 ottobre 2004 Tabella con valori precalcolati Funzione matematica Linguaggi di programmazione per l’Informatica Musicale 21 Algoritmi e Metodi - Table-lookup Wavetable: locazione di memoria in cui vengono memorizzati i valori di un ciclo della forma d’onda Table-lookup: metodologia di produzione sonora, basata sulla lettura ciclica della wavetable (digital oscillator) 23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 22 Algoritmi e Metodi – Table-lookup Fixed waveform synthesis La forma d’onda non cambia durante tutto l’evento sonoro Definizione della frequenza di output: Frequenza di campionamento della tabella Lettura con incremento 23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 23 Algoritmi e Metodi – Table-lookup Fixed waveform synthesis 1. 2. phase_index = modL(prev_phase + increment) output = amp x wavetable [phase_index] Dove: increment = L x OutFreq / SamplingFreq Se increment non è intero? 23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 24 Algoritmi e Metodi – Table-lookup Time-varying waveform synthesis Uno (o piu’) parametri della forma d’onda varia durante l’estensione dell’evento sonoro Concetto di Inviluppo (Envelope) 23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 25