Informatica applicata alla musica Introduzione a Csound 31/10/2006.

25
Informatica applicata alla Informatica applicata alla musica musica Introduzione a Introduzione a Csound Csound 31/10/2006 31/10/2006

Transcript of Informatica applicata alla musica Introduzione a Csound 31/10/2006.

Page 1: Informatica applicata alla musica Introduzione a Csound 31/10/2006.

Informatica applicata alla Informatica applicata alla musicamusica

Introduzione a Introduzione a CsoundCsound

31/10/200631/10/2006

Page 2: Informatica applicata alla musica Introduzione a Csound 31/10/2006.

Che cos’è CsoundChe cos’è Csound Software per la sintesi Software per la sintesi digitale diretta del suono.digitale diretta del suono.

Validità stabile.Validità stabile.

Supporti a Csound.Supporti a Csound.

Page 3: Informatica applicata alla musica Introduzione a Csound 31/10/2006.

Ottenere suoni con Ottenere suoni con CsoundCsound

Orchestra e partituraOrchestra e partitura

file orchestrafile orchestra

file partiturafile partitura

Programma CsoundProgramma Csound file audio scheda audio amplificatore

Page 4: Informatica applicata alla musica Introduzione a Csound 31/10/2006.

Elaborare suoni Elaborare suoni precedentemente precedentemente

campionaticampionati

file orchestrafile orchestra

file partiturafile partitura

Programma CsoundProgramma Csound file audio scheda audio, D/A

file audio registrato

microfono

scheda audio, A/D

amplificatore

Page 5: Informatica applicata alla musica Introduzione a Csound 31/10/2006.

Scrivere Scrivere un’orchestraun’orchestra

Header: Header: dà quattro informazioni di dà quattro informazioni di base che tutti gli strumenti dovranno base che tutti gli strumenti dovranno adottare.adottare.

Esempio:Esempio:

sr = 44100sr = 44100

kr = 4410kr = 4410

ksmps = 10ksmps = 10

nchnls = 1nchnls = 1

Page 6: Informatica applicata alla musica Introduzione a Csound 31/10/2006.

Scrivere Scrivere un’orchestraun’orchestra

Strumenti: Strumenti: costituiscono le varie costituiscono le varie “macchine virtuali” che si vogliono “macchine virtuali” che si vogliono costruire.costruire.

Esempio:Esempio:

instrinstr 11

anuovaorcanuovaorc osciloscil 10000, 220, 110000, 220, 1

out out anuovaorcanuovaorc

endinendin

Page 7: Informatica applicata alla musica Introduzione a Csound 31/10/2006.

Scrivere una partitura Scrivere una partitura (score)(score)

Funzioni: Funzioni: servono a creare forme servono a creare forme d’onda di cui possiamo scegliere le d’onda di cui possiamo scegliere le caratteristiche.caratteristiche.

Esempio:Esempio:

f1f1 00 40964096 1010 11

Page 8: Informatica applicata alla musica Introduzione a Csound 31/10/2006.

Scrivere una partitura Scrivere una partitura (score)(score)

Note: Note: sono composte da sono composte da determinati parametri di cui gli unici determinati parametri di cui gli unici tre obbligatori (p1, p2, p3) sono quelli tre obbligatori (p1, p2, p3) sono quelli che indicano lo strumento che deve che indicano lo strumento che deve suonare, il tempo di attacco e la durata.suonare, il tempo di attacco e la durata.

Esempio:Esempio:

i1i1 00 33

i1i1 44 22

i1i1 66 22

Page 9: Informatica applicata alla musica Introduzione a Csound 31/10/2006.

Generazione di Generazione di sinusoidisinusoidi;01_sinusoidi.orc;01_sinusoidi.orc

sr = 44100sr = 44100kr = 4410kr = 4410ksmps = 10ksmps = 10nchnls = 1nchnls = 1

instrinstr 11anuovaorcanuovaorc osciloscil 10000, 220, 110000, 220, 1

out out anuovaorcanuovaorcendinendin

