Strumenti software per l`elaborazione e la generazione in real

Transcript

Strumenti software per l`elaborazione e la generazione in real
Strumenti software per la
generazione e l’elaborazione in
tempo reale del segnale musicale
Sylviane Sapir
Conservatorio “O. Respighi” Latina
Email: [email protected]
Sommario




Musica Informatica – i linguaggi storici
 Introduzione a Csound
Musica Informatica – il tempo reale
 Introduzione a Pure Data
Sistemi musicali interattivi
 Interfacce e dispositivi di controllo
 Ambienti esecutivi per il “live Electronics”
Esempi applicativi
 Sintesi del suono con tecniche classiche
 Analisi del segnale ed estrazione di parametri di controllo
 Applicazione alla sonificazione
 Elaborazione di suoni ed immagini in tempo reale
06/06/07
Strumenti software della Musica Informatica - S. Sapir
2
Musica Informatica



Insieme di applicazioni ed ambiti disciplinari che
nascono dall’uso dell’elaboratore in musica
I sistemi informatici tendono a trasformarsi in uno
«strumento» musicale di riferimento, come lo fu il
pianoforte nel XIX secolo
Un sistema informatico può svolgere molte funzioni
musicali: strumento musicale, mezzo per comporre,
studio di registrazione e di post-produzione, sistema
di editoria, di archiviazione, ...
06/06/07
Strumenti software della Musica Informatica - S. Sapir
3
Musica Informatica
Musica
Matematica
Fisica
Scienze cognitive
Informatica
Musica Informatica
Scrittura
Composizione
automatica
Suoni (DSP)
Sintesi
Aiuto alla
composizione
Editoria musicale
06/06/07
Effetti
Analisi
Esecuzione
Automatica
(sequencer)
Teoria
Analisi
musicologica
Interpretazione
partiture
Installazioni
Improvvisazioni
Strumenti software della Musica Informatica - S. Sapir
Strumenti
Sensori,
interfacce
Filologia
Industria spettacolo
strumenti musicali
Audio, Web, …
4
Codifica informatica della musica




Audio
 La musica viene rappresentata con la codifica della forma
d'onda: i campioni audio.
Midi
 La musica viene rappresentata con la codifica dei gesti prodotti
dall’esecutore che suona la musica.
Partitura
 La musica viene rappresentata con la codifica dei segni grafici
della partitura.
Programma
 La musica viene rappresentata con la codifica di un processo che
genera o elabora informazione musicale (audio, Midi, Simboli)
06/06/07
Strumenti software della Musica Informatica - S. Sapir
5
Sviluppo tecnologico in musica nel ‘900

Gli anni ‘50: il periodo degli “Studi Radiofonici”



Gli anni ‘60: il periodo del “Voltage Control”




Groupe de Recherche Musicale (GRM) – Paris, Westdeutscher Rundfunk (WDR) –
Köln, Studio di Fonologia della RAI – Milano
Musica acusmatica, elettronica, tape music
Sintetizzatori modulari (Moog, Arp, …)
Elettrificazione ed amplificazione degli strumenti tradizionali
Minimalismo, Rock e Pop Music
Gli anni ‘70: la nascita della “Computer Music”

Sviluppo dell’informatica – main frames, linguaggi Fortran, C, …



Gli anni ‘80: Sintetizzatori commerciali e MIDI



Università e centri di ricerca (Bell labs., CCRMA, MIT, CSC, …)
Nascita di centri specializzati (IRCAM, Tempo Reale, ZKM, …)
Integrazione dei componenti elettronici (VLSI) ed applicazioni in tempo reale
Avvento dei PC e home studio, sviluppo di tastiere elettroniche e nuovi dispositivi di
controllo
Poi…

06/06/07
Sviluppo di Internet, tecnologie digitali per l’elaborazione di immagini e video,
performance multimediali e multimodali, performance in rete, …
Strumenti software della Musica Informatica - S. Sapir
6
I linguaggi storici della Musica
Informatica
06/06/07
Strumenti software della Musica Informatica - S. Sapir
7
Introduzione a Csound





