Présentation
XY Music est une application web qui charge, affiche et lit des partitions musicales directement dans le navigateur. L’interface indique « Loading score… », puis propose le téléchargement du fichier PDF original ainsi que la visualisation du score. Cette approche élimine le besoin d’un logiciel dédié, en s’appuyant sur les capacités natives du navigateur.
Fonctionnalités de lecture
Le lecteur intègre une barre de contrôle de la position de lecture, un indicateur de temps (ex. 0:00 / 0:00) et un sélecteur de vitesse allant de 0.5× à 2×. Le réglage de la vitesse modifie le facteur de lecture du flux audio sans altérer la hauteur, ce qui implique l’utilisation du playbackRate du Web Audio API combiné à un algorithme de time‑stretching. Le volume est ajustable et un bouton « MIDI Off » permet de couper la sortie MIDI tout en conservant le métronome interne.
Architecture technique
XY Music exploite le WebMIDI API pour accepter un dispositif externe (« Connect device… »). Lorsqu’un clavier MIDI est détecté, les messages noteOn et noteOff sont routés vers le synthétiseur interne ou vers un soundfont externe. Le texte « Internal piano » indique la présence d’un synthétiseur logiciel intégré, tandis que « Optional external MIDI » confirme la prise en charge d’appareils matériels. Le son provient du pack FreePats CC0, une collection de banques d’instruments sous licence libre, chargée en tant que soundfont via AudioContext.decodeAudioData. L’ensemble du rendu visuel du score repose probablement sur SVG ou Canvas, généré à partir de données MusicXML ou d’un format propriétaire, bien que la source ne le précise pas.
Limitations et perspectives
Le service ne propose pas d’édition de partitions ; il se limite à la lecture et à l’export PDF. L’absence d’indicateur de mesure précise (« Measure — ») suggère que la synchronisation visuelle entre la lecture et la notation reste basique. De plus, la dépendance à FreePats CC0 implique une qualité sonore variable selon les instruments, ce qui peut ne pas satisfaire les musiciens professionnels. L’ajout d’un moteur de notation dynamique, d’un support VST via WebAssembly ou d’une exportation MusicXML enrichirait l’écosystème, tout en restant compatible avec les standards du web.