楽譜
ウィキソースではスコア(楽譜)拡張機能を利用することができます。LilyPond記譜法やABC記譜法を使ってレンダリング(音声を生成)することができます。生成した音声をOggMIDIファイルにすることもできます。2020年、LilyPondにセキュリティ上の問題が発見されたため、楽譜機能が一時的に利用できなくなっていましたが、2021年8月現在、問題は解決されています[1]。ただしセーフモードでの運用となっており、一部の機能は使えません。

概要

編集

スコア拡張機能を使って楽譜をレンダリングします。オプションとしてMIDIファイルなどを生成することができます。

LilyPond記譜法で書かれた簡単な例を示します。

<score>{ a b c d }</score>

上のように記述すると、下のようなスコアが表示されます。

 


次に、スコアにvorbis属性を付けてみましょう。

<score vorbis="1">{ a b c d }</score>

上のように記述すると、音声を生成できます。

 


では、スコアにMIDI属性を付けてみましょう。

<score midi="1">{ a b c d }</score>

上のように記述すると、楽譜をクリックしたときにMIDIが生成されます。下の楽譜をクリックしてみてください。

 


生成されたMIDIファイルは多くの表現上の効果を省いているため、音楽(楽譜)のニュアンスを再現するには不十分です。

さらに複雑な作品をLilyPond記譜法で書くと、下記のようになります。

<score vorbis="1" midi="1">
	 \relative c' { 
		e16-.->a(b gis)a-.->c(d b)c-.->e(f dis)e-.->a(b a)
		gis(b e)e,(gis b)b,(e gis)gis,(b e)e,(gis? b e)
	}
</score>

これは、次のように出力されます。

 

楽譜の翻刻

編集

既存の出版されたソースから音楽を翻刻するために、自分で音楽を書けるようになる必要はありません。 基本的な音楽記譜法を理解するのは難しいことではありませんし、一旦シンボルが意味することがわかれば、LilyPondやABCで適切なコードを書くことは容易です。 各音符は1~3つの部分から構成されています。

 
音符の要素である符頭、符幹、符尾。 符頭は丸い点、符幹は一方が符頭につながった垂直な線、符尾は符幹から伸びる短い斜めのマークで、符頭と反対側にあります。
  1. 符頭: 全ての音符には、点のような円形の符頭があります。符頭は音符の音高を示しています。
  2. 符幹: ほとんどの音符には符幹があり、それらは符頭につながった垂直線です。符幹上に複数の符頭があるものを「和音」といいます。
  3. 符尾: 符尾を持つ音符もあります。符尾は符幹から伸びる短い斜めの尾で、符頭と反対側にあります。符尾は音符の音価(持続時間)を表します。符尾を持つ2つ以上の連続した音符は、しばしば一つにまとめられ、連桁れんこうと呼ばれます。

音符は"五線譜"上の"小節"に書かれます。五線譜は"音部記号"で始まり、通常5本の線があります。 小節は五線譜の一部分で、時間を表し"小節線"と呼ばれる垂直線で表記されます。

音符の音高と音価を知ることは重要です。音高は符頭の垂直位置により示されます。(五線譜の)線とスペース(かん)は、それぞれ異なる音高を意味します。音高はアルファベットの最初の7文字(A、B、C、D、E、F及びG)で表わされ、Gの次の音高は再びAとなり、このパターンが繰り返されます。

 
楽譜の音符に関する簡単な解説:ト音記号とヘ音記号が音符の名称と合わせて表示されています。

ト音記号が付いている楽譜(図の上側の例)では、一番下の線はEです。その上の間はF、その上の線はGと続き、一番上の線がFとなります。よく知られている記憶法は、線の音高に関する"Every Good Boy Deserves Favours"(「良い子はご褒美をもらえる」)と、間の音高に関する"FACE in the space"です。

ヘ音記号が付いている楽譜(図の下側の例)では、音高はト音記号の場合より2つ下になります。一番下の線はGで、一番上はAです。記憶法は、"Good Boys Deserve Favours Always"(線の音高)と"Any Cow Eats Grass"(間の音高)です。