Programma e linguaggio per l’elaborazione
numerica del suono
Appartiene alla famiglia Musicn di Max Mathews
Sviluppato da Barry Vercoe al Media Lab del M.I.T.
Applicazione in tempo differito
Versioni funzionanti in tempo reale, con funzionalità
aggiunte (Midi, Video, …)
06/06/07
Strumenti software della Musica Informatica - S. Sapir
8
Csound - Concetti base
Csound opera su file di testo
 Orchestra (.ORC)
contiene gli algoritmi di trattamento
del suono raggruppati in strumenti

Partitura (.SCO)
contiene i dati o i parametri utili
agli strumenti dell’orchestra per
elaborare il suono
06/06/07
Strumenti software della Musica Informatica - S. Sapir
9
Linguaggi a “Unit Generator”

Unit Generator





UG, opcode, modulo
Funzione operativa
Rappresentazione grafica
Sistema di condivisione dati
puntatore in
scrittura
Modulo 1
Array
Principio di funzionamento



06/06/07
Pass1 – verifica sintatica
Pass2 – ordinamento
temporale
Pass3 – calcolo campioni
Modulo 2
puntatore in
lettura
Interconnessione fra moduli tramite
area dati condivisa
Strumenti software della Musica Informatica - S. Sapir
10
Csound - Sintassi

Orchestra
label: result opcode argument1, argument2, … ;comment

Score
Result

p1
p2
p3
p4
… ;comment
P campi




06/06/07
Tabella contenente i dati
Colonna: micro evento (1 campo)
Righe: macro evento {n campi}
Campi riservati dal sistema P1 P2 P3 …
Strumenti software della Musica Informatica - S. Sapir
11
Csound - Segnali e collegamento tra blocchi

Segnali audio



Segnali di controllo



Calcolati alla frequenza sr (samping rate)
Identificati da variabili che iniziano con a (audio)
Calcolati alla frequenza kr (kontrol rate)
Identificati da variabili che iniziano con k (kontrol)
Collegamento tra blocchi A e B

Result di A come argument di B
a1 oscil p4, p5, p6
a2 oscil a1, p7, p8
argument
A
B
result
06/06/07
Strumenti software della Musica Informatica - S. Sapir
12
Csound - Sessione di lavoro
1.
2.
3.
4.
5.
06/06/07
Progettazione a tavolino
Schema a blocchi degli strumenti
Codifica mediante editor di testo
Compilazione e rendering con una versione
di Csound
Ascolto con programma audio utilitario e
debug se necessario
Strumenti software della Musica Informatica - S. Sapir
13
Csound - Esempio
Problema musicale


Timbro: “organo”


06/06/07
Timbro semplificato
 Onda a spettro armonico
 Inviluppo d’ampiezza
Altezza note
 Frequenza fondamentale
 Unità di misura: musicale, fisica (Hz)
Durate note
 Metronomo
 Unità di misura: musicale, fisica
(sec)
Intensità note
 Relative
 Unità di misura: musicale, fisica (dB)
