Partitions de musique en ligne

Générer du graphisme de manière procédurale

Sur ce site, de nombreuses partitions de musique sont présentes. Toutes sont générées à la volée par un script Javascript, selon des procédures.

La notation ABC

La notation ABC v2.2 est un language textuel de représentation des partitions de musique. Des outils comme ABC Explorer ou EasyABC sont des ateliers graphiques pour l'écriture en notation ABC.

ABC vers SVG et MP3

Les librairies Javascript abc2svg permettent d'intégrer une partition en notation ABC dans une page web.

  • la librairie abcemb parse le contenu de la page à la recherche de la partition
  • la librairie abc2svg remplace la partition identifie par un rendu graphique de la partition (généré au format SVG de graphisme vectoriel adaptable)
  • la librairie play joue la partition à partir d'une police sonore d'instrument

Pour ce site, la librairie abcemb a été personnalisée pour identifier les partitions insérées comme commentaire HTML. En effet l'interprétation du code HTML peut interfèrer avec le caractère type "<" ou ">" qui en notation ABC sont des indications de durée de notes de musique et non des caractères liées à des balises XML.

re=/\n<!--%\n%abc/g,re_stop=/\n</g

Les pages de partitions de musique qui comportent le contenu suivant sont ainsi interprétées :

<script src="/js/abc2svg-1.js" type="text/javascript"></script>
<script src="/js/abcemb-1.js" type="text/javascript"></script>
<script src="/js/play-1.js" type="text/javascript"></script>
<!--%
%abc2.2
X:1
_ici la partition en notation ABC_
%-->

Un clic sur la partition SVG générée déclenche le rendu musical. La librairie mentionnée ci-dessus pointe une police sonore FluidR3_GM qui est à priori d'usage libre pour les détenteurs d'une licence MuseScore.

Pour ce site, la librairie play a été personnalisée pour remplacer la police sonore pointée par une police sonore de piano Steinway B-211 libre de droit. Le pointage de la police sonore a été effectué en jouant sur les 2 variables suivantes :

sfu="http://creative.dynatmos.com/soundfonts/",sft="mp3"

Problèmes d'intégration résolus pour ce site

Les librairies mentionnées et exploitées sont plus stricts que les librairies abc2ps exploitées par le logiciel initial ABC Explorer qui avait été utilisé pour les créer. La version de standard ABC sur laquelle reposait ce logiciel n'était d'ailleurs pas la dernière version.

Résolution des message d'erreur

Notations au dessus de la portée

Notation ABC provoquant un message d'erreur :

+fermata+

Pour toutes les décorations de ce type, remplacer les "+" entourant ces décorations par un "!", la version correcte :

!fermata!

Tempo pour la partition

Notation ABC provoquant un message d'erreur :

Q: 45

La durée de la note de référence doit être explicite par rapport à d'autres outils, d'où la résolution pour une partition 6/8:

Q: 3/8 = 45

Texte des paroles trop long

Notation ABC provoquant un message d'erreur :

"w:Al-lé-luia !"

Même en fin de ligne les espaces sont à représenter à l'aide du caractère tilde, la version correcte :

"w:Al-lé-luia~!"

Résolution des problèmes d'affichage

Notations au dessus de la portée

Notation ABC provoquant un affichage incorrect :

"Célébrant"

Les notations au dessus de la portée doivent préciser la localisation souhaitée pour cette notation, une version correcte :

"^Célébrant"

Patienter et upgrader les bibliothèques

Les montées de versions d'abc2svg résolvent certains problèmes d'affichage.

  • La version 1.15.0 a résolu les problèmes d'affichage et/ou messages d'erreurs pour les partitions suivants : "Je vous salue Joseph" et "Mère de miséricorde".
  • Les partitions "Magnificat", "Notre Père" et "Kyrie "qui rira"" continuent d'avoir des problèmes d'affichage et/ou messages d'erreurs et sont pour l'heure désactivée sur ce site.

Version des bibliothèques musicales

Ce site repose sur la combinaison suivante de versions des bibliothèques :

Bibliothèque musicale Version
abc2svg 1.15.0 (2 novembre 2017)
abcemb 1.14.3 (29 septembre 2017)
play 1.15.0 (2 novembre 2017)
psvg 1.14.1 (13 septembre 2017)