Extension:Score/ja

Score 拡張機能は、LilyPond を使用して楽譜を PNG 画像としてレンダリングできるようにします. またそれらを音声ファイルや MIDI ファイルに変換することもできます.

謝辞

 * オリジナルの はJohannes E. Schindelinによって書かれました.
 * この拡張機能は、Tim Starling の のコードレビューに基づいています.
 * オリジナルの は River Tarnell によって書かれました.

使用法
設定の後、 タグ内に簡単な LilyPond 記法をウィキテキストに埋め込むことができます. 例えば:

変換結果：

一般的な形式でscoreタグに属性を指定することもできます

.

例えば:

変換結果：

使用できる属性は次の通りです.

LilyPond 言語
歌詞は以下のようにして追加できます:

上級の利用者にはコマンドの利用でMIDI楽器を変更できます.

要件
以下のパッケージが推奨されます:


 * LilyPond
 * Ghostscript
 * ImageMagick
 * FluidSynth
 * Firejail

この拡張機能は LilyPond を使用してスコア画像をレンダリングするため、LilyPond をインストールする必要があります (Special:Version に LilyPond のバージョンが表示されます). パッケージから LilyPond をインストールした場合、依存するアプリケーションとして Ghostscript も同時にインストールされます. 画像の切り出しには ImageMagick のインストールが必要で、さもないと画像は不要な余白がまま保存されます.

LilyPond および Ghostscript の挙動に制限をかけると、信頼されない利用者が皆さんのウィキの編集を許可された場合の対策ができますので、MyLanguage/firejail を必ずインストールするよう強く推奨されます.

拡張機能は、LilyPond によって生成された MIDI ファイルから音声ファイルを作成することもできます. この機能を利用するには、 をインストールする必要があります.

MIDI ファイルから音声ファイルに変換するには FluidSynth が推奨されますが、TiMidity++ もサポート対象です. supported.

Security concerns
Score uses LilyPond in safe mode, however there are known unfixed safe mode escape vulnerabilities leading to arbitrary execution.

If you don't absolutely trust everyone who has editing privileges on your wiki, it is strongly recommended to set up containment of lilypond using Shellbox. See Shellbox for details on how to set up the contained server, and below for configuring MediaWiki to use it. Also, ensure you're using a recent version of LilyPond (2.22.0+) or a distribution package (e.g. from Debian) that has security fixes. Keep safe mode enabled, even with containment as an extra layer of defense. Certain functionality will not work in safe mode, the fix for that is to modify LilyPond to allow that functionality in safe mode.

インストール

 * See the extension's  for detailed installation instructions.

設定
拡張機能に備わったグローバルな設定パラメータには、次のものが含まれます.

$wgScoreLilyPond
のパスを実行可能な LilyPond に設定（通常は または ）.

$wgScoreTrim
というブール値は既定で の値です. の場合、実行結果の score PNG 画像を ImageMagick でトリミング加工できます. それが不要の場合もしくは ImageMagick をインストールしたくない場合、 は に設定します.

$wgScoreAbc2Ly
ABC 記法の のパスを実行可能な LilyPond 変換機能に設定（通常は または ）.

$wgScoreFluidsynth
のパスを実行可能な FluidSynth に設定（通常は または ）.

$wgScoreSoundfont
をSoundFontファイルのパスに設定（通常は または  ）.

$wgScoreLame
のパスを実行可能なLAMEに設定（通常は または ）. 生成する音声ファイルは必ず MP3 になるという制約があります.

注記
この拡張機能はある程度のセキュリティ対策としてShellbox上でさまざまなバイナリを実行します. そのためメモリ不足のエラー発生時には、 の拡張が必要な場合があります.

楽譜の検索
楽譜を含むページにはページ プロパティに「score」というセットが備わっています. 楽譜のあるページの検索には 特別:プロパティがあるページ を使います. (日本語版ウィキペディアでは「プロパティ名:」欄で score を選択して実行. )

関連項目

 * LilyPond 構文の例をもっと見るには、英語版のウィキペディアの場合はHelp:Score を、ウィキソースでは Help:Sheet music をご参照ください.
 * Vexflow オープンソースの SVG/Canvas 楽譜用変換機能
 * LilyPond 記法
 * ABC 記法
 * github 上にある vexflow リポジトリ