lilypond-user
[Top][All Lists]
Advanced

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

Re: Mostly unisono multi-voice staff also merging whole notes together


From: Knute Snortum
Subject: Re: Mostly unisono multi-voice staff also merging whole notes together
Date: Sat, 11 Sep 2021 15:13:27 -0700

On Sat, Sep 11, 2021 at 12:03 PM Hans Aikema <hans.aikema@aikebah.net> wrote:
>
> Hi all,
>
> In a score I have two parts (Alto I and II) that’s for most of the score 
> unisono.
>
> In order to be able to also generate rehearsal midis by voice (with the 
> concerned voice highlighted by diminishing the volume of other voices) I 
> would like to retain the full individual voices.
> This rules out
> … << { \voiceOne … } \new Voice { \voiceTwo … } >> \oneVoice ...
> pattern for temporal polyphonic music as it introduces the problem that the 
> two voices displayed in the staff are now split in a way that would at least 
> not allow me to create a rehearsal miditrack with voice that takes its 
> polyphony notes from the \voiceTwo section highlighted.
>
> For easier readability of the unisono part however I would like (visually 
> more condensed) the whole notes to join up like all the 
> identically-headed-and-pitched stemmed notes do.
>
> So what I’m trying to achieve is the notation effects of
> <<
>     { \once\override NoteColumn.ignore-collision = ##t f'1 | \once\override 
> NoteColumn.ignore-collision = ##t f'1~ | f'1 | f'2( g'4 a'4) } \\ { f'1 | 
> f'1~ | f'4( e' d' c') | f'4( e' g' a') }
> >>
>
> % rather than the fully proper from notational perspective default rendering
> <<
>     { f'1 | f'1~ | f'1 | f'2( g'4 a'4) } \\ { f'1 | f'1~ | f'4( e' d' c') | 
> f'4( e' g' a') }
> >>
>
> % or the completely broken
> <<
>     \override NoteColumn.ignore-collision = ##t
>     { f'1 | f'1~ | f'1 | f'2( g'4 a'4) } \\ { f'1 | f'1~ | f'4( e' d' c') | 
> f'4( e' g' a') }
> >>
>
> without having to sift through the score looking for the colliding whole 
> notes in order to add a \once\override NoteColumn.ignore-collision = ##t to 
> them
>
> Wondering if there would be a good solution that I’m somehow overlooking
>
> kind regards,
> Hans Aikema

Well, I don't think you can avoid "sifting through the score",
otherwise how would LilyPond know when you want to ignore collisions?
But you can make it easier to do:

%%%
\version "2.22.1"

ignoreCollision =
#(define-music-function (bool) (boolean?)
   #{
     \override NoteColumn.ignore-collision = #bool
   #})

altoI = {
  \ignoreCollision ##t
  f'1 | f'1~ |
  \ignoreCollision ##f
  f'1 | f'2( g'4 a'4)

}
altoII = {
  f'1 | f'1~ | f'4( e' d' c') | f'4( e' g' a')
}

\score {
  << { \altoI } \\ { \altoII } >>
  \layout {}
  \midi {}
}
%%%

I've just created a little music function that gets some of the
verbosity down.  You could even change the name of the function to
something like "ic" if you wanted to.  Note that \ignoreCollision ##t
stays in force until you tell it not to.

--
Knute Snortum



reply via email to

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