Audio Plugin Development

Docenti:

Marco Bertola

Marco Bertola

Info

Emiliano Daddario

Emiliano Daddario

Info

 

Corsi consigliati:

Architetture e algoritmi per il procedimento del segnale audio

 

Programma:

  • I PARTE (Introduzione):
    • Richiami C++: classi astratte, interfacce e puntatori di funzione.
    • Introduzione all’ambiente di sviluppo “Xcode” ed “Eclipse”
    • Implementazione di un prototipo di host device
    • Esempio di una process tramite chiamata a callback
    • Implementazione di un prototipo di mini plug-ins delay incluso in un host
    • Introduzione alla libreria SDK VST 2.4 e configurazione di Xcode
    • La funzione di VST process
    • Configurare parametri e preset del VST
    • Esempi base: Panner, Double Panner, Delay, Equalizer
    • I VSTEvent ed il MIDI
    • Introduzione ai VSTi
    • Esempio: Synth monofonico con sintesi Waveshaping + Ring Modulation.

 

 

  • II PARTE (Laboratorio):
    • Sezione 1: plug-in di effetti in Eclipse in Linux
      • «Equalizer» (p. I) con freq. modulata tipo wah-wah (teoria, implementazione, ascolto
      • Tremolo (teoria, implementazione, ascolto)
      • Vibrato tramite buffer ciclico (teoria, implementazione, ascolto)
      • Convoluzione lineare discreta di ingressi lunghi con metodo overlap-add (teoria)
      • Convoluzione veloce con FFT e overlap-add (teoria)
      • Riverbero a convoluzione veloce (teoria, implementazione, ascolto)
    • Sezione 2: Delay-Sum Beamformer e applicazioni avanzate della FFT
      • Algoritmo Delay-Sum Beamformer di cancellazione del riverbero (teoria)
      • Introduzione + applicazioni avanzate della convoluzione veloce:Algoritmo Matched Filter Array di cancellazione del riverbero (teoria, ascolto)
      • MFA a convoluzione veloce, e differenze implementative col riverbero
      • Sound design e sintesi sonora con il riverbero a convoluzione (teoria, ascolto)
      • Volume, ritardo, eco, passa-basso/alto tramite riverbero a convoluzione (teoria)
      • Vibrato: algoritmo nel dominio della frequenza VS tempo (teoria, implementazione)
    • Sezione 3: altri formati e GUI
      • Altri formatiLibrerie per il deploy multi-formato (teoria)
      • Panner LV2 senza GUI, test su Jalv, elenco di host LV2 (implementazione)
      • Elenco di librerie per GUI (più o meno) idonee per plug-in audio
      • VSTGUI 3.0: problemi/soluzioni build di surrounddelay Steinberg in Linux; fattibilità Qt4
      • Build dell’esempio float LV2 con GUI Qt4 e modifica con Qt4 Designer (implementazione)
      • GUI nel browser in C++: QWebView di Qt4 oppure backend HTML5 Broadway di GTK+
      • GUI nel browser in JS: Zebra JS, KineticJS o altre lib canvas + KievII (implementazione)

 

Riferimenti:

MATERIALE DIDATTICO:

Dispense fornite dai docenti
Esempi progetti Xcode ed Eclipse

 

TESTO DI RIFERIMENTO CONSIGLIATO:

The Audio Programming Book: Richard Boulanger (Editor), Victor Lazzarini (Editor), Max Mathews (Foreword)