Jump to content
Wikipedia The Free Encyclopedia

Help:Score

From Wikipedia, the free encyclopedia
This help page is a how-to guide.
It explains concepts or processes used by the Wikipedia community. It is not one of Wikipedia's policies or guidelines, and may reflect varying levels of consensus.
"WP:SCORE" redirects here. For information about how to format the score results of competitions, see Wikipedia:Manual of Style/Dates and numbers § Numbers as figures or words.

The <score>...</score> element in wikitext displays a musical score out of GNU LilyPond (the default) or ABC markup syntax. It also produces a MIDI file of the music and optionally displays an audio player that plays the music. It is implemented by the Score extension for MediaWiki, available across Wikipedia languages.

For LilyPond resources, see § External links. As of August 2021[update] , the extension on Wikipedia is using LilyPond v2.22.0 (check Special:Version for the current version). Changes to LilyPond since version 2.18 are documented here. Note that LilyPond's full syntax is available when the extension is invoked with the wikitext <score raw="1">. A plain <score> invokes a simplified implementation that is not fully consistent with the LilyPond documentation.

Element attributes

[edit ]
Attribute Description
lang="ABC" use ABC notation (see standard documentation; many parts newer than 1.6 are unsupported, so preview often)
lang="lilypond" use LilyPond notation (default, see #Syntax)
sound="1" add an audio player beneath the score image to play an automatically-generated Ogg Vorbis audio file
raw="1" interpret the markup within the score tag as a complete LilyPond file, allowing more complex scores
midi="1" obsolete This used to control whether the score image links to an automatically-generated MIDI file; clicking the score now always shows a JavaScript pop-up with a link to the MIDI file.
override_midi="..." deprecated replace the automatically-generated MIDI file by the given one
override_audio="..." deprecated replace the automatically-generated audio file by the given one
override_ogg="..." deprecated alias for override_audio
vorbis="1" deprecated alias for sound

If there is a MIDI file or audio file of superior quality to the MIDI or audio generated by the Score extension, you can provide a [[File::]] wikilink to it after the closing </score> tag.

Examples

[edit ]

Simple

[edit ]
<score>
{c'd'e'f'g'fis'es'cis'c'2}
</score>

gives

Equivalent in ABC notation:

<scorelang="ABC">
L:1/4
CDEF|G^F_E^C|C2
</score>

More elaborate

[edit ]
<scoresound="1">
\transposecg\relativec'{% display G for C, etc. and one octave higher
\keyc\minor
\time4/4
c4e8eg4g% (text after the % is just a comment)
<cesg>2<cesg>% angle brackets create chords
es4d(cb)% parentheses create slurs
a4.r8r8a8~a4% r creates rests; ~ creates ties
e--e->e-.g\fermata% accents and other signs
\bar"|."
}
</score>

gives

2 % angle brackets create chords es4 d( c b) % parentheses create slurs a4. r8 r8 a8 ~ a4 % r creates rests; ~ creates ties e-- e-> e-. g\fermata % accents and other signs \bar "|." } % This is just a comment line. ">

Equivalent in ABC (pre-transposed due to differing semantics):

<scorelang="ABC">
K:Gm
M:4/4
L:1/4
G=B/2B/2dd|% a comment
[gbd']2[gbd']2|% square brackets create chords (not supported by abc2ly)
b(ag^e)|% parentheses create slurs
=e3/2z/2z/2c/2-c% z creates rests; – creates ties
!tenuto!=BLB.BHB% see standard section "Decorations" (not supported by abc2ly)
|]
</score>

Syntax

[edit ]

The score section must be surrounded by <score>...</score>. The notes must be within a set of curly braces {...}.

Comments in the markup start with a percentage sign % and end at the end of the line.

Pitch

[edit ]

To display a note, type the letter (a b c etc.) Separate each letter with a space. The bare note name refers to the natural note irrespective of key signature (see "setting the key" below). These letters are as in English and Dutch, not as in German and many other continental languages (FYI: continental b means b flat and continental h means b – if you find that confusing, forget it).

