Strumenti di lavoro

 

Il "linguaggio" Csound (1)

 

 

- Concetto di Orchestra e strumento

 

Orchestra: insieme di strumenti

Strumento: applicazione di diversi operatori relativi a metodi di sintesi e funzioni speciali (e altro ancora...)

Struttura dell'orchestra:

Header

Definizione degli strumenti (instrument blocks)

 

>>

 

 

 

- Concetto di Partitura (Score)

 

Partitura: insieme di istruzioni e parametri relativi all'esecuzione di pattern sonori relativi a un insieme di strumenti definiti in un'orchestra

Struttura di una partitura:

una o più linee di comandi

Struttura di un comando di partitura:

<codice istruzione> <#instr> <action time> <durata> <lista di parametri>

 

>>

 

 

 

 

- Header dell'Orchestra

 

Nel file di testo che costituisce l'orchestra vanno inizializzati alcuni parametri:

sr = 44100
kr = 2205
ksmps = 20
nchnls = 2


Quest'intestazione effettua le seguenti inizializzazioni:
  • Frequenza di campionamento a 44100 Hz
  • Frequenza di controllo a 2205 Hz
  • Numero dicampioni per periodo di controllo a 20 (valore obbligato)
  • Numero di canali dell'uscita sonora a 2 (uscita stereofonica)

>>

 

 

- Tipi di variabili

 

Caratterizzazioni in relazione alle frequenze e alla visibilità

inome Valida quando viene attivato lo strumento dalla partitura (init time) Visibile solo nello strumento
anome Valida per segnali audio (massima frequenza di campionamento) Visibile solo nello strumento
knome Valida per segnali di controllo (ad es., inviluppi) alla freq. di controllo Visibile solo nello strumento
gnome Variabile globale Visibile in tutta l'orchestra

 

 

>>

 

 

 

 

 

- Convertitori di valori

 

 

Alcune utili funzioni di conversione

 

dbamp(x) Converte un valore di ampiezza in un valore in deciBel
ampdb(x) Converte un valore espresso in deciBel in uno valore di ampiezza

 

 

>>

 

 

 

- Alcuni operatori di sintesi

oscil xamp, xcps, ifn[, iphs] Oscillazione periodica di ampiezza xamp e frequenza xcps della tabella ifn
foscil xamp, kcps, kcar, kmod, kndx, ifn[, iphs] Oscillazione FM: kcar freq. portante, kmod req. modulante, kndx indice di modulazione
linseg ia, idur1, ib[, idur2, icI...]] Funzione a segmenti lineari; ia e ib punti estremi, idur durata di ogni singolo segmento
tone asig, khp[, istor] Filtro passa-basso; khp frequenza di taglio, asig label del segnale da filtrare
reson asig, kcf, kbw[, iscl, istor] Filtro passa-basso; kcf frequenza di centro banda, kbw larghezza di banda, asig label del segnale da filtrare
table ndx, ifn[, ixmode][, ixoff][, iwrap] Indirizzamento di una tabella (numero ifn) tramite in segnale (ndx)

Uscita su file

out asig

>>

 

 

 

- Definizione di uno strumento (Instrument Block)

 

				instr	<numero>
<Punti di connessione>	<Operatori che compongono lo strumento>
				endin
Esempio
		instr	1
	asig	oscil	10000,440,1
		out	asig
		endin

Oscillazione della tabella 1 a 440 Hz e ampiezza 10000 nel segnale asig

>>

 

- Costruzione di Look-up Table

 

Per produrre segnali audio occorrono delle tabelle con i campioni della funzione che si intende far oscillare

Vediamo alcuni tipi di generatori di tabelle; i parametri sono gli argomenti dell'istruzione f del prossimo paragrafo

Numero Parametri Significato
GEN02 # time size 2 v1 v2 v3 ... Caricamento diretto dei valori v1,v2,... nella tabella # grande size
GEN07 # time size 7 a n1 b n2 c Funzione a tratti di rette
GEN10 # time size 10 str1 str2 ... Somma di sinusoidi di size campioni e di ampiezze str1, str2, ...

>>

 

 

 

 

- Istruzioni i ed f per le partiture

 

i p1 p2 p3 p4 ... Attiva uno strumento (numero p1) al tempo p2 con durata p3; lo strumento userà i parametri che seguono (p4 ...)
f p1 p2 p3 p4 ... Definisce la tabella p1 creata col generatore p4; lo strumento farà riferimento a questa tabella usando il numero p1; gli altri parametri sono quelli descritti nel punto precedente

 

 

>>

 

 

 

 

 

 

- Parametri di passaggio

 

I valori dei parametri che compaiono come argomenti delle istruzioni i della partitura sono accessibili dallo strumento tramite le variabili pk (k = 1,2, ....)

Ogni parametro è numerato secondo l'ordine in cui si trova in partitura

Convenzionalmente

p1 Numero dello strumento
p2 Tempo di inizio dell'evento (in secondi)
p3 Durata (in secondi)
p4 Ampiezza
p5 Frequenza (o nota)

 

 

 

 


Home Precedente