linguaggi di programmazione per linformatica musicale conservatorio di musica antonio buzzolla di...
TRANSCRIPT
![Page 1: Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio](https://reader036.vdocuments.us/reader036/viewer/2022070312/5542eb4b497959361e8b7c23/html5/thumbnails/1.jpg)
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
![Page 2: Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio](https://reader036.vdocuments.us/reader036/viewer/2022070312/5542eb4b497959361e8b7c23/html5/thumbnails/2.jpg)
23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 2
Digital Sound Production
1957 – Max V. Mathews (Bell Labs)
“a computer could synthesize sounds according to any pitch scale or waveform”
![Page 3: Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio](https://reader036.vdocuments.us/reader036/viewer/2022070312/5542eb4b497959361e8b7c23/html5/thumbnails/3.jpg)
23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 3
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)
Conversione digitale-analogico
![Page 4: Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio](https://reader036.vdocuments.us/reader036/viewer/2022070312/5542eb4b497959361e8b7c23/html5/thumbnails/4.jpg)
23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 4
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 Prima composizione (con conversione digitale-
analogico)
![Page 5: Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio](https://reader036.vdocuments.us/reader036/viewer/2022070312/5542eb4b497959361e8b7c23/html5/thumbnails/5.jpg)
23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 5
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 Primo concerto di CM - Svizzera
![Page 6: Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio](https://reader036.vdocuments.us/reader036/viewer/2022070312/5542eb4b497959361e8b7c23/html5/thumbnails/6.jpg)
23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 6
Digital Sound Production
1960 – Max V. Mathews & Joan Miller
(Bell Labs)
Music III Introduzione degli UG
![Page 7: Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio](https://reader036.vdocuments.us/reader036/viewer/2022070312/5542eb4b497959361e8b7c23/html5/thumbnails/7.jpg)
23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 7
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
![Page 8: Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio](https://reader036.vdocuments.us/reader036/viewer/2022070312/5542eb4b497959361e8b7c23/html5/thumbnails/8.jpg)
23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 8
Digital Sound Production
1963 – Max V. Mathews (Bell Labs)
Music IV Linguaggio macro assembly
![Page 9: Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio](https://reader036.vdocuments.us/reader036/viewer/2022070312/5542eb4b497959361e8b7c23/html5/thumbnails/9.jpg)
23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 9
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)
![Page 10: Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio](https://reader036.vdocuments.us/reader036/viewer/2022070312/5542eb4b497959361e8b7c23/html5/thumbnails/10.jpg)
23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 10
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
![Page 11: Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio](https://reader036.vdocuments.us/reader036/viewer/2022070312/5542eb4b497959361e8b7c23/html5/thumbnails/11.jpg)
23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 11
Digital Sound Production
Software Synthesis
Versus
Hardware Synthesis
![Page 12: Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio](https://reader036.vdocuments.us/reader036/viewer/2022070312/5542eb4b497959361e8b7c23/html5/thumbnails/12.jpg)
23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 12
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
![Page 13: Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio](https://reader036.vdocuments.us/reader036/viewer/2022070312/5542eb4b497959361e8b7c23/html5/thumbnails/13.jpg)
23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 13
Software Synthesis
Flessibile Uso di elaboratori poco costosi Si possono implementare una varietà
di algoritmi di sintesi Real-time Non-Real-Time
![Page 14: Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio](https://reader036.vdocuments.us/reader036/viewer/2022070312/5542eb4b497959361e8b7c23/html5/thumbnails/14.jpg)
23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 14
Software Synthesis
Categorie Editor grafico di strumenti Linguaggi di sintesi
![Page 15: Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio](https://reader036.vdocuments.us/reader036/viewer/2022070312/5542eb4b497959361e8b7c23/html5/thumbnails/15.jpg)
23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 15
Software Synthesis
Graphical instrument editor UG -> Icone Icone + Interconnessioni -> Patch
![Page 16: Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio](https://reader036.vdocuments.us/reader036/viewer/2022070312/5542eb4b497959361e8b7c23/html5/thumbnails/16.jpg)
23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 16
Software Synthesis
Real-time La computazione di un campione della forma
d’onda finale, avviene all’interno di un periodo di campionamento
![Page 17: Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio](https://reader036.vdocuments.us/reader036/viewer/2022070312/5542eb4b497959361e8b7c23/html5/thumbnails/17.jpg)
23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 17
Software Synthesis
Synthesis Language Codice -> Testo Testo -> Interprete
![Page 18: Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio](https://reader036.vdocuments.us/reader036/viewer/2022070312/5542eb4b497959361e8b7c23/html5/thumbnails/18.jpg)
23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 18
Hardware Synthesis
Circuiteria dedicata alla produzione sonora
Computazioni in tempo reale Flessibilità ridotta (algoritmi predefiniti)
![Page 19: Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio](https://reader036.vdocuments.us/reader036/viewer/2022070312/5542eb4b497959361e8b7c23/html5/thumbnails/19.jpg)
23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 19
DSP Synthesis
Digital Signal Processors Elaborazioni ad alta capacità computazionale Programmabile
![Page 20: Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio](https://reader036.vdocuments.us/reader036/viewer/2022070312/5542eb4b497959361e8b7c23/html5/thumbnails/20.jpg)
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
![Page 21: Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio](https://reader036.vdocuments.us/reader036/viewer/2022070312/5542eb4b497959361e8b7c23/html5/thumbnails/21.jpg)
23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 21
Algoritmi e Metodi
Obiettivo: generare una successione di numeri, che rappresentino i campioni di una forma d’onda sonora
Tabella con valori precalcolati Funzione matematica
![Page 22: Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio](https://reader036.vdocuments.us/reader036/viewer/2022070312/5542eb4b497959361e8b7c23/html5/thumbnails/22.jpg)
23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 22
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)
![Page 23: Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio](https://reader036.vdocuments.us/reader036/viewer/2022070312/5542eb4b497959361e8b7c23/html5/thumbnails/23.jpg)
23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 23
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
![Page 24: Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio](https://reader036.vdocuments.us/reader036/viewer/2022070312/5542eb4b497959361e8b7c23/html5/thumbnails/24.jpg)
23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 24
Algoritmi e Metodi – Table-lookup
Fixed waveform synthesis1. phase_index = modL(prev_phase + increment)
2. output = amp x wavetable [phase_index]
Dove:
increment = L x OutFreq / SamplingFreq
Se increment non è intero?
![Page 25: Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio](https://reader036.vdocuments.us/reader036/viewer/2022070312/5542eb4b497959361e8b7c23/html5/thumbnails/25.jpg)
23 ottobre 2004 Linguaggi di programmazione per l’Informatica Musicale 25
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)