Sharps and flats are formed by using the Dutch and German suffixes "is" and "es" respectively. To avoid "ees", the note E is simply written as es. The simple accidentals are thus ais bis cis dis eis fis gis for the sharps and aes bes ces des es fes ges for the flats. English language editors may prefer to include the line \language "english" in the script, after which s for sharp and f for flat can be used: as bs cs ds es fs gs and af bf cf df ef ff gf. Double sharps are formed with the suffix isis and double flats with eses, or in English notation with ss or x and ff. Semi-sharps, -flats and sesqui-sharps and -flats are also supported in both English and German. See: #Accidentals.

By default, each note name refers to the note below middle C. For example, a would be displayed as

or

\new Staff \with { \remove "Time_signature_engraver" }{\clef bass a}

. Use the apostrophe (') to go up an octave and a comma (,) to go an octave down. Middle C would be c'

.

<scorelang="lilypond"sound="1">
{
a,,c,e,a,ceac'% Middle C
e'a'c''e''a''c'''e'''g'''\bar"||"
aes''bes''gis''dis''aeses''beses''gisis''disis''\bar"||"
aeh''beseh''gih''disih''\bar"||"
\language"english"
af''bf''gs''ds''aff''bff''gss''bx''\bar"||"
aqf''btqf''gqs''dtqs''
}
</score>

A much easier way is to use relative coding. If you include \relative before the braces, each note will refer to the note closest to the previous one, and the first one will refer to the note closest to the one mentioned after the \relative tag. ("Closest" ignores sharps and flats.) Use ' to go up an extra octave and , to go down.

<scorelang="lilypond"sound="1">
\relativec'{
ef<ceg>2
a'4(bc)c,
d8ef16gab
c4.a8e'fg,fr\autoBeamOffedc
b4agb->c2.->r4
\bar"|."
}
</score>
2 a'4( b c) c, d8 e f16 g a b c4. a8 e' f g, f r \autoBeamOff e d c b4 a g b-> c2.-> r4 \bar "|." } ">

Setting the key

[edit ]

By default there is no key signature (no sharps or flats). You can indicate the key with \key g \major, \key c \minor, or even a mode such as \key c \dorian or \key c \mixolydian . The key can be changed at any point.

Keep in mind that even with a key signature, you must still include sharps (-is) and flats (-es) for each individual note name. If you omit one, it will be considered a natural. For example, this is the key of Gb major:

<scorelang="lilypond"sound="1">
\relativec'{
\keyges\major
\time6/8
% Notes with -es suffixes indicating flats
des8esgesaesbesces
% Notes without accidentals (naturals)
bcdega
}
</score>

Accidentals

[edit ]

Accidentals may be indicated by following the note name with the appropriate text:

double flat three quarter flat half flat half sharp three quarter sharp double sharp
De eses eseh es eh ! ih is isih isis
En ff tqf f qf qs s tqs ss or x

Note that E is "es" alone, rather than "ees". "q" and "tq" refer to "quarter" and "three-quarter" (rather than "hf" for "half flat" and "thf" for "three-half flat"), as in "quarter tone". However, the "quarter flat/sharp" is not a quarter of a flat/sharp, but instead half of a flat/sharp, and the "three-quarter flat/sharp" is 1.5 flats not 0.75 flats. Notes outside of the quarter-tone scale are not supported.

German:

<scorelang="lilypond"sound="1">{
\omitScore.TimeSignature
\relativec''{
\time4/4
aeses1aesehaesaeha!aihaisaisihaisis
}}
</score>

English:

<scorelang="lilypond"sound="1">{
\omitScore.TimeSignature
\relativec''{
\time4/4
\language"english"
aff1atqfafaqfa!aqsasatqsass
}}
</score>

Both result in:

Transpose and transposition

[edit ]

If, for some reason, a piece needs to be transposed to a different key, it is possible to do so without having to transcribe it manually. This also affects the key signature. The syntax for this is:

\transposefrompitchtopitchmusicexpr

For example:

<scorelang="lilypond"sound="1">\transposeces{
\relativec'{
\keyc\major\time4/4
c4defgabc
}
}
</score>

Results in:

MIDI output can be transpositioned with the \transposition <pitch> command. The French horn (in C) motif from the opening of Schubert's last symphony, transpositioned one octave down:

<scoresound="1">
\relativec'{\setStaff.midiInstrument=#"french horn"
\setStaff.midiMinimumVolume=#0.7
\setStaff.midiMaximumVolume=#1.0
\tempo"Andante"
\tempo4=80
\transpositionc
\keyc\major
\time2/2
c'2->\pd4e4|a,4.->b8c2|f4.->d8e2|g->d4e|a,4.->b8c2|d4.->e8c2|d2.\ppe4|c1
}
</score>
\p d4 e4 | a,4.-> b8 c2 | f4.-> d8 e2 | g-> d4 e | a,4.-> b8 c2 | d4.-> e8 c2 | d2.\pp e4 | c1 } ">

The \transposition command is mainly intended for scores that involve transposing instruments not set in concert pitch.

<scoresound="1">
\newGrandStaff<<
\newStaff="violin"\with{
instrumentName="Vln"
midiInstrument="violin"
}
\relativec''{
% not strictly necessary, but a good reminder
\transpositionc'
\keyc\major
g4(c8)rcrc4
}
\newStaff="clarinet"\with{
instrumentName=\markup{Cl(B\flat)}
midiInstrument="clarinet"
}
\relativec''{
\transpositionbes
\keyd\major
a4(d8)rdrd4
}
>>
</score>
> ">

Rhythm

[edit ]

Note duration is indicated by a number following the pitch with no space between (a4 b8). Use the number 1 for a whole note (semibreve), 2 for a half note (minim), 4 for a quarter note (crotchet), 8 for an eighth note (quaver), and so on. If a note does not have an explicit duration, it will either default to a quarter note or use the duration of the note preceding it.

Rests are indicated by using the letter r instead of a pitch. Dotted notes are formed simply by following the duration number with a period (c4.).

Tuplets are indicated using the \times command, for example \times 2/3 {c8 c c} gives a triplet of three eight-notes (quavers).

<scorelang="lilypond"sound="1">
\relativec''{b1b2b4b8cr4b4.r8\times2/3{a8gf}}
</score>
[画像: \relative c''{b1 b2 b4 b8 c r4 b4. r8 \times 2/3 {a8 g f}} ]

Setting the time signature

[edit ]

The default time signature is 4/4. To set another time signature, one may use the \time command. For example to set the time signature to cut-time one would use \time 2/2 and waltz time would be \time 3/4. The time signature may be changed at almost any point.

Removing the time signature

[edit ]

For some music examples, removing the time signature may be desirable; the code \remove "Time_signature_engraver" can be used in that case:

<score>
{
\newStaff\with{\remove"Time_signature_engraver"}
<d'fis'a'>2
}
</score>
2 }">

Pick up measure

[edit ]

The code \partial 4 will create a pickup measure (anacrusis) of one quarter note, \partial 4*2 would create a pickup measure of two quarter notes, etc. See an example in the Adding Lyrics section of this article.

Customizing beams

[edit ]

The software occasionally combines beamed notes in places that are not desired or look awkward. To override the automatic beams, use \noBeam between the notes that would otherwise be beamed: g a b \noBeam g. To turn off beaming for many notes, use \autoBeamOff and then \autoBeamOn.

<score>
\relativec''{
\time3/4
r4.g8\noBeama8b8
}
</score>

To manually beam notes, use square brackets inserting the first one after the first note to be beamed: a8 b[ c d e] f. This would beam the notes b, c, d, and e, but leave the first and last notes without beams.

Adding lyrics

[edit ]

You can add lyrics to the score using \addlyrics. See the LilyPond Manual for more information about how to align the lyrics to the score.

<scoreraw="1"lang="lilypond">
\header{
tagline=""% no footer
title="Good Morning"
composer="trad."
}
\relativeg'{
\keyg\major\time3/4
\partial4d
edg
fis2d4
eda'
g2d4
d'bg
fisec'
bga
g2\fermata
\bar"|."
}
\addlyrics{
Goodmor--ningtoyou,
Goodmor--ningtoyou,
Goodmor--ningdearchil--dren,
Goodmor--ningtoall.
}
</score>

Adding chord names

[edit ]

Chord names can be added as a separate ChordNames staff as follows:

<scorelang="lilypond"sound="1">
<<
\newChordNames\chordmode{
\setchordChanges=##t% Only display chord when there is a change (e.g., don't repeat the Am here)
a4:ma4:m|% measure 1 – A7 would be a:7
g2|% measure 2
}
\newStaff\relativec''{
\keya\dorian
\time2/4
a8a16aa8a16a|% measure 1
b8ag4|% measure 2
}
>>
</score>
> ">

The letter s can be used in the ChordNames staff in place of r (the code for a rest) when there is no chord.

An r will result in an explicit "No Chord" notation

>">

whereas the s will result in correct spacing, but no chord name notation will appear.

Adding whitespace

[edit ]

The letter s followed by a note duration adds an appropriate amount of whitespace:

With s4 and s1 Without whitespace
> ">
> ">
Middle C centrally placed on a grand staff

Accents and other symbols

[edit ]

There are a number of symbols to attach to notes, such as -^. There are also {e-> f-- g-+ a-. b\fermata c-_ d-!}

<score>
\relativec'{
e->f--g-+a-.
b\fermatac-_d-!e-^
}
</score>

producing

f-- g-+ a-. b\fermata c-_ d-! e-^ } ">

Color

[edit ]
<scorelang="lilypond"sound="1">
{
\omitScore.TimeSignature
\relativec'{
\cleftreble
\time7/4\once\overrideNoteHead.color=#redc4d\once\overrideNoteHead.color=#redef\once\overrideNoteHead.color=#redgab\time2/4c2\bar"||"
\time4/4<c,eg>1\bar"||"
}}
</score>

produces

1 \bar "||" } } ">

MIDI instruments

[edit ]

MIDI instrument sounds can be assigned with \set Staff.midiInstrument = #"instrument" as documented in section A6 of LilyPond's Notation Reference. Trial and error may be necessary: some instruments may not work unless the # is omitted, and some may not work with or without the #.

From The Rite of Spring
Markup
<scoresound="1">
\relativec''{\setStaff.midiInstrument=#"bassoon"\cleftreble\numericTimeSignature\time4/4\tempo"Lento"4=50\stemDownc4\fermata(_"solo ad lib."\grace{b16[(c]}bgeb'\times2/3{a8)\fermata}}
</score>
Renders as
Markup
<scoresound="1">
{\newPianoStaff<<\newStaff\relativec''{\setStaff.midiInstrument=#"violin"\cleftreble\tempo8=126\time3/16r16<dcafisd>\f-!r16\fermata|\time2/16r<dcafisd>-!\time3/16r<dcafisd>8-!|r16<dcafisd>8-!|\time2/8<dcafis>16-!<ecbesg>->-![<cisbaesf>-!<cafisees>-!]}\newStaff\relativec{\setStaff.midiInstrument=#"violin"\clefbass\time3/16d,16-!<bes''ees,>-!r\fermata|\time2/16<d,,d,>-!<bes''ees,>-!|\time3/16d16-!<eescis>8-!|r16<eescis>8-!|\time2/8d16\sf-!<eescis>-!->[<dc>-!<dc>-!]}>>}
</score>
Renders as
-! \omit Score.MetronomeMark \tempo 8=40 r\fermata | \tempo 8=126 \time 2/16 r q-! \time 3/16 r q8-! | r16 q8~-! | \time 2/8 q16-! ->-![ -! -!] } \new Staff \relative{ \clef bass \time 3/16 d,16-! ^\f-! r\fermata | \time 2/16 -! -! | \time 3/16 d,-! 8-! | r16 q8~-! | \time 2/8 q16^\sf-! q-!->[ -! q-!] }>> \midi{\set Staff.midiInstrument = #"string ensemble 1"}">

Repeated sections and MIDI

[edit ]

To indicate a repeated section, prefix it with \repeat volta 2. The MIDI and audio will only play once unless you add \unfoldRepeats, which will also "unfold" the score. To avoid this you must duplicate the score, once for layout and once for MIDI, for example:

Markup
<scoreraw="1"sound="1">
\header{tagline=""}
\score{
\relativec'\repeatvolta2{cdef}
\layout{}
}
\score{% "unfold" this score copy so MIDI plays the repeated section twice
\unfoldRepeats{
\relativec'\repeatvolta2{cdef}
}
\midi{}
}
</score>
Renders as

Hiding tempo

[edit ]

Metronome marks, as shown above, may be hidden with \set Score.tempoHideNote = ##t.

From St Matthew Passion
Markup
<scoresound="1">
{\newChoirStaff<<
\newStaff<<
\newVoice\relativec''{\setScore.tempoHideNote=##t\tempo8=120\stemUp\cleftreble\keyfis\minor\time3/8s4.|<gis'dis>8^.^(<gisdis>^.<gisdis>^.)|s4.|<fiscis>8^.^(<fiscis>^.<fiscis>^.)|s4.|fis16^(eisdiscis)<b'gis>8^.|<afis>^.rr|s4}
\newVoice\relativec''{\stemDowncis8[d]cis|bis4.|b!32_([cisd16cis8)]b|ais4.|b8a![_(gis)]|afis[_(eis)]|fis\grace{e(}d4)|cis}\addlyrics{Buß-undReu,–Buß4und8Reu–knirschtdasSün-den-herzent-zwei}
\newStaff\relativec{\clefbass\keyfis\minor\time3/8fis4.~_"Bar 13"|fis8gis16(fiseisdis)|eis4.|e!8fis16(edcis)|d8(cisb)|cis4.~|cis8b16(agisfis)|eis^"173 bars"}
>>>>}
</score>
Renders as

Individual staff sizes

[edit ]

Individual staff sizes can be changed with \with{ \magnifyStaff #nn } . Using \with{ \magnifyStaff #2/3 } after each instance of \new Staff, the example above renders as:

For more intricate details, see "Setting the staff size" in the LilyPond manual.

Overall size

[edit ]

A simpler method to change the overall size of a score is to use the CSS property zoom. Using <div style="zoom: 70%;">, the above example renders as:

Image frame

[edit ]

Alignment

[edit ]

Use {{Image frame }} to align scores to the left, center, or right.

For example:

{{Image frame
|content = <score>
\relativec'{
\cleftreble\time7/4\hideStaff.TimeSignature
c4defgabc2
}
</score>
|width=|caption = Diatonic scale on C, a "white note" scale
}}

results in the image to the right.

Grouping

[edit ]

{{Image frame }} may also be used to group score images together. The text below creates the group of images to the right:

{{Image frame|content=<score>
{
\omitScore.TimeSignature
\relativec'{
\cleftreble\time4/4
e4^\markup{Enharmonicgenus}fehgesesabcehdesese
}}
</score>
<score>
{
\omitScore.TimeSignature
\relativec'{
\cleftreble\time4/4
e4^\markup{Chromaticgenus}fgesabcdese
}}
</score>
<score>
{
\omitScore.TimeSignature
\relativec'{
\cleftreble\time4/4
e4^\markup{Diatonicgenus}fgabcde
}}
</score>|width=300|caption=The three genera of the Dorian [[octave species]] on E}}

See also

[edit ]
[edit ]

References

[edit ]
Get personal technical help at the Teahouse, help desk, village pump (technical), talk pages, or IRC.
General
technical help
Special
page
-related
Wikitext
Links and diffs
Media files: images,
videos and sounds
Other graphics
Templates and
Lua modules
Data structure
HTML and CSS
Customisation
and tools
Automated editing

AltStyle によって変換されたページ (->オリジナル) /