Strumenti software della Musica Informatica - S. Sapir
14
Csound - Schema a blocchi
strumento
sr = 44100 ; frequenza di campionamento
kr = 4410 ; frequenza di controllo
ksmps = 10
nchnls = 1 ;uscita mono
instr 1; ****************************
idur = p3
iamp = p4
ifq1 = p5
if1 = p6
irise = p7
idec = p8
k1 linen iamp, irise, idur, idec
a1 oscili k1, ifq1, if1
out a1
endin
06/06/07
Strumenti software della Musica Informatica - S. Sapir
15
Csound – Funzione e partitura
;Definizione funzioni
f 1 0 4096 10 1 1 1 1 1 1 1 1 1 1
;forma d’onda complessa con 10 armoniche
t 0 60
;metronomo a 60 bps
;Partitura
; p1 p2 p3 p4
; ins T0 dur amp
i 1 0 2 5000
i 1 0 1 4000
i 1 1 1 6000
i 1 2 1 7000
i 1 3 1 3000
e
06/06/07
p5
freq
262
329
392
440
392
p6 p7 p8
fun att dec
1 0.2 0.5
. 0.1 0.3
. . .
. . .
. . .
CSound Compiler Details:
orchname: F:\Corsi\MusicaElettronica\Dispense\Linguaggi\esempioCsound.orc
scorename: F:\Corsi\MusicaElettronica\Dispense\Linguaggi\esempioCsound.sco
orch compiler:
18 lines read
instr
1
sorting score ...
... done
Csound Version 4.23f02 (Mar 9 2003)
graphics not supported on this terminal, ascii substituted
0dBFS level = 32767.0
orch now loaded
audio buffered in 16384 sample-frame blocks
writing 32768-byte blks of shorts to
F:\Corsi\MusicaElettronica\Dispense\Linguaggi\esempioCsound.wav
(WAV)
SECTION 1:
ftable 1:
ftable 1:
4096 points, scalemax 1.000
new alloc for instr 1:
new alloc for instr 1:
B 0.000 .. 1.000 T 1.000 TT 1.000 M: 8952.1
B 1.000 .. 2.000 T 2.000 TT 2.000 M: 10989.3
B 2.000 .. 3.000 T 3.000 TT 3.000 M: 7000.0
B 3.000 .. 4.000 T 4.000 TT 4.000 M: 3000.0
end of score.
overall amps: 10989.3
overall samples out of range:
0
0 errors in performance
peak CH 1: 10989.310547 (written: 0.335377) at 65472
11 32768-byte soundblks of shorts written to
F:\Corsi\MusicaElettronica\Dispense\Linguaggi\esempioCsound.wav (WAV)
Strumenti software della Musica Informatica - S. Sapir
16
Distribuzioni Csound

Sito ufficiale
www.csounds.com

Versione canonica (console, winsound)
www.cs.bath.ac.uk/~jpff/dream.html

CsoundAV (G. Maldonado)
http://csounds.com/maldonado/download.htm

WinXound (Editore di testo per Csound)
www.ibart.it/winxound
06/06/07
Strumenti software della Musica Informatica - S. Sapir
17
Fondamenti dei sistemi in tempo
reale




Da sempre gli strumenti musicali tradizionali rispondono in
maniera immediata alle sollecitazioni dello strumentista
Dagli anni ‘50 con l’uso del nastro è possibile riprodurre la
musica a distanza e senza esecutori, ma la produzione del
materiale sonoro con i dispositivi analogici avviene sempre in
tempo reale
Gli anni ’70 hanno segnato una svolta nella prassi musicale:
 Produzione dei suoni in tempo differito
 Scomparsa della figura dell’esecutore tradizionale (l’interprete)
 Scomparsa della gestualità e dei principi causali alla base di tutte
le musiche
Per molti musicisti nasce l’esigenza di riallacciarsi con una prassi
“tradizionale” senza tuttavia perdere i vantaggi provenienti
dall’uso delle tecnologie digitali per la manipolazione del suono
06/06/07
Strumenti software della Musica Informatica - S. Sapir
18
Musica Informatica e Tempo Reale
Musica
Matematica
Fisica
Scienze cognitive
Informatica
Musica Informatica
Scrittura
Composizione
automatica
Suoni (DSP)
Sintesi
Aiuto alla
composizione
Editoria musicale
06/06/07
Effetti
Analisi
Teoria
Esecuzione
Automatica
(sequencer)
Analisi
musicologica
Interpretazione
partiture
Installazioni
Improvvisazioni
Strumenti software della Musica Informatica - S. Sapir
Strumenti
Sensori,
interfacce
Filologia
Industria spettacolo
strumenti musicali
Audio, Web, …
19
Musica informatica e tempo reale ieri


Per poter funzionare in tempo reale, è necessario produrre i singoli campioni in
un lasso di tempo inferiore al periodo di campionamento (1/fs)
Questo tempo è difficile da prevedere



Nei computers “General Purpose”
Con i Sistemi Operativi non ottimizzati per applicazioni in tempo reale
Nasce quindi l’esigenza di “macchine dedicate” composte da:

