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.

セキュリティ上の問題
Score では LilyPond をセーフモードで使いますが、セーフモードをエスケープする既知の脆弱性に未対応のため、予想外の実行を導く可能性があります.

ご利用のウィキで編集権限を有する人全員に対し、全幅の信頼を寄せることができない場合は、Shellbox の利用によりLilypond に制限をかけるよう強く推奨されます. サーバに予防措置を講じる設定について、詳細はShellbox#Server setupと、下記のMediaWikiにおける設定をご参照ください. さらに、必ずセキュリティ修正済みの LilyPond 最新版 (2.22.0+) もしくは配布パッケージを使ってください（たとえばDebian 版. ）常にセーフモードを有効にすることは必須で、予防措置をしていても防衛をもう一層、高めるためです. セーフモードでは使えない特定の機能があり、その対応には LilyPond 側で調整して当該の機能をセーフモードでも使えるようにします.

インストール

 * 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 リポジトリ