...

ddddd - Luca Andrea Ludovico

by user

on
Category: Documents
11

views

Report

Comments

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
Fly UP