Esercizi 7

  1. Realizzare uno script di SuperCollider che contenga:

    1. Una SynthDef con la descrizione di due generatori di onde sinusoidali che producono beating. Dobbiamo poter controllare dinamicamente dall'Interprete:

      • La frequenza del primo oscillatore.
      • L'indice di deviazione frequenziale del secondo oscillatore.
      • Ampiezza globale (somma dei due oscillatori deve essere uguale o inferiore a 1.0)

    2. Tre Synth derivati dalla SynthDef precedente, ognuno dei quali deve avere frequenza, indice di deviazione ed ampiezza diverse dagli altri. Possono essere fisse oppure cambiare dinamicamente in modo pseudocasuale attraverso un controllo da Interprete, sia manuale che automatizzato atteraverso Routine o Task. Inoltre dobbiamo poterli "accendere" o "spegnere" dinamicamente da Interprete (Synth.run()) sia manualmente che attraverso tecniche di sequencing realizzare con Routine e Task.

  2. Realizzare uno script di SuperCollider per realizzare la parte elettronica di almeno due "Wave songs" di A.Lucier:

    Partitura.

    Note dell'autore.

    Fare attenzione a:

    • Stabilire la durata di un singolo song arbitrariamente tra 10" e 20".
    • Quando avviato deve terminare automaticamente.
    • Non avere clicks (discontinuità del segnale) all'inizio e alla fine
    • Il numero di song in esecuzione e le frequenze dei due oscillatori devono comparire in Number Boxes in una GUI (monitor visivo).
  3. Realizzare uno script di SuperCollider che contenga una SynthDef con la descrizione di due generatori di onde sinusoidali che glissano da una frequenza di partenza ad una di arrivo seguendo il primo una curva lineare, il secondo una curva esponenziale. I valori frequenziali di partenza e di arrivo, nonchè il tempo del glissato devono essere specificati alla creazione del Synth derivato ma non necessitano di ulteriori modifiche successive da Interprete.

  4. Realizzare uno script di SuperCollider che contenga:

    1. Una SynthDef con la descrizione di un generatore di onde sinusoidali. Dobbiamo poter controllare dinamicamente dall'Interprete:

      • Frequenza (con smoothing).
      • Ampiezza (con smoothing).
    2. Tre Synth derivati dalla SynthDef precedente, che devono:

      • Glissare dalla frequenza in cui si trovano (uguale per tutti e tre) ad un'altra scelta in modo pseudocasuale (uguale per tutti e tre) nell'Interprete (la prima frequenza deve essere obbligatoriamente specificata).
      • Ogni Synth deve seguire una curva non lineare diversa dagli altri due con un indice di curva scelto in modo pseudocasuale ad ogni nuovo segmento.
      • La scelta pseudocasuale dei valori (frequenza finale del glissato e indice di curva) così come la durata pseudocasuale dei segmenti (tempi delta) deve essere automatizzata attraverso un loop infinito incluso in una Routine (sequencing).
  5. Realizzare uno script di SuperCollider che contenga:

    1. Una SynthDef con la descrizione di un generatore di onde sinusoidali. Dobbiamo poter controllare dinamicamente dall'Interprete:

      • Midi cc number per il controllo via MIDI della frequenza.
      • Midi cc number per il controllo via MIDI della ampiezza.

      Dobbiamo poter controllare dinamicamente con i knobs di un controller MIDI esterno:

      • Frequenza (con smoothing) di ogni eventuale Synth.
      • Ampiezza (con smoothing) di ogni eventuale Synth.
    2. Tre Synth derivati dalla SynthDef precedente ognuno con due knobs dedicati al controllo di frequenza e ampiezza.