59
1 Universit´ a degli studi di Padova Facolt´ a di ingegneria Corso di laurea in Ingegneria Informatica Controllo gestuale di modelli fisici per la sintesi sonora di membrane percosse Relatore: Dott. Federico Avanzini Laureando: Andrea Fregnan Matricola: 611299 IF Anno accademico 2011 - 2012

Universit a degli studi di Padova Facolt a di ingegneriail concetto di sintesi del suono e i modelli sici. Secondo capitolo: contiene la trattazione sico matematica che de-scrive i

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

  • 1

    Universitá degli studi di PadovaFacoltá di ingegneria

    Corso di laurea in Ingegneria Informatica

    Controllo gestuale di modelli fisici per la sintesi

    sonora di membrane percosse

    Relatore: Dott. Federico AvanziniLaureando: Andrea Fregnan

    Matricola: 611299 IF

    Anno accademico 2011 - 2012

  • 2

    Tutto é connesso all’ingegneria, anche la musica.Tutto é connesso alla musica, anche l’ingegneria.

    Grazie alla mia famiglia, la mia fidanzata, i miei amici.

  • Indice

    1 Modelli Fisici e Sintesi classiche 9

    1.1 Modelli fisici . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    1.1.1 Il ruolo delle non linearitá . . . . . . . . . . . . . . . . 11

    1.2 Sintesi Additiva . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    1.3 Sintesi Sottrattiva . . . . . . . . . . . . . . . . . . . . . . . . . 15

    2 Formulazione fisico matematica 17

    2.1 Modelli fisici per la sintesi sonora di membrane . . . . . . . . 17

    2.2 Formulazione esplicita . . . . . . . . . . . . . . . . . . . . . . 18

    2.3 Modi normali . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    2.4 Forza di impatto . . . . . . . . . . . . . . . . . . . . . . . . . 20

    2.5 Membrana non lineare con modulazione di tensione . . . . . . 21

    2.6 Descrizione semplificata delle vibrazioni di grande ampiezza . 21

    2.7 Formulazione modale e realizzazione numerica . . . . . . . . . 22

    2.8 Cavitá d’aria, accoppiamento tra membrane . . . . . . . . . . 23

    2.8.1 Un modello semplice per la cavitá d’aria . . . . . . . . 24

    2.8.2 Membrane accoppiate . . . . . . . . . . . . . . . . . . . 25

    2.9 Interazione membrana-cordiera . . . . . . . . . . . . . . . . . 25

    3 Strumenti software 29

    3.1 Pure Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    3.1.1 Gestione dell’audio e programmazione . . . . . . . . . 30

    3.1.2 Patch di esempio . . . . . . . . . . . . . . . . . . . . . 31

    3.2 Protocollo Midi . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    3.2.1 Definizione del protocollo . . . . . . . . . . . . . . . . . 32

    3.2.2 Esempio di File Midi . . . . . . . . . . . . . . . . . . . 34

    3.3 Descrizione dei Pad e dei moduli V-Drum . . . . . . . . . . . 37

    3.4 Membrane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

    3.5 Moduli di controllo . . . . . . . . . . . . . . . . . . . . . . . . 38

    3

  • 4 INDICE

    4 Realizzazione e test 414.1 Controllo precisione della sensoristica Hardware Roland . . . . 414.2 Patch per la sintesi della membrana . . . . . . . . . . . . . . . 49

    4.2.1 Subpatch midicontrol . . . . . . . . . . . . . . . . . . . 524.2.2 Subpatch pd dsp-engine . . . . . . . . . . . . . . . . . 52

    4.3 Realizzazione in C++ . . . . . . . . . . . . . . . . . . . . . . 524.4 Conclusioni e sviluppi futuri . . . . . . . . . . . . . . . . . . . 58

    Bibliografia 59

  • Elenco delle figure

    1.1 Struttura per modelli dinamici . . . . . . . . . . . . . . . . . . 121.2 Sintesi Additiva . . . . . . . . . . . . . . . . . . . . . . . . . . 151.3 Sintesi Sottrattiva . . . . . . . . . . . . . . . . . . . . . . . . . 16

    2.1 Schema a blocchi . . . . . . . . . . . . . . . . . . . . . . . . . 232.2 Tom con membrana risonante e battente . . . . . . . . . . . . 252.3 Cordiera di un rullante . . . . . . . . . . . . . . . . . . . . . . 262.4 Risultati grafici . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    3.1 Patch di esempio Pure Data . . . . . . . . . . . . . . . . . . . 323.2 Sensori del pad V-Drum . . . . . . . . . . . . . . . . . . . . . 383.3 Combinazioni tra moduli e pad Roland . . . . . . . . . . . . . 393.4 Drum Brain Roland TD 12 . . . . . . . . . . . . . . . . . . . . 393.5 Implementazione MIDI per il controllo della posizione . . . . . 403.6 Implementazione MIDI per il controllo della velocitá . . . . . . 40

    4.1 Pad per misure sperimentali . . . . . . . . . . . . . . . . . . . 424.2 Discretizzazione sperimentale del raggio del pad . . . . . . . . 424.3 Patch per dati sperimentali . . . . . . . . . . . . . . . . . . . 444.4 Tabella precisione TD 12, orizzontale . . . . . . . . . . . . . . 454.5 Tabella precisione TD 12, orizzontale . . . . . . . . . . . . . . 464.6 Tabella precisione TD 12, verticale . . . . . . . . . . . . . . . 474.7 Tabella precisione TD 12, verticale . . . . . . . . . . . . . . . 484.8 Array position: in ascissa é presente l’indice dell’elemento e

    in ordinata il valore nell’intervallo (0, 127). Array velocity : inascissa é presente l’indice dell’elemento e in ordinata il valorenell’intervallo (0,127) . . . . . . . . . . . . . . . . . . . . . . 50

    4.9 Patch Pure Data per la Postazione . . . . . . . . . . . . . . . 514.10 Subpatch midicontrol . . . . . . . . . . . . . . . . . . . . . . . 534.11 Subpatch pd dspengine . . . . . . . . . . . . . . . . . . . . . . 53

    5

  • 6 ELENCO DELLE FIGURE

  • Introduzione

    L’obiettivo della tesi é il controllo di modelli fisici per la sintesi sonora dimembrane. Usando termini piú pratici, si vuole superare la staticitá sonoradata da suoni campionati di una batteria elettronica in commercio, creandoquindi suoni totalmente nuovi dati dal gusto musicale del percussionista.Vedremo che per fare ció vengono utilizzati strumenti appartenenti a variediscipline scientifiche, in particolar modo:

    1. la fisica e la matematica per descrivere il modello del sistema chevogliamo esaminare e per manipolare i parametri in gioco

    2. l’elettronica utilizzata per le interfacce con i moduli sonori

    3. l’informatica che servirá per realizzare il modello utilizzando algoritmidi sintesi e per tradurre in linguaggio comprensibile ad un computerció che deriva dal linguaggio che comunemente utilizziamo ogni giorno:la musica.

    Di seguito viene riportata una descrizione del contenuto dei capitoli.

    • Primo capitolo: é un capitolo introduttivo che espone teoricamenteil concetto di sintesi del suono e i modelli fisici.

    • Secondo capitolo: contiene la trattazione fisico matematica che de-scrive i modelli fisici per la sintesi sonora di membrane a percussione,sviluppando le varie casistiche che tengono in considerazione l’accoppia-mento di membrane, la cavitá d’aria contenuta all’interno e l’eventualepresenza della cordiera.

    • Terzo capitolo: sviluppa l’aspetto elettronico ed informatico ovveropresenta gli strumenti, appartenenti alle discipline suddette, utilizzatiper lo scopo della tesi riportando cenni teorici ed esempi pratici utiliper una migliore comprensione.

    7

  • 8 ELENCO DELLE FIGURE

    • Quarto capitolo: in questa parte del lavoro verrá riportata la rea-lizzazione pratica, che include anche la patch realizzata con gli stru-menti informatici. É quindi possibile visualizzare il risultato prodottodall’unione dei concetti presentati nei capitoli precedenti.

  • Capitolo 1

    Modelli Fisici e Sintesi classiche

    Per lo scopo dell’elaborato viene utilizzata la sintesi del suono. La sintesielettronica di suoni offre una grande libertá nella costruzione dei suoni, sianell’imitazione di quelli naturali, che nella produzione di sonoritá originali.Vi sono ormai varie tecniche per riprodurre i suoni desiderati con la fedeltávoluta. Tuttavia lo scopo della sintesi del suono non é tanto la riproduzio-ne di un segnale voluto, quanto la realizzazione di un generatore suonabile,caratterizzato cioé da una articolazione timbrica paragonabile a quella deglistrumenti acustici. Il problema si sposta quindi alle possibilitá di controllodell’algoritmo e dell’articolazione timbrica offerta dagli strumenti sintetici.Vengono di seguito presentati diversi algoritmi di sintesi del suono differen-ziati in base a determinati criteri che soddisfano: suonabilitá, qualitá sonora,utilizzabilitá all’interno di una partitura:

    • generazione diretta: sintesi additiva, campionamento, granulare;

    • feed-forward: sottrattiva, modulazioni, distorsione non lineare;

    • feed-back: sintesi per modelli fisici.

    Si pone particolare attenzione all’ultimo punto, che viene approfondi-to nella sezione seguente. Alcuni cenni della sintesi additiva e sottrattivavengono successivamente introdotti.

    1.1 Modelli fisici

    La sintesi per modelli fisici segue un approccio mirato alla rappresentazio-ne della dinamica degli oggetti responsabili della produzione del suono. Lasintesi é basata sull’uso di modelli formali di strumenti tradizionali; il suonoviene generato simulando numericamente la dinamica dello strumento che

    9

  • 10 CAPITOLO 1. MODELLI FISICI E SINTESI CLASSICHE

    lo produce. I modelli del segnale hanno fino ad oggi dominato la scena, invirtú di algoritmi efficienti e flessibili. I modelli fisici di strumenti musicalihanno invece cominciato solo di recente ad essere usati per la sintesi del suo-no. I motivi sono da ricercarsi principalmente in una maggiore complessitádegli algoritmi e nello stesso tempo in una marcata rigiditá delle strutturedi sintesi; la maggior parte dei modelli rappresenta infatti strumenti specificie raramente é possibile trovare delle strutture che descrivano ampie classi distrumenti musicali in maniera efficiente ed efficace. D’altro canto, la sinte-si per modelli fisici presenta alcune notevoli potenzialitá. Innanzitutto, sipuó osservare che essa impiega algoritmi caratterizzati da pochi parametri dicontrollo, i quali hanno quasi sempre un significato fisico. Da ció segue chepoche ed intuitive variazioni sui parametri stessi producono dei risultati so-nori coerenti con l’esperienza, anche gestuale, del musicista. In altre tecnichebasate su modelli del segnale questo non accade, proprio perché tali modellisi disinteressano dei meccanismi di generazione del suono. Questa proprietá éparticolarmente interessante dal punto di vista musicale; si puó infatti pensa-re al controllo dello strumento simulato in termini degli stessi parametri usatiper il controllo del corrispondente strumento reale; tali parametri possono es-sere forniti dall’esecutore attraverso trasduttori ed attuatori, che permettonodi riprodurre interventi gestuali che fanno parte dell’esperienza del musici-sta. Per quanto riguarda le sonoritá prodotte, queste sono caratterizzate daun’evoluzione timbrica naturale, analoga a quella degli strumenti acustici.In particolare, vengono conservate quelle caratteristiche di varietá e coerenzatimbrica tipiche degli strumenti acustici e gradite all’orecchio umano.

    Per gli strumenti musicali, un primo livello di scomposizione é dato dal-l’identificazione di due blocchi funzionali distinti: l’eccitatore e il risonatore.Il risonatore é la parte dello strumento in cui la vibrazione ha effettivamen-te luogo, ed é correlato a caratteristiche sonore quali l’altezza ed inviluppospettrale. L’eccitatore provoca ed eventualmente sostiene la vibrazione nelrisonatore, immettendo energia nello strumento; da esso dipendono le pro-prietá di attacco del suono, fondamentali nell’identificazione del timbro. Nelnostro caso, il blocco risonatore é costituito dagli elementi membrana, cordie-ra, guscio, mentre il blocco eccitatore é costituito dalla bacchetta comandatadal percussionista. L’interazione puó essere semplicemente feedforward, sel’eccitatore non riceve nessuna informazione di ritorno dal risonatore, oppurefeedback, se i due blocchi si scambiano informazione in entrambe le direzioni.La suddivisione in blocchi puó essere estesa a livelli piú fini, soprattutto peril risonatore. Ad ogni stadio ci si trova davanti ad una scelta: continuarenel raffinamento, modellizzando la fisica del sistema fino ai livelli piú bassi(modelli white box), oppure considerare solo le proprietá ingresso-uscita del

  • 1.1. MODELLI FISICI 11

    blocco in esame (modelli black box). É chiaro che un modello black boxrisulta piú semplice nella progettazione e piú efficiente nell’implementazio-ne, riducendo il blocco funzionale ad un semplice filtro. Si rischia tuttaviadi introdurre semplificazioni eccessive nel modello, e comunque di produrrestrutture i cui parametri non hanno significato fisico e sono quindi difficil-mente controllabili. Dalla parte opposta, un approccio completamente whitebox genera modelli che possono rivelarsi eccessivamente pesanti dal punto divista computazionale. Passando dalla scomposizione concettuale allo svilup-po dei modelli, i due principali blocchi dello strumento sono rappresentati daaltrettanti sistemi dinamici.L’eccitatore contiene nella maggior parte dei casi delle forti non linearitá;i risonatori, descritti tipicamente dall’equazione delle onde, vengono inve-ce modellizzati da sistemi lineari. Nelle implementazioni numeriche si deveprendere in considerazione un terzo elemento, un modulo di interazione tra idue blocchi.

    1.1.1 Il ruolo delle non linearitá

    La presenza di relazioni non lineari gioca un ruolo essenziale nello sviluppo dimodelli di sistemi acustici; in assenza di esse, queste si ridurrebbero a sche-mi di sintesi sottrattiva (vedi sezione 1.3), in cui un segnale di eccitazioneviene sottoposto a filtraggio. Come giá detto le non linearitá sono presentiin particolare negli eccitatori e nei meccanismi di interazione di questi coni risonatori; poiché l’area in cui l’eccitazione ha luogo é solitamente piccolaed é, quindi, naturale utilizzare modelli matematici a parametri concentrati(descritti successivamente) per rappresentarle. Ad un primo livello di appros-simazione si puó supporre che il meccanismo di eccitazione sia rappresentatoda una funzione non lineare istantanea la cui forma viene a volte dedotta daosservazioni sperimentali e direttamente implementata nella simulazione. Perrealizzare simulazioni piú accurate, é necessario passare da una rappresenta-zione mediante non linearitá istantanee ad una che tenga in considerazionela dinamica dell’eccitatore. Un problema che allora sorge é come trasportaretali modelli dinamici e non lineari in schemi computazionali efficienti. Unastruttura utilizzata con successo in molti casi é quella illustrata in figura 1.1.

    Il problema del controllo nella sintesi fa riferimento a tutto quello che énecessario per passare dalla descrizione simbolica dei suoni, come espressanella partitura, al suono, utilizzando i modelli di sintesi. Tradizionalmentela partitura prevede un insieme di note con tutte le relative proprietá diesecuzione come crescenti, diminuendi, forti, mezzo piano ecc, ed é compito

  • 12 CAPITOLO 1. MODELLI FISICI E SINTESI CLASSICHE

    Figura 1.1: Struttura per modelli dinamici

    dell’esecutore, con l’aiuto di uno strumento di tradurle in suono.In generale possono essere distinti due livelli di astrazione nel controllo:

    • controllo dell’espressivitá dello strumento

    • controllo della dinamica spettrale

    Il primo, che riguarda l’esecutore inteso come interprete, fa riferimento alpassaggio da simboli ad azioni nel tempo per scegliere e rendere gli effettiespressivi voluti. Esso determina la variazione continua di un insieme di pa-rametri e consiste quindi nella generazione di segnali che variano sulla scaladei tempi delle frasi.Il secondo livello invece controlla la dinamica spettrale di una nota e determi-na il passaggio dai parametri espressivi all’algoritmo sottostante. In questocaso i segnali variano durante l’evoluzione della nota e operano sulla scala ditempo della sua durata [4].Tra esecutore e strumento tradizionale esiste un’interfaccia che determina evincola le possibili azioni. Tra l’algoritmo di sintesi e il musicista é purepresente un’interfaccia di controllo: essa costituisce ció che il musicista cono-sce dello strumento e l’oggetto con cui interagisce. L’interfaccia di controllomappa l’insieme delle possibili azioni dell’esecutore nei parametri di controllodegli algoritmi sottostanti in maniera tale da presentare una coerenza e unaconsequenzialitá che soddisfi le aspettative del musicista. Negli strumenticommerciali, tale interfaccia é determinata dal costruttore. Invece l’uso delcomputer ha reso le interfacce programmabili a seconda delle esigenze dell’u-tente, per cui esse possono essere a diversi livelli di astrazione.

    Era il 1971 quando Hiller e Ruiz videro la possibilitá di usare le simulazioninumeriche delle equazioni d’onda per applicazioni di sintesi del suono. Questo

  • 1.1. MODELLI FISICI 13

    é un approccio completamente nuovo alla sintesi di suoni elettronici in quantoil punto di partenza é la descrizione fisica dell’oggetto vibrante.

    Una decade dopo McIntyre, Schumacher, and Woodhouse pubblicarono illoro studio classico sull’uso di mappe non lineari per modellare la generazionedi oscillazioni negli strumenti musicali.“Un minicomputer veloce potrebbe produrre risultati ad una velocitá di ciclonella gamma udibile. Il risultato avrebbe forse qualche novitá: uno strumentomusicale elettronico sulla base di un modello matematico di uno strumentoacustico”.Oggi gli algoritmi descritti da questi autori possono essere facilmente imple-mentati in real time su un hardware general purpose, ed é pratica comuneutilizzare il termine “modellazione fisica” per referenziare quelle tecniche dimodellazione del suono in cui gli algoritmi di sintesi sono progettati sulla ba-se della descrizione dei fenomeni fisici coinvolti nella generazione del suono.Le rappresentazioni dirette del suono, che sono semplicemente basate sul-la descrizione della forma d’onda, non contengono informazioni riguardo almodo in cui il suono é stato generato e processato dall’ambiente circostanteprima di arrivare all’orecchio di chi ascolta. Campionando il segnale sono-ro, non si assume alcuna struttura di base, o processo, o modello generativonella rappresentazione del suono. La descrizione simbolica é estremamentescarsa e di conseguenza é consentita poca interazione con le rappresentazionidel suono. Sebbene le tecniche di elaborazione dei segnali siano in gradodi fornire modifiche significative, il campionamento é fondamentalmente unlivello statico e basso di rappresentazione del suono.Rappresentazioni di alto livello di segnali sonori sono necessariamente asso-ciate ad alcuni paradigmi astratti che sono alla base della produzione delsuono. Quando si cerca di sviluppare una tassonomia di metodi di sintesi delsuono una prima distinzione puó essere fatta tra i modelli di segnale e modellidi sorgente. Qualsiasi algoritmo che é basato su una descrizione del segnaledi pressione sonora e non fa alcuna ipotesi sui meccanismi di generazione,appartiene alla classe di modelli di segnale. La sintesi additiva é un buonesempio di modelli di segnale: uno svantaggio principale di questa tecnica éil numero enorme di parametri di controllo. Inoltre la rappresentazione so-nora non ha un’interpretazione semantica forte, poiché questi parametri nonhanno un alto livello di significato. La sintesi sottrattiva con la sua strutturasorgente-filtro prevede in un certo senso una descrizione piú semantica delsuono. Entrambe le tematiche verranno analizzate nelle sezioni successive.I modelli di sorgente mirano a descrivere gli oggetti fisici e le interazioniche hanno generato un evento acustico piuttosto che il segnale acustico stes-so. Questo approccio di modellazione spesso dá luogo a descrizioni piuttostocomplesse, che possono portare ad algoritmi numerici computazionalmente

  • 14 CAPITOLO 1. MODELLI FISICI E SINTESI CLASSICHE

    costosi. Vale la pena di discutere un altro aspetto, cioé quello del control-lo. Una diretta conseguenza di assumere una approccio source-based é chei parametri di controllo risultanti hanno una interpretazione fisica semplice:parametri tipici dei modelli sono associati alle caratteristiche di massa, durez-za, pressioni, lunghezze: tale rappresentazione semantica in linea di principioconsente un’interazione piú intuitiva. Modelli del suono source-based sonospesso raggruppati in due grandi categorie ovvero modelli a parametri con-centrati (modelli lumped) e modelli a parametri distribuiti. In generale imodelli distribuiti sono spesso utilizzati per descrivere corpi vibranti o vo-lumi d’aria in cui le forze e la materia dipendono sia dal tempo sia dallospazio. Risonatori in una, due e tre dimensioni come, per esempio fori acu-stici, membrane, piatti, ecc, possono essere trattati come sistemi continuidistribuiti, e matematicamente descritti per mezzo di equazioni differenzialiparziali (PDE). A differenza dei modelli distribuiti, i modelli concentrati sonoutilizzati quando un sistema fisico puó essere convenientemente descritto sen-za considerare esplicitamente la sua estensione nello spazio. Come esempio,un dispositivo meccanico risonante puó essere descritto in termini di mas-se ideali o elementi rigidi, collegati tra loro con molla e ammortizzatori, edeventualmente elementi non lineari. Analoghe considerazioni possono appli-carsi a circuiti elettrici e anche ad alcuni sistemi acustici. I modelli risonantisono naturalmente descritti nel modello del tempo, in termini di equazionidifferenziali ordinarie (ODE).

    1.2 Sintesi Additiva

    Per avere un suono con un andamento complesso e variabile si possono usarecontemporaneamente piú elementi semplici. Per esempio un’orchestra pro-duce una sonoritá piena e variabile mediante una sovrapposizione di moltistrumenti. Nella sintesi additiva, suoni complessi sono prodotti mediante lasovrapposizione di suoni elementari, spesso sinusoidali. In certe condizio-ni (ad esempio se le frequenze sono multiple tra loro) i suoni costituenti sifondono insieme e il risultato é percepito come un unico suono. Questo proce-dimento é usato anche in alcuni strumenti musicali tradizionali. Ad esempionell’organo le canne producono suoni relativamente semplici. Per otteneresuoni piú ricchi, sono usate piú canne che suonano contemporaneamente adifferenti altezze, tipicamente multiple della fondamentale. Quando si ana-lizza un suono reale quasi periodico prodotto da uno strumento musicale,si osserva che l’energia spettrale si concentra attorno a poche righe strette.Queste righe corrispondono a sinusoidi, chiamate parziali, di frequenza al-l’incirca multipla della fondamentale. L’ampiezza di ciascuna parziale non

  • 1.3. SINTESI SOTTRATTIVA 15

    é proporzionalmente costante nel tempo rispetto alla fondamentale, ma va-ria secondo un suo andamento. Ad esempio nell’attacco, sono significativealcune parziali, che poi diventano trascurabili nel regime. In generale le par-ziali sono componenti di uno spettro a frequenza arbitraria. Le parziali cioépossono essere o non essere armoniche (multipli interi) di una fondamenta-le. In un suono inarmonico (come quello di una campana) le parziali nonsono in rapporti interi con la fondamentale. La sintesi additiva, come dettoprecedentemente, é un metodo di grande generalitá ma ha il problema cheha bisogno di un gran numero di parametri di controllo per ciascuna no-ta. Devono essere specificate due funzioni di controllo per ciascuna parziale(ampiezza e frequenza).

    Figura 1.2: Sintesi Additiva

    1.3 Sintesi Sottrattiva

    Mentre la sintesi additiva costituisce suoni complessi sommando insieme sem-plici suoni sinusoidali tempo varianti, la sintesi sottrattiva interviene su unsegnale a larga banda (ad esempio onda quadra, onda triangolare, dente disega, etc) con un sistema di filtri allo scopo di modificare il timbro e quindila forma d’onda, producendo, quindi, la forma d’onda desiderata. Esempi disintesi sottrattiva si possono ritrovare anche negli strumenti musicali tradi-zionali dove la selezione del timbro é ottenuta in maniera meccanica tramitela cassa armonica come nella chitarra o nel violino.L’interpretazione fisica della sintesi sottrattiva consiste in una sorgente disegnale di eccitazione che viene inviata ad un sistema risonante (vedi figura1.3).

    Nella sintesi sottrattiva si ha un blocco di generazione del segnale seguitoin connessione senza feedback da uno o piú blocchi, eventualmente in cascatao in parallelo che lo trasformano.A seconda dell’andamento della risposta in frequenza, si puó variare l’an-damento globale dello spettro del segnale in ingresso, ad esempio estraendo

  • 16 CAPITOLO 1. MODELLI FISICI E SINTESI CLASSICHE

    Figura 1.3: Sintesi Sottrattiva

    una piccola porzione del suo spettro. Se il filtro é statico, cioé se i parametrinon variano, resta costante anche il suo effetto. Se invece i parametri sonotempo varianti, cambia anche la risposta in frequenza del filtro. In uscitasi avrá una combinazione delle variazioni spettrali del tempo del segnale iningresso e di quelle del filtro. I parametri del filtro sono quindi scelti in basealla risposta in frequenza voluta e alla dinamica timbrica desiderata.

  • Capitolo 2

    Formulazione fisico matematica

    Segue lo sviluppo del modello fisico per la sintesi sonora di membrane checompongono lo strumento a percussione.

    2.1 Modelli fisici per la sintesi sonora di mem-

    brane

    Le membrane percussive possono essere classificate in tre grandi categorie:quelle composte di una singola membrana (o testa) accoppiata ad una cavitád’aria chiusa (ad esempio i timpani utilizzati nelle orchestre), quelle costi-tuite da una singola membrana supportata da un guscio aperto (come deitamburi particolari utilizzati nelle batterie vintage), e quelle composte dadue teste o pelli accoppiate attraverso un’intercapedine d’aria chiusa (questoé il caso piú ricorrente) in cui la membrana battente é colpita dall’esecutore,la membrana risonante vibra a causa dell’ accoppiamento. Inoltre, possonoessere presenti altri elementi risonanti e interagenti con l’intero sistema comeper esempio la cordiera, tipica degli strumenti per le marce militari come irullanti. Le variabili in gioco variano notevolmente: le membrane possonoessere colpite con una bacchetta di legno, con delle bacchette per timpano,o la mano nuda, e possono essere addirittura spazzolate. Inoltre le caratteri-stiche dei materiali influenzano la qualitá del suono: la membrana puó esseretrasparente o sabbiata, puó essere composta da uno o due strati di diversequalitá o modi per timbro strumentale.

    Nella formulazione piú semplice, i modelli fisici delle membrane assumo-no che le vibrazioni possono essere considerate lineari. Tuttavia, con questaipotesi possono essere accettate le approssimazioni piú grossolane, e i modellirealistici odierni richiedono di abbandonarla. Le non linearitá piú rilevanti

    17

  • 18 CAPITOLO 2. FORMULAZIONE FISICO MATEMATICA

    sono quelle che derivano dai meccanismi di eccitazione (ad esempio, la for-za nell’impatto tra bacchetta-membrana), cośı come quelle derivanti da fortivibrazioni di ampiezza della membrana. Quest’ultimo effetto non lineare,che riguarda la geometria del sistema, si verifica perché nel regime a grandeoscillazione l’area della membrana, e quindi la sua tensione, sono modulatiin dipendenza allo spostamento istantaneo. Questo produce un aumentaredella frequenza di oscillazione nei grandi spostamenti, e di conseguenza lafrequenza ha un glissando, fenomeno tipico che si verifica percuotendo i tam-buri di una batteria acustica. Questo effetto é udibile in numerosi strumentie caratterizza fortemente il loro timbro, quindi, ha bisogno di essere simulatoattraverso i modelli di sintesi.

    In [1] viene proposto un modello fisico per gli effetti di modulazione ditensione in una membrana circolare, che si basa sulla cosiddetta approssi-mazione Berger. É dimostrato che il modello puó essere considerato comeun’estensione 2D della modulazione di tensione delle corde, e puó essere ef-ficientemente integrato in un motore di sintesi. La membrana non lineare éaccoppiata a un modello non lineare per la forza di impatto. Viene ancheproposto un nuovo modello per un rilevante meccanismo di produzione delsuono: le membrane accoppiate attraverso l’aria racchiusa tra le due teste.Viene seguito un approccio modulare in cui gli elementi individuali (la mem-brana circolare, la forza d’impatto, e le teste accoppiate attraverso la cavitád’aria), sono modellate separatamente. É proprio la modularitá la chiavedella parte teorica della relazione. Potendo dividere il problema in piú sotto-problemi é piú semplice capire il funzionamento dei singoli blocchi. Il temadel block-based per la modellazione fisica a base di algoritmi di sintesi sono-ra ha ricevuto notevole attenzione negli ultimi anni, in particolare qualoradiversi componenti possano essere modellati secondo diversi paradigmi.

    I risultati numerici ottenuti dalle simulazioni effettuate mostrano che imodelli citati sono in grado di catturare gli effetti piú rilevanti dei meccanismifisici simulati e comprendono la modulazione della tensione e i fenomenidovuti all’accoppiamento di due membrane

    2.2 Formulazione esplicita

    L’equazione differenziale alle derivate parziali che descrive la vibrazione diuna membrana circolare con dispersione, dissipazione e forza di guida é la

  • 2.3. MODI NORMALI 19

    seguente:

    ∇4z(r, ϕ, t)+σ∂2z(r, ϕ, t)

    ∂t2−T0∇2z(r, ϕ, t)+d1

    ∂z(r, ϕ, t)

    ∂t+d3

    ∂∇2z(r, ϕ, t)∂t

    = f (ext)(r, ϕ, t)

    (2.1)Dove il termine z(r, ϕ, t) é la disposizione verticale della membrana nel

    punto (r, ϕ) in coordinate polari al tempo t, mentre la forza esterna e f(r, ϕ, t)é la forza che agisce sul sistema. Le costanti T0 e σ sono rispettivamente latensione di superficie della membrana e la densitá di superficie, e la corrispon-

    dente velocitá dell’onda é c =√

    T0σ

    . La dissipazione é modellata attraverso untermine indipendente dalla frequenza d1 un termine dipendente dalla frequen-za d3, che incorpora le perdite d’aria, all’interno e al confine della membrana.La PDE ha un’unica soluzione data dalle condizioni iniziali e dalle condizionial contorno. Se B = {(r, ϕ): r = R} é il limite circolare della membrana conraggio R, le condizioni limite ideali sono rappresentate da zero deflessionee asimmetria su B. Per semplicitá, scegliamo le condizioni iniziali per averespostamento iniziale nullo e velocitá iniziale nulla.

    2.3 Modi normali

    L’equazione differenziale PDE puó essere vista come un set di equazioni dif-ferenziali ordinarie che descrivono le dinamiche dei modi normali. Vienerichiamato il fatto che un modo é una soluzione particolare della PDE nellaforma z(t)K(r, ϕ), in cui le dipendenze spaziali e temporali sono disaccoppia-te. La soluzione modale é associata alla trasformata di Sturm Liouville (SL),un operatore integrale il cui kernel é dato dalla autofunzione spaziale K. Chia-ramente il kernel dipende dal particolare problema in esame: per la membra-na circolare con limite fissato, é conosciuta la corrispondente autofunzionespaziale ovvero

    Kn,m(r, ϕ) = cos(nϕ)Jnµn,m(r

    R) (2.2)

    Dove n =0,.....,∞ , m = 1,......,∞ e µn,m é l’emmesimo zero della funzione diBessel di ordine n del primo tipo, Jn. Di seguito viene riportata la trasformataSL g di una generica funzione g e la trasformata inversa di g :

    •gn,m(t) =

    ∫ 2π0

    ∫ R0g(t, ϕ, t)Kn,m(r, ϕ)rdrdϕ (2.3)

    •g(r, ϕ, t) =

    ∞∑n=0

    ∞∑m=1

    gn,m(t)Kn,m(r, ϕ)

    ‖Kn,m(r, ϕ)‖22(2.4)

  • 20 CAPITOLO 2. FORMULAZIONE FISICO MATEMATICA

    Da notare, in particolare, l’utilizzo dei due indici n ed m che designanol’aspetto bidimensionale della membrana. Sostituendo la soluzione del modonormale z=

    ∑ zn,mKn,m‖Kn,m‖22

    nell’equazione (2.1) e applicando la trasformata SL,

    si ottiene l’equazione differenziale ordinaria:

    z̈n,m(t)+1

    σ[d1+d3(

    µn,mR

    )2]żn,m(t)+(µn,mR

    )2[D

    σ(µn,mR

    )2+c2]zn,m(t) =1

    σf(ext)

    n,m (t)

    (2.5)in cui i modi zn,m richiamano un oscillatore forzato del secondo ordine i

    cui parametri sono univocamente determinati da quelli della PDE originale.

    Il termine forzante f(ext)

    n,m é la trasformata SL di f(ext). Nel caso ideale di

    una forza esterna applicata a un singolo punto xh = (rh, ϕh) della superfi-cie della membrana, la densitá di forza prende la forma di f (ext)(r, ϕ, t) =Fh(t)δ

    2xh(r, ϕ) dove la notazione designa la funzione di Dirac in 2d centrata

    in xh.

    2.4 Forza di impatto

    La densitá di forza f (ext) che guida lo spostamento della membrana nell’equa-zione 2.1 puó risultare da ogni tipo di interazione meccanica. Dato che tuttele membrane percussive devono essere colpite per produrre suono, viene este-so il modello lineare della membrana con un modello a impatto che descrivel’azione di un ideale martello, per esempio una bacchetta. Assumiamo chela bacchetta sia un corpo rigido di massa mh che si muove con una traietto-ria zh(t). La bacchetta sta colpendo la membrana nel punto xh = (rh, ϕh).Quindi la forza generata all’impatto in xh é data da

    Fh(ζ(t), ˙ζ(t)) =

    {kζ(t)α + λζ(t)α ˙ζ(t) se ζ > 0

    0 altrimenti(2.6)

    Dove ζ(t) é definito come z(rh, ϕh, t) − zh(t), il parametro k é la durez-za della forza, λ é il coefficiente di dissipazione della forza e l’esponente αdipende dalla geometria locale attorno all’area di contatto. Nell’ipotesi sem-plificata di forza agente idealmente su un singolo punto di contatto, il modellodi impatto puó essere semplicemente accoppiato al modello della membranaattraverso

    f(ext)

    n,m (t) = Fh(t)Kn,m(rh, ϕh) (2.7)

    Se non agiscono altre forza sulla bacchetta, la sua traiettoria é accoppiataal modello di impatto attraverso la legge di Newton. Da notare che dalmomento in cui Fh dipende da entrambe le membrane e dalla disposizionedella bacchetta, il modello completo diventa non lineare.

  • 2.5. MEMBRANA NON LINEARE CON MODULAZIONE DI TENSIONE21

    2.5 Membrana non lineare con modulazione

    di tensione

    Il modello discusso non si avvicina alla gestione degli effetti non lineari chesi incontrano nelle membrane reali per esempio la modulazione di tensione.Dato che l’area della membrana varia durante l’oscillazione, anche la tensionevaria in dipendenza della disposizione, causando variazioni del contenutodella frequenza durante l’evoluzione del suono. Essendo la modulazione ditensione una non linearitá geometrica, un modello relativamente semplicepuó essere usato per descriverla.

    2.6 Descrizione semplificata delle vibrazioni

    di grande ampiezza

    Una delle teorie piú usate é dovuta a von Karman, un ingegnere e fisicoungherese. In questo approccio, le vibrazioni della piastra sono modellateda due PDE non lineari accoppiate, per lo spostamento trasversale e per lafunzione di stress.

    Un approccio piú semplice della modellazione di non linearitá geometri-che per le piastre é dato da Berger: esso é basato sulla semplificazione delleequazioni di von Karman. Una conseguenza fondamentale dell’approssima-zione di Berger é che l’equazione risultante per la piastra, sebbene sia ancoranon lineare, é disaccoppiata, il che semplifica notevolmente le analisi. L’ap-prossimazione di Berger non ha una piena e soddisfacente giustificazione, epuó apparire come un artificio matematico introdotto apposta per disaccop-piare il problema. Infatti, é stato mostrato che essa porge risultati erratiper particolari condizioni al contorno, in particolare quando il bordo dellapiastra é libero di muoversi in una direzione. D’altra parte, le equazioni diBerger porgono risultati accurati per piastre con il bordo fisso, ed é dimo-strato che in questo caso le equazioni possono essere derivate attraverso unaperturbazione del metodo di analisi delle equazioni della piastra, senza usarel’approssimazione originale di Berger. In particolare, il modello é stato appli-cato all’analisi di deflessione di grande dimensione, ed é stato mostrato cheessa porge risultati che sono in accordo con le altre analisi approssimate. Inbase a quanto detto precedentemente, usiamo il modello Berger per simularegli effetti di modulazione di tensione in una membrana circolare. Il modellopuó essere formulato come segue:

  • 22 CAPITOLO 2. FORMULAZIONE FISICO MATEMATICA

    D∇4z + σ∂2z

    ∂t2− [T0 + TNL(z)]∇2z + d1

    ∂z

    ∂t+ d3

    ∂∇2z∂t

    = f (ext) (2.8)

    dove abbiamo omesso le dipendenze temporali e spaziali per semplicitá.In accordo a tale equazione, il termine non lineare é modellato come unintegrale sullo stato della membrana, e puó essere interpretato come la ten-sione superficiale generata in dipendenza della disposizione z, in aggiunta allatensione To. L’integrale doppio nella formula

    TNL(z) =Eh

    2πR2(1− v2)

    ∫ R0

    ∫ 2π0

    [(∂z

    ∂r)2 +

    1

    r2(∂z

    ∂ϕ)2]rdrdϕ (2.9)

    puó essere interpretato come una misura dell’area totale della membranacorrispondente alla disposizione z.

    2.7 Formulazione modale e realizzazione nu-

    merica

    Se il termine non lineare che tiene conto della modulazione di tensione nel-l’equazione di Berger viene portato dalla parte destra, l’equazione risultantedescrive una membrana non lineare con costante di tensione T0, che é forzatadai due termini di eccitazione, f e f (tm)(z) = TNL(z)∇2z Entrambi questi ter-mini sono non lineari e operano in feedback al sistema membrana, dato cheessi dipendono dallo stato della membrana. Al fine di includere f (tm) nellaformulazione modale, questo deve essere scritto in termini di modi piuttostodella disposizione z. Il risultato finale porge

    TNL(z) =Eh

    4R2(1− v2)∑n,m

    µ2n,mz2n,m

    ‖Kn,m‖22(2.10)

    La realizzazione numerica é basata sulla formulazione modale della mem-brana lineare. Dalla (2.5) si nota che nel dominio di Laplace il modo normale(n,m) é l’output di un filtro del secondo ordine Hn,m(s) =

    σ−1

    s2+2αn,ms+ω2n,m. Il

    filtro é discretizzato usando la trasformata bilineare, la quale possiede utiliproprietá: essa é un metodo low order, di conseguenza i filtri numerici so-no ancora del secondo ordine; inoltre é libera dall’aliasing. D’altra parte,introduce delle frequenze di deformazione le quali, tuttavia, diventano signi-ficative solo se vengono simulati centinaia di modi. Anche lo spostamentodella bacchetta zh é l’output di un filtro del secondo ordine applicato alla

    forza di impatto. Il filtro é Hh(s) =m−1

    h

    s2.

  • 2.8. CAVITÁ D’ARIA, ACCOPPIAMENTO TRA MEMBRANE 23

    In conclusione Hn,m e Hh sono mandati in filtri numerici che sono controllatidai parametri fisici della membrana e delle bacchetta. Lo schema a blocchi infigura 2.1 mostra una realizzazione numerica della membrana circolare. Glioscillatori Hn,m simulano un set di modi di membrana, mentre il blocco Hhsimula la dinamica della bacchetta. I blocchi rimanenti computano i segnalidi eccitazione non lineari. La forza di impatto applicata al punto di hit xhé elaborata nel blocco Fh come una funzione dello stato della membrana edella bacchetta. La tensione non lineare é computata come una funzionedella disposizione modale nel blocco TNL. L’input dell’algoritmo di sintesié rappresentato dalla velocitá iniziale della bacchetta (che corrisponde adimpostare gli appropriati valori iniziali sul filtro Hh) e dal punto di impattoxh. L’output del sistema é dato dal segnale di disposizione della membrana.Lo schema di figura mostra, inoltre, che la computazione dei termini forzantif (ext)n,m , f

    (tm)n,m . introduce cicli di feedback.

    Figura 2.1: Schema a blocchi

    2.8 Cavitá d’aria, accoppiamento tra mem-

    brane

    Molte membrane percussive consistono di una pelle accoppiata ad una cavitád’aria, o due pelli accoppiate attraverso una cavitá d’aria. L’aria racchiusaproduce due effetti principali: introduce un’impedenza alla membrana, e irra-dia il suono. Dal punto di vista modellistico conviene trattare separatamentequesti due effetti.

  • 24 CAPITOLO 2. FORMULAZIONE FISICO MATEMATICA

    2.8.1 Un modello semplice per la cavitá d’aria

    In questa sezione non considereremo l’accoppiamento e la radiazione asso-ciata al guscio, che é trattato come una frontiera rigida. Si pone maggiorconcentrazione sugli effetti dell’aria racchiusa nel guscio la quale influenza ilsuono risultante attraverso tre meccanismi:

    1. per i modi non asimmetrici si comporta come un carico inerte: le oscil-lazioni non sono compresse dall’aria nella cavitá, ma l’effettiva massamodale é incrementata dalla massa d’aria, causando un abbassamentodella frequenza.

    2. per i modi asimmetrici si comporta come una rigidezza aggiunta: inquesto caso il movimento della membrana cambia il volume d’aria, el’effettiva rigidezza dell’aria racchiusa aumenterá il mode frequency.

    3. per gli strumenti composti da due pelli, essa accoppia le pelle special-mente alle basse frequenze: attraverso questo meccanismo le vibrazionidella pelle battente sono trasmesse alla pelle risonante.

    Il primo effetto puó essere semplicemente incorporato nel modello della mem-brana incrementando la massa che tiene conto del carico d’aria sulla superficiedella membrana. Analogamente, il secondo effetto puó essere incorporato nelmodello incrementando la rigidezza dei modi non asimmetrici. L’effetto piúinteressante, sia dal punto di vista musicale e sia dal punto di vista dellasintesi, é il terzo, dato che accoppiando le due pelli si influenza in modo si-gnificativo il timbro del suono ed é il caso che piú ricorre nelle realtá musicali.Il modello proposto consiste di un sistema ammortizzatore accoppiato ad en-trambe le pelli. Dato che il carico d’aria é distribuito sopra la superficie dellamembrana, si modella l’interazione aria-membrana come una densitá di for-za costante applicata all’intera superficie. Quindi, l’effetto é principalmenteevidente per i modi di tipo (0,m), specialmente il modo (0, 1), in quanto nonvi e’ la presenza di diametri nodali e di conseguenza varia la massa d’ariacontenuta nella cavitá . Le equazioni

    Fair(t) = kair[ẑ1(t)− ẑ2(t)] + λair[ ˙̂z1(t)− ˙̂z2(t)] (2.11)

    ˆz(t) =+∞∑n=0

    =∞∑m=1

    zn,m(t)

    ∫ 2πo

    ∫ R0 Kn,m(r, ϕ)rdrdϕ

    πR2 ‖Kn,m(r, ϕ)‖22(2.12)

    f(air)

    0,m (t) = f(air)(t)

    2πR2

    µ0,mJ1(µ0,m) (2.13)

  • 2.9. INTERAZIONE MEMBRANA-CORDIERA 25

    formano il modello cavitá d’aria. Tale modello puó essere semplicementeintegrato nello schema a blocchi di figura 2.1 attraverso l’inclusione di unaddizionale loop di feedback in cui

    1. gli spostamenti medi z(k) sono computati ad ogni istante di tempo kdallo spostamento modale Zn,m con (2.12),

    2. la forza F air(k) é elaborata da z(k) con (2.11)

    3. la componente di forza f(air)0,m (k) é iniettata nel corrispondente filtro

    H0,m.

    2.8.2 Membrane accoppiate

    L’accoppiamento tra la pelle battente e la pelle risonante produce uno spet-tro sonoro differente in dipendenza al relativo tuning delle pelli, ovvero comeesse sono accordate. In particolare, se le tensioni non lineari della membranasono vicine, il suono risultante rivela dei battimenti che sono causati da modiaccoppiati. D’altra parte, se le due tensioni sono molto separate, il fenomenodel battimento, non si verifica, ma il contenuto in frequenza della pelle ri-sonante e’ iniettato nella pelle battente producendo uno spettro complessivopiú ricco.

    Figura 2.2: Tom con membrana risonante e battente

    2.9 Interazione membrana-cordiera

    Quando la membrana viene messa in movimento, essa vibra contro la cordieraproducendo un suono rumoroso. Si segue un approccio di lumped modelingo modello a parametri concentrati discusso nella sezione 1.1, in cui l’intera-zione é rappresentata da eccitazioni puntiformi sulla membrana. La cordiera

  • 26 CAPITOLO 2. FORMULAZIONE FISICO MATEMATICA

    puó prendere contatto con la membrana su un largo numero di punti. Unmodello di stringa distribuito basato su strutture a guida d’onda o differenzefinite, che simula il contatto con la membrana su un numero grande di punti,sarebbe computazionalmente molto dispendioso per il modello che é statoutilizzato. Per questa ragione viene seguito un differente approccio basatosu due semplificazioni. La prima é data dal fatto che particolari cordieremetalliche usate in certe percussioni possiedono elevata rigiditá alla flessio-ne. La seconda é che l’oscillazione della cordiera é di solito molto piccola,dato che esse vengono messe in movimento dall’oscillazione della membranapiuttosto che attraverso l’applicazione diretta. Ci concentriamo quindi suuna cordiera rigida in cui solo il primo modo di oscillazione é considerato.Viene, inoltre, assunto che la cordiera venga a contatto con la membrana nelpunto di massimo spostamento.

    Figura 2.3: Cordiera di un rullante

    In accordo con il modello descritto sopra, lo spostamento della corda Zstobbedisce alla PDE di una corda rigida con dissipazione

    EstIst∂4zst∂r4

    + µst∂2zst∂t2

    − Tst∂2zst∂t2

    + dst∂zst∂t

    = f (st) (2.14)

  • 2.9. INTERAZIONE MEMBRANA-CORDIERA 27

    Dove Est e Ist sono i moduli di Young e il momento di inerzia. I parametriµst e Tst rappresentano la densitá lineare della corda e tensione mentre dsté il coefficiente di dissipazione. Il termine forzante f (st) é dovuto alla forzad’impatto tra cordiera e membrana.

    Le simulazioni numeriche del modello per la membrana sono state finaliz-zate a valutare la capacitá del modello di reagire a differenti input (punto diimpatto e velocitá). La figura 2.4 mostra i risultati di due simulazioni in cuila membrana é colpita in due punti differenti alla stessa velocitá: nella primaxh é vicina al centro, nella seconda xh é vicina al bordo (rim) del tamburo.

    Figura 2.4: Risultati grafici

    Entrambe le oscillazioni nel dominio del tempo e i corrispondenti spettriin frequenza mostrano che l’energia dell’impatto é trasmessa per lo piú aimodi con le frequenze piú basse quando il punto d’impatto é vicino al cen-tro, mentre i modi maggiori sono eccitati quando il punto d’impatto é piúvicino al rim. Per un musicista, l’influenza del punto d’impatto nello spettrorisultante del suono é estremamente importante.

    Gli effetti dei principali parametri della cordiera (massa, tensione, dissi-pazione) nel risultato finale sono stati osservati dall’esecuzione di alcuni testscansione in cui ognuno di questi parametri varia sopra un ampio range. Lesimulazioni numeriche mostrano che la tensione della corda Tst é quella cheinfluenza maggiormente il suono risultante.

  • 28 CAPITOLO 2. FORMULAZIONE FISICO MATEMATICA

  • Capitolo 3

    Strumenti software

    Nelle sezioni seguenti vengono presentati tutti gli strumenti elettronico-informaticiche sono serviti per la realizzazione del progetto.

    3.1 Pure Data

    Studiare la musica elettronica aiuta a capire meglio quello che si fa con i pro-grammi, soprattutto aiuta a capire quali sono i limiti dei programmi stessi.Ad esempio i sintetizzatori software attualmente in commercio sono per lopiú monofunzionali, cioé svolgono un compito e solo quello. Naturalmente inmolti casi lo svolgono benissimo, ma non sanno fare altro. Questi program-mi possono costare molto, soprattutto i migliori. Se si volessero avere deisintetizzatori per realizzare 3 o 4 tecniche di sintesi del suono si dovrebberoacquistare 3 o 4 prodotti commerciali diversi, questo a scapito di costi elevatie del fatto che probabilmente fra qualche anno saranno obsoleti e diverrannoquindi praticamente inutili. É molto meglio studiare le tecniche di sintesi eil funzionamento dell’audio digitale per avere l’opportunitá di utilizzare pro-grammi forse piú complessi, ma che danno l’opportunitá di costruirsi da solii propri suoni.

    Inventare i propri suoni non é una cosa da poco.

    Quindi studiare e praticare la musica elettronica é un modo per appropriarsidel suono, per creare il proprio, che molte volte non sará il piú bello, maalcune volte sará sicuramente unico. Una volta apprese le tecniche di sin-tesi si possono scegliere programmi a costo zero cioé freeware e open source(cioé é possibile consultare liberamente il codice sorgente ed apportare adesso eventuali modifiche), come Pure Data. Sintetizzare il suono attraverso

    29

  • 30 CAPITOLO 3. STRUMENTI SOFTWARE

    un software digitale implica la progettazione e la realizzazione di algoritmipiú o meno complessi. Gli algoritmi non sono altro che rappresentazioni delpensiero, e il pensiero non si paga.

    3.1.1 Gestione dell’audio e programmazione

    Pure Data é un ambiente di programmazione grafica in tempo reale per pro-cessare audio e video. Trattandosi, per l’appunto, di un’interfaccia grafica ilmusicista-programmatore non é obbligato a scrivere del codice in un editordi testo, ma realizza delle patch combinando vari tipi di oggetti grafici. Nelgergo dei sintetizzatori analogici una patch rappresenta l’insieme dei colle-gamenti fra i suoi moduli. Pd (abbreviazione di Pure Data) mutua questoconcetto: attraverso una patch si definisce graficamente l’ordine con cui i varioggetti sono collegati fra loro. Pure Data é un software libero ed é anche mul-tipiattaforma quindi gira sui sistemi operativi piú comuni. La patch windowé l’ambiente di programmazione vero e proprio in cui é possibile scrivere glialgoritmi. La patch window puó trovarsi in due stati funzionali diversi: editmode e run mode. Il primo permette di inserire tutti gli elementi all’internodella finestra mentre il secondo é necessario per gestire la patch quando que-sta é in azione. Per processare segnali audio é necessario attivare il motoreDSP (Digital Signal Processor) il quale si occupa di elaborare il segnale intempi rapidissimi e permette la sua trasformazione da digitale ad analogico eviceversa. Essendo un ambiente grafico la finestra si riempie di entitá di varianatura, dette scatole. Queste scatole sono di quattro tipi: oggetti, messaggi,GUI e commenti. Gli elementi fondamentali della programmazione in PureData sono gli oggetti, rappresentati dalle object box, caratterizzate dalla for-ma rettangolare e dalla presenza di entrate (inlets) nella parte superiore, edi uscite (outlets), nella parte inferiore. Un oggetto puó creare o processaredati oppure segnale audio e ricevere attraverso gli inlets messaggi, liste ouscite di altri oggetti. I collegamenti fra oggetti avvengono tramite cavi diconnessione che si realizzano tenendo premuto il tasto sinistro del mouse apartire dall’outlet mittente e rilasciandolo non appena si é raggiunto l’inletdi arrivo.

    L’inlet di sinistra di ogni oggetto é detto caldo poiché alla ricezione di unmessaggio, di un dato o di un segnale, produce immediatamente un’ uscitadall’oggetto stesso. Tutti gli altri inlets sono freddi, quindi nel momento incui ricevono un dato, messaggio, o segnale, lo inseriscono temporaneamenteall’interno dell’oggetto, fino a che lo stesso non viene processato all’attiva-zione dell’inlet caldo. Graficamente gli oggetti-audio si distinguono da quelliper i dati perché quelli appartenenti al primo tipo terminano sempre con il

  • 3.1. PURE DATA 31

    segno della tilde e gli inlet e outlet che processano il segnale sono piú scuririspetto a quelli normali. I cavi che trasportano segnale sono piú spessi diquelli che trasportano dati. In Pure Data esistono moltissimo oggetti. Unodei piú importanti é l’oggetto bang, la cui funzione é quella di innescare un’a-zione oppure mettere in funzione un algoritmo.Pure Data é un linguaggio di programmazione orientato all’audio quindi altempo. Come ogni linguaggio di programmazione che si rispetti esso prevedela gestione di variabili e costanti, di operazioni matematiche con operatoriaritmetici ed operatori condizionali, la possibilitá di creare subpatches, di me-morizzare vettori, tabelle e grafici. Essendo un ambiente di programmazionegrafico mette a disposizione oggetti GUI e librerie grafiche che il program-matore puó usare a suo vantaggio. Naturalmente Pure Data prevede oggettiper la manipolazione dell’audio digitale come oscillatori, analizzatori di am-piezza in funzione della frequenza e del tempo, oggetti che permettono divisualizzare la forma d’onda di un segnale audio. Per chiarire meglio il fun-zionamento dell’ambiente di Pure Data viene riportato un semplice esempioin cui vengono descritti tutti gli elementi [6].

    3.1.2 Patch di esempio

    Nell’esempio che segue viene realizzata una patch che svolge la funzione dicontatore. Essa incrementa il contatore di una unitá ad intervalli regolari (nelnostro caso 500 ms). L’algoritmo utilizza un oggetto che permette di conser-vare in memoria un numero intero. Tale oggetto é int il cui inlet destro riceveun intero e lo memorizza finché un bang nell’inlet sinistro non lo costringe ainviarlo dall’outlet. All’apertura della patch l’oggetto int viene inizializzatocon uno zero nella sua memoria tramite l’apposito oggetto loadbang. All’atti-vazione dell’oggetto metro, int riceve un bang nella sua entrata calda facendouscire zero, che viene mandato all’uscita della patch e contemporaneamenteviene sommato a 1, tramite l’oggetto aritmetico +. Quest’ultimo a sua voltaspedisce il risultato, cioé uno, nell’entrata fredda di int. Il nuovo valore (uno)uscirá non appena il successivo bang viene prodotto da metro, e cośı via.É possibile visualizzare la patch nella figura 3.1.

    Questo esempio proposto é solo un accenno di patch che puó essere rea-lizzata con Pure Data. Esistono patch molto piú complesse le quali com-prendono oggetti che, al primo impatto del musicista- programmatore, sonototalmente nuovi. Per rendere piú chiara la visione dell’intera patch vienemesso a disposizione un help per ogni oggetto al quale si puó accedere pre-mendo il tasto destro del mouse sull’oggetto stesso. Leggendo la documenta-zione é piú facile e intuitiva la visione complessiva del programma in quanto

  • 32 CAPITOLO 3. STRUMENTI SOFTWARE

    Figura 3.1: Patch di esempio Pure Data

    si conoscerá la funzione di ogni singolo modulo/patch. Questo é l’approccioseguito in questa tesi.

    3.2 Protocollo Midi

    Con l’acronimo MIDI (Musical Instrument Digital Interface) si indica il pro-tocollo standard per l’interazione degli strumenti musicali elettronici (anchetramite un computer). Il MIDI indica due cose: un linguaggio informatico,ossia una serie di specifiche che danno vita al protocollo, e un’interfacciahardware, che consente il collegamento fisico tra vari dispositivi.

    Possiamo distinguere due tipi di rappresentazione della musica: operazio-ni e simboli. Il primo tipo specifica esattamente la tempistica per la musicae la descrizione fisica del suono da produrre, mentre il secondo tipo usasimboli descrittivi per descrivere la forma della musica e permette grandelibertá di interpretazione. Entrambi i tipi sono descritti come rappresenta-zioni strutturali. In questo contesto viene presentato il MIDI, un protocollomolto utilizzato che abilita la connessione fra computer e equipaggiamentimusicali.

    3.2.1 Definizione del protocollo

    Tutti al giorno d’oggi possono creare un file MIDI usando programmi com-merciali o non. Il MIDI part́ı inizialmente come un linguaggio di descrizionemusicale in formato binario. I messaggio MIDI sono usati da un interfacciaMIDI per comunicare con le altre. Tutti questi messaggi includono il numero

  • 3.2. PROTOCOLLO MIDI 33

    del canale. Ci sono 16 possibili canali nel protocollo ed essi vengono usatiper separare voce e strumenti, come mixer multitraccia. Le specifiche MIDIprevedono una comunicazione seriale asincrona a 31.25 Kbps. C’é un bit distart, 8 bit di dati e un bit di stop; in tutto ogni messaggio dati prende 10bit seriali e li spedisce in 320 microsec. Un messaggio MIDI puó consiste-re da uno fino a migliaia di byte di dati. Lo strumento ricevente conoscequanti byte devono essergli spediti dal primo byte di messaggio. Questo byteé conosciuto come status byte, mentre gli altri come data bytes. Molti deicomandi includono il numero di canale (0-15) specificati nei quattro bit menosignificativi dello status byte. I 3 bit rimanenti identificano il messaggio. Ilbit piú significativo del data byte é posto a 0, di conseguenza i valori che puóassumere sono i numeri minori di 128.Ci sono diversi tipi di messaggi MIDI. Al livello piú alto i messaggi MIDIsono classificati come Messaggi di canale o messaggi di sistema. I messaggidi canale sono quelli da applicare ad uno specifico canale ed il numero dicanale é incluso nello status byte per questi messaggi. I messaggi di siste-ma non riguardano un particolare canale, di conseguenza non viene indicatonessun numero di canale nello status byte. A loro volta i messaggi di canalepossono essere classificati come Channel Voice Messages o Mode messages. Imessaggi che appartengono alla prima categoria sono per esempio: Note On,Note Off, Polyphonic key pressure, channel pressure [5]. I messaggi della se-conda categoria riguardano fondamentalmente il modo in cui uno strumentoricevente risponderá ai Channel Voice Messages. L’attivazione di una par-ticolare nota e il rilascio della stessa nota sono considerati come due eventiseparati. Quando viene premuto un tasto su una tastiera MIDI, essa mandaun messaggio Note On sulla porta destinata al MIDI OUT. Lo status bytenote on é seguito da due data bytes che specificano il numero della nota ela velocitá con cui si é premuto il tasto. Il numero della nota é usato nelsintetizzatore ricevente per selezionare la nota da suonare e la velocitá é nor-malmente usata per controllare l’amplitudine della nota. Quando il tastoviene rilasciato, la tastiera spedirá un messaggio di note Off il quale inclu-de i data bytes per il numero della nota e la velocitá con cui é rilasciata(questa informazione di solito viene ignorata). A velocitá pari a zero in unevento Note On corrisponde ad un evento Note Off. Alcune tastiere MIDIhanno l’abilitá di essere sensibili alla pressione che é applicata ad un tasto.L’informazione di pressione, comunemente chiamata aftertouch, puó essereusata per controllare degli aspetti del suono prodotto da un sintetizzatore(ad esempio il vibrato).

    System Messages: mentre i Channel Voice Messages vengono applicatisolo agli strumenti settati nel canale specifico, i System Messages vengonoapplicati a tutte le periferiche e portano informazioni come il segnale per la

  • 34 CAPITOLO 3. STRUMENTI SOFTWARE

    sincronizzazione, dettagli per l’impostazione della periferica di destinazione.System Real Time messages sono usati per sincronizzare tutto l’equipaggai-mento MIDI basato su un clock come per esempio una drum machine. Perassicurare la precisione temporale a questo tipo di messaggi viene data unamaggiore prioriá rispetto agli altri messaggi. I System Real Time Messagessono: il Timing Clock, Start, Continue, Stop, Active Sensing. Esistono al-tri due tipi di messaggi di sistema e sono: System common messages (SongSelect message, Song Position Pointer) e System exclusive messages.

    Quando i messaggi MIDI sono memorizzati su disco essi sono tipicamentesalvati nel formato Standard MIDI file (SMF). Il file MIDI generato é, indefinitiva, una lista di eventi che specifica i singoli passi che una schedaaudio deve compiere per generare uno specifico suono. Essi occupano moltomeno spazio su memoria rispetto a file audio digitale.

    3.2.2 Esempio di File Midi

    Vediamo un piccolo esempio esplicativo del funzionamento del protocollo MI-DI tratto da [2]. Con questo esempio si intuisce la semplicitá e la portabilitádi tale standard.

    Una sorgente invia i seguenti comandi MIDI in esadecimale: 4D 54 68 6400 00 00 06 00 01 00 02 01 80 4D 54 72 6B 00 00 00 19 00 FF 58 04 03 02 6008 00 FF 51 03 09 27 C0 00 FF 59 02 01 00 00 FF F2 00 4D 54 72 6B 00 0000 2A 00 B0 07 64 00 B0 0A 30 00 B0 5B 40 00 B0 5D 10 00 C0 04 00 90 4564 86 00 80 45 64 81 40 90 42 64 81 40 80 42 64 00 FF F2 00

    Chunk Header (MThd): 4D 54 68 64 00 00 00 06 00 01 00 02 01 80

    • 4D 54 68 64 : intestazione di 4 byte del MIDI Track header chunk

    • 00 00 00 06 : questi 4 byte informano che seguiranno 6 byte di datisino alla fine di questo chunk header

    • 00 01 : questi 2 byte informano che il file MIDI é del formato (tipo) 1

    • 00 02 : questi 2 byte informano che dopo il MThd seguiranno 2 blocchidi traccia MTrk

    • 01 80 : informazione che specifica la risoluzione in impulsi per quartodi nota PPQN (in questo caso per ogni nota da un quarto vi sono 384impulsi).

    Primo Chunk MTrk (cosiddetta Traccia del Tempo): 4D 54 72 6B 00 0000 19 00 FF 58 04 03 02 60 08 00 FF 51 03 09 27 C0 00 FF 59 02 01 00 00FF F2 00

  • 3.2. PROTOCOLLO MIDI 35

    • 4D 54 72 6B : intestazione di 4 byte del MIDI Track chunk (informanoche il blocco é una traccia successiva al MThd e che si tratta dunquedi una MTrk)

    • 00 00 00 19 : questi 4 byte informano che seguiranno 25 byte di datifino alla fine di questa traccia (track chunk)

    • 00 : Tempo Delta. Questi 2 byte informano che il successivo eventorispetto al precedente si verificherá dopo zero PPQN, quindi immedia-tamente (senza alcun ritardo)

    • FF 58 04 03 02 60 08 : evento Meta Dato. Questo Meta evento informache le misure delle tracce musicali saranno suddivise in 3

    4

    • 00 : Tempo Delta pari a zero PPQN. Il prossimo evento (FF 51 0309 27 C0) avverrá dopo una quantitá di tempo zero PPQN rispettoall’evento precedente (FF 58 04 03 02 60 08)

    • FF 51 03 09 27 C0 : evento Meta Dato. Questo Meta evento informache la velocitá metronomica del brano midi é impostata a 100 battitial minuto

    • 00 : Tempo Delta pari a zero PPQN

    • FF 59 02 01 00 : evento Meta Dato. Questo Meta evento informache la tonalitá della scala musicale possiede un diesis in chiave (SOLmaggiore)

    • 00 : Tempo Delta pari a zero PPQN

    • FF F2 00 : questi tre byte informano che ha termine il blocco traccia

    Seconda Chunk MTrk (seconda traccia): 4D 54 72 6B 00 00 00 2A 00 B007 64 00 B0 0A 30 00 B0 5B 40 00 B0 5D 10 00 C0 04 00 90 45 64 86 00 8045 64 81 40 90 42 64 81 40 80 42 64 00 FF FF 02 00

    • 4D 54 72 6B : intestazione di 4 byte del MIDI Track chunk (informanoche il blocco é una traccia successiva al MThd e che si tratta dunquedi una MTrk)

    • 00 00 00 2A : questi 4 byte informano che seguiranno 51 byte di datifino alla fine di questa traccia (track chunk)

    • 00 : Tempo Delta pari a zero PPQN

  • 36 CAPITOLO 3. STRUMENTI SOFTWARE

    • B0 07 64 : Evento Midi: Control Change n. 7 (Volume). Questodato di Control Change di tre byte informa che il volume generale dellenote presenti nella traccia é impostato da questo momento a 64 (100in decimale)

    • 00 : Tempo Delta pari a zero PPQN

    • B0 0A 30 : Evento Midi: Control Change n. 10 (Panpot). Questo datodi Control Change di tre byte informa che il Pan (ossia il bilanciamentodei volumi tra i due canali stereo é impostato da questo momento e perquesta traccia a 30 [48 decimale])

    • 00 : Tempo Delta pari a zero PPQN

    • B0 5B 40 : Evento Midi: Control Change n. 91 (Riverbero). Questodato di Control Change di tre byte informa che il Riverbero é impostatoda questo momento e per questa traccia a 40 (64 decimale)

    • B0 5D 10 : Evento Midi: Control Change n. 93 (Chorus). Questo datodi Control Change di tre byte informa che il Chorus é impostato daquesto momento e per questa traccia a 10 (16 decimale)

    • 00 : Tempo Delta pari a zero PPQN

    • C0 04 : Evento MIDI: Program Change n. 4. Questo dato di ProgramChange di due byte informa che da quel momento sará usato comestrumento musicale presente al num. 4 (Piano Elettrico 1) della listadegli strumenti del Program Change

    • 00 : Tempo Delta pari a zero PPQN

    • 90 45 64 : Evento MIDI: NOTE ON. Questo dato di tre byte informache deve essere accesa (cominciare a suonare) la nota num. 45 esad.(LA) con una velocity (velocitá di pressione) avente valore pari a 64(100 decimale)

    • 86 00 : Tempo Delta pari a 86 00 PPQN (con risoluzione 01 80 quelloé il Tδ della minima)

    • 80 45 64 : Evento MIDI: NOTE OFF. Questo dato di tre byte informache deve essere spenta (cessare di suonare) la nota num. 45 esad. (LA)con una velocity (velocitá di pressione) avente valore pari a 64 (100decimale)

    • 81 40 : Tempo Delta pari a 81 40 PPQN (é il Tδ della croma)

  • 3.3. DESCRIZIONE DEI PAD E DEI MODULI V-DRUM 37

    • 90 42 64 : Evento MIDI: NOTE ON. Questo dato di tre byte informache deve essere accesa (cominciare a suonare) la nota num. 42 esad.(FA diesis) con una velocity (velocitá di pressione) avente valore paria 64 (100 decimale)

    • 81 40 : Tempo Delta pari a 81 40 PPQN (é il Tδ della croma)

    • 80 42 64 : Evento MIDI: NOTE OFF. Questo dato di tre byte informache deve essere spenta (cessare di suonare) la nota num. 42 esad. (FAdiesis) con una velocity (velocitá di pressione) avente valore pari a 64(100 decimale)

    • 00 : Tempo Delta pari a zero PPQN

    • FF F2 00 : questi tre byte informano che ha termine il blocco traccia.

    3.3 Descrizione dei Pad e dei moduli V-Drum

    La Roland Corporation é un’azienda elettronica giapponese produttrice disoftware, componenti e strumenti musicali elettronici. Tra i tanti strumentiche venivano prodotti, Roland cominció a lavorare su un sistema chiamatoV-Drum, ovvero un insieme di prodotti indirizzati verso il mondo delle per-cussioni come batterie elettroniche e drum machine. Essa combinó la sintesiwavetable con le tecniche di modellazione fisica chiamate COSM (CompositeObject Sound Modeling), in grado di consentire all’utente di modificare ildrum kit di default attraverso determinati parametri come per esempio ilmateriale del battente per la grancassa, le dimensioni dei piatti e la tensionedel rullante. Allo stesso tempo, puntarono al miglioramento della rispostatattile del pad per avvicinarsi il piú possibile ad una risposta reale di untamburo acustico.

    3.4 Membrane

    Il primo V Drum, il PD-7 realizzato nel 1997, utilizza tamponi in gommaricoperta di plastica che svolge la funzione di separazione tra il Rim e i sen-sori centrali. Tuttavia, i produttori Roland non erano pienamente soddisfattidella risposta di questi pad, e volevano qualcosa di molto piú simile ad unavera e propria membrana di tamburo. Dopo varie iterazioni di progettazio-ne, Roland ebbe la membrana prodotta da uno dei costruttori piú famosi dipelli per batteria: l’azienda Remo. I prodotti Roland V-Drum sono compa-tibili con il protocollo Midi e questa caratteristica permette ai moduli stessi

  • 38 CAPITOLO 3. STRUMENTI SOFTWARE

    un’elevata portabilitá ed, inoltre, sono molto orientati a soddisfare tutte lepossibili esigenze dell’utente finale. Roland sviluppó, inoltre, un metodo perdeterminare la posizione del colpo eseguito dal musicista sul pad [3].

    Figura 3.2: Sensori del pad V-Drum

    Essi scoprirono che il periodo dell’onda di uscita dal sensore, visibile nel-l’immagine e posizionato mediamente nella parte centrale del pad, diminui-sce via via che ci si allontana dal centro del tamburo. I pad V Drum perciópossono misurare la velocitá e la posizione del colpo (puó riprodurre in out-put anche il suono prodotto dal rimshot del rullante). Queste informazioniottenute dal pad possono essere usate per controllare la sintesi del suono uti-lizzando, appunto, lo standard Midi e ció consente di ottenere una rispostamolto vicina a quella realistica.

    3.5 Moduli di controllo

    Naturalmente una batteria elettronica é composta da vari Pad. Essi sonotutti collegati ad un cervello centrale chiamato Drum Machine oppure DrumBrain. Questo modulo riceve in input una serie di informazioni dai Pad e ledirotta ad una determinata uscita che puó essere un mixer, un amplificatoreoppure un modulo di gestione Midi. Per l’obiettivo della tesi abbiamo bisognodi gestire le informazioni Midi che il pad genera quali la velocitá o forza

  • 3.5. MODULI DI CONTROLLO 39

    d’impatto e la posizione del colpo sulla membrana. La manualistica Rolandpermette di scegliere il cervello che ricopre tutte le richieste.

    Figura 3.3: Combinazioni tra moduli e pad Roland

    Nella figura 3.3 vediamo che uno dei moduli Roland in commercio é ilTD 12 in quanto la combinazione del modulo selezionato e il Pad PD8 indotazione permette di ottenere le informazioni Midi riguardanti la posizionedel colpo sulla membrana del pad.

    Figura 3.4: Drum Brain Roland TD 12

  • 40 CAPITOLO 3. STRUMENTI SOFTWARE

    La manualistica Roland permette di consultare la descrizione dei Pad edei moduli V Drum. In particolare siamo interessati alla descrizione dellastruttura dei controlli Midi nel modulo TD 12. Nell’implementazione Miditroviamo il paragrafo riguardante i parametri che servono per lo scopo diquesto elaborato, in particolar modo di come essi sono codificati tramite ilprotocollo Midi [7] :

    Figura 3.5: Implementazione MIDI per il controllo della posizione

    Figura 3.6: Implementazione MIDI per il controllo della velocitá

  • Capitolo 4

    Realizzazione e test

    4.1 Controllo precisione della sensoristica Hard-

    ware Roland

    Per quanto detto sopra, l’hardware Roland in dotazione deve permettere alSoftware utilizzato per la sintesi di ottenere le informazioni MIDI necessarieper il corretto funzionamento del sistema.In particolare, siamo interessati alle informazioni spaziali del Pad, ovvero ilpunto di impatto con la bacchetta ed alla relativa velocitá o forza di impatto.Quindi il passo da compiere é capire sperimentalmente la precisione offertadal modulo TD 12 accoppiato ad un Pad di tipo PD8.Nell’implementazione interna del TD 12, l’area del pad viene divisa in 9 puntipartendo dal centro fino al bordo. Questa discretizzazione viene mappatavia Midi tramite un numero compreso tra 0 e 127 (0 rappresenta il centroe 127 la parte finale del bordo). Per testare la precisione viene fatta unaprova sperimentale che consiste nel suddividere il raggio della membrana in4 segmenti e, per ogni segmento, si procede percuotendo 50 volte il puntointeressato (vedi figura 4.1 e 4.2). Tale procedura viene seguita sia per ladisposizione verticale sia per quella orizzontale. Vengono, infine, memorizzatele informazioni Midi restituite dal modulo.Si esegue, inoltre, un controllo sperimentale per determinare un’eventualedipendenza o correlazione tra la velocitá o forza d’impatto e la posizione.

    É stato realizzato un programma apposito in Pure Data che svolge en-trambi i compiti, ovvero memorizza i valori ottenuti in due vettori e li leggesuccessivamente a richiesta dell’utente. Da tali informazioni si ricava la me-dia aritmetica e la varianza, inoltre, dai grafici ottenuti si potrá determinarela presenza della correlazione discussa precedentemente.Il programma realizzato é caratterizzato dalla presenza dell’oggetto ctlin, ov-

    41

  • 42 CAPITOLO 4. REALIZZAZIONE E TEST

    Figura 4.1: Pad per misure sperimentali

    Figura 4.2: Discretizzazione sperimentale del raggio del pad

  • 4.1. CONTROLLO PRECISIONE DELLA SENSORISTICA HARDWARE ROLAND43

    vero l’oggetto che gestisce l’entrata di informazioni Midi (in questo caso ilnumero che rappresenta la posizione del colpo sulla membrana nella primauscita e il numero di canale Midi associato al Pad sulla seconda uscita). L’og-getto di Pure Data che permette, invece, di ottenere via Midi la velocitá delcolpo sulla membrana é notein la cui prima uscita restituisce il numero dellanota Midi associata al pad e la seconda uscita porge la codifica Midi dellaforza di impatto desiderata.Gli oggetti che permettono la memorizzazione e la lettura dei risultati ot-tenuti sono gli oggetti tabwrite, che si comporta come un array classico, etabread il quale legge le informazioni dell’array al quale é associato. L’ogget-to tabwrite riceve nell’inlet sinistro il valore Midi da memorizzare e nell’inletdestro l’indice della posizione in cui memorizzare tale valore. Naturalmentenel programma realizzato vi sono due oggetti tabwrite e due oggetti tabread,uno per ogni informazione da processare. L’incremento dell’indice é gestitoda un insieme di blocchi che hanno la funzione di contatore, proprio comequello presentato nella figura 3.1 della sezione dedicata a Pure Data. L’og-getto grafico Array viene aggiunto dal menú di Pure Data tramite Put –Array e rappresenta graficamente i valori che vengono inseriti nel vettore,ristretti in scala in base all’intervallo specificato nelle opzioni dell’oggetto.Nella figura 4.3 viene riportato uno screenshot del programma.

  • 44 CAPITOLO 4. REALIZZAZIONE E TEST

    Figura 4.3: Patch per dati sperimentali

  • 4.1. CONTROLLO PRECISIONE DELLA SENSORISTICA HARDWARE ROLAND45

    I dati sperimentali vengono riportati nelle figure 4.4, 4.5, 4.6, 4.7 orga-nizzati in modo tabellare.

    Figura 4.4: Tabella precisione TD 12, orizzontale

    Dai risultati ottenuti si nota che la precisione del modulo TD 12 e’ di-scretamente accurata per i test effettuati nel primo segmento vicino al centroe nel quarto segmento vicino al bordo, in quanto, osservando per esempio laprima colonna della tabella Orizzontale (che corrisponde al primo segmentovicino al centro) i valori riportati sono costantemente e giustamente codifica-ti come zero. Se, invece, si osserva la quarta colonna della stessa tabella, sinota che i valori ottenuti sono prevalentemente maggiori di 100 (in quanto siavvicinano al rim della membrana), a conferma della discreta precisione delmodulo in tali zone.

  • 46 CAPITOLO 4. REALIZZAZIONE E TEST

    Figura 4.5: Tabella precisione TD 12, orizzontale

  • 4.1. CONTROLLO PRECISIONE DELLA SENSORISTICA HARDWARE ROLAND47

    Figura 4.6: Tabella precisione TD 12, verticale

  • 48 CAPITOLO 4. REALIZZAZIONE E TEST

    Figura 4.7: Tabella precisione TD 12, verticale

  • 4.2. PATCH PER LA SINTESI DELLA MEMBRANA 49

    Per quanto riguarda il secondo ed il terzo segmento l’accuratezza tende adiminuire. Tale fenomeno é visibile, per l’appunto, nei dati sperimentali, iquali sono caratterizzati da un’altra varianza che conferma la poca precisio-ne del Pad. Da notare infatti che la media della terza colonna in termini diposizione é addirittura maggiore della media della quarta colonna. Analogheconsiderazioni possono essere fatte per la tabella Verticale, vista la simmetriadel pad.Per l’aspetto relativo ad un’eventuale correlazione sperimentale tra le duegrandezze di velocitá e posizione, i dati raccolti sembrano suggerire che talerelazione non esiste, infatti i valori di posizione ottenuti non dipendono dallaforza d’impatto con la membrana. Tuttavia non é stata fatta sperimenta-zione esaustiva in questo senso in quanto l’obiettivo principale era valutarel’accuratezza della precisione.In figura 4.8 vengono riportati i due vettori ottenuti sperimentalmente.

    4.2 Patch per la sintesi della membrana

    In questa sezione viene presentato il programma di sintesi del suono utilizzatoper la realizzazione della tesi. In figura 4.9 viene riportato uno screenshot delprogramma di sintesi per membrana. Come si puó notare l’interfaccia é divisain piú parti fondamentali. Di seguito verranno discussi dettagliatamentetutti i parametri della patch principale e verranno presentate le subpatch checompongono il programma di sintesi (vedi figure 4.10 e 4.11).

    • Impact Parameters: inizializza i valori dei parametri relativi all’impattocon la membrana

    – Velocity = velocitá della massa inerziale al momento dell’impatto

    – Hit Point = punto di impatto sulla membrana

    – Stick mass = massa inerziale che interagisce con la membranatramite la forza d’impatto

    – Impact Stiffness = coefficiente di rigiditá della forza di impatto

    – Alpha Geometry = coefficiente geometrico dell’area di impatto

    • Init Head Params: inizializza i valori dei parametri relativi alle carat-teristiche fisiche della membrana

    – Damp1 = smorzamento indipendente dalla frequenza

    – Damp2 = smorzamento dipendente dalla frequenza

    – Radius = raggio della membrana

  • 50 CAPITOLO 4. REALIZZAZIONE E TEST

    Figura 4.8: Array position: in ascissa é presente l’indice dell’elemento e inordinata il valore nell’intervallo (0, 127). Array velocity : in ascissa é presentel’indice dell’elemento e in ordinata il valore nell’intervallo (0,127)

  • 4.2. PATCH PER LA SINTESI DELLA MEMBRANA 51

    – Tension = tensione (uniforme e costante) della membrana. Equi-valente fisico dell’accordatura tramite tiranti di un tamburo acu-stico.

    – Num of modes = numero di modi di vibrazione della membranarisultati numericamente

    • General Settings:

    – Rec = avvia la registrazione del segnale in uscita

    – Stop Rec = ferma la registrazione

    – Save Wav = salva il flusso registrato in un file formato wav

    Figura 4.9: Patch Pure Data per la Postazione

    Per il controllo gestuale della membrana, nella sezione midi-settings del-l’interfaccia principale sono stati settati i valori di MAX-VEL = 15, MAX-POS = 40 e MIDI-CTL-2 = 127 che rispettivamente sono la massima velocitá,la posizione massima (ovvero il livello di discretizzazione tra il centro e il rim)e la relativa codifica Midi che mappa in tale intervallo la posizione del col-po sul pad dal centro fino al bordo. Dal menú di Pure Data Media–MIDIsettings viene impostata la periferica Midi di Input, che in questo caso é il

  • 52 CAPITOLO 4. REALIZZAZIONE E TEST

    modulo TD 12. A questo punto é possibile impostare allo stato ON il pulsan-te presente nella sezione General Settings, attivando in questo modo il DSP.É ora possibile utilizzare la patch per il controllo gestuale della membranadel PD8. Variando i parametri dell’interfaccia principale si possono creare isuoni desiderati.

    4.2.1 Subpatch midicontrol

    La subpatch midicontrol in figura 4.10 é caratterizzata dalla presenza didue oggetti importanti per le informazioni Midi, utilizzati nella sezione 4.1:l’oggetto notein e l’oggetto ctlin. Ricordiamo che le informazioni di inte-resse ricevute dai suddetti oggetti sono rispettivamente: la velocitá o forzad’impatto e la posizione del colpo sulla membrana. Esse vengono mate-maticamente normalizzate in base ai valori di controllo inseriti nella patchprincipale. Per esempio l’informazione Midi della posizione viene divisa per127, moltiplicata successivamente per 40 che rappresenta il valore scelto perla discretizzazione del raggio del Pad, quindi inviato tramite l’oggetto sendcome valore per l’elaborazione.

    4.2.2 Subpatch pd dsp-engine

    La subpatch pd dsp-engine in figura 4.11 puó essere concettualmente divisain due parti: una parte di input dei parametri e una parte di output del se-gnale sonoro. Le parti sono collegate tramite l’oggetto impactMembraneNLche, dal punto di vista di Pure Data, prende il nome di External, ovvero unaclasse che non é built-in, ma viene caricata runtime. Una volta caricata inmemoria non é distinguibile da qualsiasi altro oggetto.La subpatch di input riceve dalla patch principale i parametri relativi all’ini-zializzazione della membrana e i parametri real-time di velocitá e posizionetramite i relativi oggetti Receive. Tali informazioni vengono mandate nell’in-let sinistro dell’external per essere processate.Il segnale di output viene prelevato dall’outlet dello stesso external, prontoper essere registrato in un file di estensione wav.

    4.3 Realizzazione in C++

    L’oggetto impactMembraneNL descritto nella sezione 4.2.2 é stato realizza-to traducendo in codice il modello fisico presentato nel capitolo 2. Per fareció viene utilizzato il C++, un linguaggio di programmazione orientato agli

  • 4.3. REALIZZAZIONE IN C++ 53

    Figura 4.10: Subpatch midicontrol

    Figura 4.11: Subpatch pd dspengine

  • 54 CAPITOLO 4. REALIZZAZIONE E TEST

    oggetti. E’ proprio la modularitá degli oggetti stessi la chiave di realizza-zione degli algoritmi di sintesi sviluppati, in quanto per creare, per esempio,un oggetto di tipo Snare vengono inizializzati tutti gli elementi che servonoper comporre un vero snare drum: membrana battente di tipo non lineare,membrana risonante di tipo lineare, le bacchette utilizzate, la cavitá d’aria,la cordiera e il punto di impatto. Con l’inizializzazione di questi oggetti e deirelativi parametri si ottiene il suono caratteristico di un rullante per batteria.Il codice di dimostrazione per l’implementazione dello snare drum é riportatonella sezione sottostante.

    Naturalmente, oltre allo snare drum, si possono creare anche altri compo-nenti come per esempio un tom o una grancassa con lo stesso procedimento,selezionando e settando i parametri caratteristici. Per esempio, per la grancassa si varierá la profonditá della cavitá d’aria e la tensione della pelle ri-spetto ad uno snare drum. In conclusione, mettendo insieme nel codice disintesi, gli oggetti rullante, grancassa e tom viene creato un drum kit basilare,ma con suoni unici, dati dal gusto musicale del programmatore batterista.

  • 4.3. REALIZZAZIONE IN C++ 55

  • 56 CAPITOLO 4. REALIZZAZIONE E TEST

  • 4.3. REALIZZAZIONE IN C++ 57

  • 58 CAPITOLO 4. REALIZZAZIONE E TEST

    4.4 Conclusioni e sviluppi futuri

    La tesi presentata vuole essere una semplice dimostrazione di come, unendogli elementi teorico matematici, gli strumenti elettronici ed informatici, siriesca a creare un’applicazione per il campo dell’informatica musicale dotatadi caratteristiche molto positive:

    • e’ un sistema ergonomico, in quanto rappresenta un’interazione tral’uomo e la tecnologia

    • viene incontro alle esigenze stilistiche e musicali di un musicista-percussionistain quanto e’ in grado di creare suoni in base al gusto soggettivo diquest’ultimo

    • dal punto di vista sonoro, se confrontato con una batteria acustica, essoé preferibile per i musicisti-percussionisti che risiedono in condominioppure in zone abitate.

    Il progetto realizzato si presta per eventuali sviluppi futuri che riguardano, inparticolare, il campo della psicoacustica. Potrebbe, infatti, essere utilizzatoed integrato in uno studio condotto nel 2004 (vedi [9]) per misurare quantoun percussionista viene influenzato dalla dinamica, dal tempo di esecuzione,dalla superficie battente e dal feedback dello strumento durante l’esecuzionedi un ostinato caratterizzato da colpi accentati in modo ciclico. Piú nellospecifico potrebbe essere interessante studiare la risposta cerebrale a feed-back sonori prodotti dalla sintesi del suono della membrana a percussionerealizzata in questa tesi, cercando di porre attenzione ad eventuali stimoliintrodotti dalla percezioni di suoni (caratterizzati anche da un effetto di de-lay) e a come tale percezione sonora influenzi la performance del musicista[10].In conclusione, l’importanza della ricerca sul suono per le applicazioni quo-tidiane é stata dimostrata in questo elaborato.

    Il suono é il perno della nostra societá, della comunicazione e della rela-zione con gli altri [8].

  • Bibliografia

    [1] Federico Avanzini, Riccardo Marogna. A Modular Physically Based Ap-proach to the Sound Synthesis of Membrane Percussion Instruments.IEEE transactions on audio, speech, and language processing, vol. 18,NO.4, May 2010.

    [2] http://it.wikipedia.org/wiki/MusicalInstrumentDigitalInterface

    [3] Roberto Mario Aimi. Hybrid Percussion: Extending Physical Instru-ments Using Sampled Acoustics. Massachusetts Institute of Technology,February 2007.

    [4] Giovanni De Poli, Carlo Drioli, Federico Avanzini. Sintesi dei segnaliaudio.

    [5] Giovanni De Poli. Algorithms for Sound Music Computing, Chapter 9:Standards for audio and music representation.

    [6] Francesco Bianchi. Inventare il suono con Pure Data.

    [7] http://www.roland.com/V-Drums. TD-12-MIDI-Imple-e1.pdf. Dicembre2004.

    [8] http://www.musei.unipd.it/visionisuono/VisioniSuonoPieghevole.pdf

    [9] S. Dahl KTH Speech, Music and Hearing, Royal Institute of Technology,Stockholm, Sweden. Playing the Accent - Comparing Striking Velocityand Timing in an Ostinato Rhythm Performed by Four Drummers.

    [10] Karin Petrini, Frank E. Pollick, Sofia Dahl, Phil McAleer, Lawrie Mc-Kay, Davide Rocchesso, Carl Haakon Waadeland, Scott Love, Fede-rico Avanzini, Aina Puce. Action expertise reduces brain activity foraudiovisual matching actions: An fMRI study with expert drummers.

    59