lilypond-user
[Top][All Lists]
Advanced

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

Re: Position fingerings for diatonic accordion that include button name


From: David Kastrup
Subject: Re: Position fingerings for diatonic accordion that include button name (not just finger)
Date: Sat, 09 Jul 2016 17:07:50 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux)

Mojca Miklavec <address@hidden> writes:

> On 9 July 2016 at 13:25, David Kastrup wrote:
>> Mojca Miklavec writes:
>>
>>> I'm relatively new to lilypond (and new to diatonic accordion).
>>
>> Slovenia is a nice area to be in for diatonic accordion, though.
>>
>>> I would eventually like to add more automation to write scores for
>>> accordion, but I need to start somewhere where I can at least get the
>>> desired output.
>>
>> The automation currently available for diatonic accordion sucks (not
>> even sucks and blows).
>
> :)
>
>> There is a quasi-ancient example in the manual at
>> <URL:http://lilypond.org/doc/v2.18/Documentation/snippets/templates#templates-score-for-diatonic-accordion>.
>
> Thank you. This is a super complex example that I'm unable to
> interpret (I would have no idea how to play it before studying it for
> a while), but it might become clearer what I want to achieve with the
> attachment. I hope that the attached PNG will be OK now. (I never put
> images inline and initially wanted to provide an URL to some scores,
> but the image on the URL might disappear and the notes for beginners
> suggested to add an image next to the minimal example.)

Ok, the example is in a manner of "Griffschrift" which means that notes
between lines are in first row, notes on the lines are in second row,
notes with an x accidental before them are in third or fourth row when
written between/on lines respectively.  The middle line corresponds to
the "Gleichton" in second row.  The pull/draw convention seems similar
to your notation.

>> If you are willing to invest some time (and prod the list for help
>> for individual problems: there are a lot of very helpful people and
>> capable around here) I am pretty sure that LilyPond can get a lot
>> better for diatonics than it is now.
>
> I also have an impression that there are as many different writing
> notations as there are teachers :) :) :)

Yes.

> But the example in attachment is a good compromise that allows piano
> players as well as either type of accordion player (those who prefer
> reading the usual score and those who prefer just counting buttons) to
> follow and I see it used here pretty often.

Since it isn't actually a Griffschrift but rather a normal score plus
additional information, it should actually be easier to target than most
other diatonic accordion notations.

>> but there is quite a lot of potential for good return on moderate
>> investment of time.
>
> I hope so :)
>
>> As an initial keyword to look for: you'll want to go with a ChordNames
>> context or Lyrics for aligned material I think.
>
> OK, ChordNames might work.
>
> It won't allow for the super intuitive writing because then durations
> have to be specified twice. It would be more sensible to combine the
> "Chord" with the "pitch", but the Chords might be a good start.

Ok.  It is correct that right now the \lyricsto mechanism is only
available for Lyrics.  It does not make much sense to combine it with
straightforward music since it basically just controls when notation
elements appear on the page but not what it looks like.  So when you'd
use this mechanism with normal music, the notes would be arranged in the
correct visual distance but would look like before the rearrangement.

However, it is true that ChordNames and NoteNames contexts (and a few
other less likely candidates) could reasonably make use of the same
mechanism.

A quick check turns out

\version "2.19.44"

\layout {
  \context {
    \NoteNames
    \alias "Lyrics"
  }
}

<<
  \new Voice = "melody" \fixed c'
  {
    c4. g,8 c b,16 c cis d dis e f4. e8 d
  }
  \new NoteNames \lyricsto "melody" {
    \notemode {
      c g c b s cis s dis s f s d
    }
  }
>>
so there are manners of cheating even the current code base into doing
synchronization work for non-lyrics.

> I'm still a bit confused though about how Chords work.

Welcome to the club.  The basic operation of LilyPond is "iterating"
music expressions within some "context".  "iteration" means converting
the elements of the music expression into "stream events" which are sent
to all contexts in a context hierarchy in the order and under control of
music timing.  Every context has a number of "engravers" listening for
specific events and reacting by creating graphical objects, "grobs",
which in turn can be listened for by engravers, given a graphical
appearance ("stencil") that is positioned on the page in relation to
other objects.

So a ChordNames context has a specific engraver that listens to note
events, collects all events at one point of time, figures out an
appropriate chord name for the collection of notes, creates a ChordName
grob that is placed in the proper place in the line of chords.

This mechanism for pulling pitches and making graphics for them can be
changed into something specific for your task.  However, we need
additional information because the assignment of buttons to notes is not
unique and also depends on push/pull.  So the question is how to get the
information there.

> Yes, I will need signs for directions (push/pull) etc., but the
> following snippet could be a better minimal starting point for me:
>
> http://lilypond.org/doc/v2.18/Documentation/snippets/templates#templates-single-staff-template-with-notes-lyrics-chords-and-frets
>
> But the example requires specifying real chords. How could I write
>    B3 (with finger 1)
> without any real meaning or something like
>    1.B3
> instead of "C"? Or a "stacked" example
>     3.B5
>     2.B4
> in place of another chord?

Well, one can cheat by writing any old chord and then override the text,
like

    \tweak text "D2" c1

but writing code that does that would only make sense once one has
determined that chords are the best vehicle for faking this kind of
functionality on.

>> Nice to see you here!
>
> Yes, we miss you a lot too at the Polish bonfires :)

I have to make my visits at one time again.  It's just not a trivial
expense for me...

-- 
David Kastrup

reply via email to

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