Digital Signal Processor: 2 tipi di architettura





A funzioni fisse (oscillatori, filtri, generatori di inviluppo, ….) - prodotti commerciali
A funzioni variabili (programmabili) – concetto di patch
I/O: canali di ingressi e uscite audio e non (controlli Midi)
Host computer o microprocessore di controllo: per configurazione ed eventualmente
controllo della performance con Sistema Operativo e linguaggi o interfacce dedicati ad
applicazioni in tempo reale
Alcuni esempi storici di macchine dedicate:



06/06/07
IRCAM: 4A, 4B, … 4X (1978…1986)
Stanford University: Samson Box (1979)
Iris (Bontempi/Farfisa): MARS (1992)
Strumenti software della Musica Informatica - S. Sapir
20
Musica informatica e tempo reale oggi

Le macchine dedicate


le macchine generiche (G.P.)


sono diventate troppo costose e complesse da gestire
sono molto più potenti di quelle dedicate se accoppiate ad una
scheda audio multi-canali ed interfaccia Midi
Sono state sviluppate tecniche che permettono una
migliore risposta temporale dei sistemi G.P.:

la bufferizzazione dei campioni



Introduzione di priorità funzionali

06/06/07
Il calcolo di un gruppo di campioni (buffer) invece di un solo
campione
Permette di assorbire i picchi di calcolo e di ragionare sulla quantità
media di calcoli necessari
Distinzione fra flussi audio e flussi di controllo: le funzioni di controllo
hanno una priorità più bassa rispetto a quelle audio
Strumenti software della Musica Informatica - S. Sapir
21
Problemi con i sistemi General Purpose

Latenza



il tempo di risposta del sistema
un tempo proporzionale alla dimensione del buffer del sistema
Criticità delle risorse

Il numero di risorse per il calcolo RT dipende dall’impiego
corrente della CPU


Un ritardo nel calcolo implica l’eventuale perdita di campioni in
ingresso o l’interruzione del flusso di campioni in uscita


Limita la complessità dei calcoli, il numero di voci (polifonia)…
Produce dei rumori indesiderati (clic)
Sviluppo software multi-piattaforma



06/06/07
Funzioni DSP
Interfaccia Utente (Programmazione)
Controllo in tempo reale (Performance)
Strumenti software della Musica Informatica - S. Sapir
22
Introduzione a Pure Data


Autore: Miller Puckette
Ambiente di programmazione








Programmazione grafica ad oggetti (riprende il concetto
storico di modularità)
Shell multi-piattaforma: TCL/TK
Gestione audio, midi e altri media
Interazione grafica
Elaborazione in tempo reale
Per performance musicali "live"
Molto simile a Max/Msp (Ircam/Cycling74)
GEM per gestione immagini e video
06/06/07
Strumenti software della Musica Informatica - S. Sapir
23
Oggetti di PD

Patches


Documenti di PD
Costituiti da boxes
interconnessi tra loro




Connessioni


06/06/07
Message
Object
Number
Flusso audio ~
Messaggi
Strumenti software della Musica Informatica - S. Sapir
24
PD - Finestra principale
Suono
On/Off
Livelli di
Ingresso e
uscita
Livelli
On/Off
Messaggi di
PD (errori,
messaggi di
sistema, uscita
standard, …)
06/06/07
Strumenti software della Musica Informatica - S. Sapir
25
PD - Finestra di Patch

Modalità: [ctrl]+[e]




Edit mode
Run mode
1 finestra = 1 patch
Inserimento di oggetti


06/06/07
Da menu Put
Da short-cut: [ctrl] + [1], [ctrl] + [2], …
[alt] + [b], [alt] + [v], …
Strumenti software della Musica Informatica - S. Sapir
26
PD - Object boxes

Classe o
tipo
Definito da atomi - (testo)


Inlet

Ingressi e uscite




Argomento
alla creazione
Outlet
06/06/07
Trasmissione dati e messaggi
Oggetti di controllo: NomeClasse


Classe
Serie di argomenti
Elaborazione di eventi discreti
Aritmetica, stampa, Midi, …
Connessione normale
Oggetti audio: NomeClasse~



