Un passo avanti verso la risoluzione di un vecchio problema: come leggere gli spartiti musicali.
Che spesso sono disponibili soltanto stampati, o sotto forma di file .pdf.
Era da tempo che ci provavo, ma senza mai arrivare a risultati soddisfacenti.
E sapete perché? Perché tentavo di farlo usando l'intelligenza artificiale.
Mi dicevo: ormai con l'intelligenza artificiale si possono fare tante cose, allora deve anche essere possibile riconoscere il contenuto degli spartiti musicali.
E invece, per quanto abbia provato, nessun modello di intelligenza artificiale arrivava a dare dei risultati validi.
Così mi sono detto: e allora lasciamo perdere l'intelligenza artificiale, e torniamo alle vecchie tecniche di riconoscimento ottico.
Quelle stesse che abbiamo sempre usato per il riconoscimento dei testi scritti.
E alla fine, quando nemmeno ci speravo più, un primo risultato è venuto finalmente fuori.
Una piccola rivalsa nei confronti dell'intelligenza artificiale, che ultimamente la stava facendo un po' troppo da padrona.
Per spiegare il risultato ottenuto, riporto qui l'immagine di un breve spartito su cui l'ho provato, ad uso di chi può vederla o può farla vedere a qualcuno.

Si tratta dell'"Inno alla gioia", la famosa composizione facente parte della nona sinfonia di Ludwig van Beethoven, un brano che chiunque potrebbe riconoscere.
L'immagine deriva da un file grafico che ho ottenuto con lo scanner, scansionando uno spartito musicale stampato: una cosa, quindi, che anche ognuno di voi che è dotato di scanner avrebbe potuto fare.
Per scaricare il file con l'immagine dello spartito, potete usare questo link:
Bene. Una volta avuto lo spartito, che si fa?
Si va in GuidoAusili, e si sceglie:
Musica.
Lettura spartito.
e quindi si va alla scelta del file contenente lo spartito da leggere.
Solo che questa volta, invece di scegliere un file di tipo .mxl, si va semplicemente a scegliere il file grafico, tale e quale come l'avete scaricato.
Che, ripeto, non è altro che un normale file grafico, ottenuto con lo scanner.
Ebbene, a questo punto, dopo che avete scelto il file parte un processo di riconoscimento ottico dello spartito che si vede nel file.
E alla fine del processo, potete consultare il risultato, sotto forma di note, di battute, insomma di elementi di una composizione musicale.
E volendo potete anche, con le apposite funzioni locali, ascoltarlo, e generarne un file .mp3.
Il file .mp3 che ho ottenuto io potete scaricarlo dal seguente link, e ascoltarlo:
Beh, che ne dite? Non sarà proprio una cosa professionale, ma la melodia dell'Inno alla gioia è almeno riconoscibile.
Ed ecco quindi che quella che era soltanto una cosa scritta su carta, si è magicamente trasformata in vera musica.
Quanto al modo in cui GuidoAusili ha interpretato lo spartito, lo riporto qua sotto.
Così potrete controllare se corrisponde:
Battuta 1
Mi 5, Do 5 (semiminima)
Mi 5, Do 5 (semiminima)
Fa 5, Re 5 (semiminima)
Sol 5, Mi 5 (semiminima)
Battuta 2
Sol 5, Mi 5 (semiminima)
Fa 5, Re 5 (semiminima)
Mi 5, Do 5 (semiminima)
Re 5, Si 4 (semiminima)
Battuta 3
Mi 4, Do 5 (semiminima)
Mi 4, Do 5 (semiminima)
Fa 4, Re 5 (semiminima)
Sol 4, Mi 5 (semiminima)
Battuta 4
Mi 5, Do 5 (semiminima puntata)
Re 5, Si 4 (croma)
Re 5, Si 4 (minima)
Battuta 5
Mi 5, Do 5 (semiminima)
Mi 5, Do 5 (semiminima)
Fa 5, Re 5 (semiminima)
Sol 5, Fa 5 (semiminima)
Battuta 6
Sol 5, Mi 5 (semiminima)
Fa 5, Re 5 (semiminima)
Mi 5, Do 5 (semiminima)
Re 5, Si 4 (semiminima)
Battuta 7
Mi 4, Do 5 (semiminima)
Mi 4, Do 5 (semiminima)
Fa 4, Re 5 (semiminima)
Sol 4, Mi 5 (semiminima)
Battuta 8
Fa 4, Re 5 (semiminima puntata)
Mi 4, Do 5 (croma)
Mi 4, Do 5 (minima)
Battuta 9
Re 5 (semiminima), Si 3 (minima), Sol 4 (semibreve)
Re 5 (semiminima)
Mi 5 (semiminima), Do 4 (minima)
Do 5 (semiminima)
Battuta 10
Re 5 (semiminima), Si 3 (minima), Sol 4 (semibreve)
Mi 5 (croma)
Fa 5 (croma)
Mi 5 (semiminima), Do 4 (minima)
Do 5 (semiminima)
Battuta 11
Re 5 (semiminima), Sol 4 (minima), Si 3 (minima)
Mi 5 (croma)
Fa 5 (croma)
Mi 5 (semiminima), Sol diesis 4 (minima), Mi 4 (minima)
Re 5 (semiminima)
Battuta 12
Do 5, La 4 (semiminima)
Fa diesis 4, Re 5 (semiminima)
Sol 4 (semiminima)
Mi 5, Do 5 (semiminima)
Battuta 13
Mi 5, Do 5 (semiminima)
Mi 5, Do 5 (semiminima)
Fa 5, Re 5 (semiminima)
Sol 5, Mi 5 (semiminima)
Battuta 14
Sol 5, Mi 5 (semiminima)
Fa 5, Re 5 (semiminima)
Mi 5, Do 5 (semiminima)
Re 5, Si 4 (semiminima)
Battuta 15
Mi 4, Do 5 (semiminima)
Mi 4, Do 5 (semiminima)
Fa 4, Re 5 (semiminima)
Sol 4, Mi 5 (semiminima)
Battuta 16
Mi 4, Re 5 (semiminima puntata)
Mi 4, Do 5 (croma)
Mi 4, Do 5 (minima)
Battuta 17
Re 5 (semiminima), Si 3 (minima), Sol 4 (semibreve)
Re 5 (semiminima)
Mi 5 (semiminima), Do 4 (minima)
Do 5 (semiminima)
Battuta 18
Re 5 (semiminima), Si 3 (minima), Sol 4 (semibreve)
Mi 5 (croma)
Fa 5 (croma)
Mi 5 (semiminima), Do 4 (minima)
Do 5 (semiminima)
Battuta 19
Re 5 (semiminima), Sol 4 (minima), Si 3 (minima)
Mi 5 (croma)
Fa 5 (croma)
Mi 5 (semiminima), Sol diesis 4 (minima), Mi 4 (minima)
Re 5 (semiminima)
Battuta 20
Do 5 (semiminima)
Fa diesis 4, Re 5 (semiminima)
Sol 4 (semiminima)
Mi 5, Do 5 (semiminima)
Battuta 21
Mi 5, Do 5 (semiminima)
Mi 5, Do 5 (semiminima)
Fa 5, Re 5 (semiminima)
Sol 5, Mi 5 (semiminima)
Battuta 22
Sol 5, Mi 5 (semiminima)
Fa 5, Re 5 (semiminima)
Mi 5, Do 5 (semiminima)
Re 5, Si 4 (semiminima)
Battuta 23
Mi 4, Do 5 (semiminima)
Mi 4, Do 5 (semiminima)
Fa 4, Re 5 (semiminima)
Sol 4, Mi 5 (semiminima)
Battuta 24
Mi 4, Re 5 (semiminima puntata)
Mi 4, Do 5 (croma)
Mi 4, Do 5 (minima)