Introduzione. Csound è uno strumento software per la sintesi digitale diretta del suono.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Introduzione. pino@pinocappellano.it www.pinocappellano.it. Csound è uno strumento software per la sintesi digitale diretta del suono."

Transcript

1 Csound Introduzione 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 2 1

2 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). 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, On-line il capitolo "Introduction to Sound Design in Csound di R. Boulanger. Il suono virtuale Sintesi ed elaborazione del suono Teoria e pratica con CSound di Riccardo Bianchini e Alessandro Cipriani Edizioni ConTempoNet 4 2

3 Csound riferimenti on-line Il sito di riferimento è: Il manuale ufficiale (in inglese e in diversi formati): 5 Csound - download Dal sito si apre la pagina relativa all ultima versione disponibile (ad oggi la 5.00) 6 3

4 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. 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); 8 4

5 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 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. 10 5

6 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. 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. 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. 12 6

7 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. 13 Csound front end Un altro è CsoundAV realizzato da Gabriel Maldonado 14 7

8 Csound front end Un front end evoluto è Csound Editor realizzato da Flavio Tordini. 15 Csound front end Un altro front end evoluto è WinXoundPro realizzato da Stefano Bonetti. 16 8

9 Csound front end Ultimamente si sta sviluppando un nuovo editor che si basa sulla versione 5 di Csound: Lettuce, realizzato da Rory Walsh. 17 Csound il file orchestra (.orc 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 = kr = 4410 ksmps = 10 rapporto fra sr e kr. Deve essere sempre intero nchnls = 1 numero di canali in uscita (1=mono, 2=stereo, ecc) (sample rate) frequenza di campionamento dei segnali audio (control rate) frequenza di campionamento dei segnali di controllo 18 9

10 Csound il file orchestra (.orc 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. 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 19 Csound il file orchestra (.orc orc) In definitiva il file prova.orc sarà così composto: ; intestazione sr = 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

11 Csound il file score (.sco 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: f f1 indica il numero della funzione (preceduto dal segno f ); 0 indica il momento (in secondi) in cui la funzione viene creata; 8192 indica il numero dei punti di cui è formata la tabella che serve per creare la forma d onda; 10 è 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; 1 indica l ampiezza dell onda. In caso di creazione di onde con più armoniche si inseriscono più numeri in sequenza (p.es ), tanti quante sono le armoniche. Il loro valore (da 0 a 1) indica la loro ampiezza. 21 Csound il file score (.sco sco) le Note, intese come eventi sonori. Per esempio: i i1 indica il numero della nota (preceduto dal segno i ); 0 indica il momento (in secondi) in cui la nota viene creata; 5.6 indica la durata (in secondi) della nota 22 11

12 Csound il file score (.sco sco) In definitiva il file prova.sco sarà così composto: ; funzione f ; note i 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. 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