Rozšíření:Score
| This code base is maintained by the Reader Experience team. Code review only for UBNs or security fixes. |
Rozšíření Score vyžaduje nastavení externí služby Shellbox pro bezpečné zpracování hudebních partitur prostřednictvím LilyPondu. Před instalací tohoto rozšíření si prosím přečtěte informace v sekci #Bezpečnostní obavy a v bezpečnostním upozornění 2021. |
Stav rozšíření: stabilní |
|
|---|---|
| Implementace | Značka |
| Popis | Umožňuje vykreslování hudebních partitur pomocí LilyPond |
| Autoři | Alexander Klauer, Étienne Beaulé |
| Nejnovější verze | 0.3.0 (2019-03-23) |
| MediaWiki | 1.36+ |
| PHP | 5.3+ |
|
|
|
score |
|
| Licence | GNU General Public License 3.0 nebo novější |
| Stáhnout | README.md |
| Přeložte rozšíření Score, používá-li lokalizaci z translatewiki.net | |
| Problémy | Otevřené úkoly · Nahlásit chybu |
Rozšíření Score umožňuje vykreslování hudebních partitur jako obrázků SVG nebo PNG pomocí LilyPond a také je dokáže transformovat do zvukových a MIDI souborů.
Instalace
- Podrobné pokyny k instalaci rozšíření naleznete v
README.md.
- Stáhněte soubor/y a vložte je do adresáře pojmenovaného
Scoreve vaší složceextensions/.
Vývojáři a přispěvatelé kódu by si místo toho měli nainstalovat rozšíření from Git pomocí:cd extensions/ git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Score
- Na konec vašeho souboru LocalSettings.php přidejte následující kód:
wfLoadExtension( 'Score' ); $wgScoreTrim = true; $wgImageMagickConvertCommand = '/usr/bin/convert'; $wgShellboxUrl = '... address to Shellbox ...'; $wgShellboxSecretKey = '... your secret key ...';
- Vytvořte podadresář s názvem
lilypondve vašem adresáři $wgUploadDirectory (obvykle je to adresář s názvemimagesve vašem adresáři MediaWiki). Ujistěte se, že je adresář zapisovatelný pro váš webový server.
Dokončeno – Přejděte na stránku Special:Versionvaší wiki a zkontrolujte, zda bylo rozšíření úspěšně nainstalováno.
Předpoklady
Doporučují se následující balíčky:
- LilyPond
- Ghostscript
- ImageMagick
- FluidSynth
- Firejail
Toto rozšíření používá k vykreslování obrázků notového zápisu LilyPond, takže potřebujete funkční instalaci LilyPondu (položka 1 zobrazuje verzi LilyPondu). Pokud instalujete LilyPond z balíčku, nainstaluje se také Ghostscript, protože LilyPond je na Ghostscriptu závislý. Pro ořezávání obrázků by měl být nainstalován ImageMagick, jinak budou obsahovat nadměrné množství mezer.
Z bezpečnostních důvodů se důrazně doporučuje nainstalovat firejail, abyste dále omezili možnosti LilyPondu a Ghostscriptu, pokud je nedůvěryhodným uživatelům povoleno upravovat vaši wiki.
Rozšíření je také schopno vytvářet zvukové soubory z MIDI souborů generovaných LilyPondem. Pokud chcete tuto funkci využívat, musíte mít nainstalovaný Extension:TimedMediaHandler.
FluidSynth je preferovaná metoda pro převod MIDI souborů na audio soubory, nicméně TiMidity++ je také podporován.
Bezpečnostní obavy

