lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Café Lily 2021


From: Jacques Menu
Subject: Re: Café Lily 2021
Date: Tue, 11 May 2021 10:13:17 +0200

Bonjour tutti,

Je peux faire une présentation sur musicxml2ly et xml2ly, convertisseur que je développe en m’appuyant sur la bibliothèque libmusicxm2 (https://github.com/grame-cncm/libmusicxml/tree/lilypond), créée et maintenue par Dominique Fober de Grame à Lyon.
Le but de xml2ly est de faire au moins aussi bien que musicxml2ly tout en offrant autant d’options que nécessaire à l’utilisateur.

La présentation de MusicXML que j’ai faite à la conférence au Mozarteum de Salzburg en janvier de l’année passée (https://www.uni-mozarteum.at/de/kunst/notensatz-konferenz.php) est à https://github.com/jacques-menu/musicformats/blob/dev/doc/introductionToMusicxml/IntroductionToMusicXML.pdf. Ca a été un gros week-end très chouette, organisé de main de maîtres par Werner, Urs et Lukas-Fabien, bien connus sur la liste anglophone.

Après que ma contribution ait été initialement intégrée à libmusicxm2 dans sa branche ‘lilypond', Dom et moi avons décidé récemment de l’en sortir pour que j’aie plus de souplesse pour  créer des versions installables. Mon travail est maintenant dans musicformats, accessible à https://github.com/jacques-menu/musicformats/tree/dev. L’architecture de cette librairie est présentée à https://github.com/jacques-menu/musicformats/blob/dev/doc/musicformatsArchitecture/musicformatsArchitecture.pdf. Elle inclut le code de libmusicxml2 pour avoir le tout en un seul morceau, si j’ose dire.

Pour ce café Lily 2021, je propose une intro sur l’architecture de musicformats, puis la présentation des trois exemples des coups de langues multiiples des souffleurs, du contournement du bug  #34 de LilyPond et des notes et silences ‘solo’. Le tout devrait durer 20 mn environ.
Les fichiers MusicXMLsont attachés à ce message, et les images comparatives figurent ci-dessous. 

Il est très intéressant d’importer ces fichiers avec vos logiciels préférés pour voir ce qu’il produisent comme partitions.
Par exemple, Dom a créé le site https://guidoeditor.grame.fr, où l’on peut déposer les fichiers MusicXML et obtenir le code Guido et la partition. Guido est un autre langage de description de partitions, et le convertisseur xml2guido que Dom a écrit s’appuie aussi sur libmusicxml2. C’est xml2guido qui fait la conversion sur ce site, en s’appuyant sur le fait que libmusicxml2, et musicformats dès que possible, peut s’exécuter en _javascript_ sur le web.

Des versions installables de musicformats ne sont pas encore disponibles sur le noveau dépôt. Pour celles et ceux qui veulent construire (compiler) musicformats sur leur poste de travail, il faut :
 - un compilateur C++11 comme Visual Studio sur Windows, GCC sur Linux et celui qui vient avec Xcode sur Mac OS;
- l’outil cmake, disponible sur tous ces OS et à installer par exemple avec les gestionnaires de paquets sur Linux ou avec Mac Ports par exemple sur Mac OS.

Ensuite, c’est facile. Dans un terminal, exécuter ce qui suit (on peut aussi télécharger la librairie depuis de dépôt git, dans le faire par ‘git clone’) :

MUSIC_FORMATS_DEV=${HOME}/musicformats-git-dev       # par exemple

git clone -b dev https://github.com/jacques-menu/musicformats.git ${MUSIC_FORMATS_DEV}

cd ${MUSIC_FORMATS_DEV}/build

make

Les exécutables sont placés dans build/bin :

jacquesmenu@macmini: ~/musicformats-git-dev/build/bin > ll
total 662184
    0 drwxr-xr-x  25 jacquesmenu  staff       800 May 10 18:36:49 2021 ./
    0 drwxr-xr-x  11 jacquesmenu  staff       352 Apr 28 07:03:34 2021 ../
70080 -rwxr-xr-x   1 jacquesmenu  staff  35878432 May 10 18:36:37 2021 Mikrokosmos3Wandering*
 8504 -rwxr-xr-x   1 jacquesmenu  staff   4350480 May 10 18:36:38 2021 MusicAndHarmonies*
 8504 -rwxr-xr-x   1 jacquesmenu  staff   4350464 May 10 18:36:47 2021 RandomChords*
 8504 -rwxr-xr-x   1 jacquesmenu  staff   4350448 May 10 18:36:49 2021 RandomMusic*
 8696 -rwxr-xr-x   1 jacquesmenu  staff   4450928 May 10 18:36:43 2021 countnotes*
61472 -rwxr-xr-x   1 jacquesmenu  staff  31472544 May 10 18:36:45 2021 libMultipleInitsTest*
74552 -rwxr-xr-x   1 jacquesmenu  staff  38168976 May 10 18:36:49 2021 msdl*
  144 -rwxr-xr-x   1 jacquesmenu  staff     70368 May 10 18:36:40 2021 musicformatsversion*
12616 -rwxr-xr-x   1 jacquesmenu  staff   6455376 May 10 18:36:46 2021 partsummary*
 8920 -rwxr-xr-x   1 jacquesmenu  staff   4564864 May 10 18:36:47 2021 readunrolled*
78344 -rwxr-xr-x   1 jacquesmenu  staff  40109856 May 10 18:36:38 2021 xml2Any*
56880 -rwxr-xr-x   1 jacquesmenu  staff  29118880 May 10 18:36:41 2021 xml2brl*
61680 -rwxr-xr-x   1 jacquesmenu  staff  31578768 May 10 18:36:42 2021 xml2gmn*
17368 -rwxr-xr-x   1 jacquesmenu  staff   8891744 May 10 18:36:44 2021 xml2guido*
61464 -rwxr-xr-x   1 jacquesmenu  staff  31468960 May 10 18:36:40 2021 xml2ly*
12512 -rwxr-xr-x   1 jacquesmenu  staff   6403968 May 10 18:36:43 2021 xml2midi*
54360 -rwxr-xr-x   1 jacquesmenu  staff  27829776 May 10 18:36:46 2021 xml2xml*
 9176 -rwxr-xr-x   1 jacquesmenu  staff   4695472 May 10 18:36:43 2021 xmlclone*
 9320 -rwxr-xr-x   1 jacquesmenu  staff   4771024 May 10 18:36:47 2021 xmlfactory*
 8912 -rwxr-xr-x   1 jacquesmenu  staff   4559072 May 10 18:36:45 2021 xmliter*
 8752 -rwxr-xr-x   1 jacquesmenu  staff   4478336 May 10 18:36:40 2021 xmlread*
12104 -rwxr-xr-x   1 jacquesmenu  staff   6193216 May 10 18:36:40 2021 xmltranspose*
 9320 -rwxr-xr-x   1 jacquesmenu  staff   4770128 May 10 18:36:49 2021 xmlversion*

Jean à mentionné MSDL, un autre message suivra bientôt pour dire de quoi il s'agit.

Bonne journée!

JM


Coups de langue multiples des souffleurs :

TIFF image


TIFF image



Contournement du bug #34 de LilyPond :

TIFF image

TIFF image



Silences solo dans la voix 1 à la mesure 2 de la portée supérieure :

TIFF image

TIFF image



Attachment: LilyPondIssue34.xml
Description: XML document

Attachment: MultiTongue.xml
Description: XML document

Attachment: SoloRests.xml
Description: XML document



reply via email to

[Prev in Thread] Current Thread [Next in Thread]