Extension:Score

The Score extension allows the rendering of musical scores as PNG images using LilyPond and can also transform them into audio and MIDI files.

Acknowledgements

 * The original  was written by Johannes E. Schindelin.


 * This extension is based on a 1>Special:Code/MediaWiki/98414#c27299|code review of  by Tim Starling.


 * The original  was written by River Tarnell.

Usage
After setup, you can embed simple [http://lilypond.org/doc/Documentation/learning-big-page#common-notation LilyPond notation] into your wikitext inside a  tag. For example:

yields:

You may also specify attributes to the score tags in the general form

.

For example:

yields:

The following attributes are available:

The LilyPond language
Lyrics may be added like this:

For advanced users, the [http://lilypond.org/doc/Documentation/notation/using-midi-instruments  </>] command can be used to change the MIDI instrument for the sound.

Prerequisites
This extension uses LilyPond to render score images, so you need a working LilyPond installation (<tvar|1>Special:Version</> displays the LilyPond version).

If you want the extension to trim score images for you, you will also need 1>Special:MyLanguage/Manual:Image_administration#Image_thumbnailing</>|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 <tvar|1></> installed.

Version 0.1 of this extension was tested with MediaWiki 1.18.0 and LilyPond 2.12.3. The current git snapshot might require a newer version of MediaWiki and/or LilyPond.

Download instructions
Use the extensiondistributor>Special:ExtensionDistributor/Score</>|extension distributor. You can also download a tarball from GitHub: <tvar|1></>; or as a zipped file: <tvar|2></>. The score master branch on GitHub works with a stable version of MediaWiki, but may not yet have the newest features in it.

Configuration
Currently, the extension has the following global configuration parameters.

$wgScoreLilyPond
Set  to the path to your LilyPond executable (typically   or  ).

$wgScoreTrim
The  is a boolean which defaults to the value of. If, the resulting score PNG images are trimmed with ImageMagick. If you don't want trimming, or don't want to install ImageMagick, set  to.

$wgScoreAbc2Ly
Set  to the path of your ABC to LilyPond converter executable (typically   or  ).

$wgScoreFluidsynth
Set  to the path of your Fluidsynth executable (typically   or  ).

$wgScoreSoundfont
Set  to the path of your soundfont file (typically   or  ).

$wgScoreTimidity
Set  to the path of your TiMidity++ executable (typically   or  ).

If  does not exist, TiMidity++ will be used as fallback instead.

$wgScoreLame
Set  to the path of your Lame executable (typically   or  ). Required if the generated audio file should be a MP3.

Remarks
This extension runs various binaries on a shell. You may have to increase <tvar|1></> if you get out of memory errors.

Finding scores
Pages with scores on them will have the "score" 1>Special:MyLanguage/Manual:page props table</>|page property set. Using <tvar|2>Special:PagesWithProp</>, you can find pages that have scores. ([<tvar|url>//en.wikipedia.org/wiki/Special:PagesWithProp?propname=score&propname-other=</> Example query for the English Wikipedia].)