Csound - Pino Cappellano

Transcript

Csound - Pino Cappellano
Csound
Introduzione
v.1
[email protected] – www.pinocappellano.it
1
Csound
Csound è uno strumento software per la sintesi digitale
diretta del suono.
Csound è un sintetizzatore virtuale ad architettura
completamente configurabile dall’utilizzatore che
permette praticamente tutti i metodi di sintesi del suono
attualmente conosciuti.
Csound è un linguaggio di programmazione.
Richard Boulanger – Trapped in Convert
v.1
[email protected] – www.pinocappellano.it
2
1
Csound
Csound è stato realizzato nel 1985 da Barry Vercoe al
M.I.T. (Massachusetts Institute of Technology).
Csound è un software freeware e chiunque può
apportare aggiunte e modifiche secondo i termini della
GNU Lesser General Public License.
Csound è scritto in linguaggio C (da cui il nome) ed è
disponibile per le più disparate piattaforme hardware
(Windows, Mac, Linux).
v.1
[email protected] – www.pinocappellano.it
3
Csound – book references
Testi di riferimento
The Csound Book
Perspectives in Software Synthesis, Sound Design, Signal Processing
and Programming
Edited by Richard Boulanger, Foreword by Barry Vercoe
Preface by Max Mathews
Cambridge, Mass., London, The MIT Press, 2000
http://mitpress.mit.edu/e-books/csound/frontpage.html
On-line il capitolo "Introduction to Sound Design in Csound“ di R.
Boulanger.
http://www.csounds.com/chapter1/index.html
Il suono virtuale
Sintesi ed elaborazione del suono
Teoria e pratica con CSound
di Riccardo Bianchini e Alessandro Cipriani
Edizioni ConTempoNet
http://www.virtual-sound.com/vs/index.php/content/view/14/1/
v.1
[email protected] – www.pinocappellano.it
4
2
Csound – riferimenti on-line
Il sito di riferimento è:
http://www.csounds.com
Il manuale ufficiale (in inglese e in diversi formati):
http://www.csounds.com/manual
v.1
[email protected] – www.pinocappellano.it
5
Csound - download
Dal sito http://www.csounds.com si apre la pagina relativa all’ultima
versione disponibile (ad oggi la 5.00)
v.1
[email protected] – www.pinocappellano.it
6
3
Csound - download
Si sceglie di
scaricare la
versione preferita.
(d’ora in poi si farà
riferimento alla
versione 5.02 per
Windows (a 32
bit)
Nella pagina
corrispondente si
sceglierà il server
da cui scaricare il
file.
v.1
[email protected] – www.pinocappellano.it
7
Csound - installazione
Csound si installa eseguendo il file exe e scegliendo la cartella di
destinazione (si può lasciare quella proposta di default).
Dopo l’installazione è necessario aggiornare le variabili d’ambiente del
proprio sistema.
Clic-destro su Risorse del Computer > Proprietà
(oppure: Start > Impostazioni > Pannello di Controllo > Sistema )
> Avanzate > Variabili d’ambiente > Variabili dell’utente per utente >
Nuovo (oppure: Modifica se PATH è già esistente)
• inserire, per la variabile PATH, il valore corrispondente all’ubicazione
della cartella dove si trova l’eseguibile di Csound (csound.exe);
v.1
[email protected] – www.pinocappellano.it
8
4
Csound - installazione
inserire le nuove variabili:
• Nome variabile: OPCODEDIR
valore: C:\Programmi\csound5\plugins
Se i files (orchestre, score, sound files, file Midi, file di analisi, ecc.) sono ubicati
nella stessa cartella dell’eseguibile non è necessario effettuare variazioni. Se si
preferisce rendere più “ordinato” l’insieme di files si possono definire delle cartelle
specifiche e indicarle sempre tra le variabili d’ambiente:
Cartella dove saranno posti i file di analisi generati da Csound:
• Nome variabile: SADIR
valore: come si preferisce
Cartella dove saranno posti i sound file che Csound deve leggere:
• Nome variabile: SSDIR
valore: come si preferisce
Cartella dove saranno scritti i file generati:
• Nome variabile: SFDIR
valore: come si preferisce
v.1
[email protected] – www.pinocappellano.it
9
Csound – operatività generale
Come detto, Csound è un linguaggio di programmazione.
La scrittura si esegue su due file di testo (editabili con il Notepad
od un qualsiasi editor di testo).
Una volta creati i due file (l’orchestra, con estensione .orc e la
partitura, con estensione .sco) questi vengono “passati” a Csound
per la loro compilazione.
Il risultato dell’elaborazione di Csound:
- può essere salvato come file (wav, aiff, ecc.);
- può essere inviato, in tempo reale, direttamente al convertitore
digitale/analogico.
In luogo dei due file .orc e .sco si può scrivere un unico file (che li
comprende entrambi) con estensione .csd.
v.1
[email protected] – www.pinocappellano.it
10
5
Csound – command line
L’operatività base di Csound può avvenire attraverso una sua “classica”
chiamata dalla command line (Dos per Windows) con la seguente sintassi:
C:\> csound [-flags] file.orc file.sco
oppure:
C:\> csound [-flags] file.csd
Avendo impostato la
variabile PATH
all’ubicazione
dell’eseguibile di
Csound, il comando
csound è
riconosciuto ovunque
lo si digiti.
v.1
I flag sono opzioni che
permettono particolari
operazioni. Digitando
semplicemente csound
al prompt viene
visualizzato l’elenco di
tali flag.
Digitando csound --help
viene visualizzato l’help
completo.
I files .orc e .sco oppure
semplicemente .csd
devono essere inseriti con
l’esatto indirizzo. Se la loro
ubicazione è la stessa
dell’eseguibile di csound
(csound.exe) è sufficiente
indicare solo il loro nome.
[email protected] – www.pinocappellano.it
11
Csound – command line
Esempi:
volendo creare un file in formato wave (con nome prova.wav) a partire dai file
test.orc e test.sco, la sintassi è la seguente:
C:\> csound –W –o prova.wav test.orc test.sco
volendo creare un file in formato aiff (con nome prova.aiff) a partire dai file test.orc e
test.sco, la sintassi è la seguente:
C:\> csound –A –o prova.aiff test.orc test.sco
volendo creare un file in formato wave (con nome prova.wav) a partire dal file
test.csd, la sintassi è la seguente:
C:\> csound –W –o prova.wav test.csd
volendo eseguire il risultato in tempo reale a partire dai file test.orc e test.sco
la sintassi è la seguente:
C:\> csound –o devaudio test.orc test.sco
E’ possibile inserire la variabile d’ambiente SFOUTYP=WAV per far sì che, in automatico, il file
creato sia in formato WAV senza aver bisogno, così, di inserire il flag “-W”.
v.1
[email protected] – www.pinocappellano.it
12
6
Csound – front end
Oltre all’elaborazione via linea di comando è possibile operare attraverso diversi
front end che, nel corso del tempo, sono stati realizzati dalla comunità attiva di
Csound.
Il primo e ormai “classico” front end
è WinSound realizzato da Barry
Vercoe, il “padre” di Csound.
v.1
[email protected] – www.pinocappellano.it
13
Csound – front end
Un altro è CsoundAV realizzato da Gabriel Maldonado
v.1
[email protected] – www.pinocappellano.it
14
7
Csound – front end
Un front end “evoluto” è Csound Editor realizzato da Flavio Tordini.
v.1
[email protected] – www.pinocappellano.it
15
Csound – front end
Un altro front end “evoluto” è WinXoundPro realizzato da Stefano Bonetti.
v.1
[email protected] – www.pinocappellano.it
16
8
Csound – front end
Ultimamente si sta sviluppando un nuovo editor che si basa sulla versione 5 di
Csound: Lettuce, realizzato da Rory Walsh.
v.1
[email protected] – www.pinocappellano.it
17
Csound – il file orchestra (.orc)
Il file orchestra (.orc) descrive i parametri generali e gli strumenti
che si intendono suonare. Il file è diviso in due parti:
• l’intestazione in cui si inseriscono le informazioni di base che
saranno adottate da tutti gli strumenti. Per esempio:
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1
v.1
(sample rate) frequenza di campionamento dei segnali audio
(control rate) frequenza di campionamento dei segnali di controllo
rapporto fra sr e kr. Deve essere sempre intero
numero di canali in uscita (1=mono, 2=stereo, ecc)
[email protected] – www.pinocappellano.it
18
9
Csound – il file orchestra (.orc)
• gli strumenti, di cui si indica un esempio:
avariab
Nome della variabile che
è assegnato al risultato
dell’elaborazione
relativa.
Se inizia con “a” si tratta
di suono; se inizia con
“k” si tratta di segnale di
controllo.
out
L’opcode che scrive il
risultato
dell’elaborazione (in
questo caso la variabile
avariab) nel file o lo
invia alla scheda sonora
in caso di utilizzo in
tempo reale.
v.1
instr 1
Indica lo strumento
e il suo numero
identificativo
instr 1
avariab oscil 10000, 440, 1
out avariab
endin
endin
Indica la fine dello
strumento
Oscil 10000, 440, 1
Opcode (codice
operativo), vale a dire la
funzione chiamata e che
effettua una particolare
elaborazione. Ogni
opcode necessita di
determinati argomenti.
Oscil è l’opcode che
simula un oscillatore.
Esso ha tre parametri
(ampiezza, frequenza e
numero della funzione –
definita in partitura – che
genera la forma d’onda
[email protected] – www.pinocappellano.it
19
Csound – il file orchestra (.orc)
In definitiva il file prova.orc sarà così composto:
; intestazione
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1
; strumenti
instr 1
avariab oscil 10000, 440, 1
out avariab
endin
E’ consigliabile:
- scrivere con una accurata indentazione (utilizzando la tabulazione);
- inserire, là dove si ritiene opportuno, appositi commenti (preceduti dal
segno di “punto e virgola”.
v.1
[email protected] – www.pinocappellano.it
20
10
Csound – il file score (.sco)
Il file score (.sco) descrive la partitura che gli strumenti devono
suonare. Esso è, generalmente, diviso in due parti:
• le Funzioni, con le quali si creano forme d’onda con determinate
caratteristiche. Per esempio:
f1
f1
0
8192
10
1
0
8192
10
1
indica il numero della funzione (preceduto dal segno “f”);
indica il momento (in secondi) in cui la funzione viene creata;
indica il numero dei punti di cui è formata la tabella che serve per
creare la forma d’onda;
è il numero di GEN. Ogni GEN utilizza un metodo diverso per la
generazione delle forme d’onda. Nel caso di GEN 10 l’onda
generata è una semplice sinusoide;
indica l’ampiezza dell’onda.
In caso di creazione di onde con più armoniche si inseriscono più
numeri in sequenza (p.es. 1 0.8 0.5), tanti quante sono le armoniche. Il
loro valore (da 0 a 1) indica la loro ampiezza.
v.1
[email protected] – www.pinocappellano.it
21
Csound – il file score (.sco)
• le Note, intese come eventi sonori. Per esempio:
i1
i1
0
5.6
v.1
0
5.6
indica il numero della nota (preceduto dal segno “i”);
indica il momento (in secondi) in cui la nota viene creata;
indica la durata (in secondi) della nota
[email protected] – www.pinocappellano.it
22
11
Csound – il file score (.sco)
In definitiva il file prova.sco sarà così composto:
; funzione
f1
0
8192 10
; note
i1
5.6
0
1
E’ consigliabile:
- scrivere con una accurata indentazione (utilizzando la tabulazione);
- inserire, là dove si ritiene opportuno, appositi commenti (preceduti dal
segno di “punto e virgola”.
v.1
[email protected] – www.pinocappellano.it
23
Csound – formato unificato .csd
Invece che due file separati
(.orc e .sco) si può creare un
unico file, in formato XML, con
estensione .csd.
Il formato unificato .csd è
quello che viene ormai
utilizzato grazie alle nuove
caratteristiche della versione 5
di Csound.
Tra i tag <CsOptions> possono
essere inseriti, tra gli altri, i flag
necessari all’elaborazione.
v.1
[email protected] – www.pinocappellano.it
24
12