音符の音価はその形によって表されます。

基本的な音符・休符の音価
音符 休符 名称 従来 LilyPond記譜 長さ ABC記譜 長さ
    全音符/全休符 4 1 1
    2分音符/2分休符 2 2 1/2
     4分音符/4分休符 1 4 1/4
    8分音符/8分休符 1/2 8 1/8
    16分音符/16分休符 1/4 16 1/16
    32分音符32分休符 1/8 32 1/32
    64分音符/64分休符 1/16 64 1/64
    128分音符/128分休符 1/32 128 1/128
    256分音符/256分休符 1/64 256 1/256
詳細は、Wikipediaの音価を参照。

より複雑な記号については、演奏記号を参照してください。

またWikibooksの楽典も参考にしてください。

楽譜を書く際の一般的な注意事項

編集

楽譜はコンピュータコードと同様に、余分なホワイトスペースを無視します。次に示すコードは完全に機能します。

<score>\relative c { b c d e f e b c b c d e }</score>

しかし長い作品では、(たとえ元のユーザであっても)それを編集しようとする人にとって読みにくい場合があります。 例えば、小節の区分を示すためにパイプ記号を入れることができます。

<score>\relative c { b c d e | f e b c | b c d e }</score>

これにより、例えば第3小節にミスを見つけたユーザは、対応するコードを容易に見つけることができます。

より読みやすくするために、ホワイトスペースと改行を使って以下のようにセクションに分けることもできます。

<score>
  \relative c {
    b c d e
    f e b c
    b c d e
  }
</score>

セクションのインデントは、セクションの開始と終了、およびそれらのセクションが何を含んでいるかを示すのに役立ちます。

メンテナンステンプレート

編集
楽譜のない作品

楽譜のない作品は、{{missing score}}テンプレートによってタグ付けすることができます。これにより、そのページはカテゴリ:楽譜のない作品に追加されます。

LilyPond

編集
en:Help:LilyPondを参照

基本的なLilyPond記譜法

編集

全ての楽譜は、scoreタグで始まり、終わる必要があります。 例: <score> ... </score>

LilyPondで記述する場合、"コマンド"はバックスラッシュで始まり、"式"は中括弧で囲まれます。 全ての楽譜は、単一の音楽式に含まれている必要があります。 式が後に続くコマンドは、単一の音楽式とみなされます。

例えば、\relative c 及び \time 6/8 はコマンドであり、\relative c { ... } は音楽式です。

"相対モード"はLilyPond記譜法で記述するためのもっとも単純な方法です。このモードでは、音符は前の音符に最も近い音高であると仮定されます。代わりに絶対的な音符を入力することもできます。 \relative cコマンドはBass C(ハ)で始まります。

相対モード、Bass Cで、まだ音符の入っていないコードは、以下のようになります。

<score>
  \relative c {

  }
</score>

音符はスペースで区切られた適切な文字として入力することができます。 LilyPondはホワイトスペースに影響を受けないため、要素間にどれだけスペースがあっても問題ありません。音符は行を跨いでいても、また互いにつながっていても違いは生じません。

音符は文字の後にアポストロフィを加えることで1オクターブ、2個のアポストロフィを加えることで2オクターブ上げることができます(以下同様)。また、文字の後にコンマを加えることで低オクターブにすることができます。これは相対モードで使われている音符にも適用されます。\relative c'はMiddle C(中央ハ)、\relative c''はTreble C(二点ハ)、\relative c,はLow C(は)等となります。

音符の音価は文字の後に数1、2、4、8、16を加えることで指定することができます。既定値は4です。後に続く音符は、新たな音価が指定されるまで、その前の音符と同じ音価を持ちます。音価と音高を同時に変更する場合は、数をアポストロフィまたはコンマの後に置きます。

例えば以下のようになります。

<score vorbis="1">
  \relative c'' {
    a b c d e f g a
    a, b c2 d e
  }
</score>
 