;01_sinusoidi.sco;01_sinusoidi.scof1f1 00 40964096 1010 11i1i1 00 33i1i1 44 22i1i1 66 22

Page 10: Informatica applicata alla musica Introduzione a Csound 31/10/2006.

GEN10GEN10

Generazione di un suono complesso Generazione di un suono complesso composto da cinque sinusoidi in composto da cinque sinusoidi in rapporto armonico.rapporto armonico.f1f1 00 40964096 1010 11 11 11 11 11

Quinta armonica con ampiezza 15 Quinta armonica con ampiezza 15 volte maggiore rispetto alla volte maggiore rispetto alla fondamentale.fondamentale.f1f1 00 40964096 1010 11 11 11 11 1515

Solo quinta armonicaSolo quinta armonicaf1f1 00 40964096 1010 00 00 00 00 11

Page 11: Informatica applicata alla musica Introduzione a Csound 31/10/2006.

Cambiare ampiezza e Cambiare ampiezza e frequenzafrequenza

AMPIEZZA E FREQUENZA FISSEAMPIEZZA E FREQUENZA FISSEPER OGNI NOTAPER OGNI NOTA

; 01_sinusoidi.orc; 01_sinusoidi.orcsr = 44100sr = 44100kr = 4410kr = 4410ksmps = 10ksmps = 10nchnls = 1nchnls = 1

instrinstr 11anuovaorcanuovaorc osciloscil 10000, 22010000, 220, 1, 1

out out anuovaorcanuovaorc

endinendin

; ; 01_sinusoidi01_sinusoidi.sco.scof1f1 00 40964096 1010 11i1i1 00 33i1i1 44 22i1i1 66 22

AMPIEZZA E FREQUENZA AMPIEZZA E FREQUENZA DEFINITE PER OGNI NOTADEFINITE PER OGNI NOTA

; 05_cambio_ampfreq.orc; 05_cambio_ampfreq.orcsr = 44100sr = 44100kr = 4410kr = 4410ksmps = 10ksmps = 10nchnls = 1nchnls = 1

instrinstr 11asuoniasuoni osciloscil p4, p5p4, p5, 1, 1

out out asuoniasuoniendinendin

; ; 05_cambio_ampfreq.sco05_cambio_ampfreq.scof1f1 00 40964096 1010 11;p1;p1 p2p2 p3p3 p4p4

p5p5i1i1 00 33 4000040000 110110i1i1 44 22 2000020000 110110i1i1 66 22 1000010000 440440I1I1 99 22 4000040000 440440

Page 12: Informatica applicata alla musica Introduzione a Csound 31/10/2006.

PolifoniaPolifonia

Gli strumenti Csound sono polifonici Gli strumenti Csound sono polifonici senza limite di voci.senza limite di voci.

Esempio score:Esempio score:f1f1 00 40964096 1010 11;p1;p1 p2p2 p3p3 p4p4 p5p5i1i1 00 33 70007000 261.625261.625 ;DO;DOi1i1 00 33 70007000 329.627329.627 ;MI;MIi1i1 00 33 70007000 391.995391.995 ;SOL;SOLi1i1 00 33 70007000 466.163466.163 ;SI ;SI

Page 13: Informatica applicata alla musica Introduzione a Csound 31/10/2006.

Numero strumentiNumero strumenti

Esempio:Esempio:;orchestra;orchestra

sr = 44100sr = 44100

kr = 4410kr = 4410

ksmps = 10ksmps = 10

nchnls = 1nchnls = 1

instrinstr 11aprimoaprimo osciloscil p4, p5, p4, p5, 11

out out aprimoaprimoendinendin

instrinstr 22asecondoasecondo osciloscil p4, p5, p4, p5, 22

out out asecondoasecondoendinendin

;score;scoref1f1 00 40964096 1010 11f2f2 00 40964096 1010 00

11;p1;p1p2p2 p3p3 p4p4 p5p5i1i1 00 33 1000010000 222222i2i2 44 33 1000010000 222222i1i1 88 33 80008000 800800i2i2 1212 33 80008000 800800

