Trasposizione e output

Indice generale

  1. Parte 1a: Gestione dello spartito
    1. Lezione 1 - Scrivere le note
    2. Lezione 2 - Uso delle variabili
  1. Parte 2a: Stile e output
    1. Lezione 3 - Make up della partitura
    2. Lezione 4 - Trasposizione & output
  1. Parte 3a: Gestione della partitura
    1. Lezione 5 - Sistemi multipli
    2. Lezione 6 - Estrazione delle parti
  1. Appendice: Script di riferimento
    1. Schema 20: Trasposizione & output
    2. Schema 26: Sistemi multipli
    3. Schema 33: estrazione delle parti

Lezione 4

Riproduzione grafica della chiave di sol contornata da uno spartito

Questa quarta lezione fa riferimento alla seconda parte degli appunti relativi al nostro terzo incontro, avvenuto il 5 Aprile 2018.

In questa lezione tratteremo due argomenti: la trasposizione del brano da una tonalità ad un’altra e la creazione di un midi file, destinato al semplice ascolto o ad ulteriori rielaborazioni.

Originariamente, il brano sul quale abbiamo lavorato fin qui suonerebe nella tonalità di Re maggiore, anche se noi – per semplicità – lo abbiamo riscritto nella tonalità di Do maggiore.
Per riportarlo ai suoi antichi splendori, però, non sarà necessario riscrivere tutta la melodia.
Allo scopo, sarà infatti sufficiente creare due nuove variabili in fondo alla lista di quelle già presenti e modificarne una fra quelle precedentemente costruite.

In primo luogo, modifichiamo la variabile <global>, eliminando la riga contenente l’armatura di chiave con il relativo commento.

Schema 15: rivedere la var. global

%versione del programma
\version "2.18.1"
%Nome variabile
global = {
%indicazione di tempo
\time 4/4
%indicazione metronomica
\tempo 4 = 120
%Chiusura variabile: livello 1
}

La prima delle due nuove variabili la chiameremo <partonec>; in questo modo ci sarà facile sapere che essa, al suo interno, conterrà i richiami alla melodia presente nella <voiceone>.
La lettera <c>, posta alla fine della stringa, ci ricorderà che questa variabile altro non farà, se non riprodurre quanto abbiamo finora già elaborato e visualizzato; avremo, quindi, la possibilità – all’occorrenza e senza troppe complicazioni – di ottenere la nostra melodia in chiave di Do maggiore, semplicemente sostituendo la variabile <voiceone> con la variabile <partonec> a livello della score.

Compilando il sorgente, otterremo un risultato perfettamente sovrapponibile al precedente, avendo però effettuato un passaggio in più.

Schema 16: Variabile partonec

%nome variabile
partonec = {
%Armatura di chiave
\key c \major
%Chiamata alla variabile voiceone
\voiceone
%Chiusura variabile: livello 1
}

Definiamo ora la variabile <partoned> come nell’esempio riportato sotto, avendo la premura – prima di azzardarci a compilare – di richiamarne correttamente il nome a livello della score:

Schema 17: trasposizione melodica

%Trasposizione
%nome variabile
partoned = \transpose c d {
%Armatura di chiave
\key d \major
%Chiamata e incremento di un tono della variabile voiceone
\voiceone
%Chiusura transpose e variabile: livello 1
}

Come per la variabile precedente, risulterà chiaro l’ausilio mnemonico riferito alla parte di violino contenuta nella <voiceone> che, in questo caso, in virtù dell’istruzione

\transpose c d

sarà trasposta nella tonalità di Re maggiore, come ricordato dalla lettera <d> posta al termine della stringa <partoned>.

Analizzando il funzionamento di ciò che abbiamo scritto, ci accorgiamo che la variabile <voiceone> diventa un argomento passato alle variabili che ad essa effettueranno la chiamata; nella circostanza, le variabili <partonec> e <partoned> riceveranno gli argomenti della variabile <voiceone> e, in base alle istruzioni che esse contengono al proprio interno, passeranno alla score la melodia in chiave di Do maggiore (nel caso di <partonec>) o di Re maggiore (nel caso di <partoned>.

Ora occupiamoci della generazione di un midi file, ordinando a LilyPond – attraverso un’istruzione estremamente semplice – di effettuare una ridirezione dell’output verso un file con estensione <.midi>.

Schema 18: midi output

%Definizione del sistema dei pentagrammi
\score {
%Definizione di un nuovo pentagramma
\new Staff <<
%Etichetta del rigo
\set Staff.instrumentName = "Vl"
%Chiamata alle variabili global e partonec
\global
\partoned
>>
	%Definizione del layout
	\layout{
		\context {
		\Score
		proportionalNotationDuration = #(ly:make-moment 1 8)
		%Chiusura context: livello 3
		}
	%Chiusura layout: livello 2
	}
	%Definizione del midi output
	\midi {
	%Chiusura midi output: livello 2
	}
%Chiusura score: livello 1
}

Nota: alcuni lettori di midi file non considerano questa estensione; talvolta è perciò necessario modificarla manualmente, eliminando l’ultimo carattere e trasformandola quindi in <.mid>>

Potremo ora compilare e ritrovare nella nostra cartella di lavoro un terzo file, contenente al suo interno la codifica midi pronta per l’ascolto o per la manipolazione da effettuarsi con gli appropriati software, ma pazientiamo ancora un istante.

Come ultima fatica, infatti, possiamo ulteriormente raffinare il nostro output, chiedendo al compilatore di essere così gentile da proporci un ascolto mediante lo strumento midi appropriato, poiché, per il nostro esempio, noi desideriamo avvalerci di un violino.
Non definendo nessuno strumento a livello della score, il programma che interpreterà il nostro file dovrebbe selezionare dalla libreria degli strumenti il primo della lista, generalmente l’acoustic grand piano.

Schema 19: nuovo midi instrument

%Definizione del sistema dei pentagrammi
\score {
%Definizione di un nuovo pentagramma
\new Staff <<
%Etichetta del rigo
\set Staff.instrumentName = "Vl"
%strumento midi
\set Staff.midiInstrument = "violin"
%Chiamata alle variabili global e partonec
\global
\partoned
>>
	%Definizione del layout
	\layout{
		\context {
		\Score
		proportionalNotationDuration = #(ly:make-moment 1 8)
		%Chiusura context: livello 3
		}
	%Chiusura layout: livello 2
	}
	%Definizione del midi output
	\midi {
	%Chiusura midi output: livello 2
	}
%Chiusura score: livello 1
}

Nota: all’interno del manuale di riferimento “LilyPond notation”, è disponibile la tabella con tutta la denominazione degli strumenti.

Compiliamo, controlliamo che la partitura risulti effettivamente nella tonalità di Re maggiore e – prima di passare agli approfondimenti… – Ascoltiamo – se ne abbiamo la possibilità – il nostro midi file… Wow!

Rimandiamo al sorgente completo dello script per il confronto con la codifica, del quale anticipiamo il risultato grafico qui sotto.

Riproduzione grafica della musica generata dallo schema 20

L’immagine utilizzata in questa pagina proviene dalle bacheche tematiche di Pinterest.

<Argomento precedente Argomento successivo>

Tavola dei contenuti

  1. Rivedere la var. global Schema 15
  2. Variabile partonec Schema 16
  3. trasposizione melodica Schema 17
  4. midi output Schema 18
  5. Nuovo un midi instrument Schema 19

Riferimenti