Extensión:Score
Score Release status: estable |
|||
---|---|---|---|
![]() |
|||
Implementación | Tag | ||
Descripción | Allows rendering of musical scores with LilyPond | ||
Autor(es) | Alexander Klauer (GrafZahltalk) | ||
Última versión | 0.3 (2014-03-28) | ||
MediaWiki | 1.25+ | ||
PHP | 5.3+ | ||
Cambios de la base de datos | No | ||
Licencia | GNU General Public License 3.0 or later | ||
Descarga | README |
||
|
|||
|
|||
|
|||
Translate the Score extension if it is available at translatewiki.net | |||
Verificar uso y versión de la matriz. | |||
Asuntos | Tareas abiertas · Reportar un bug |
The Score extension allows the rendering of musical scores as PNG images using LilyPond and can also transform them into audio and MIDI files.
README
file.Contents
Agradecimientos
- The original Extension:LilyPond was written by Johannes E. Schindelin.
- This extension is based on a code review of Extension:LilyPond by Tim Starling.
- The original Extension:ABC was written by River Tarnell.
Usage
After setup, you can embed simple LilyPond notation into your wikitext using the score
tags. For example:
<score>\relative c' { f d f a d f e d cis a cis e a g f e }</score>
yields:

You may also specify attributes to the score tags in the general form
<score attribute1="value1" attribute2="value2">…</score>.
For example:
<score sound="1">\relative c' { f d f a d f e d cis a cis e a g f e }</score>
yields:

The following attributes are available:
Attribute | Allowed values | Effect |
---|---|---|
lang | ABC, lilypond (default) | Sets the score language. For example, to provide a score in ABC notation, you might use
<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 | 0 (default), 1 | If set to 1, the rendered image(s) will be embedded into a hyperlink to an appropriate MIDI file. |
override_midi | Known file name, that is, if override_midi="name" is given, [[File:name]] does not yield a red link |
Uses the specified MIDI file instead of generating one with LilyPond. Use this attribute together with the midi attribute (see before) or the sound attribute (see later). This attribute is useful if you already have a MIDI file whose quality is superior to what would be generated by LilyPond. |
override_audio | Known file name, that is, if override_audio="name" is given, [[File:Name]] does not yield a red link |
Embeds the media specified by the file name in the HTML after the score image(s). This is an alternative to the sound attribute (see further). It can, for example, be useful if you have a suitable audio file of superior quality compared with the auto-generated audio file. Of course, you can still omit both attributes in this case and add the file manually to the page, if you prefer. |
raw | 0 (default), 1 | If set to 1, the score code is interpreted as a complete LilyPond file. Use this option if you want to create more complex scores. If the score language (lang attribute) is not set to lilypond, this attribute is ignored. By default (when raw=0), provided code is wrapped in a \score{...} block, along with default \layout{...} and \midi{...} blocks, if not already provided.
|
sound | 0 (default), 1 | If set to 1, an audio file will be generated for the score, provided you installed and configured Extension:TimedMediaHandler. An audio player will be embedded in the HTML after the score image(s). |
vorbis | 0 (default), 1 | Deprecated alias for sound. |
Lyrics may be added like this:
<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>

