17 novembre 2011

Bach geometra?

Trascrizione del meraviglioso Canone 1 a 2 dell'"Offerta musicale" di J. S. Bach (1747) ad uso didattico (la funzione proviene da http://dvoi.com/files/lilypond/2.5.3/Documentation/user/out-www/lilypond/Manipulating-music-expressions.html)

\version "2.12.3"


\paper {

}

\header {
title = \markup \center-column {\fontsize #6.0 "Bach's Crab Canon" \line { } }
}


#(define (reverse-music music)
(let* ((elements (ly:music-property music 'elements))
(reversed (reverse elements))
(e (ly:music-property music 'element))
(span-dir (ly:music-property music 'span-direction)))

(ly:music-set-property! music 'elements reversed)

(if (ly:music? e)
(ly:music-set-property!
music 'element
(reverse-music e)))

(if (ly:dir? span-dir)
(ly:music-set-property! music 'span-direction (- span-dir)))

(map reverse-music reversed)

music))


frase = \relative c' {
%\clef treble
%\key c \minor
%\time 4/4

c2 ees | g aes |
b, r4 g'4~ | g fis2 f4~ |
f e2 ees4~ | ees d des c |
b g c f | ees2 d | %9
c ees | g8 f g c g ees d ees |
f g a b c ees, f g | aes d, ees f g f ees d |
ees f g aes bes aes g f | g aes bes c des bes aes g |
a b c d ees c b a | b c d ees f d g, d' | %17
c d ees f ees d c b | c4 g ees c
}

pausa =\relative c {
%\clef treble
%\key c \minor
%\time 4/4

s1 | s1 |
s1 | s1 |
s1 | s1 |
s1 | s1 |
s1 | s1 |
s1 | s1 |
s1 | s1 |
s1 | s1 |
s1 | s1 |

}



\score {
\new PianoStaff <<
%\set PianoStaff.instrumentName = #"Piano "
\new Staff = "upper" {
\clef treble
\key c \minor
\time 4/4
\frase
\pausa
\applyMusic #reverse-music \frase
\bar "|."
}
\new Staff = "lower" {
\clef treble
\key c \minor
\time 4/4
\pausa
\applyMusic #reverse-music \frase
\frase
}
>>
\layout {

}
\midi {

}
}

Ecco il pdf: http://git.phc.unipi.it/presentazione/preslily/blobs/raw/ec22b5076b79fbc3631993613a92cf0ac8943011/Esempi/canon_crab.pdf

Stampando le 18 battute su una striscia di carta (le prime nove verso, le altre 9 retro) come in http://www.youtube.com/watch?v=xUHQ2ybTejU ed incollando propriamente le due estremità si ottiene un esempio musicale del Nastro di Möbius

26 giugno 2011

Studio: da Glass verso l'uscita dal Minimalismo

Qualche tempo fa (anni?) mi sono appassinato al Minimalismo Americano (ed andando indietro nel tempo a "quello francese") ed ho iniziato a studiare perché "funziona". Come è possibile che un ritmo costante ed una armonia semplice (ma non banale) regalino tanto piacere sia all'ascoltatore sia all'esegutore? Per quanto riguarda l'armonia -forse- il minimalismo si è piazzato alla fine di un periodo di esasperazione nella musica classica e al principio della musica pop come la intendiamo noi oggi. Il ritmo invece richiede -secondo me- una spiegazione <> Glass si è appassionato al buddismo e all'India, dove si hanno prove di conoscenza delle leggi che legano suono a onde celebrali (non una conoscenza scientifica, direi piuttosto una "intuizione") [se siete interessati: http://en.wikipedia.org/wiki/Brainwave_entrainment e relativi riferimenti] e ne ha ricavato una personale commistione "fra Mozart (studiato con la Boulanger) ei chakra". Tutti questi discorsi pseudo-filosifici servono per inquadrare la musica, ma certo non riescono a

Appreso questo, mi è venuta voglia di sperimentare: scelti due brani (Truman sleeps e piano angel) ho iniziato a lavorarci. Ho cambiato tonalità al primo, e ne ho estratto il giro armonico; il secondo mi è servito come riferimento per le figure ritmiche. Quello che ho aggiunto di mio è stato

1) dare figure ritmiche diverse alle due mani, notando che lo sfasamento (tanto caro a Reich e fonte di ispirazione per Glass) funziona meglio con numeri primi

2) ripetere la stessa figura ritmica, alternando però le note dell'arpeggio con note alterate (cosa molto poco usata da Glass) per creare anche uno sfasamento tonale

Il risultato è "poco musicale" ma l'effetto è utilizzabile con successo in brani alienanti :)

Di seguito il codice LilyPond riesumato da un Beckup, relativo file PDF e MIDI.

%%%

%This program is free software: you can redistribute it and/or modify
%it under the terms of the GNU General Public License as published by
%the Free Software Foundation, either version 3 of the License, or
%(at your option) any later version.
%
%This program is distributed in the hope that it will be useful,
%but WITHOUT ANY WARRANTY; without even the implied warranty of
%MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
%GNU General Public License for more details.
%
%You should have received a copy of the GNU General Public License
%along with this program. If not, see .

%Author: Giulio Masetti

%E-mail: masetti@mail.dm.unipi.it or 106ohm@gmail.com

%%%

\version "2.12.3"


destra = \relative c'' {
\clef treble
\key c\major
%modulo 4
a16 c e a a, c e a a, c e a a, c e a
a, c e a a, c e a a, c e a a, c e a
%
a, c f a a, c f a a, c f a a, c f a
a, c f a a, c f a a, c f a a, c f a
%
g, c e g g, c e g g, c e g g, c e g
g, c e g g, c e g g, c e g g, c e g
%
gis, b e gis gis, b e gis gis, b e gis gis, b e gis
gis, b e gis gis, b e gis gis, b e gis gis, b e gis
%modulo 6
\times 2/6 {a8 e c a c e} \times 2/6 {a e c a c e} \times 2/6 {a e c a c e} \times 2/6 {a e c a c e}
a16 e c a c e a e c a c e a e c a
%
\times 2/6 {a'8 f c a c f} \times 2/6 {a8 f c a c f} \times 2/6 {a8 f c a c f} \times 2/6 {a8 f c a c f}
a16 f c a c f a f c a c f a f c a
%
\times 2/6 {g'8 e c g c e} \times 2/6 {g8 e c g c e} \times 2/6 {g8 e c g c e} \times 2/6 {g8 e c g c e}
g16 e c g c e g e c g c e g e c g
%
\times 2/6 {gis'8 e b gis b e} \times 2/6 {gis8 e b gis b e} \times 2/6 {gis8 e b gis b e} \times 2/6 {gis8 e b gis b e}
gis16 e b gis b e gis e b gis b e gis e b gis
% %modulo 6 variazioni
% \times 2/6 {a'8 e c a c e} \times 2/6 {a f c a c e} \times 2/6 {a e c a c e} \times 2/6 {a f c a c e}
% a16 e c a c e a f c a c e a e c a
% %
% \times 2/6 {a'8 f c a c f} \times 2/6 {g8 e c a c f} \times 2/6 {a8 f c a c f} \times 2/6 {g8 e c a c f}
% a16 f c a c f g e c a c f a f c a
% %
% \times 2/6 {g'8 e c g c e} \times 2/6 {gis8 e c g c e} \times 2/6 {g8 e c g c e} \times 2/6 {gis8 e c g c e}
% g16 e c g c e gis e c g c e g e c g
% %
% \times 2/6 {gis'8 e b gis b e} \times 2/6 {gis8 e b gis c e} \times 2/6 {gis8 e b gis b e} \times 2/6 {gis8 e b gis c e}
% gis16 e b gis b e gis e b gis c e gis e b gis

%modulo 7
\times 2/7 {a8 c a' e c a c} \times 2/7 {a c a' e c a c} \times 2/7 {a c a' e c a c} \times 2/7 {a c a' e c a c}
a16 c a' e c a c a c a' e c a c a c
%
\times 2/7 {a8 c a' f c a c} \times 2/7 {a c a' f c a c} \times 2/7 {a c a' f c a c} \times 2/7 {a c a' f c a c}
a16 c a' f c a c a c a' f c a c a c
%
\times 2/7 {g8 c g' e c g c} \times 2/7 {g c g' e c g c} \times 2/7 {g c g' e c g c} \times 2/7 {g c g' e c g c}
g16 c g' e c g c g c g' e c g c g c
%
\times 2/7 {gis8 b gis' e b gis b} \times 2/7 {gis8 b gis' e b gis b} \times 2/7 {gis8 b gis' e b gis b} \times 2/7 {gis8 b gis' e b gis b}
gis16 b gis' e b gis b gis16 b gis' e b gis b gis b
%
a1
}

sinistra = \relative c {
\clef bass
\key c\major
%modulo 3
a16 c e a, c e a, c e a, c e a, c e a, c e a, c e a, c e a, c e a, c e a, c
%
a c f a, c f a, c f a, c f a, c f a, c f a, c f a, c f a, c f a, c f a, c
%
g c e g, c e g, c e g, c e g, c e g, c e g, c e g, c e g, c e g, c e g, c
%
gis b e gis, b e gis, b e gis, b e gis, b e gis, b e gis, b e gis, b e gis, b e gis, b e gis, b
%modulo 4
a c e a a, c e a a, c e a a, c e a
a, c e a a, c e a a, c e a a, c e a
%
a, c f a a, c f a a, c f a a, c f a
a, c f a a, c f a a, c f a a, c f a
%
g, c e g g, c e g g, c e g g, c e g
g, c e g g, c e g g, c e g g, c e g
%
gis, b e gis gis, b e gis gis, b e gis gis, b e gis
gis, b e gis gis, b e gis gis, b e gis gis, b e gis
% %modulo 4 variazioni
% a, c e a a, c e a a, c e a a, c a c
% a c e a a, c e a a, c e a a, c a c
% %
% a c f a a, c f a a, c f a a, c a c
% a c f a a, c f a a, c f a a, c a c
% %
% g c e g g, c e g g, c e g g, c g c
% g c e g g, c e g g, c e g g, c g c
% %
% gis b e gis gis, b e gis gis, b e gis gis, b gis b
% gis b e gis gis, b e gis gis, b e gis gis, b gis b

%modulo 3, 4 e 2
a, c e a, c e a, c e a a, c e a a, c
a c e a, c e a, c e a a, c e a a, c
%
a c f a, c f a, c f a a, c f a a, c
a c f a, c f a, c f a a, c f a a, c
%
g c e g, c e g, c e g g, c e g g, c
g c e g, c e g, c e g g, c e g g, c
%
gis b e gis, b e gis, b e gis gis, b e gis gis, b
gis b e gis, b e gis, b e gis gis, b e gis gis, b
%
a1
}

\score {
\new PianoStaff <<
\set PianoStaff.instrumentName = #"Piano "
\new Staff = "destra" \destra
\new Staff = "sinistra" \sinistra
>>
\midi{
\context {
\Score tempoWholesPerMinute = #(ly:make-moment 120 4)
}
}
\layout { }
}

file PDF e file MIDI

19 aprile 2011

Seminario Calcolo Scientfico

Argomento: come scegliere matrici di linearizzazione per problemi polinomiali agli autovalori.

Potete andare sul server gitorius http://git.phc.unipi.it e cercare il mio seminario [così potrete sempre trovare ua versione aggiornata, qualora io ci rimetta le mani...] in pdf, oppure in sorgente LaTex.

È presente anche del codice in FORTRAN90 relativo a sperimentazioni varie.


10 marzo 2011

Prendere dimestichezza con Google App Engine

Ho trovato il tempo di impratichirmi con Google App Engine, in particolare inglobando il codice per calcolare la lunghezza totale dei filmati preferiti su YouTube dentro una applicazione web, realizzata con il supporto di Google App Engine. Non è stato complicato, ed effettivamente al momento il risultato è spartano, ma è stato molto istruttivo. Oltre al guadagno intellettuale ho riscontrato un notevole miglioramento delle prestazioni del mio codice, cosa buona e giusta.

Adesso, volendo continuare con questo filone, sarebbe interessante fornire la mia applicazione web di una grafica più carina (con qualche disegno, codice html e css, ecc.)

Il risultato lo trovate qui (mettete il vostro nome utente di YouTube e cliccate Go!)

16 febbraio 2011

Childgrove: ballata popolare scozzese

Sempre alla ricerca di temi musicali da rielaborare, e da suonare, ho trovato questo splendido libro: "Complete Scottish and English country dance master for recorders" e subito mi ha colpito Childgrove. Ho ascoltato e trascritto, in LilyPond, questo tema e due variazioni (tratte da una versione che ho ascoltato e, secondo me, molto istruttive). Nel libro si trova una seconda voce, probabilmente scritta dalla O'Scannell, che non ho elaborato -per ora-

Ecco lo spartito al momento attuale.