Csound non pone limite al numero di strumenti che possono suonare Csound non pone limite al numero di strumenti che possono suonare contemporaneamente.contemporaneamente.

Page 14: Informatica applicata alla musica Introduzione a Csound 31/10/2006.

Variabili di controllo: i Variabili di controllo: i glissandiglissandi

Creare eventi sonori che glissano da Creare eventi sonori che glissano da una frequenza ad un’altra all’interno una frequenza ad un’altra all’interno di una nota.di una nota.

Esempio strumento:Esempio strumento:

valore iniziale tempovalore iniziale tempo valore finalevalore finale

instr 1instr 1

kgliskglis lineline 220, p3, 440220, p3, 440

a1a1 osciloscil p4, kglis,p4, kglis, 11

outout a1a1

endinendin

Page 15: Informatica applicata alla musica Introduzione a Csound 31/10/2006.

Variabili di controllo: inviluppi Variabili di controllo: inviluppi di ampiezzadi ampiezza

Creare una dinamica interna al Creare una dinamica interna al suono: inviluppo.suono: inviluppo.

Esempio strumento:Esempio strumento:

instr 1instr 1

kenv kenv lineline 0, p3, 100000, p3, 10000

a2a2 osciloscil kenv, 220, 1kenv, 220, 1

outout a2a2

endinendin

Page 16: Informatica applicata alla musica Introduzione a Csound 31/10/2006.

Modalità per gestire Modalità per gestire ampiezza e frequenzaampiezza e frequenza

1.1. Metodo fissoMetodo fisso

2.2. Metodo dipendente da parametri Metodo dipendente da parametri dello scoredello score

3.3. Metodo dipendente da una Metodo dipendente da una variabile di controllovariabile di controllo

Page 17: Informatica applicata alla musica Introduzione a Csound 31/10/2006.

Manipolare più segmenti Manipolare più segmenti contemporaneamentecontemporaneamente

L’opcode linseg consente di L’opcode linseg consente di costruire più segmenti consecutivi (a costruire più segmenti consecutivi (a differenza di line che ne genera uno differenza di line che ne genera uno solo).solo).

nella prima metà del tempo globale nella prima metà del tempo globale

nella seconda metà del tempo nella seconda metà del tempo

globaleglobale instr1instr1

kglissakglissa linseglinseg 800, 800, p3/2p3/2, 1000, , 1000, p3/2p3/2, 400, 400

anewanew osciloscil 1500, kglissa, 11500, kglissa, 1

outout anewanew

endinendin

Page 18: Informatica applicata alla musica Introduzione a Csound 31/10/2006.

Variabili di controllo che Variabili di controllo che giacciono su uno o più giacciono su uno o più

segmenti di esponenzialesegmenti di esponenziale

Per avere un glissando più naturale: Per avere un glissando più naturale: usare un segmento di esponenziale.usare un segmento di esponenziale.

line line expon expon

instr 1instr 1kgliskglis exponexpon 220, p3, 440220, p3, 440a1a1 osciloscil p4, kglis, 1p4, kglis, 1

outout a1a1endinendin

Page 19: Informatica applicata alla musica Introduzione a Csound 31/10/2006.

Variabili di controllo che Variabili di controllo che giacciono su uno o più giacciono su uno o più

segmenti di esponenzialesegmenti di esponenziale linseg linseg expseg expseg

segmenti di esponenziale per la frequenzasegmenti di esponenziale per la frequenza

segmenti di esponenziale per segmenti di esponenziale per l’ampiezzal’ampiezza

instr1instr1

kglissakglissa expsegexpsegp5, p3/2, p6, p3/2, p7p5, p3/2, p6, p3/2, p7

kinvilkinvil expsegexpseg.001, p3/3, 1000, p3/3, 10000, p3/3, .001.001, p3/3, 1000, p3/3, 10000, p3/3, .001

anewanew osciloscil kinvil, kglissa, 1kinvil, kglissa, 1

outout anewanew

endinendin