Prerequisites
This extension uses LilyPond to render score images, so you need a working LilyPond installation. If you want the extension to trim the score files for you, you will also need ImageMagick.
The extension is also capable of creating audio files from the MIDI files generated by LilyPond. If you want to make use of this functionality, you need to have Extension:TimedMediaHandler installed.
Version 0.1 of this extension was tested with MediaWiki 1.18.0 and LilyPond 2.12.3. The current SVN snapshot might require a newer version of MediaWiki and/or LilyPond.
Download instructions
Use the extension distributor. You can also download a tarball from GitHub: [1]; or as a zipped file: [2]. The score master branch on GitHub works with a stable version of MediaWiki, but may not yet have the newest features in it.
Installation
- Descarga y extrae los archivos en el directorio «
Score
» dentro del directorioextensions/
existente.
- Añade el siguiente código a tu LocalSettings.php (preferiblemente al final):
wfLoadExtension( 'Score' ); $wgScoreLilyPond = '/path/to/your/lilypond/executable'; /* required */ $wgScoreAbc2Ly = '/path/to/your/abc2ly/executable'; /* if you want ABC to LilyPond conversion */ $wgScoreFluidsynth = '/path/to/your/fluidsynth/executable'; /* if you want MIDI to audio conversion */ $wgScoreSoundfont = '/path/to/your/soundfont/file'; /* required for Fluidsynth */ $wgScoreTimidity = '/path/to/your/timidity/executable'; /* fallback when Fluidsynth is not installed */ $wgScoreLame = '/path/to/your/lame/executable'; /* required to convert audio file for MP3 */ $wgScoreTrim = true; /* Set to false if you don't want score trimming */
- Create a subdirectory named
lilypond
in your $wgUploadDirectory (usually the directory namedimages
in in your MediaWiki directory). Make sure the directory is writable by your Web server. Listo – Navega a Special:Version en tu wiki para verificar que la apariencia se haya instalado correctamente.
Para quienes usan MediaWiki 1.26 o versiones anteriores:
Estas instrucciones describen la nueva forma de instalar extensiones usando wfLoadExtension()
. Si necesitas instalar esta extensión en versiones anteriores (MediaWiki 1.26 y anteriores), debes usar lo siguiente en lugar de wfLoadExtension( 'Score' );
:
require_once "$IP/extensions/Score/Score.php";
Configuration
Currently, the extension has the following global configuration parameters.
$wgScoreLilyPond
Set $wgScoreLilyPond
to the path to your LilyPond executable (typically /usr/bin/lilypond
or /usr/local/bin/lilypond
).
$wgScoreTrim
The $wgScoreTrim
is a boolean which defaults to the value of $wgUseImageMagick
. If true
, the resulting score PNG images are trimmed with ImageMagick. If you don't want trimming, or don't want to install ImageMagick, set $wgScoreTrim
to false
.
$wgScoreAbc2Ly
Set $wgScoreAbc2Ly
to the path of your ABC to LilyPond converter executable (typically /usr/bin/abc2ly
or /usr/local/bin/abc2ly
).
$wgScoreFluidsynth
Set $wgScoreFluidsynth
to the path of your Fluidsynth executable (typically /usr/bin/fluidsynth
or /usr/local/bin/fluidsynth
).
$wgScoreSoundfont
Set $wgScoreSoundfont
to the path of your soundfont file (typically /usr/share/sounds/sf2/FluidR3_GM.sf2
or /usr/share/sounds/sf2/FluidR3_GS.sf2
).
$wgScoreTimidity
Set $wgScoreTimidity
to the path of your TiMidity++ executable (typically /usr/bin/timidity
or /usr/local/bin/timidity
).
If $wgScoreFluidsynth
does not exist, TiMidity++ will be used as fallback instead.
$wgScoreLame
Set $wgScoreLame
to the path of your Lame executable (typically /usr/bin/lame
or /usr/local/bin/lame
). Required if the generated audio file should be a MP3.
Remarks
This extension runs various binaries on a shell. You may have to increase $wgMaxShellMemory if you get out of memory errors.
Finding scores
Pages with scores on them will have the "score" page property set. Using Special:PagesWithProp, you can find pages that have scores. (Example query for the English Wikipedia.)
See also
- Code review by Tim Starling; this extension is based on it
- https://en.wikisource.org/wiki/Help:Sheet_music
- VexFlow Open source SVG/Canvas music renderer
External links
![]() | Esta extensión está siendo usada en uno o más proyectos de Wikimedia. Esto significa probablemente que la extensión es estable y funciona lo suficientemente bien como para ser usada en sitios con gran cantidad de visitas. Puedes buscar el nombre de esta extensión en los archivos CommonSettings.php e InitialiseSettings.php de Wikimedia para ver dónde se instala. Encontrarás la lista completa de extensiones instaladas en un wiki en particular en la página Special:Version del wiki. |