À propos du projet
OpenSheetMusicDisplay (OSMD) est un moteur de rendu open source qui affiche des partitions MusicXML dans le navigateur et dans des environnements NodeJS headless/sans navigateur. Il est décrit comme le chaînon manquant entre MusicXML, le standard de facto pour l'échange de partitions entre applications musicales, et VexFlow, une bibliothèque de rendu de partitions largement utilisée. OSMD est développé par PhonicScore, une entreprise de music-tech basée à Vienne.
Principales capacités attestées dans le README :
- Affiche des partitions MusicXML dans des environnements avec ou sans navigateur en JavaScript/TypeScript, y compris des scripts NodeJS headless côté serveur.
- Utilise VexFlow pour le rendu et en partie pour la mise en page.
- Analyse la plupart des balises MusicXML et les intègre dans un modèle de données accessible et modifiable, par exemple pour changer la couleur d'une note.
- Fournit de nombreuses options (OSMDOptions / EngravingRules) couvrant le format de page, la famille de polices, le positionnement et la suppression d'éléments tels que le titre ou les paroles.
- Permet de modifier la partition affichée : masquer des parties ou des instruments, masquer les noms d'instruments, le titre ou le compositeur, une mise en page plus compacte et la coloration des notes.
- Produit du SVG ou du PNG, y compris via un script en ligne de commande NodeJS, entièrement headless (par exemple un rendu côté serveur via le script generateImages).
- Écrit en TypeScript avec des informations de type complètes et une compatibilité JavaScript totale ; la version minifiée est en .js.
- Peut afficher des tablatures (tabs de guitare) à partir de MusicXML, y compris des effets comme les bends et les glissandi, et peut être combiné avec une clé de sol.
- Distribué comme module NPM utilisable avec du JavaScript simple ou des gestionnaires de modules tels que webpack.
Limites indiquées : toutes les balises et attributs MusicXML ne sont pas entièrement pris en charge, notamment les marques de pédale avancées (les crochets down/up et le lift wedge sont en accès anticipé pour les sponsors, tandis que les signes « Ped. » et « * » sont pris en charge) et certains attributs comme les têtes de notes/glyphes spéciaux de batterie. Le README souligne également qu'OSMD est un moteur de rendu, et non un éditeur de partitions interactif complet : le rendu de longues partitions prend du temps et les notes ne peuvent pas être déplacées ou ajoutées facilement ou rapidement. Des fonctionnalités d'édition limitées existent, comme rendre des notes invisibles, la coloration, masquer des instruments/portées et masquer les armures ou les signatures rythmiques. Les nœuds SVG peuvent être manipulés pour des changements instantanés comme la recoloration des notes.
Un lecteur audio est décrit comme en cours de développement, avec une version en accès anticipé disponible pour les sponsors GitHub. Parmi les autres fonctionnalités en accès anticipé mentionnées figurent des modules natifs avec des projets d'exemple (React Native, Kotlin/Android, Swift/iOS) et l'affichage Jianpu (notation musicale chiffrée) avec lecture. Les fonctionnalités décrites comme susceptibles d'arriver à l'avenir incluent les annotations (ajout de texte personnalisé et de symboles musicaux à la partition avec import/export XML).
Une démo publique est disponible, ainsi qu'une démo locale de développement/débogage, et des instructions détaillées de prise en main dans le wiki du projet. Les canaux de support communautaire incluent GitHub Discussions, Issues, Discord et Gitter. Le projet est financé en partie via GitHub Sponsors et des dons PayPal.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.