Page 20: Informatica applicata alla musica Introduzione a Csound 31/10/2006.

Inviluppi con l’opcode Inviluppi con l’opcode linenlinen

Creare inviluppi di ampiezza Creare inviluppi di ampiezza trapezoidali di tipo attacco-costanza-trapezoidali di tipo attacco-costanza-estinzione.estinzione.

tempo di attacco tempo di estinzionetempo di attacco tempo di estinzione

instr 1instr 1

kenvkenv linenlinen 10000, .1, p3, .510000, .1, p3, .5

a1a1 osciloscil kenv, 440, 1kenv, 440, 1

outout a1a1

endinendin

Page 21: Informatica applicata alla musica Introduzione a Csound 31/10/2006.

Codifica frequenza in ottave Codifica frequenza in ottave e semitonie semitoni

;strumento;strumento

instr 1instr 1

ifreq ifreq = = cpspch(p5)cpspch(p5)

a1a1 osciloscil p4, ifreq, 1p4, ifreq, 1

outout a1 a1

endinendin

;score;score

f1f1 00 40964096 1010 11

;p1;p1p2p2 p3p3 p4p4 p5p5

i1i1 00 33 70007000 8.008.00

i1i1 00 33 70007000 8.028.02

i1i1 00 33 70007000 8.048.04

i1i1 00 33 70007000 9.009.00

nome nota

Hz Cpspch

DODO 261.63 8.00

DO#DO# 277.18 8.01

RERE 293.66 8.02

RE#RE# 311.13 8.03

MIMI 329.63 8.04

FAFA 349.23 8.05

FA#FA# 370.00 8.06

SOLSOL 392.00 8.07

SOL#SOL# 392.00 8.07

LALA 440.00 8.09

LA#LA# 466.17 8.10

SISI 493.86 8.11

DODO 523.26 9.00

Page 22: Informatica applicata alla musica Introduzione a Csound 31/10/2006.

Codifica ampiezza in Codifica ampiezza in deciBeldeciBel

dBdB valorevalore

9090 31622.731622.788

8888 25118.825118.866

…… ……

…… ……

22 1.261.26

00 1.001.00

;strumento;strumento

instr 1instr 1

iamp iamp = = ampdb(p4)ampdb(p4)

ifreq ifreq = = cpspch(p5)cpspch(p5)

a1a1 oscilosciliamp, ifreq, 1iamp, ifreq, 1

outout a1 a1

endinendin

Page 23: Informatica applicata alla musica Introduzione a Csound 31/10/2006.

Notazioni abbreviateNotazioni abbreviate

Note senza pause: ogni nota inizia dove Note senza pause: ogni nota inizia dove termina la precedente (+).termina la precedente (+).

Stesso valore ripetuto (.).Stesso valore ripetuto (.). Valori che variano linearmente (>).Valori che variano linearmente (>).

i1i1 00 11 1000010000 200200i1i1 ++ .. 1000010000 >>i1i1 ++ .. 1000010000 >>i1i1 ++ .. 1000010000 >>i1i1 ++ .. 1000010000 600600

Page 24: Informatica applicata alla musica Introduzione a Csound 31/10/2006.

Costanti e variabiliCostanti e variabili

Costanti: valori che non cambiano Costanti: valori che non cambiano nel corso dell’esecuzione (sr, kr, nel corso dell’esecuzione (sr, kr, sr/kr, …).sr/kr, …).

Variabili: “cassetti” dove vengono Variabili: “cassetti” dove vengono depositati i risultati delle operazioni depositati i risultati delle operazioni che seguono:che seguono:• di inizializzazione;di inizializzazione;• di controllo;di controllo;• audio.audio.

Page 25: Informatica applicata alla musica Introduzione a Csound 31/10/2006.

Riferimenti utiliRiferimenti utili

R.Boulanger, The Csound book, Cambridge, MIT Press, 2000.

R.Bianchini, A.Cipriani, Il suono virtuale, Roma, ConTempoNet, 2001.

http://www.csounds.comhttp://www.csounds.com