# Représentation des symboles musicaux en informatique

Les symboles utilisés dans la musique occidentale (ainsi que dans les typologies musicales dérivées ou apparentées à celle-ci) soulèvent certaines difficultés de codage informatique. Comment coder, par exemple Symphonie en si ♭ majeur plutôt que Symphonie en si bémol majeur ?
Aucun jeu de caractères courant ne contient en effet les symboles fondamentaux. Unicode les a cependant bien inclus. Les logiciels LaTeX et LilyPond permettent aussi une manipulation simple des symboles musicaux.

## Remarque typographique à propos du dièse

Contrairement à une idée reçue, le croisillon # (hash), directement disponible sur la plupart des claviers d’ordinateurs, n'est pas un véritable dièse. Les anglophones, en particulier les Américains, le nomment « number sign » ou « hash », et il sert, entre autres, d'équivalent à number au sens de « numéro » (#5 : number five, « numéro cinq »), et à pound au sens de « livre » (5# : five pounds, « cinq livres »). Il s'agit d'une ancienne ligature latine. Le symbole # étant cependant inconnu des usages francophones, lorsque sont arrivés les premiers claviers à le posséder, on a nommé la touche le portant « touche dièse », croyant avoir affaire à un tel signe. Les anglophones, cependant, disent bien hash key ou pound key (« touche hash » ou « touche livre »).
Le signe "dièse" des claviers se distingue du vrai dièse musical par l'orientation des barres : les barres verticales du dièse musical sont parfaitement verticales et ses barres horizontales sont obliques. Les barres verticales du dièse de clavier sont obliques et ses barres horizontales sont parfaitement horizontales. Ainsi, on peut comparer ci-après l’aspect du hash ou dièse par abus de notation (#) popularisé par le standard ASCII, et celui du vrai dièse. Différents moyens permettent de représenter le vrai dièse. Il peut se représenter par le code unicode &#9839; depuis son aux caractères Unicode sous le numéro; l’affichage (♯) dépend donc des polices de caractères Unicode. Il peut se représenter en LaTeX par le code \sharp ─ l’émulateur de Wikipédia le représentera vraisemblablement au moyen d'une image ─ ($\sharp$). Dans une partition, il est représenté de la manière suivante :

## Codage
### Unicode

Les trois symboles représentant les altérations ainsi que quelques notes sont codés dans le bloc des « Symboles divers » :
| Nom | Glyphe | Valeur | UTF-8 | UTF-8 (octal) | HTML |
| Note noire | ♩ | U+2669 | 0xE2 0x99 0xA9 | \342\231\251 | &#9833; |
| Note croche | ♪ | U+266A | 0xE2 0x99 0xAA | \342\231\252 | &#9834; |
| Deux croches ramées | ♫ | U+266B | 0xE2 0x99 0xAB | \342\231\253 | &#9835; |
| Deux doubles croches ramées | ♬ | U+266C | 0xE2 0x99 0xAC | \342\231\254 | &#9836; |
| bémol | ♭ | U+266D | 0xE2 0x99 0xAD | \342\231\255 | &#9837; |
| bécarre | ♮ | U+266E | 0xE2 0x99 0xAE | \342\231\256 | &#9838; |
| dièse | ♯ | U+266F | 0xE2 0x99 0xAF | \342\231\257 | &#9839; |
Outre ces sept caractères, Unicode permet de coder la majorité des autres symboles d’une partition. Les caractères nécessaires sont dans le bloc « Symboles musicaux occidentaux » (U+1D100 à U+1D1FF). Leur affichage par un moteur de rendu reste cependant problématique.

### SMuFL

SMuFL (en) ou Standard Music Font Layout, est une norme ouverte pour le mappage des polices musicales développé par le W3C Music Notation Community Group
Il est supporté par plusieurs logiciels d’édition de partitions musicales comme Dorico, Finale ou MuseScore.
* (en) « Introducing SMuFL », sur SMuFL, 7 février 2013 (consulté le 25 avril 2024)
* (en) « Music Notation Community Group », sur w3.org (consulté le 25 avril 2024)
* « W3c/smufl : Standard Music Font Layout », sur GitHub (consulté le 25 avril 2024)

### LaTeX

Sous LaTeX, il est possible de coder facilement les symboles des altérations :
* bécarre : \natural ; résultat : $\natural$ ;
* bémol : \flat ; résultat : $\flat$ ;
* dièse : \sharp ; résultat : $\sharp$.
(Pour les utilisateurs de Lyx, les exemples ci-dessus doivent être encadrés par $ … $ dans l'insert de code (ctrl+l), pour indiquer le mode mathématique. Ex: $\natural$)

### Lilypond

Les règles élémentaires de codage de la musique sous LilyPond sont les suivantes :
* Les notes de musiques sont codées par défaut à la manière anglo-saxonne : c pour do bécarre, b pour si bécarre Pour obtenir un bémol, on rajoute es (ces, bes) et pour obtenir un dièse, on rajoute un is. Un silence se note r (de l'anglais rest). En incluant le module de notation italienne, il est possible de nommer les notes do, re (sans accent), mi, etc. Il est également possible de créer ses propres langages de notation.
* Les clefs sont codées par \clef treble pour la clef de sol, \clef bass pour la clé de fa et \clef alto pour la clef d’ut 3.
* Les rythmes sont codés par des nombres notés après la note (1 pour une ronde, 2 pour une blanche, 4 pour une noire, etc. Par exemple, aes4 représente une noire la bémol, cis2. représente une blanche pointée do dièse.
Depuis décembre 2011, le logiciel Mediawiki, utilisé par Wikipédia, possède une extension donnant la possibilité d'intégrer dans un article une partition de musique au format Lilypond.