基本的な記譜法
a b c d e f g スペースで区切られた文字が音符です。
a a' a, アポストロフィは1オクターブ音高を上げ、コンマは1オクターブ音高を下げます。
a1 a2 a4 a8 a16 音符の後の数字が音価(デフォルトは4)を示します。
| パイプ記号は、小節線を作成します(これは必須ではありません)。

歌詞

編集

スコアに歌詞を書き入れることもできます。

同一のscoreタグの間に追加されるべき歌詞の式は、\addlyrics { ... }です。楽譜全体は以下のように表わされます。

<score>
  \relative c {

  }

  \addlyrics {

  }
</score>

歌詞の内容は、addlyricsコマンドに続く式の中に置きます。各音節は、スペースで区切ります。LilyPondは、それぞれの音符に各音節を自動的に割り当てます。

例:

<score>
  \relative c'' {
    a b c d
  }
  \addlyrics {
    foo bar baz qux
  }
</score>
 

音節の音符への割り当てはアンダースコアを用いて変更することができます。アンダースコアによりつなぐことで、複数の音節を一つの音符に割り当てることができます。逆に、後に続く音節の代わりにアンダースコアを使用することにより、一つの音節を複数の音符に割り当てることもできます。延長線は(両側にスペースを置いた)ダブルアンダースコアにより表示することができます。

一語が複数の音節に分割される場合は、音節の間にハイフンを入れます。ハイフンは歌詞中の(両側にスペースを置いた)ダブルダッシュにより表示することができます。

LilyPond記譜法詳細

編集
名称 コード 説明 作例 作例のコード
連桁 a[ b] 連桁はスコア拡張機能により自動的に生成されます。自動生成が無効化されている場合には、強制的に実行することもできます。連桁の最初の音符の後に左角括弧を置きます。最後の音符の後に右角括弧を置くと、連桁が終了します。
 
<score>{ \relative c'' { b8[ d] d[ c b a] c b } }</score>
和音 <a b> 和音は他の音符と同じように書くことができますが、一つの和音に含まれる音符は、山括弧で囲う必要があります。音価を指定する場合は、右山括弧の後に1つ数を指定します。
 
<score>{ \relative c'' { <g e> <g b d> <f a c e> <d f>8 <a' c> } }</score>
休符 r 音符と同様に、休符の長さはr1、r8、r16のように指定します。
小節単位の休符は大文字Rによって指定することができます。
 
<score>{ \relative c'' { g b d r } }</score>
スラー a( b) スラ―の付いた音符は連桁と同様に指定できますが、丸括弧を用います。スラーは音符の後の左丸括弧により開始し、最後の音符の後の右丸括弧により終了します。スラーを入れ子にすることはできません。
 
<score>{ \relative c'' { g( b) d( f) } }</score>
スラー (フレージング) a\( b\) 通常のスラーをフレージングスラーの中で使うことができます。
 
<score>{ \relative c'' { g\( b d f\) } }</score>
スペーサ s 音符と同様に、スペーサの持続時間はs1、s8、s16のように指定します。
 
<score>{ \relative c'' { b4 s2 b4 } }</score>
タイ a ~ b タイは最初の音符の後にチルダを付けることによって指定します(注意:タイはスラーと似ていますが、同じ音高の音符に対してのみ使われます)。
 
<score>{ \relative c'' { b~ b d~ d} }</score>

臨時記号

編集
名称 コード 表示結果
シャープ ais
 
フラット aes
 
ダブルシャープ aisis
 
ダブルフラット aeses
 

テンポ

編集

曲にテンポを付けましょう。\tempoを使います。たとえば\tempo 4= 60と記述すれば、四分音符で毎分60回のテンポです。60を120に増やせばテンポもそれだけ速くなります。

<score vorbis="1" midi="1">
\relative c' {
  \tempo 4 = 60
  e4 e f g g f e d
}
</score>
 


また、曲の途中でテンポを変えることもできます。

<score vorbis="1" midi="1">
\relative c' {
  \tempo 4 = 180
  e4 e f g g f e d
  \tempo 4 = 90
   c c d e d4. c8 c2
}
</score>
 

