4.3.2 Utilisation de musicxml2ly
MusicXML est un dialecte XML pour représenter la notation musicale. Il constitue le standard pour échanger des partitions entre les différents programmes de notation. Certains de ses éléments sont néanmoins de bas niveau et orientés graphisme, ce qui les rend difficiles, voire même impossibles, à convertir automatiquement au format LilyPond.
Le script Python musicxml2ly extrait, à partir d’un fichier
MusicXML, les notes, articulations, structure de la partition,
paroles, etc. et les écrit dans un fichier .ly. Il se lance ainsi
en ligne de commande :
musicxml2ly [option]… fichier
Notez bien que, par « ligne de commande », nous parlons de la ligne de commande du système. Pour plus de précisions, reportez-vous à Conversion à partir d’autres formats.
Par défaut, musicxml2ly supprime l’extension de fichier
et lui ajoute .ly pour construire le nom du fichier de sortie. Si
fichier est remplacé par « - », musicxml2ly lira
directement à partir de la ligne de commande et écrira sur la sortie
standard.
Si le fichier fichier n’est pas trouvé, seront alors tentés en entrée fichier.xml, fichier.musicxml et fichier.mxl.
musicxml2ly accepte les options suivantes :
- -a, --absolute
- Rendu en hauteurs absolues. 
- --book
- Placer la partition principale dans un bloc - \book { ... }. Ceci peut s’avérer utile en cas de traitement postérieur avec- lilypond-book.
- --cp, --credit-page=n
- Spécifier la page à laquelle LilyPond doit récupérer la donnée - <credit>pour alimenter le bloc- \header. Passer une valeur 0 revient à ne pas traiter les éléments de- <credit>. La valeur par défaut est 1, autrement dit prendre les valeurs de la première page.
- --ds, --dynamics-scale=facteur
- Redimensionner les éléments - <dynamics>selon un facteur non négatif ; une valeur de 0 indique l’utilisation de la taille standard de LilyPond en matière de nuances. Cette option peut s’avérer nécessaire pour les fichiers MusicXML utilisant une fonte musicale telle que « Maestro » dans laquelle les symboles de nuance comme « f » ou « p » diffèrent grandement des glypes « Emmentaler » de LilyPond.
- --fb --fretboards
- Convertir les événements - <frame>dans une voix- FretBoardséparée plutôt qu’en markups.
- -h, --help
- Afficher un résumé de toutes les options utilisables. 
- -l, --language=lang
- Utiliser une autre définition linguistique (lang), comme par exemple deutsch pour des noms de notes en allemand. Sont autorisées les valeurs reconnues en tant que langue de saisie par LilyPond – voir Nom des notes dans d’autres langues. 
- --loglevel=log-level
- Détermine le degré de verbosité à log-level. Les valeurs autorisées sont - NONE,- ERROR,- WARN,- PROGRESS(par défaut) et- DEBUG.
- -m, --midi
- Ajouter un bloc MIDI au fichier LilyPond résultant. 
- nb, --no-beaming
- Ne pas convertir les informations de ligature ; laisser LilyPond gérer les ligatures automatiquement. 
- --nd, --no-articulation-directions
- Ne pas convertir la direction ( - ^,- _ou- -) des articulations, nuances, etc.
- --npb, --no-page-breaks
- Ignorer les sauts de page. 
- --npl, --no-page-layout
- Ne pas convertir l’exacte mise en page et les sauts (raccourci des options - --nsb- --npb- --npm).
- --npm, --no-page-margins
- Ignorer les marges de la page. 
- --nrp, --no-rest-positions
- Ne pas convertir les silences à position forcée. 
- --nsb, --no-system-breaks
- Ignorer les sauts de ligne. 
- --nsd, --no-stem-directions
- Ignorer l’orientation des hampes telle qu’indiquée dans le fichier MusicXML, et laisser LilyPond s’en occuper. 
- --nt, --no-tagline
- Ne pas ajouter la mention spéciale de LilyPond (en pied de la dernière page). 
- -o, --output=fichier
- Générer le résultat dans le fichier fichier. S’il est déterminé à « - », le résultat sera émis sur la sortie standard. 
- --oe, --ottavas-end-early=t[rue]/f[alse]
- Considérer la clôture des éléments - <octave-shift>avant le- <note>associé (comme procède le logiciel « Finale ») si la valeur est ‘t’ (ou- true). La valeur par défaut est ‘f’ (ou- false).
- -r, --relative
- Rendu en hauteurs relatives (mode par défaut). 
- --sm, --shift-duration=valeur
- Modifier les durées et la métrique en fonction de valeur. Par exemple, la valeur -1 double toutes les durées, et la valeur de 1 les réduit de moitié. 
- --sn --string-numbers=t[rue]/f[alse]
- Contrôler la génération des numéros de corde. Elle sera désactivée si l’option est valorisée à ‘f’ (ou - false) ; la valeur par défaut est ‘t’ (ou- true).
- --tc, --tab-clef=tab-clef-name
- Basculer entre deux types de clef de tablature. Les valeurs autorisées sont - tab(par défaut) et- moderntab.
- --transpose=to-pitch
- Déterminer l’intervale entre le « do » et to-pitch pour transposer. 
- -v, --verbose
- Mode verbeux. 
- --version
- Afficher le numéro de version et quitter. 
- -z, --compressed
- Le fichier d’entrée est un fichier MusicXML compressé. Cette option est activée par défaut dès lors que le fichier d’entrée a une extension .mxl.