Elaborazione di eventi continui –
flusso audio
Aritmetica, in/out, Dsp, …
Connessione in neretto
Strumenti software della Musica Informatica - S. Sapir
27
PD - Message boxes

Messaggio


Testo interpretato da altri oggetti o da PD
Inviato




quando il patch è attivo
Alla ricezione di un altro messaggio
Da un click del mouse
Esempi

06/06/07
Stringhe di caratteri alfanumerici, numeri, lista di
numeri
Strumenti software della Musica Informatica - S. Sapir
28
PD - GUI boxes

Interfaccia utente grafica



hanno varie forme
Il loro contenuto (dati) varia secondo l’interazione
grafica in corso (con mouse o tastiera)
Esempi

06/06/07
Numeri, potenziometri, pulsanti, display, …
Strumenti software della Musica Informatica - S. Sapir
29
PD - Gestione messaggi

Messaggio
mezzo di comunicazione fra oggetti di PD, contiene:



Ordine di trasmissione tra oggetti


Dall’alto verso il basso
Ingressi caldi e freddi – ordine in ricezione



Selector o simbolo non numerico senza spazio o virgola (float, bang,
symbol, list, …)
Serie di argomenti (simboli o numeri separati da spazi, virgola o ;)
Inlet più a sinistra: caldo – un messaggio in arrivo nel punto caldo attiva
l’oggetto
Altri inlet: freddi – per memorizzare dati in arrivo
Uscite degli oggetti – ordine in uscita

I messaggi in uscita sono inviati da destra a sinistra
06/06/07
Strumenti software della Musica Informatica - S. Sapir
30
PD – Subpatches e « Incapsulation »

Object box: pd NomeSubpatch
 Creazione di una nuova finestra di patch
 Gerarchia o filiazione tra patch e subpatch




Subpatch salvato con il patch
Copie multiple di un subpatch sono indipendenti
Click su subpatch in modalità Run apre il subpatch
Astrazioni
 Subpatch salvato con NomeSubpatch.pd
 Astrazione richiamata in un patch con nome NomeSubPatch
 Istanze multiple di astrazione fanno riferimento ad un unico file
(non indipendenti)
 Possibilità di utilizzare argomenti variabili alla creazione
06/06/07
Strumenti software della Musica Informatica - S. Sapir
31
PD – Altre caratteristiche

Variabili



Array



Lista di numeri
Contenitore di campioni audio o di funzioni, creati come subpatch in forma di
Graph
Structure e template







Riconoscibili dal simbolo $
Sostituiti da valori provenienti da lista di argomenti di altri messaggi
Per manipolare e visualizzare liste di dati organizzati secondo un template
Oggetto Template: descrive la struttura dati mediante l’uso di campi (fields)
Oggetto Pointer: permette di accedere agli elementi della struttura dati
Oggetti di visualizzazione dei campi: Polygons, Curves
Altri oggetti per accedere e modificare i campi della struttura: Get, Set, …
Uso: partiture grafiche
Comunicazioni e protocolli

06/06/07
MIDI, OSC, TCP/IP
Strumenti software della Musica Informatica - S. Sapir
32
PD - Esempio
Oscillatore

Polifonia


Tecnica




Strumenti software della Musica Informatica - S. Sapir
Frequenza
Forma d’onda
Volume
Conversione freq

06/06/07
Table lookup
Controlli


Monofonico
Midi -> Hz
33
Distribuzione PD




Sito ufficiale
http//www.crca.ucsd.edu/~msp
Vedere anche
http://sourceforge.net/projects/pure-data/
Comunità
http://www.puredata.org/
Altri programmi free o shareware simili
EyesWeb: http://www.infomus.dist.unige.it (Sviluppato
dal Laboratorio di Informatica Musicale - DIST – Univ. di Genova)
CPS: http://www.bonneville.nl/cps
Sync Modular: http://www.mtu-net.ru/syncmodular/
06/06/07
Strumenti software della Musica Informatica - S. Sapir
34
Sistema musicale interattivo
Movimento del
corpo