ABC記譜法

編集
en:Help:ABC notationを参照

スコア拡張機能はABC記譜法もサポートしています。これは元々単声のウエスタンフォークミュージックのために作られましたが、複雑な曲を書くために使うこともできます。LilyPondより学習が簡単で、恐らくサーバに対する負荷もより低いと思われます。

wiki記法におけるABC記譜法の実例を示します。

<score lang="ABC" vorbis="1" midi="1">
X:173
L:1/4
M:6/4
K:Gm
Q:1/4=120
A|B2BB3/2c/2d|cAFFGA|BAGGAB|AGAD2A|\
B2BB3/2c/2d|c3/2B/2Ac2d|B3/2A/2GAG^F|\
G2AB3/2c/2d|B3/2A/2GA3/2G/2^F|(G3G2)|]
</score>

これは以下の楽譜を生成します。

 

注意

編集

音高は通常、文字により表されます。Middle C(中央ハ)はCで表し、Treble C(二点ハ)までのすべての音高を大文字で表します。Treble C以上の音高は小文字で表します。Middle CからBass C(ハ)までは(LilyPondと同様に)コンマの付いた大文字で、またHigh C(三点ハ)から上は(やはりLilyPondと同様に)アポストロフィの付いた小文字で表します。

全体を書くと以下のようになります: 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'

音価は音高の後の分数で表します。例えば、C1/2はMiddle Cの2分音符です。分子の1や分母の2は省略することができ、C/2C/と表すこともできます。音符が音価なしで入力された場合は、ヘッダで指定された既定の音価が使われます。

休符は、音符zとして入力されます。

ヘッダ行

編集

ABC記譜法の楽譜は、情報を表示し、あるいは楽譜の演奏方法に影響を及ぼすヘッダ行で始まります。それぞれの行には大文字1文字の後にコロンと適切な値が続きます。

例えば、Lは音価の既定値のためのヘッダ行です。以下では楽譜の音価として4分音符を指定します。

L:1/4
ヘッダ行の一覧
ヘッダ 用途
B 書名
C 作曲家名
D 目録
H 履歴
K 調(音階を表す1文字。短調(minor)の場合には小文字のmを付ける。)
L 基本音符長の単位(分数として与える。例:8分音符では1/8。)
M 拍子(基本音符長に似ているが4/4のように拍子を指定する。)
N コメント
O 由来
Q テンポ(1/4=120は1分間に120個の4分音符。)
T タイトル
R リズム(テキストとして入力する。)
S 出典
X 参照番号
Z 複写に関する注記(誰が複写したか。)

音声出力

編集

楽譜を書くことに加えて、本拡張機能によりMidi形式及びOgg Vorbis形式のファイルを生成することができます。ブラウザで再生するには、Javascriptを使用可能にしておく必要があります。

楽譜によって生成されるSVG画像は、Midiファイルへのリンクとして機能します。画像を右クリックし、適切なオプションをポップアップメニューから選択することにより、ファイルをダウンロードすることができます。Ogg Vorbis形式のファイルを生成するよう設定した場合は、生成された画像の下にjavascriptコントロールモジュールが表示され、生成されたファイルをストリーム再生することができます。これは開始、停止(および音量変更)が可能です。

Midi形式を有効にするには、左側のscoreタグにmidi="1"を加えます。Ogg Vorbis形式を有効にするには、左側のscoreタグにvorbis="1"を加えます。両方を同じタグに加えることもできます。

例:

<score midi="1" vorbis="1">  ...  </score>

さらに、Midi、Ogg Vorbisファイルは上書きすることもできます。スコア拡張機能が有効である場合、通常はこれらのファイルが生成されますが、属性を追加することにより、代わりにWikisourceまたはWikimedia Commonsにアップロードされた(通常と同様のFile:名前空間の)Midi、Ogg Vorbis形式のファイルを使用することができます。

例:

<score midi="1" override_midi="Example.midi"> ... </score>
<score vorbis="1" override_ogg="Example.ogg"> ... </score>

外部リンク

編集

LilyPond

編集