• Non ci sono risultati.

IMPLEMENTAZIONE DI STRUMENTI ANALITICI IN PWGL

PWGL come strumento per l’analisi musicale assistita: alcuni esemp

3. IMPLEMENTAZIONE DI STRUMENTI ANALITICI IN PWGL

Il primo esempio che si propone `e riportato in Fig. 1 e concerne una semplice analisi statistica. In Fig. 2 la ab-

straction(termine che in PWGL designa le subpatch) de-

nominata “Analisi Statistica”, contenente il motore del cal- colo. Nello Score-Editor di Fig. 1 `e importato un file MIDI relativo alla Fuga in do minore del secondo vo- lume del Clavicembalo ben temperato di Bach, introdotto poi nella abstraction per il computo. In Fig. 2 l’ogget- to collect-enp-objects seleziona le singole voci, che sono immesse, una alla volta, in un primo loop, di livello superiore ed esterno rispetto ai seguenti due, che estrae i valori delle altezze e delle durate (1 = semimi-

Figura 2. Abstraction “Analisi Statistica”.

Figura 4. Abstraction “CALCOLO K-KH”.

nima), pause escluse, nel formato della libreria KSQuant (https://github.com/kisp/ksquant). Il secondo loop prende le altezze, dall’ingresso del primo, assegnando i numeri di nota MIDI, che saranno poi convertiti nei nomi delle note; infine il terzo ciclo abbina i nomi delle altezze alle cor- rispettive durate, restituendo il tutto all’uscita del primo loop. Qui l’oggetto count-stats effettua il computo statistico complessivo inviandolo alla prima uscita della abstraction, verso il primo text-box. Da questo, nel- la patch principale (Fig. 1), sono estratti i singoli valori di frequenza per il calcolo del loro valore medio. Il quarto

loop(Fig. 1) genera invece la statistica voce per voce; tre

asterischi fungono da separatori per distinguere gli elenchi relativi alle diverse parti. Per visualizzare i risultati del- l’analisi statistica `e sufficiente valutare i text-box.

Con semplici modifiche sono state implementate patch, non riportate in questa sede, che effettuano l’analisi sta- tistica delle sole altezze, delle sole durate, degli interval- li melodici, in quest’ultimo caso contando anche il nu- mero complessivo di intervalli ascendenti e discendenti, con la possibilit`a ulteriore di visualizzare direttamente la frequenza di specifiche note, durate, o intervalli.

L’esempio seguente (Fig. 3) riguarda la Pitch-class Set

Theorye lo illustreremo sulla base della segmentazione e

analisi del sesto dei Sechs kleine Klavierst¨ucke op. 19 di Sch¨onberg, cos`ı come riportata nel testo di Nicholas Cook

(Vedi [26], pp. 158–174).8 Per questa patch ci siamo

8La patch `e stata verificata anche con alcuni schemi di [27], precisa-

mente quelli delle figure 109, 111 e 113, rispettivamente alle pagine 115, 118 e 122. Si sono trovate due sole incongruenze, nell’ultimo schema, in cui Allen Forte tra gli insiemi 5-19 e 4-16 non pone alcuna relazione, mentre PWGL restituisce la relazione K, e nella coppia di insiemi succes- siva, 5-19 e 4-19, Forte individua la relazione K, PWGL nessuna. Una verifica manuale e attraverso il software di Paul Nelson, citato alla nota

Figura 3. Patch per l’individuazione dell’insieme cardine.

Figura 5. Diagramma relativo all’individuazione delle

relazioni K-Kh (abstraction di Fig. 4).

liberamente ispirati, come idea, ad una pagina web con un software java di Marcus Uneson, purtroppo al momen- to in cui scriviamo non pi`u disponibile. L’algoritmo im- plementato permette di compilare una matrice K-Kh per

l’individuazione dell’insieme cardine.9

Nel Chord-Editor vanno immessi gli insiemi di clas-

si di altezze segmentati dal brano.10 L’uso di una tastiera

MIDI collegata all’elaboratore elettronico pu`o permettere di velocizzare l’immissione di dati. La abstraction de- nominata “CALCOLO COMBINAZIONI” abbina ogni in- sieme a se stesso e a tutti gli altri creando una serie di sot- toliste composte ciascuna di due elementi, corrisponden- ti alle note MIDI dei due insiemi di volta in volta presi in esame. Queste coppie sono immesse in un loop in cui la abstraction denominata “CALCOLO K-KH” (vedi Fig. 4) effettua la valutazione della relazione K o Kh afferente ai due insiemi di classi di altezze, confrontando le forme

rectae inversa di un insieme di classi di altezze con le

forme recta e inversa, e i loro complementari, dell’altro in-

4, darebbe ragione a PWGL. Si suppone quindi che nel testo di Forte ci sia un refuso, con una inversione di relazioni contigue sulla stessa riga. `E opportuno precisare anche che nell’uso di PWGL i nomi degli insiemi di classi di altezze hanno una lettera A o B alla fine, diversamente da altre consuetudini, per indicare l’insieme recto o quello inverso. In una va- riante della patch illustrata, che utilizza i nomi degli insiemi piuttosto che il Chord-Editor, occorre indicare dette lettere (A o B indifferente- mente, poich´e le relazioni K e Kh sono simmetriche), quando presenti nel nome dell’insieme, poich´e PWGL non restituisce errore, ma le relazioni in matrice appaiono falsate.

9Le relazioni K e Kh sono relazioni di inclusione. L’insieme cardine

`e quello collegato a tutti gli altri per mezzo di questi rapporti. Siamo consapevoli del fatto che la matrice non rispecchia la tradizionale forma a “elle” degli schemi analoghi nelle analisi insiemistiche, configurazione particolare dovuta al fatto che ordinariamente non `e necessario raffrontare insiemi di classi di altezze dello stesso numero di note. Sar`a l’utente a interpretare debitamente i risultati escludendo le parti di matrice non necessarie.

10Come detto in nota 8, in un’altra versione di questa patch gli insiemi

di classi di altezze sono introdotti non in forma di note, bens`ı coi loro nomi, potendo cos`ı figurare in ordine, dai tricordi agli esacordi.

Figura 6. Analisi motivica di una Fuga bachiana.

sieme. Una serie di test condizionali, a seconda degli esiti restituiti in ogni calcolo, seleziona infine il simbolo cor- rispondente alla relazione risultante, ovvero K o Kh. Il tut- to viene poi visualizzato nel Matrix-editor. In figura 5 un diagramma della logica sottesa al funzionamento della

abstractiondi Fig. 4. Come `e possibile verificare in Fig. 3

l’insieme cardine risulta essere 9-4, come asserito nel testo di Cook. Sono state sviluppate altre patch nell’ambito del- l’analisi insiemistica, per la compilazione di complessi Kh (Vedi [27] pp. 200–208), e il calcolo di relazioni K e Kh di un insieme con tutti gli altri di una specifica cardinalit`a.

Con l’esempio successivo (Fig. 6) entriamo in una delle caratteristiche pi`u utili di PWGL: la possibilit`a di notare

direttamente in partitura i risultati dell’analisi.11 Non `e

questa la sede per descrivere in dettaglio il linguaggio di programmazione utilizzato in PWGL, per il quale riman- diamo all’ampia letteratura disponibile; ci limiteremo a descrivere il codice utilizzato.

Nello Score-Editor viene importato un file MIDI relativo alla Fuga numero 5 dal secondo volume del Cla-

vicembalo ben temperatodi Bach. Il text-box contiene

il codice usato, mentre valutando l’enp-script si ot- tiene l’analisi e l’apposizione dei relativi contrassegni in

11Non `e possibile, nei limiti di questo contributo, attuare un confronto

dettagliato tra l’implementazione di strumenti analitici in PWGL rispetto a quanto disponibile in altri software. Mediamente possiamo per`o affer- mare che l’interfaccia pi`u moderna e la notazione musicale pi`u raffina- ta rendono gi`a in questo PWGL pi`u amichevole rispetto ad alternative come OpenMusic e Rubato, ad esempio, che conservano indubbiamente innumerevoli punti di forza. La versatilit`a di PWGL, con numerose li- brerie disponibili, funzioni e classi, la possibilit`a di utilizzare file MI- DI (caratteristica presente anche negli altri programmi citati), congiun- tamente ad un linguaggio di scripting non eccessivamente complicato, rendono questo software un buon candidato, per i musicisti in particolare, per l’assolvimento di compiti analitici generali e specifici.

partitura, ossia le etichette testuali “SOGG” per il Sogget- to e la Risposta reale, e “CS” per il Controsoggetto, en- trambe in colore rosso. In Figura 7 si riporta l’inizio del- la partitura come risulta dopo l’analisi. Occorre chiarire, come apparir`a dalla discussione che segue, che il Sogget- to e il Controsoggetto sono determinati e scelti dall’ana- lista, che dovr`a configurare conseguentemente i parametri del codice; l’algoritmo si occupa della loro ricerca, indi- viduazione ed etichettatura lungo tutta la partitura.

In questo esempio si sono utilizzati due gruppi di istru- zioni differenti per la ricerca e la marcatura del Sogget- to/Risposta e del Controsoggetto. Si illustrano in ordine le istruzioni principali del codice contenuto nel text-box di Fig. 6. Nel caso del Soggetto, verificato che risulta composto di nove altezze e che inizia con tre note ripetute, l’istruzione (* ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9 im- posta la ricerca su nove elementi consecutivi in qualsia-

si punto di ogni voce,12 in termini di note MIDI se non

specificato altrimenti. Con l’istruzione (?if inizia il vero e proprio codice dell’algoritmo. (and (= (m ?2)(m

?1)) (= (m ?3)(m ?2)))stabilisce che debbano es-

sere vere contemporaneamente due condizioni, ossia che le note MIDI 1 e 2 e quelle 2 e 3, in ogni stringa di 9 note consecutive prese in esame, abbiano lo stesso valore, il che equivale alle tre note ribattute tipiche della testa del Soggetto. Se la condizione `e vera si applica l’istruzione successiva (add-expression ’group ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9 :info ’SOGG :color

:red)che ordina al programma di apporre sotto le nove

note MIDI consecutive l’etichetta “SOGG” in colore rosso. In maniera analoga si stabiliscono le condizioni per la ricer- ca del Controsoggetto, solo che adesso, oltre a variare il numero di note consecutive da analizzare, quattro nello specifico, devono essere valide contemporaneamente tre condizioni: (member (- (m ?2) (m ?1)) ’(5

6)), (member (- (m ?3) (m ?2)) ’(-2 -1))

e (member (- (m ?4) (m ?3)) ’(-2 -1)), os- sia che la differenza intervallare tra la seconda altezza e la prima sia di 5 oppure 6 semitoni ascendenti, per includere tutte le varianti possibili nella Fuga; poi che la differenza tra la terza e la seconda altezza sia di 2 o 1 semitono discen- denti; infine stessa cosa tra la quarta e la terza nota. `E op- portuno specificare alcuni limiti da risolvere nel lavoro fu- turo: per ogni composizione musicale, che presenta motivi e temi specifici, occorre scrivere codice apposito, o modifi- care quello qui presentato, mentre sarebbe auspicabile una procedura pi`u universale e un’interfaccia pi`u comoda per immettere le caratteristiche intervallari dei temi/motivi da cercare. Ugualmente potrebbe essere utile unire istruzioni di segmentazione automatica, almeno per gli elementi i- niziali, a funzioni di analisi motivica, in maniera da po- ter utilizzare il codice con qualsiasi tipo di configurazione tematica.13

12L’asterisco funge da carattere jolly esattamente come in altri

programmi.

13Come accennato in precedenza, la segmentazione `e un processo pre-

liminare indispensabile, tanto importante quanto delicato, implicando scelte interpretative, quantunque ridotte al minimo, alla base dell’anali- si che seguir`a. Un aiuto in questo senso potrebbe venire dalla formaliz- zazione algoritmica in PWGL di quanto espresso da Cifariello Ciardi (si vedano [28] e [29]). Si ritiene altres`ı che una segmentazione totalmente automatica non sia del tutto possibile, in particolare quando convenzioni

Figura 7. Risultato dell’analisi motivica automatica: prime battute della partitura.

L’ultimo esempio che presentiamo (Fig. 8) `e relativo ad un’analisi armonica di un Corale bachiano, secondo i

precetti della teoria funzionale dell’armonia.14 Il codice

immesso permette di apporre i simboli relativi alle possibili funzioni rappresentate dagli accordi. Ove non risultante alcuna funzione il programma restituisce NIL.

La logica espressa dal codice indica che quando l’armo-

nia `e completa – (m ?1 :complete? t)– si pon-

ga alla voce del basso – (m ?1 :parts 4 :object

t)– il simbolo funzionale corrispondente all’accordo, se-

lezionato sulla base dei test condizionali multipli ottenuti dall’istruzione cond, fondati sul risultato dell’istruzione

sc+off.15 Al momento il codice non tiene conto delle

modulazioni, caratteristica che dovr`a essere implementata nel lavoro successivo. Nel caso di pi`u configurazioni ar- moniche per movimento, l’ordine di successione degli ac- cordi si legge dal basso verso l’alto. In Fig. 9 le prime battute analizzate automaticamente.

4. CONCLUSIONI

Le implementazioni analitiche realizzate in PWGL neces- sitano sicuramente di ulteriori perfezionamenti che ci met-

stilistiche, soprattutto nella musica del passato, infrangono raggruppa- menti e cesure che dovrebbero essere invece realizzati sulla scorta degli articoli citati.

14Per la notazione degli accordi secondo questa teoria ci siamo basati

su [30].

15Ovvero il nome dell’insieme e il numero di semitoni di differen-

za rispetto alla sua forma primaria. Ad esempio, dato che l’insieme |3 − 11B| rappresenta la triade maggiore, e che in forma primaria la prima nota `e un do, se lo scostamento in semitoni dalla forma primaria d`a 7, questo implica che la prima nota dell’insieme trasposto sia un sol. Abbiamo quindi una triade maggiore con fondamentale sol, e possiamo apporre il simbolo T, corrispondente appunto alla funzione di Tonica nella tonalit`a del corale esaminato. `E questa la prima delle condizioni successive all’istruzione cond.

Figura 9. Risultato dell’analisi armonico-funzionale.

tano in condizione di poterle facilmente e immediatamente utilizzare con qualsiasi brano musicale. Allo stesso tem- po i problemi sollevati dalla letteratura presa in esame, attinente all’analisi musicale assistita dal computer, sono risolti solo in parte da quanto mostrato in questa sede. Ci`o nonostante riteniamo che l’uso di PWGL permetta comun- que di velocizzare e agevolare il lavoro analitico in pi`u direzioni:

1. capacit`a di analizzare grandi quantit`a di opere in un lasso di tempo relativamente breve, una volta che queste siano codificate opportunamente in formato MIDI

2. possibilit`a di affiancare la didattica dell’analisi della musica, utilizzando il software sia come strumento di lavoro, sia come mezzo di verifica dei risultati 3. affrancandoci in parte dal lavoro meccanico di clas-

sificazione degli elementi musicali, PWGL mette l’a- nalista nelle condizioni di concentrarsi maggiormen- te sulle relazioni tra le parti, quindi sulla sintesi e le conclusioni

4. il parallelismo metodologico con la codifica delle tecniche compositive del Novecento (Vedi [1]) per- mette una maggiore consapevolezza dei legami tra analisi e composizione.

5. RINGRAZIAMENTI

L’autore vuole ringraziare Mika Kuuskankare per gli utili suggerimenti sul codice Lisp, senza i quali non sarebbe stato possibile realizzare la patch di Fig. 8.

6. BIBLIOGRAFIA

[1] F. De Sanctis De Benedictis, “Dall’analisi musicale al- la composizione e formalizzazione algoritmica: esem- pi applicativi con PWGL,” in Proceedings of XX CIM, 2014.

[2] C. Agon, G. Assayag, and J. Bresson, The OM Composer’s Book. Volume One. Editions Delatour France/Ircam, Parigi, 2006.

[3] J. Bresson, C. Agon, and G. Assayag, The OM Composer’s Book. Volume Two. Editions Delatour France/Ircam, Parigi, 2008.

[4] M. Kuuskankare and M. Laurson, “Extending VI- VO as a MIR System,” in Proceedings of the 15th International Conference on Auditory Display, 2009. [5] M. Laurson and M. Kuuskankare, “Extensible Con-

straint Syntax through Score Accessors,” in Journ´ees d’Informatique Musicale, pp. 27–32, 2005.

[6] M. Laurson, M. Kuuskankare, and K. Kuitunen, “In- troduction to Computer-Assisted Music Analysis in PWGL,” in Proceedings of XV CIM, 2005.

[7] M. Kuuskankare and M. Laurson, “MIR in ENP-Rule- Based Music Information Retrieval from Symbolic Music Notation,” in 10th International Society for Mu- sic Information Retrieval Conference (ISMIR 2009), 2009.

[8] M. Laurson, M. Kuuskankare, and K. Kuitunen, “The visualization of computer-assisted music analysis in- formation in pwgl,” in Journal of New Music Research, pp. 61–76, 2008.

[9] ¨Orjan. Sandred, M. Laurson, and M. Kuuskankare, “Revisiting the Illiac Suite – a rule based approach to stochastic processes,” in Sonic Ideas/Ideas Sonicas, 2, pp. 42–46, 2009.

[10] Y.-K. Ahn, C. Agon, and M. Andreatta, “”Structures Ia pour deux pianos” by Boulez: towards creative analy- sis using OpenMusic and Rubato,” in Mathematics and Computation in Music, 2009.

[11] R. V. Barbosa, “An´alise, modelo e composic¸´ao,” in IV Seminario M´usica Ciˆencia Tecnologia: Fronteiras e Rupturas, 2000.

[12] I. Bent, Analisi musicale. EDT, Torino, 1990. [13] N. Sch¨uler, “Towards a General Methodological

Classification of Computer-Assisted Music Analy- sis,” in International Computer Music Conference Proceedings, 2000.

[14] P. B. Kirlin and P. E. Utgoff, “A Framework for Au- tomated Schenkerian Analysis,” in ISMIR 2008, Ninth International Conference on Music Information Re- trieval – Session 3b – Computational Musicology, 2008.

[15] A. Marsden, “Software for Schenkerian Analysis,” in Proceedings of the International Computer Music Conference 2011, 2011.

[16] L. Camilleri, F. Carreras, and F. Giomi, “Sistemi es- perti in musicologia: un prototipo per l’analisi Time- Span Reduction,” in Atti del X Colloquio di Informatica Musicale, 1993.

[17] P. Principi, “Un’indagine sulle regole preferenziali di raggruppamento di Lerdahl e Jackendoff,” in Atti dell’XI Colloquio di Informatica Musicale, 1995. [18] L. Camilleri, D. Bencini, and M. Ignelzi, “Analisi

paradigmatica di repertori monofonici,” in Atti del IX Colloquio di Informatica Musicale, 1991.

[19] P.-Y. Rolland, “FlExPat: A Novel Algorithm For Mu- sical Pattern Discovery,” in Atti dell’XII Colloquio di Informatica Musicale, 1996.

[20] C. Buteau, “Melodic Clustering Within Topological Spaces of Schumann’s Tr¨aumerei,” in International Computer Music Conference, ICMC 2006, 2006. [21] C. Buteau and J. Vipperman, “Melodic Clustering

Within Motivic Spaces: Visualization in OpenMu- sic and Application to Schumann’s Tr¨aumerei,” in Mathematics and Computation in Music, 2009. [22] E. Cambouropoulos, “Musical Parallelism and Melod-

ic Segmentation,” in Atti dell’XII Colloquio di

Informatica Musicale, 1996.

[23] J. Bresson and C. Per´ez-Sancho, “New Framework for Score Segmentation and Analysis in OpenMusic,” in Proceedings of SMC Conference 2012, 2012.

[24] J. Garbers, “An Integrated MIR Programming and Testing Environment,” in ISMIR 2006, 7th Interna- tional Conference on Music Information Retrieval, 2006.

[25] D. Guigue, M. F. Onofre, and A. Rolim, “SOAL for Music Analysis: a Study Case with Berio’s Sequenza IV,” in JIM 2005, Journ´ees d’Informatique Musicale, 2005.

[26] N. Cook, Guida all’analisi musicale. Milano, Guerini Studio, 1991.

[27] A. Forte, The Structure of Atonal Music. New Haven- London, Yale University Press, 1973.

[28] F. C. Ciardi, “Appunti per un modello generale di seg- mentazione melodica,” in Rivista di Analisi e Teoria Musicale, pp. 75–112, 2002/1.

[29] F. C. Ciardi and L. Curinga, “Segmentazione melo- dica e interpretazione: Syrinx, un esempio applicati- vo,” in Rivista di Analisi e Teoria Musicale, pp. 61–85, 2003/2.

[30] D. de La Motte, Manuale di armonia. Roma,

L’espressivit`a nell’esecuzione automatica di partiture di musica