Analisi, mappamento,
sincronizzazione
DSP
Suono
Dispositivi di cattura del gesto
Dispositivi di elaborazione numerica del segnale
Sistema di relazioni tra gesto e suono



06/06/07
Sensori
Analisi e estrazione dei parametri gestuali
Sistema arbitrario di mappamento tra parametri
gestuali e parametri sonori
Meccanismo di sincronizzazione
Strumenti software della Musica Informatica - S. Sapir
35
Interfacce e dispositivi di controllo

Quali dispositivi di controllo adoperare?

Tradizionali



Innovativi



06/06/07
Familiarità & abilità/tecnica dell’esecutore
Virtuosismi
Nuova gestualità e gesti semplici
Ergonomia, flessibilità, programmabilità
Spettacolarità e espressività estesa
Strumenti software della Musica Informatica - S. Sapir
36
Dispositivi di controllo

Laptop performance





Joystick
Mouse
Tastiera
Tavoletta grafica
Performance con dispositivi MIDI o simili



06/06/07
Console di potenziometri e pulsanti
Strumenti (tastiere, breath controller, pad, chitarre)
Dispositivi innovativi costruiti su misura
Strumenti software della Musica Informatica - S. Sapir
37
Esempi di sensori

Forza/Pressione

Movimento


06/06/07
Spazio sensorizzato
Telecamere
Strumenti software della Musica Informatica - S. Sapir
38
Le tipologie del gesto nel Live
Electronics

Gesti strumentali
 Diretto
 Indiretto



Strumento
acustico
Es. Pitch, envelope tracking
Gesti di controllo
 Interprete elettronico
 Partitura (score follower)
Livelli di congruenza tra
 Gesto strumentale e eventi
sonori
 Gesto di controllo e
elaborazione del suono
06/06/07
Gesto diretto
Partitura
Evento sonoro
Gesto
di controllo
Gesto
indiretto
Strumenti software della Musica Informatica - S. Sapir
Ambiente
esecutivo
Evento sonoro
39
Tecniche di elaborazioni del suono

Tempo reale e principio di causalità

Alcune tecniche non sono possibili


Letture al contrario di un suono
Principali categorie di elaborazioni del suono
ordinate secondo parametri musicali





06/06/07
Tempo/evento:campionamento, ritardo, accumulazione
Altezza: trasposizione, modulazione, pitch tracking
Dinamica: segmentazione, rinforzo, envelope tracking
Timbro: filtraggio, modulazione ad anello, granularizzazione
Spazio: panning multicanale, riverbero, doppler
Strumenti software della Musica Informatica - S. Sapir
40
Esempio pratico

Schema a blocchi delle varie
situazioni esecutive




Numero di programmi (algoritmi): 4
Valori di alcuni parametri
Numero e funzione dei controlli per
l’esecuzione: 17
Disposizione in sala dei musicisti e
dei dispositivi elettroacustici





06/06/07
Numero dei microfoni; 1
Numero di diffusori: 4
Configurazione del mixer
Schema dei collegamenti
Controlli musicali remoti
Strumenti software della Musica Informatica - S. Sapir
41
Partitura per l’esecuzione
Luigi Nono (1987)
Post-Prae-Ludium per Donau
per tuba e live electronics
Partitura
•Istruzioni per l’esecutore e
commenti di G. Schiaffini
•Schema ambiente esecutivo
•Indicazioni per la regia del
suono
•Partitura per l’esecuzione
Estratto della partitura ed. Ricordi
06/06/07
Strumenti software della Musica Informatica - S. Sapir
42
Esempi applicativi

CsoundAV


Pure Data



Elaborazione del suono e dell’immagine in tempo
reale
Sintesi con tecnica sottrattiva
Analisi del segnale ed estrazione di parametri
acustici per il controllo della sintesi
Max/Msp

06/06/07
Esempio di sonificazione
Strumenti software della Musica Informatica - S. Sapir
43
Grazie per l’attenzione

06/06/07
Strumenti software della Musica Informatica - S. Sapir
44