The problems with the notation of piano score in abc apply in pretty much the same way to harpsichord, harp, celesta, and organ music. The notation below require several extensions of the abc clefs, which are detailed in their own WWW page. Please see that page before proceeding.
By no means do I assert that this is the only way that abc might represent this music, nor do I assert that this is the best way. It is merely a possible way.
(G- [GG,])
.
Note that this requires the ability to tie from non-chords into chords.
Naturally, the time reverse of this situation also happens, and that
might be encoded ([G-G,] G)
, or perhaps
([GG,]- G)
. It is not immediately clear which syntax is
preferable, but it is clear that abc requires the ability
to represent this.
In another context this case might be better represented as two separate voices set on the same staff:
V:1 G- G V:2 (G G,)
([D2D'2] [a,,d,f,])
[FAdf]- | [FAdf]This would imply that all notes from the first chord must tie to a note in an immediately following chord.
A more verbose notation is also possible
[F-A-d-f-] | [FAdf]and there are other examples which might motivate legitimizing such a syntax.
(A,EAC' E'a,,c,e,)Note also that the second measure requires a total of 4 voices.
V:1 clef=treble staff=1 [A2d2f2a2]) [C2E2] | (D F2 F) | V:2 clef=treble staff=1 y4 | D4 | V:3 clef=grand staff=1 y2 a,, g,, | (F' A'2 A') | V:4 clef=bass staff=2 [A2a2]) [A,2A2] | d2 c2 |Note the use of ``y'' to indicate a rest on the upper staff which is not typeset.
Is some explicit notation for drawing the diagonal required? Or can it be inferred from the beamless switch between staves?
V:1 clef=treble staff=1 (_Bd | Ad- H[d4d'4]) || V:2 clef=treble staff=1 _B2 | A2- HA4 || V:3 clef=grand staff=1 (_B'g, | D'A'- H[A'4F''4]) || V:4 clef=bass staff=2 G'2 | D'2- HD'4 ||The slur should presumably only be indicated on voices 1 and 3
(p[EBG'b,,e,b,] | p[GBD'G'b,,d,g,b,])For the sake of expression here I have chosen to represent an arpeggiated chord as
p[]
, but in no way do I intend that
as a recommendation for implementation.
This is an extremely common idiom in piano music, and it is effectively impossible to re-create the typeset layout using abc. It could be rephrased using alternative means, not all of them satisfactory.
If each 1/8th note were repeated as needed in the penultimate bar using more tied 1/8th notes it would require 7 voices. The result would not only look ugly for the proliferation of notes, but the use of multiple voices would also cause it to lack the beams. This is not satisfactory.
Alternatively, the ties could be removed entirely and replaced by an indication that the pedal be used. However, a pianist would probably want to use a new attack on the notes of the chord in the terminal bar, and this does not seem to be the original intent.
If I'm not misinterpreting it, the literal meaning of this could be represented by a series of progressively tied chords; viz.:
V:1 clef=treble staff=1 G,3 y3 | Hy6 || V:2 clef=grand staff=1 C,- [C,G,]- [C,G,=E]- [C,G,=EG]- [C,G,=EGc]- [C,G,=EGcg]- | H[C,6G,6=E6Gc6g6g'6] ||Where
H
is the abc2ps convention for the
fermata. For playback apps this should produce the desired result,
but it's not at all clear that the typeset result would satisfy.
V:1 clef=grand staff=1 | Z (D' z b,,d,b,- | b,2 =a,2 f,2-) | (f,2 b,2) z2 | V:2 clef=treble staff=1 | z2 z B,3 | C4 C2 | D4 z2 | V:3 clef=bass staff=2 | z d g4 | f4 f2- | (f4 =a2) | V:4 clef=bass staff=2 | G6 | F4 =A2 | B4 =A2 |In V:1 on the grand staff note the use of Z for rest on lower clef and z for upper clef. There are other assignments of voices here which are at least as valid; in particular, notations where V:4 vanishes in the second bar and V:3 compensates by using chords.
| ([G3g3-] H[c2g2]) ||
V:1 clef=grand staff=1 (DA f,,a,, d,f,a,d) | V:2 clef=treble staff=1 z2 y6 | V:3 clef=bass staff=2 y2 (d4 f2) |
( BF'B'd, f,b,df )
V:1 clef=treble staff=1 (FGF EDE- | E6 | HD6) |] V:2 clef=treble staff=1 D6 | [C6A6-] | HA6 |] V:3 clef=bass staff=2 aba gfg | (a3 g3) | Hf6 |] V:4 clef=bass staff=2 d6- | d6- | d3 HD3 |]An alternative for the treble clef voices requires some fancy interpretation of the ties into and out of the chords. The following chord syntax works, but it may introduce unacceptable ambiguities or other difficulties in parsing.
V:1 clef=treble staff=1 (FGF EDE- | [C6E6A6-] | H[D6A6]) |] V:2 clef=treble staff=1 D6 | y6 | Hy6 |]Again, I am using ``
y
'' as a non-typeset rest.
V:1 | [C3c3]- [C2c2] z | V:2 | (G3- E2) z |
y
''). The transition from grand=treble+bass to
grand=treble+treble is of interest because of its somewhat awkward
(and non-sight readable) appearance. I do not seriously advocate the
exact syntax that I have used.
V:1 clef=treble staff=1 y2 \ p[Bgb] | y3 V:2 clef=grand staff=1 p[G2F'2b,,2d,2g,2b,2] \ V:2 clef=grand:T:T staff=1 y1 | p[FGBdgd'] p[DFGb,ga] ) p[B,DFg,dg] V:3 clef=treble staff=2 y2 \ p[DFG] | y3
V:1 (EA)(EB)(F^c) V:2 E2 D2 ^C2
V:1 GF E2) V:2 ED,- D,2
V:1 (D E G F B, A, | G, F, G,4) | V:2 (G, B, D2 G2 | D2 B,4) |
V:1 clef=grand:T+8:T | [^a/4=e'/4=b'/4][^F''/4=a'/4]+ =c'/2+ [^f/4=e'/4][=A'/4_F''/4_b/4=g'/4] |\ (5[=E'/4_g/4_a/4][=f'/4=a'/4][=D'/4^c'/4]=b/4[=F'/4^g/4] |Note that this requires the handling of chords as elements of tuplets. It is, of course, redundant to give the note length for each separate note in a chord (because a chord with notes of different lengths is almost certainly an instance of multiple voices). The use of ``
+
'' here is in keeping with Chris Walshaw's
suggestion for forcing beaming when it might not otherwise occur.
(This is, by the way, two bars by Stockhausen -- thus the dynamics.)
However, this example does highlight the relevant question: should abc be able to encode the written score for keyboard-like instruments? If it is desired to preserve the left/right hand-distinctions which are indicated by written musical score then the abc notation must permit the specification of clef. And if it is desired to preserve the written appearance of keyboard score then a simple 11-line ``grand clef'' centered on middle-C with no provision for ledger lines is not sufficient.
I've found that most portions of scores can be represented using 4 voices. However, there are moments of transition between movements and sections of syncopated music where the representation can briefly require 6 or more voices.
Principally this means that there is little hope that a piano score in abc would be sight-readable. The process of transcription from piano score to this form of abc is also non-trivial. While a proof-of-concept demonstrating the possibility is nice, I find myself asking whether there will ever be sufficient demand for the ``grand staff''/piano capability that it will be implemented. It is a lot of extra complexity to ask of a language largely implemented in freeware and shareware.
Also note that this proposal still does not address the issue of the dynamic information in the musical score.
Again, it does not address the relatively common situation where a piano or harp piece briefly consists of three staves; e.g., bass, treble, and treble in octava.
I bring up these issues not with the intent that they should be resolved immediately. I do not believe that there is sufficient experience with these concepts for abc to dare to standardize on them now. But I do hope that the issues raised by the double-staff of keyboard instruments will be kept in mind as abc struggles to adopt standards for single clef music in clefs other than treble.