Top Banner
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
25

Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio.

May 01, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Linguaggi di programmazione per linformatica musicale Conservatorio di Musica Antonio Buzzolla di Adria Diego Catania, Luca A. Ludovico LIM (Laboratorio.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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)