LilyPond → MusicXML · PDF · MIDI
Le convertisseur LilyPond
Dépose la source LilyPond d'une pièce pour piano. Noctave vérifie d'abord qu'elle est compatible, la met à jour avec convert-ly, la fait graver par LilyPond 2.25, puis la convertit en MusicXML avec le convertisseur de sa bibliothèque libre. Tu récupères le MusicXML à importer dans Noctave, le PDF et le MIDI.
Les limites · Ce qui est accepté · Ajouter ses morceaux dans Noctave
Convertir un fichier
Le convertisseur ouvre bientôt.
Il est prêt, mais pas encore en service sur le serveur. Reviens dans quelques jours : cette page s'ouvrira d'elle-même.
« Importer dans Noctave » télécharge le MusicXML compressé (.mxl) : sur la tablette ou le téléphone où Noctave est installé, ouvre-le depuis la notification de téléchargement : il s'ouvre dans l'app. Sinon : Bibliothèque, puis Importer.
Ce que le MusicXML ne reprend pas de la source :
Les limites, simplement
Piano seul
Une ou deux portées, ou un
PianoStaff(unGrandStaffaussi). Pas de paroles, d'accords chiffrés, de batterie, de tablature ni de chœur.Un seul fichier, 512 Kio au plus
Un morceau par fichier, avec un seul
\scoreimprimé (une partition à part pour le MIDI est acceptée et ignorée : Noctave écrit le MIDI lui-même). Tes\includedoivent être réunis dans le fichier ; les fichiers de langue (english.ly,italiano.ly…) sont acceptés.60 secondes de LilyPond
Au-delà, la conversion est arrêtée. Une à une, dans l'ordre d'arrivée ; dix fichiers par heure et par adresse.
Gardés une heure, jamais réutilisés
Ta source est effacée dès la conversion finie, le MusicXML, le PDF et le MIDI au bout d'une heure (ou tout de suite, avec « Effacer maintenant »). Ni compte, ni adresse e-mail, ni réutilisation : la politique de confidentialité le détaille.
Ce qui est accepté : une liste blanche
LilyPond exécute le Scheme qu'on lui donne : un fichier pourrait lire ou écrire sur le serveur. Avant toute exécution, une analyse lit donc chaque élément du fichier, et refuse au moindre doute, en disant où et pourquoi (« Non compatible », ligne et colonne).
Accepté
- Les commandes de musique, d'articulation, de nuance, de mise en page et de texte (
\markup) de LilyPond que le convertisseur connaît, et les variables définies dans le fichier (upper = \relative c'' { … }). - En Scheme, des valeurs écrites telles quelles :
#'symbole,#'(1 . 2),#"texte", nombres,##t,##f,#UP,#DOWN, couleurs… - Quelques fonctions sans risque, avec des valeurs :
set-global-staff-size,set-paper-size,ly:make-moment,cons,list,make-dynamic-script,ly:set-option 'point-and-click. - Les fichiers plus anciens que LilyPond 2.24 :
convert-lyles met à jour, puis la copie mise à jour est analysée à nouveau, strictement.
Refusé
- Toute fonction Scheme inconnue, et
define,lambda,let,set!,define-music-function… $,#{ … #}, les vecteurs, caractères, mots-clés et quasi-citations de Scheme.\included'un fichier (sauf les langues),\book,\bookpart,\bookOutputName,output-filename.\postscript,\epsfile,\image,\verbatim-file,\applyMusic,\applyOutput,\on-the-fly.\repeat segno(D.S., coda), pas encore lu par Noctave ; plus de 100 répétitions ; les caractères de contrôle ou invisibles.
Sur les 357 pièces pour piano du Mutopia Project que la bibliothèque libre a converties sans écart, 308 passent cette analyse telles quelles ; les autres définissent des fonctions Scheme ou ont des paroles.
Ensuite, un bac à sable
convert-ly, LilyPond et le convertisseur tournent sous un utilisateur système à part, dans un bac à sable bubblewrap : aucun réseau, système en lecture seule, aucun accès au code ni aux données du site, un dossier de travail en mémoire, 60 secondes, mémoire, processus et taille des fichiers limités. Si LilyPond plante, le reste du serveur ne le voit pas.
LilyPond (GPL) est utilisé non modifié, comme programme séparé. Le MusicXML est écrit par le convertisseur de Noctave, celui qui a produit les 377 pièces de la bibliothèque libre ; il ne reprend pas tout ce que LilyPond sait graver (la page l'indique pour chaque fichier).