C e r e l L
Accueil du siteDéveloppementMusique
Intégration de Lilypond dans Claroline
jeudi 8 mars 2007

Éditions de partitions musicales

Lorsque l’on est professeur de musique on aimerait que l’informatique nous amène des solutions pratiques d’éditions de partitions. Pouvoir intégrer un texte musical dans une page HTML ou un PDF semble être la moindre des choses. Pourtant si l’on explore le monde des logiciels musicaux propriétaires on se rend compte de la pauvreté calligraphique des partitions et du peu de compatibilité des formats de fichier.

Pour ce qui est des logiciels libres, on est pleinement satisfaits de Lilypond et de Abcm2ps pour le rendu. Il est de plus assez simple, à la fois de rentrer des directives dans des fichiers textuels et d’utiliser les formats de sortie standardisés PDF, PS, PNG, SVG, XML pour les présenter comme bon nous semble.

Avec le phénomène Wiki permettant d’éditer à la volée des pages HTML, et l’intégration d’éditeurs wysiwyg dans les gestionnaires de contenu, on se dit que structurer des cours de musique vas devenir un vrai bonheur et permettre de propager le plus rapidement possible les connaissances musicales.

C’est ce que nous cherchons à développer en intégrant dans FCKeditor une interface d’édition permettant de faire des appels à Lilypond. Lilypond formate le flux textuel et retourne une valeur binaire de type PNG. FCKeditor affiche la pré visualisation de la partition, et intègre l’image dans le gestionnaire de contenu lors de la validation.

Cette première partie est quasiment achevée et une mise en production de Claroline Lilypond est dès lors possible, seulement reste le problème de la complexité de la syntaxe Lilypond.

Du wysiwyg à fond la caisse

Si coder des sources Lilypond avec Vi ne pose pas de problème dans le cas d’une partition que l’on cherche à structurer sans problématique temporelle, il n’en vas pas de même pour une production rapide de type Wiki. D’où l’intérêt de proposer dans FCKeditor une fenêtre un peu à la manière de denemo autorisant des évènements à la souris pour contrôler graphiquement la structuration de la partition.

Cette partie du code est nettement plus complexe et fait appel à des technologies style Ajax.

Lilypond ; mou du genou

Une autre partie du travail réside dans l’amélioration du rapport => ressources machine et qualité graphiques. En effet un appel à Lilypond consomme beaucoup de ressources processeur ce qui n’est pas grave dans l’optique d’une compilation toutes des 15 minutes. Dans le cas d’une activité serveur, ça change un peu la donne. Il est envisageable dans le cas d’un conservatoire d’imaginer 30 professeurs lancer des compilations simultanées. J’ose pas bien imaginer l’effet que ça vas avoir sur mon 250 Mhz et ses 64Mo de Ram.

Il est clair que depuis quelques versions, les développeurs de Lilypond ont considérablement amélioré ce paramètre mais il reste toutefois problématique sur le type de fonctionnement que nous désirons.

FCKeditor et les CMS

Le double avantage d’utiliser FCKeditor est que cet éditeur de texte pour internet est intégrable dans la majorité des CMS. On le retrouve intégré dans Dolibarr, Spip, et consorts. Avoir la même interface d’édition de musique pour différents modes éditoriaux permet de faire "une pierre deux coups".

Intégrer les logiciels libres dans la chasse gardée des logiciels propriétaires

Le dernier intérêt de ce développement et non le moindre, est de finaliser un produit simplifiant l’édition Lilypond tout en l’intégrant dans un contexte éditorial pédagogique spontané.

Pour l’instant, seul quelques logiciels propriétaires proposent la mise en ligne de partitions visualisées par des greffons attachés au navigateur internet. C’est le cas de Finale ou de Harmony Assistant. Bien évidemment si quelqu’un veut publier de telles partitions il faut acheter ces logiciels et produire des formats de sortie propriétaires.

L’éditeur Lilypond tel que nous l’imaginons permettrait d’obtenir un bien meilleur résultat avec une grande variété de productions :

  • Un wiki dans le cas de l’intégration dans MediaWiki. Une école de musique ou des groupements de particuliers peuvent mutualiser leur travail musical de cette manière
  • De la formation dans le cas de l’intégration dans un logiciel de FOAD comme Claroline. Un conservatoire pourrait gérer ses parcours pédagogique et structurer les cours
  • Blog et publication internet dans le cas de l’intégration à Spip ou Wordpress ou Dotclear.

Répondre à cet article
Messages de forum :
Où en êtes-vous ?
jeudi 7 juin 2007
par Valentin Villenave

Bonjour,

je fais partie de l’équipe de la documentation de LilyPond et je partage pas mal des idées que vous évoquiez ici il y a quelques mois.

Il existe déjà plusieurs pistes intéressantes, en particulier l’application Java LilyPondTool de B. Fodor, déjà existante, qui est un nid de bonnes idées pour produire une interface pratique et simple d’utilisation, et la web application LSR (lilypond snippet repository), de S. Vigna, qui permet d’ores et déjà un parsing et compiling côté serveur.

J’ai implémenté l’API complète de LilyPond dans un éditeur JavaScript de code source (CodePress), ce qui permet de saisir du code facilement avec indentation et coloration syntaxique, mais mes connaissances en PHP sont insuffisantes pour continuer.

Apparemment, nous sommes les plus avancés en France dans cette voie, avec notamment les initiatives de lilyserv.net (apparemment hors-ligne actuellement) et le plugin lilyspip. Il existe aussi des extensions pour MediaWiki (WikiTex) et WordPress (FigureRender), mais je crois qu’elles sont incomplètes.

Je ne sais pas s’il serait envisageable de former une petite équipe de développement avec ces quelques personnes, mais si l’aventure vous tente, je serais très heureux de participer au projet. Si vous le souhaitez, ce débat peut se prolonger sur la liste de diffusion francophone officielle : lilypond-user-fr[at]gnu.org




Répondre à ce message

Articles de cette rubrique
  1. Intégration de Lilypond dans Claroline
    8 mars 2007