lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: why chords with notes of different duration is not supported?


From: David Kastrup
Subject: Re: why chords with notes of different duration is not supported?
Date: Wed, 12 Jan 2011 13:17:46 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux)

Graham Percival <address@hidden> writes:

> On Wed, Jan 12, 2011 at 09:15:41AM +0100, Reinhold Kainhofer wrote:
>
>> But there is a notation for multiple stops that looks like a chord
>> with notes of different duration.
>
> Before moving to computer science, I was a cello teacher.  And I'm now
> playing first violin in an orchestra doing, amongst other things,
> Tchaik's Romeo and Juliet.  I also played viola for half of my music
> degree.  I'm very familiar with (bowed) string music.

So you should be perfectly aware that the notation Reinhold refers to
(including references, by the way) exists.

>> > That's not a chord.  That's multiple voices, and they're simple to
>> > write in lilypond.  Please read the learning manual.
>> 
>> To quote Gardner Read: "Chord notation for string instruments often
>> appears incorrect to the non-string player."
>
> There's a couple of separate issues here:
> - what is the precise definition of a "chord" according to an
>   arbitrary violinist?
> - what is the precise definition of a "chord" according to an
>   expert in music notation?
> - what is the precise definition of a "chord" according to the
>   lilypond manual?
> - what is the precise definition of a "chord" according to the
>   lilypond internal code (be it scheme or C++)?

I think you are focusing on the wrong issues here.  Precise definitions
of "chord" don't even matter.  Lilypond is not a composer, it is
notation software.  The purpose of notation software is to put down a
suitable visible representation of how composers wish to see their
concepts expressed when specified in a reasonable manner in Lilypond's
input language.

String music composers use chords with notes of different length.  There
are references for that.  The execution is clear.  Whether or not you
like the notation or concept, it is there to stay, and saying Lilypond
should not be allowed to deal with this notation well because composers
should rather get a clue is putting the cart before the horse.

>> As a violin can only play one note,
>
> two notes, you mean.

If you are not worried about tonal balance all too much, three on a
modern violin, and four on a HIP violin with flat bridge.  Tends to
sound awful, but that's not an absolute deterrent for modern composers.
Or even players.

> Look, if you want to get a violinist "chord", you do this:
> \new Staff \relative c'' {
>   <<
>     { \voiceOne g,4 }
>     { \voiceOne d'4 }
>     { \voiceOne b'4 }
>     { \voiceOne g'2 }
>   >>
> }
>
> not hard.  Wrap it up in a music function to make it easier.

It works by accident, with clashing notehead warnings, and with stems
that just happen to overlap if you are lucky and are not subject to
Lilypond's usual operations ensuring good quality.

> If somebody wants to work on adding such a music function to lilypond
> itself, send an email to the frog list, or a patch to the -devel list.
> If somebody wants to talk about the lilypond input syntax -- such as
> making the <> construct allow different durations -- then wait until
> GLISS.

I resend my patch that will do the right thing when just writing

<< g,4 d'4 b'4 g'2 >>

I sent it to the devel list.  All I got was one comment that this would
likely not be accepted.  Questions why this was so were not replied to.

One basic problem with Lilypond's voices is just that the contexts are
not fine-grained enough.  For proper typesetting, you would need at
least one context operating _before_ stemming and beaming.  Possibly
even something in between.

There once have been subvoices (called threads) which were removed, as
far as I can tell mainly because it was hard enough as it was to specify
the right context when manipulating properties, and so cutting down the
number of contexts was deemed an improvement.

As a result, there are quite a number of constructs in the notation
manual that work with artificial voices and hidden notes, clearly not at
all being a logical representation of the composer's intention.

That's a deficiency, not an advantage of Lilypond.

For the record, I append the patch.  I tested it just slightly.  One
area that could be problematic is what happens in Midi, and what total
time is assigned to the construct when typesetting (should likely be the
shortest, and probably is just undefined in the current state of the
patch).

Attachment: 0001-lily-stem-engraver.cc-allow-distinguishable-duration.patch
Description: Text Data

Attachment: 0002-lily-stem-engraver.cc-Improve-error-message-for-inco.patch
Description: Text Data

-- 
David Kastrup

reply via email to

[Prev in Thread] Current Thread [Next in Thread]