Categorie
computer musica

Notazione musicale ABC in testi HTML

Ultimo aggiornamento 20 marzo 2023.

Alcuni utilizzatori dell’applicazione CantoQui (vds. manuale) mi hanno chiesto se vi era la possibilità di inserire spartiti. La risposta è NO, ma con alcune eccezioni, in quanto possibile da un punto di vista tecnico.

In effetti sarebbe comodo, per chi suona, avere un “canzoniere” già pronto con gli accordi, magari con la possibilità di abbassare e alzare a piacimento le tonalità, possibilità già presente in alcune applicazioni contenenti sia canti religiosi che di altro genere; ne avrebbero giovamento anche coristi o fedeli con basiche nozioni musicali. Ecco, per CantoQui non sperate di trovare tale caratteristica.

Il primo limite è innanzitutto l’eventuale violazione del diritto d’autore: pur considerando che quanto pubblicato è messo a disposizione dei fedeli di una determinata chiesa solo temporaneamente, una cosa è metterne a disposizione il testo anche in considerazione che la quasi totalità dei testi presenti è reperibile in numerosi siti su internet, ma un’altra cosa è mettere a disposizione lo spartito (anche quelli comunque spesso reperibili). Per andare incontro ai musicisti si è cercato, ove possibile e per ogni brano, aggiungere autore, album e anno pubblicazione, in modo da agevolarne il ritrovamento.

Il secondo limite è la dimensione: dei ~300 canti attualmente presenti la lunghezza media del testo è di ~1500 bytes; chiunque sia in possesso di uno spartito scannerizzato, sia in qualsiasi formato grafico che pdf o djvu o altro, ne verifichi la dimensione in bytes, e noterà che è praticamente impossibile “concentrare” anche un semplicissimo spartito in così pochi bytes; anche volendo ignorare questo fatto e ostinandosi a pubblicare gli spartiti “scannerizzati”, si metterebbero in difficoltà i fedeli che hanno il cellulare un po’ datato e il traffico limitato costringendoli ad un traffico più grande di migliaia di volte (ad esempio da 10kb di qualche testo a 10Mb degli stessi testi con spartito scannerizzato, tanto per dare delle cifre approssimative). Anche eventuali immagini esportate da software musicali, sia pure migliori di quelle scannerizzate, hanno sempre lo stesso difetto di una eccessiva dimensione.

Pur con la consapevolezza di tali limiti, mi sono ugualmente chiesto se in alcuni casi si potrebbe “tollerare” lo spartito, ed in effetti gli antichi canti gregoriani, per i quali si spera sia già decaduto il diritto d’autore, già eluderebbero il primo limite (tranne ovviamente recenti armonizzazioni, sempre soggette a limitazione della diffusione). Rimarrebbe comunque il limite della dimensione e lo “spartito scannerizzato” è improponibile.

Cercando e approfondendo in rete ho trovato il formato di notazione musicale giusto per tale scopo, ed è il formato ABC. Pur avendo tante limitazioni ed essendo anche privo di particolari caratteristiche presenti su altri software, ritengo sia perfetto per visualizzare spartiti non eccessivamente complessi, che in fondo è ciò che cercavo, volendo solamente visualizzare piccole parti sul sull’app CantoQui. Non sto a dilungarmi su spiegazioni del formato, facilmente reperibili in rete:
https://it.wikipedia.org/wiki/ABC_(notazione_musicale)
https://abcnotation.com/
ma in sostanza tale formato consente, ad esempio, da un testo come:
L:1/8
K:C
G G E D C D E D2 C2 | G G E D C D E D C2 |
w: Glo-ri-a in ex-cel-sis de-o. Et in ter-ra pax ho-mi-ni-bus

di ottenere questo spartito:

È facilmente comprensibile il motivo che fa preferire tale formato di notazione musicale piuttosto che l’utilizzo di “spartiti scannerizzati”, essendo innegabile il notevolissimo risparmio di spazio.

Trovato il formato ideale restava ancora la difficoltà di incorporarlo in un testo html come tutti quelli presenti in CantoQui. La soluzione è stata trovata quasi pronta in un altro sito web:
https://www.abcjs.net/.
In pratica è possibile utilizzare una libreria javascript, di ~400kb, che l’utilizzatore carica durante lo scaricamento web della pagina, all’interno della quale vi sono le istruzioni per convertire un testo in notazione musicale ABC in formato grafico SVG.
Tralaltro su tale sito ho scoperto anche l’esistenza di un plugin wordpress (https://wordpress.org/plugins/abc-notation/) che permette di inserire musica in formato ABC all’interno di un testo wordpress, cosa che ha permesso di scrivere questo articolo senza l’utilizzo di immagini ma semplicemente scrivendo poche righe di testo in formato ABC, che vengono automaticamente convertite nella relativa forma grafica.

Volendo rendere più agevole e “simil-html” il tutto per poterlo utilizzare nell’applicazione CantoQui, ho aggiunto qualche ulteriore riga di javascript in modo che tutto quanto è compreso tra i tag <abc> e </abc> venga considerato “spartito ABC” ed opportunamente convertito:

function CustomABC()
{
  var options = { responsive: "resize" , paddingright:0, paddingleft:0, paddingtop:0, paddingbottom:0 } ;
  var tags = document.getElementsByTagName('abc');
  for ( var i = 0; i < tags.length; i++)
  {
    ABCJS.renderAbc(tags[i], tags[i].innerHTML,options);
  }
}
CustomABC();

In pratica il codice cerca nel testo tutti i testi compresi tra i tag “<abc></abc>” e li converte in formato grafico SVG richiamando la funzione ABCJS.renderAbc presente nella libreria javascript scaricabile dal sito sopra indicato. A tale scopo il programma di gestione dei testi di CantoQui verifica se il testo da visualizzare al lettore contiene notazione musicale ABC (i tag <abc></abc>), ed in tal caso in fondo al testo aggiunge il testo javascript per la conversione grafica. In pratica al lettore, all’atto del caricamento della pagina, comparirà il testo scritto in formato ABC, che verrà un’istante dopo sostituito dalla partitura corrispondente.

Al termine dell’articolo vengono pubblicati, per dare un’idea delle potenzialità della notazione musicale ABC, alcuni brani della “Missa de Angelis” (salvo errori di trascrizione); questa la dimensione occupata dai brani in archivio:

branobytes
Kyrie603
Gloria1425
Sanctus612
Agnus Dei546

GP


Missa VIII “de Angelis”

Kyrie

Gloria

Sanctus

Agnus Dei

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

Chiudi