Extension:Score/fr
L’extension Score requière la configuration d’un service externe, Shellbox , pour traiter de manière sécurisée les partitions musicales avec LilyPond. Veuillez passer en revue les informations données dans #Problèmes de sécurité et dans l’Avis de sécurité 2021 avant d’installer cette extension. |
Score État de la version : stable |
|
---|---|
File:Lilytest1.png | |
Implémentation | Balise |
Description | Permet le rendu de partitions musicales à l’aide de LilyPond |
Auteur(s) | Alexander Klauer, Étienne Beaulé |
Dernière version | 0.3.0 (2019-03-23) |
MediaWiki | 1.36+ |
PHP | 5.3+ |
Licence | Aucune licence spécifiée |
Téléchargement | README.md |
score |
|
Téléchargements trimestriels | Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin'). |
Utilisé par les wikis publics | Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin'). |
Traduire l’extension Score sur translatewiki.net si elle y est disponible | |
Problèmes | Tâches ouvertes · Signaler un bogue |
L’extension Score permet le rendu de partitions musicales en tant qu’images PNG en utilisant LilyPond et peut aussi les transformer en fichier audio ou MIDI.
Remerciements
- La version originale de Extension:LilyPond a été écrite par Johannes E. Schindelin.
- Cette extension est basée sur une revue du code de l’Extension:LilyPond par Tim Starling.
- La version originale de Extension:ABC a été écrite par River Tarnell.
Utilisation
Après l’installation, vous pouvez intégrer du code LilyPond simple dans votre wikicode en l’encadrant avec des balises <score>...</score>
. Par exemple :
<score>\relative c' { f d f a d f e d cis a cis e a g f e }</score>
donne :
<score lang="lilypond">\relative c' { f d f a d f e d cis a cis e a g f e }</score>
Vous pouvez aussi préciser les attributs dans les balises score, sous la forme générale
<score attribute1="value1" attribute2="value2">…</score>.
Par exemple :
<score sound="1">\relative c' { f d f a d f e d cis a cis e a g f e }</score>
donne :
<score sound="1" lang="lilypond" vorbis="1">\relative c' { f d f a d f e d cis a cis e a g f e }</score>
Les attributs suivants sont disponibles :
Attribut | Valeurs autorisées | Effet |
---|---|---|
lang | ABC, lilypond (default) | Définit le langage de la partition. Par exemple, pour fournir une partition en notation ABC, vous pouvez utiliser : <score lang="ABC">
X:1
M:C
L:1/4
K:C
C, D, E, F,|G, A, B, C|D E F G|A B c d|
e f g a|b c' d' e'|f' g' a' b'|]
</score>
|
midi | <translate> (removed)</translate> Ceci sert à contrôler si l’image de la partition générée est associée à un fichier MIDI. | |
override_midi | Nom de fichier connu, c’est-à-dire que si override_midi="name" est fourni, [[File:name]] n’affiche pas de lien en rouge. |
<translate> (deprecated)</translate> Vous pouvez à la place ajouter un lien wiki [[File:superior midi filename.mid]] après la balise fermante </score> .Utilise le fichier MIDI spécifié au lieu d’en générer un avec LilyPond. Utilisez cet attribut avec l’attribut midi (voir ci-avant) ou l’attribut sound (voir ci-après). Cet attribut est utile si vous avez déjà un fichier MIDI dont la qualité est supérieure à ce que LilyPond peut générer. |
override_audio | Nom de fichier connu, c’est-à-dire que si override_audio="name" est fourni, [[File:Name]] n’affiche pas de lien en rouge. |
<translate> (deprecated)</translate> Vous pouvez à la place ajouter un lien wiki [[File:superior audio filename.oga]] après la balise fermante </score> .Inclure le média spécifié par le nom de fichier dans le HTML après la (ou les) image(s) de la partition. Ceci est une alternative de l’attribut sound (voir ci-après). Cela peut être utile par exemple si vous avez un fichier audio convenable de qualité supérieure, comparé au fichier audio généré automatiquement. Bien sûr si vous préférez, vous pouvez encore omettre les deux attributs dans ce cas, et ajouter le fichier manuellement à la page. |
override_ogg | <translate> (deprecated)</translate> Alias doublement obsolète pour override_audio. | |
raw | 0 (default), 1 | S’il vaut 1 , le format de la partition est interprété comme un fichier LilyPond complet. Utilisez cette option si vous voulez créer des partitions plus complexes. Si le langage de la partition (attribut lang) n’est pas défini comme lilypond , cet attribut est ignoré. Par défaut (quand raw=0), le code fourni est contenu dans un bloc \score{...} , en même temps que les blocs par défaut \layout{...} et \midi{...} , s’il n’est pas déjà fourni.
|
sound | 0 (default), 1 | S’il est défini à 1 , un fichier audio sera généré pour la partition si vous avez installé et configuré Extension:TimedMediaHandler . Un lecteur audio sera inséré dans le HTML après la (ou les) image(s) de la partition.
|
vorbis | 0 (default), 1 | <translate> (deprecated)</translate> Alias pour sound. |
Le langage LilyPond
Les paroles peuvent être ajoutées de cette manière :
<score>
\relative c'' { \time 4/4 \key c \major
c4 g8 g a4 g r b^> c^> r \bar "|." }
\addlyrics { Shave and a hair -- cut: two bits. }
</score>
<score lang="lilypond" vorbis="1">\relative c { \time 4/4 \key c \major
c4 g8 g a4 g r b^> c^> r \bar "|." } \addlyrics { Shave and a hair -- cut: two bits. }</score>
Pour les utilisateurs avancés, la commande \set Staff.midiInstrument
peut être utilisée pour faire jouer un autre instrument MIDI.
Pré-requis
Les paquets suivants sont recommandés :
- LilyPond
- Ghostscript
- ImageMagick
- FluidSynth
- Firejail
Cette extension utilise Lilypond pour effectuer le rendu des images des partitions musicales, donc il faut que Lilypond soit installé et opérationnel (Special:Version affiche la version de LilyPond). Si vous installez LilyPond depuis un paquet logiciel, Ghostscript sera également installé puisque LilyPond dépend de Ghostscript. ImageMagic devrait être installé pour rogner les images, sinon elles contiendront des marges blanches excessives.
Pour des raisons de sécurité, il est vivement recommandé d’installer firejail pour restreindre davantage ce que peuvent faire LilyPond et Ghostscript si des utilisateurs non approuvés sont autorisés à modifier votre wiki.
L’extension est également capable de créer des fichiers audio à partir des fichiers MIDI générés par Lilypond. Si vos souhaitez utiliser cette fonctionnalité, vous devez installer Extension:TimedMediaHandler .
FluidSynth est la méthode préférée pour convertir des fichiers MIDI en fichiers audio, cependant TiMidity++ est également pris en charge.
Problèmes de sécurité
Score utilise LilyPond en mode sûr, cependant il existe des vulnérabilités connues non résolues d’échappement au mode sûr, pouvant conduire à une exécution arbitraire.
Si vous ne pouvez faire confiance à quiconque qui dispose de privilèges de modification sur votre wiki, il est vivement recommandé de configurer le confinement de LilyPond en utilisant Shellbox . Voir Shellbox#Server setup pour les détails sur la façon de configurer le serveur confiné et ci-dessous pour configurer MediaWiki afin qu’il l’utilise. Également, assurez-vous que vous utilisez une version récente de LilyPond (2.22.0+) ou un paquet de distribution (par exemple de Debian) qui fournit des correctifs de sécurité. Garder activé le mode sûr, même avec le confinement ajouté comme une couche supplémentaire de défense. Certaines fonctionnalités ne marcheront pas avec le mode sûr, le moyen de le corriger est de modifier LilyPond pour autoriser ces fonctionnalités en mode sûr.
Installation
- See the extension's
README.md
for detailed installation instructions.
- <translate> [[<tvar name=2>Special:ExtensionDistributor/Score/fr</tvar>|Download]] and move the extracted <tvar name=name>
Score/fr
</tvar> folder to your <tvar name=ext>extensions/
</tvar> directory.</translate>
<translate> Developers and code contributors should install the extension [[<tvar name=git>Special:MyLanguage/Download from Git</tvar>|from Git]] instead, using:</translate>cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Score%2Ffr - <translate> Add the following code at the bottom of your <tvar name=1>LocalSettings.php </tvar> file:</translate>
wfLoadExtension( 'Score/fr' ); $wgScoreTrim = true; $wgImageMagickConvertCommand = '/usr/bin/convert'; $wgShellboxUrl = '... address to Shellbox ...'; $wgShellboxSecretKey = '... your secret key ...';
- Créez un sous-répertoire
lilypond
dans le répertoire des téléversements indiqué par votre paramètre $wgUploadDirectory (habituellementimages
dans votre répertoire MediaWiki). Assurez-vous que le répertoire est accessible en écriture par votre serveur web. - File:OOjs UI icon check-constructive.svg <translate> Done</translate> – <translate> Navigate to <tvar name=special>Special:Version</tvar> on your wiki to verify that the extension is successfully installed.</translate>
Configuration
Voici quelques un des paramètres globaux de configuration de l’extension :
$wgScoreLilyPond
- Initialisez la variable
$wgScoreLilyPond
avec le chemin de votre exécutable LilyPond (typiquement/usr/bin/lilypond
ou/usr/local/bin/lilypond
).
$wgScoreTrim
- La variable
$wgScoreTrim
est un booléen qui a par défaut la valeur de$wgUseImageMagick
. S’il est àtrue
(vrai), les images PNG de la partition résultante sont rognées avec ImageMagick. Si vous ne désirez pas ce rognage ou ne désirez pas installer ImageMagick, réglez$wgScoreTrim
àfalse
(faux).
$wgScoreAbc2Ly
- Initialisez
$wgScoreAbc2Ly
avec le chemin de l’exécutable du convertisseur de notation ABC en LilyPond (typiquement/usr/bin/abc2ly
ou/usr/local/bin/abc2ly
).
$wgScoreFluidsynth
- Initialisez
$wgScoreFluidsynth
avec le chemin de votre exécutable Fluidsynth (typiquement/usr/bin/fluidsynth
ou/usr/local/bin/fluidsynth
).
$wgScoreSoundfont
- Initialisez
$wgScoreSoundfont
avec le chemin de votre fichier SoundFont (typiquement/usr/share/sounds/sf2/FluidR3_GM.sf2
ou/usr/share/sounds/sf2/FluidR3_GS.sf2
).
$wgScoreLame
- Initialisez
$wgScoreLame
avec le chemin de votre exécutable LAME (typiquement/usr/bin/lame
ou/usr/local/bin/lame
). Nécessaire si le fichier audio généré doit être au format MP3.
Remarques
Cette extension exécute divers binaires en les confinant avec Shellbox, qui fournit plus de sécurité. Si vous avez des erreurs de « mémoire insuffisante », il faudra peut-être augmenter la valeur de $wgMaxShellMemory .
Rechercher des partitions
Les pages incluant des partitions ont la propriété de page « score » activée. Vous pouvez rechercher les pages incluant une partition en utilisant la Special:PagesWithProp (Exemple de recherche pour l’édition anglophone de Wikipédia).
Voir également
- Aide:Partitions sur Wikipédia et Wikisource:Partitions sur Wikisource donnent davantage d’exemples de la syntaxe LilyPond.
- Vexflow Générateur open source de rendu en SVG / Canvas pour la musique
- notation LilyPond
- notation ABC
- dépot Github pour vexflow
File:Wikimedia-logo black.svg | <translate> This {{<tvar name=1>#ifeq:Extension|Extension</tvar>|extension|skin}} is being used on one or more [[<tvar name=2>m:Special:MyLanguage/Wikimedia projects</tvar>|Wikimedia projects]].</translate> <translate> This probably means that the {{<tvar name=1>#ifeq:Extension|Extension</tvar>|extension|skin}} is stable and works well enough to be used by such high-traffic websites.</translate> <translate> Look for this {{<tvar name=1>#ifeq:Extension|Extension</tvar>|extension's|skin's}} name in Wikimedia's <tvar name=2>CommonSettings.php</tvar> and <tvar name=3>InitialiseSettings.php</tvar> configuration files to see where it's installed.</translate> <translate> A full list of the {{<tvar name=1>#ifeq:Extension|Extension</tvar>|extensions|skins}} installed on a particular wiki can be seen on the wiki's <tvar name=ver>Special:Version</tvar> page.</translate> |
Lilytest1.png |
- Pages with script errors
- Pages with broken file links
- Stable extensions/fr
- Tag extensions/fr
- Extensions with manual MediaWiki version
- Extensions with no license specified/fr
- Extensions in Wikimedia version control/fr
- All extensions/fr
- Extensions not in ExtensionJson
- Extensions used on Wikimedia/fr
- Music editor extensions/fr
- Extensions with VisualEditor support/fr