Soubory LilyPond mohou na serveru spouštět libovolný kód. Pokud absolutně nedůvěřujete všem, kteří mají na vaší wiki oprávnění k úpravám, důrazně doporučujeme nastavit omezení přístupu k LilyPondu pomocí přepínače Shellbox. Podrobnosti o nastavení obsaženého serveru naleznete v Shellbox#Nastavení serveru a níže naleznete informace o konfiguraci MediaWiki pro jeho použití. Také se ujistěte, že používáte nejnovější verzi LilyPondu (2.22.0+) nebo distribuční balíček (např. z Debianu), který obsahuje bezpečnostní opravy.
Poznámky
Toto rozšíření spouští různé binární soubory v Shellbox, aby zajistilo určité zabezpečení. Pokud se zobrazí chyba "out of memory" (nedostatek paměti), budete možná muset zvýšit hodnotu $wgMaxShellMemory.
Nastavení
Zde jsou některé globální konfigurační parametry rozšíření.
$wgScoreLilyPond
Nastavte $wgScoreLilyPond na cestu k vašemu spustitelnému souboru LilyPond (obvykle /usr/bin/lilypond nebo /usr/local/bin/lilypond).
$wgScoreUseSvg
Nastavte hodnotu $wgScoreUseSvg na true pro vykreslení skóre ve formátu SVG v prohlížeči.
Vyžaduje LilyPond verze 2.24 nebo vyšší, zkompilovaný s podporou Cairo (standardně zahrnutý od verze 2.26).
$wgScoreTrim
Hodnota $wgScoreTrim je booleovská hodnota, která má výchozí hodnotu $wgUseImageMagick.
Pokud je true, výsledné obrázky PNG s hodnocením jsou oříznuty pomocí ImageMagick.
Pokud nechcete ořezávání nebo nechcete instalovat ImageMagick, nastavte proměnnou $wgScoreTrim na false.
$wgScoreAbc2Ly
Nastavte $wgScoreAbc2Ly na cestu k vašemu spustitelnému souboru převodníku ABC do LilyPond (obvykle /usr/bin/abc2ly nebo /usr/local/bin/abc2ly).
$wgScoreFluidsynth
Nastavte $wgScoreFluidsynth na cestu k vašemu spustitelnému souboru Fluidsynth (obvykle /usr/bin/fluidsynth nebo /usr/local/bin/fluidsynth).
$wgScoreSoundfont
Nastavte $wgScoreSoundfont na cestu k vašemu souboru soundfont (obvykle /usr/share/sounds/sf2/FluidR3_GM.sf2 nebo /usr/share/sounds/sf2/FluidR3_GS.sf2).
$wgScoreLame
Nastavte $wgScoreLame na cestu k vašemu spustitelnému souboru Lame (obvykle /usr/bin/lame nebo /usr/local/bin/lame). Povinné, pokud má být generovaný zvukový soubor MP3.
Použití
Po setup můžete do svého wikitextu vložit jednoduché poznámky LilyPond uvnitř tagu <score>...</score>. Například:
<score lang="lilypond">\relative c' { f d f a d f e d cis a cis e a g f e }</score>
zobrazí:
Atributy pro tagy skóre můžete také zadat v obecném tvaru.
<score attribute1="value1" attribute2="value2">…</score>.
Například:
<score sound="1" lang="lilypond">\relative c' { \set Staff.midiInstrument = "tenor sax" f d f a d f e d cis a cis e a g f e }</score>
zobrazí:
Attributes
K dispozici jsou následující atributy:
| Atribut | Povolené hodnoty | Účinek |
|---|---|---|
| lang | ABC, lilypond (default) | Nastavuje jazyk notového zápisu. Například pro zadání notového zápisu v ABC notace můžete použít: <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>
|
| line_width_inches | Kladné nenulové číslo, může mít desetinná místa | Nastavuje šířku čar v renderovaném zápisu nastavením direktivy line-width (šířka řádků) v nastavení papíru LilyPond. |
| midi | (odstraněno) Toto se používalo k řízení, zda je vykreslený obraz notového zápisu propojen s MIDI souborem. | |
| override_midi | Známý název souboru, tj. pokud je zadán override_midi="name", [[File:name]] nevrátí červený odkaz |
(zastaralé) Místo toho můžete za uzavírací tag </score> přidat wikiodkaz s koncovkou [[File:superior midi filename.mid]].Používá zadaný MIDI soubor místo jeho generování pomocí LilyPondu. Tento atribut použijte společně s atributem midi (viz dříve) nebo atributem sound (viz dále). Tento atribut je užitečný, pokud již máte MIDI soubor, jehož kvalita je lepší než ta, kterou by vygeneroval LilyPond. |
| override_audio | Známý název souboru, tj. pokud je zadán override_audio="name", [[File:Name]] nevrátí červený odkaz |
(zastaralé) Místo toho můžete za uzavírací tag </score> přidat wikiodkaz s koncovkou [[File:superior audio filename.oga]].Vloží médium určené názvem souboru do HTML za obrázky notového zápisu. Toto je alternativa k atributu zvuk (viz dále). Může to být například užitečné, pokud máte vhodný zvukový soubor s vyšší kvalitou než automaticky generovaný zvukový soubor. Samozřejmě v tomto případě můžete oba atributy stále vynechat a soubor na stránku přidat ručně, pokud chcete. |
| override_ogg | (zastaralé) Dvojitě zastaralý alias pro override_audio. | |
| raw | 0 (default), 1 | Pokud je nastaveno na 1, je kód skóre interpretován jako kompletní soubor LilyPond. Tuto možnost použijte, pokud chcete vytvořit složitější notové zápisy. Pokud jazyk skóre (atribut lang) není nastaven na LilyPond, tento atribut se ignoruje. Ve výchozím nastavení (při hodnotě raw=0) je poskytnutý kód zabalen do bloku \score{...}, spolu s výchozími bloky \layout{...} a \midi{...}, pokud již nejsou poskytnuty.
|
| sound | 0 (default), 1 | Pokud je nastaveno na 1, bude pro notový zápis vygenerován zvukový soubor, za předpokladu, že jste nainstalovali a nakonfigurovali Extension:TimedMediaHandler. Přehrávač zvuku bude vložen do HTML za obrázek (obrázky) notového zápisu. |
| vorbis | 0 (default), 1 | (zastaralé) Alias pro sound. |
Jazyk LilyPond
Texty písní lze přidat takto:
<score lang="lilypond" sound="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>
Pro pokročilé uživatele lze použít příkaz \set Staff.midiInstrument ke změně MIDI nástroje pro zvuk.
Tracking category
Stránky obsahující tagy <score> jsou v kategorii sledování s názvem zprávy score-use-category.
Navštivte Special:TrackingCategories a vyhledejte lokalizovaný název této kategorie na vaší wiki a zobrazte v ní uvedené stránky, například w:Category:Pages using the Score extension na anglické Wikipedii.
Poděkování
- Původní Extension:LilyPond napsal Johannes E. Schindelin.
- Toto rozšíření je založeno na recenzi kódu Extension:LilyPond od Tima Starlinga.
- Původní Extension:ABC napsal River Tarnell.
Související odkazy
Další příklady syntaxe LilyPondu najdete na Help:Score na anglické Wikipedii a Help:Sheet music na Wikisource.
| Toto rozšíření se používá na jednom nebo více projektech Wikimedia. Pravděpodobně to znamená, že rozšíření je stabilní a funguje dostatečně dobře, aby jej mohly používat weby s tak vysokou návštěvností. Vyhledejte tento název rozšíření v konfiguračních souborech CommonSettings.php a InitialiseSettings.php Wikimedie, abyste viděli, kde je nainstalováno. Úplný seznam rozšíření nainstalovaných na konkrétní wiki lze vidět na stránce wiki Special:Version. |
- Stable extensions/cs
- Tag extensions/cs
- ParserFirstCallInit extensions/cs
- ResourceLoaderRegisterModules extensions/cs
- SoftwareInfo extensions/cs
- WikibaseClientDataTypes extensions/cs
- WikibaseRepoDataTypes extensions/cs
- WikibaseRepoWbui2025InitResourceDependenciesHook extensions/cs
- GPL licensed extensions/cs
- Extensions in Wikimedia version control/cs
- All extensions/cs
- Extensions used on Wikimedia/cs
- Music editor extensions/cs
- Extensions with VisualEditor support/cs
