Re: Initial rests in MIDI not included?

2023-09-27 Thread David Wright
On Wed 27 Sep 2023 at 10:22:04 (+0200), David Kastrup wrote:
> David Wright writes:
> > On Wed 27 Sep 2023 at 01:13:09 (+0200), Jean Abou Samra wrote:
> >> After replacing “ ... ” with “ c' ”, I got the expected MIDI output with
> >> LilyPond 2.24.2, i.e., lots of silence and four C notes at the end.
> >
> > I did the same, and I attach a screenshot of audacious playing the
> > file, called mid.midi. The little white blip above the Play button
> > is the equaliser graph displaying the first c' at 2 min 40 sec of
> > playing time. (Yawn.)
> >
> > I also attach a screenshot of timidity playing the same file. Notice
> > the length of the file: 4 seconds; and that's how long it plays for.
> 
> That's all circumstantial evidence.  Nobody so far has actually attached
> the resulting MIDI file and/or the output of
> 
> lilymidi --pretty
> 
> on it.  That would be way more informative.

I dashed off my first reply before I dashed off to choir practice,
just to give a (correct, as it turned out) hint to the OP to try
playing the file with a different player. I didn't really look at
the code as it involved repeats, and I know they've been changed
in some way, which I haven't yet read up on.

When I got back, I saw only Jean's reply, which still didn't mention
how the file was being played, so I thought I'd give examples that
showed the contrasting behaviour between two different players.

Yes, like lilymidi --pretty, the evidence that there was silence
at the beginning of the file is circumstantial, necessitating that
the OP believed I sat through the 160 seconds of silence before
any notes were played.

BTW where is the output of lilymidi documented?

Cheers,
David.



Re: lilypond 'not recognized'

2023-09-27 Thread Jean Abou Samra
The word "install" has many different meanings. LilyPond is not "installed"
in the way you think. At least for 2.24, if you followed the procedure in
the learning manual, you have just downloaded it and put it somewhere (actual
location doesn't matter) on your computer, then pointed Frescobaldi to it.
If you want to have the program callable as "lilypond" in a terminal, you
can't put it anywhere (I mean, imagine if just downloading a program made it
the default in your terminal ... it would just be plain dangerous). You
need to put it in a directory that is on the PATH variable. However, this is
quite unnecessary since you should be able to execute it as

C:\...\lilypond-2.24.2\bin\lilypond.exe file.ly








signature.asc
Description: This is a digitally signed message part


lilypond 'not recognized'

2023-09-27 Thread bobr...@centrum.is
Hello all,

I've got LilyPond 2.22.2 (and 2.24.2) installed on a Windows 11 box.  If I try 
to call it from the command line I get:

'lilypond' is not recognized as an internal or external command,
operable program or batch file.

It runs just fine from Frescobaldi.  I was trying to use lilypond-book but I 
was getting that message I quoted above.  I don't recall ever trying to use 
lilypond-book on this installation.  It was, and is, working fine on an XP 
machine but I really should retire/repurpose that hardware.

-David



Re: Obscure message in Frescobaldi

2023-09-27 Thread Jean Abou Samra
I found the answer. See the Frescobaldi issue.


signature.asc
Description: This is a digitally signed message part


Re: Obscure message in Frescobaldi

2023-09-27 Thread Hajo Baess
Thank you for your answer, but I already put that question on Github on
the Frescobaldi page, but the question has not been answered there
either. So I had the idea to ask here...


Am Mittwoch, dem 27.09.2023 um 13:35 +0200 schrieb Simon Albrecht:
> Hello Hajo,
> 
> I can’t answer your question, but I can say that the better place to
> ask 
> it would be either the Issue tracker in the Frescobaldi project on 
> Github, or via the contact adress included in Frescobaldi at Help-
> >About.
> 
> Hope that helps!
> Simon
> 
> On 26.09.23 21:51, Hajo Baess wrote:
> > This is not about a Lilypond problem, strictly speaking, but it is
> > related indirectly, and since here there are very many LilyPond
> > users
> > around here, I also hope to address at least a couple of
> > Frescobaldi
> > users here with an unanswered question, hoping that someone can
> > solve
> > this for me:
> > I am localising Frescobaldi, and I am stuck with an obscure message
> > which I have never seen using it. It says:
> > 
> > Clear Grab
> > 
> > Since it is hard to translate something you don't understand: what
> > is
> > this about? What is the context? What has been grabbed and can be
> > cleared?
> > 
> > The message entry can be found in the messages.py file in the i18n
> > folder of Frescobaldi:
> > 
> > > _("QShortcut", "Clear Grab")
> > Thanks a lot for any suggestions to help me understand...
> > 
> 
> 




Re: Alternating time signature with cue clef

2023-09-27 Thread Knute Snortum
On Tue, Sep 26, 2023 at 11:25 PM Michael Werner  wrote:

> Hi Knute,
>
> On Tue, Sep 26, 2023 at 3:27 PM Knute Snortum  wrote:
>
>> TL;DR
>> How do I engrave an alternating time signature and an initial cue clef?
>>
>> [snip]

>
> What about using a CueVoice, resetting sizes back to default? It seems to
> work both visually and listening to the midi produced. I've attached some
> code that engraves the first 7 measures of the Scriabin piece. Within the
> CueVoice I did have to explicitly set the slur, stem and articulation
> directions - apparently CueVoice either overrides or ignores voiceOne and
> voiceTwo settings in those regards. Quite likely there are better ways to
> go about this, but maybe this can at least get something going.
> --
> Michael
>
>
Thanks Michael for your work on my problem.  I'm impressed that you figured
out the prelude I was working on and wrote out two staves worth of music!

I think I did myself a disservice by calling what I want a "cue clef".  I
believe what I want is a "change clef" -- it's bigger than a cue clef but
smaller than a regular clef.  It's what you get when you engrave this
snippet:

{ c'4 4 4 4 | \clef bass 4 4 4 4 }

...or in markup:

\markup \musicglyph "clefs.F_change"

--
Knute Snortum


'festival' support, 'lilysong'

2023-09-27 Thread Werner LEMBERG


Folks,


is anybody using the 'festival' support files that come with LilyPond?
Or maybe the 'lilysong' script?  If you do, please write back!


Werner



Re: combining two whole notes into one

2023-09-27 Thread Виноградов Юрий
Thank you. It worked. С уважением,Виноградов Юрий.27.09.2023, 16:14, "Simon Albrecht" :Hi Yuriy,it is possible, yes, but it’s not correct, unless you have a very specific reason to make an exception from the rule. There’s a reason why Lily provides commands for merging differently headed or differently dotted notes, but only for notes with a stem. If you merge notes without stem (like whole notes) the result will be unclear.However, here’s two ways of doing it:<<   { \once\override NoteColumn.ignore-collision = ##t c'1 }   \\   { c'1 } >><<   { \once\override NoteColumn.force-hshift = #0 c'1 }   \\   { \once\override NoteColumn.force-hshift = #0 c'1 } >>Best,SimonOn 27.09.23 05:28, Виноградов Юрий wrote: Hello. I have two votes. And each one sings the same note. For  example, F. When the notes are stylized, they are combined using the  \mergeDifferentlyHeadedOn command. But whole notes are not joined  together with this command. Please help me. Maybe someone knows how to  do it. Юрий Виноградов 

Re: combining two whole notes into one

2023-09-27 Thread Simon Albrecht

Hi Yuriy,

it is possible, yes, but it’s not correct, unless you have a very 
specific reason to make an exception from the rule. There’s a reason why 
Lily provides commands for merging differently headed or differently 
dotted notes, but only for notes with a stem. If you merge notes without 
stem (like whole notes) the result will be unclear.


However, here’s two ways of doing it:

<<
  { \once\override NoteColumn.ignore-collision = ##t c'1 }
  \\
  { c'1 }
>>

<<
  { \once\override NoteColumn.force-hshift = #0 c'1 }
  \\
  { \once\override NoteColumn.force-hshift = #0 c'1 }
>>

Best,
Simon

On 27.09.23 05:28, Виноградов Юрий wrote:
Hello. I have two votes. And each one sings the same note. For 
example, F. When the notes are stylized, they are combined using the 
\mergeDifferentlyHeadedOn command. But whole notes are not joined 
together with this command. Please help me. Maybe someone knows how to 
do it.


Юрий Виноградов 





Re: Initial rests in MIDI not included?

2023-09-27 Thread David Kastrup
Kevin Cole  writes:

> On Wed, Sep 27, 2023 at 8:28 AM Jean Abou Samra  wrote:
>
>> Le mercredi 27 septembre 2023 à 08:22 -0400, Kevin Cole a écrit :
>> > And... we have a winner! It's a timidity problem!
>>
>> From what I can read, it is the expected behavior of timidity, but there
>> is a --preserve-silence option to change it.
>>
>
> Yeah, I was getting to that. ;-) Once it became a timidity issue, I
> suspected there would be an option to alter that behavior. It just
> hadn't occurred to me that timidity would default to happily ignoring
> the quiet bits.

I have no idea why anybody would consider that a sensible default, to be
honest.  I have a hard time imagining a sensible use case at all.

Possibly skipping initial silences in manually recorded MIDI files that
aren't edited at all in a sequencer?

But that does not really sound all that sensible.

-- 
David Kastrup



Re: Initial rests in MIDI not included?

2023-09-27 Thread David Kastrup
Jean Abou Samra  writes:

> Le mercredi 27 septembre 2023 à 08:22 -0400, Kevin Cole a écrit :
>> And... we have a winner! It's a timidity problem!
>
>
> From what I can read, it is the expected behavior of timidity, but there
> is a --preserve-silence option to change it.

I don't have timidity installed and consequently am also missing its
manual pages or I'd have checked.

-- 
David Kastrup



Re: Initial rests in MIDI not included?

2023-09-27 Thread Kevin Cole
On Wed, Sep 27, 2023 at 8:28 AM Jean Abou Samra  wrote:

> Le mercredi 27 septembre 2023 à 08:22 -0400, Kevin Cole a écrit :
> > And... we have a winner! It's a timidity problem!
>
> From what I can read, it is the expected behavior of timidity, but there
> is a --preserve-silence option to change it.
>

Yeah, I was getting to that. ;-) Once it became a timidity issue, I
suspected there would be an option to alter that behavior. It just hadn't
occurred to me that timidity would default to happily ignoring the quiet
bits. Especially since most of my problems end up being a misunderstanding
of LilyPond or music theory. So naturally, I defaulted to those as the
source of my troubles.


Re: Obscure message in Frescobaldi

2023-09-27 Thread Jean Abou Samra
Le mercredi 27 septembre 2023 à 13:35 +0200, Simon Albrecht a écrit :
> I can’t answer your question, but I can say that the better place to ask
> it would be either the Issue tracker in the Frescobaldi project on 
> Github, or via the contact adress included in Frescobaldi at Help->About.

See https://github.com/frescobaldi/frescobaldi/issues/1669





signature.asc
Description: This is a digitally signed message part


Re: Initial rests in MIDI not included?

2023-09-27 Thread Jean Abou Samra
Le mercredi 27 septembre 2023 à 08:22 -0400, Kevin Cole a écrit :
> And... we have a winner! It's a timidity problem!


From what I can read, it is the expected behavior of timidity, but there
is a --preserve-silence option to change it.



signature.asc
Description: This is a digitally signed message part


Re: Initial rests in MIDI not included?

2023-09-27 Thread Kevin Cole
On Wed, Sep 27, 2023 at 8:04 AM David Kastrup  wrote:

What is apparent is that it may be a bad idea to first pause a number of
> bars and only then include \global with a different \tempo .
>

Oops. Good catch. Thanks.

But the location of the tempo change aside your principal problem, like
> before, seems to be that timidity as a player skips initial rests.
>

And... we have a winner! It's a timidity problem!

Try fluidsynth -ia pulseaudio -n on your MIDI file as an alternative (on
> my system, I get inexplicable problems with -ia pipewire or -ia alsa)
> instead.
>

Thanks!


Re: Initial rests in MIDI not included?

2023-09-27 Thread David Kastrup
Kevin Cole  writes:

> I just tried it again with the attached, and still do not get "The Sound of
> Silence" ;-)
>
> $ cat mwe.ly
> \version "2.24.2"
> \language "english"
> global = {
>   \time 4/4
>   \key f \major
>   \tempo 4=150
> }
> PartFour = \relative a {
>   \global
>   \clef "treble"
>   \partial 4 a4
> }
> \score {
>   \new Voice = "PartFour" {
> R1*32 R1*24
> \repeat unfold 4 {
>   \transpose c c,, { \PartFour  }
> }
>   }
>   \midi { }
> }

$ lilymidi --pretty /tmp/mwe.midi 
Filename: /tmp/mwe.midi
MIDI format:  1 (one or more simultaneous tracks)
Divisions:1536 per whole note
#Tracks:  2

Track 1:
Time 0:
Text:   creator: 
Text:   LilyPond 2.24.2   
Time signature: 4/4, metronome 1/4
Tempo:  100 msec/quarter
Time 86016: 
Time signature: 4/4, metronome 1/4
Tempo:  40 msec/quarter
Time 86400: 
Time signature: 4/4, metronome 1/4
Time 86784: 
Time signature: 4/4, metronome 1/4
Time 87168: 
Time signature: 4/4, metronome 1/4
Time 87552: 
End of Track

Track 2:
Time 0:
Track name: \new:PartFour
Time 86016: 
Key signature: F major
Note on: Channel 0, A1(33)@90
Time 86400: 
Note off: Channel 0, A1(33)
Key signature: F major
Note on: Channel 0, A1(33)@90
Time 86784: 
Note off: Channel 0, A1(33)
Key signature: F major
Note on: Channel 0, A1(33)@90
Time 87168: 
Note off: Channel 0, A1(33)
Key signature: F major
Note on: Channel 0, A1(33)@90
Time 87552: 
Note off: Channel 0, A1(33)
End of Track


What is apparent is that it may be a bad idea to first pause a number of
bars and only then include \global with a different \tempo .

But the location of the tempo change aside your principal problem, like
before, seems to be that timidity as a player skips initial rests.

Try fluidsynth -ia pulseaudio -n on your MIDI file as an alternative (on
my system, I get inexplicable problems with -ia pipewire or -ia alsa)
instead.

-- 
David Kastrup



Re: Obscure message in Frescobaldi

2023-09-27 Thread Simon Albrecht

Hello Hajo,

I can’t answer your question, but I can say that the better place to ask 
it would be either the Issue tracker in the Frescobaldi project on 
Github, or via the contact adress included in Frescobaldi at Help->About.


Hope that helps!
Simon

On 26.09.23 21:51, Hajo Baess wrote:

This is not about a Lilypond problem, strictly speaking, but it is
related indirectly, and since here there are very many LilyPond users
around here, I also hope to address at least a couple of Frescobaldi
users here with an unanswered question, hoping that someone can solve
this for me:
I am localising Frescobaldi, and I am stuck with an obscure message
which I have never seen using it. It says:

Clear Grab

Since it is hard to translate something you don't understand: what is
this about? What is the context? What has been grabbed and can be
cleared?

The message entry can be found in the messages.py file in the i18n
folder of Frescobaldi:


_("QShortcut", "Clear Grab")

Thanks a lot for any suggestions to help me understand...






Re: Initial rests in MIDI not included?

2023-09-27 Thread Aaron Hill

On 2023-09-27 4:20 am, Kevin Cole wrote:
I just tried it again with the attached, and still do not get "The 
Sound of

Silence" ;-)

$ cat mwe.ly
\version "2.24.2"
\language "english"
global = {
  \time 4/4
  \key f \major
  \tempo 4=150
}
PartFour = \relative a {
  \global
  \clef "treble"
  \partial 4 a4
}
\score {
  \new Voice = "PartFour" {
R1*32 R1*24
\repeat unfold 4 {
  \transpose c c,, { \PartFour  }
}
  }
  \midi { }
}

$ lilypond mwe.ly
GNU LilyPond 2.24.2 (running Guile 2.2)
Processing `mwe.ly'
Parsing...
Interpreting music...
MIDI output to `mwe.midi'...
Success: compilation successfully completed

$ timidity mwe.midi
Playing mwe.midi
MIDI file: mwe.midi
Format: 1  Tracks: 2  Divisions: 384
Text: creator:
Text: LilyPond 2.24.2
Track name: \new:PartFour
Playing time: ~5 seconds
Notes cut: 0
Notes lost totally: 0


Loads into a sequencer as expected, so the MIDI file itself seems fine.


-- Aaron Hill

Re: Initial rests in MIDI not included?

2023-09-27 Thread Kevin Cole
I just tried it again with the attached, and still do not get "The Sound of
Silence" ;-)

$ cat mwe.ly
\version "2.24.2"
\language "english"
global = {
  \time 4/4
  \key f \major
  \tempo 4=150
}
PartFour = \relative a {
  \global
  \clef "treble"
  \partial 4 a4
}
\score {
  \new Voice = "PartFour" {
R1*32 R1*24
\repeat unfold 4 {
  \transpose c c,, { \PartFour  }
}
  }
  \midi { }
}

$ lilypond mwe.ly
GNU LilyPond 2.24.2 (running Guile 2.2)
Processing `mwe.ly'
Parsing...
Interpreting music...
MIDI output to `mwe.midi'...
Success: compilation successfully completed

$ timidity mwe.midi
Playing mwe.midi
MIDI file: mwe.midi
Format: 1  Tracks: 2  Divisions: 384
Text: creator:
Text: LilyPond 2.24.2
Track name: \new:PartFour
Playing time: ~5 seconds
Notes cut: 0
Notes lost totally: 0


mwe.midi
Description: MIDI audio
\version "2.24.2"
\language "english"
global = {
  \time 4/4
  \key f \major
  \tempo 4=150
}
PartFour = \relative a {
  \global
  \clef "treble"
  \partial 4 a4
}
\score {
  \new Voice = "PartFour" {
R1*32 R1*24
\repeat unfold 4 {
  \transpose c c,, { \PartFour  }
}
  }
  \midi { }
}


Re: Initial rests in MIDI not included?

2023-09-27 Thread David Kastrup
David Wright  writes:

> On Wed 27 Sep 2023 at 01:13:09 (+0200), Jean Abou Samra wrote:
>> After replacing “ ... ” with “ c' ”, I got the expected MIDI output with
>> LilyPond 2.24.2, i.e., lots of silence and four C notes at the end.
>
> I did the same, and I attach a screenshot of audacious playing the
> file, called mid.midi. The little white blip above the Play button
> is the equaliser graph displaying the first c' at 2 min 40 sec of
> playing time. (Yawn.)
>
> I also attach a screenshot of timidity playing the same file. Notice
> the length of the file: 4 seconds; and that's how long it plays for.

That's all circumstantial evidence.  Nobody so far has actually attached
the resulting MIDI file and/or the output of

lilymidi --pretty

on it.  That would be way more informative.

-- 
David Kastrup



Re: Suppressing a voice in the midi output

2023-09-27 Thread Sandro Santilli
Karsten, a new answer to your question arrived 5 years later,
thanks to Stephen. I thought it would be useful to share back
in the mailing list :)

Ref:
https://lists.gnu.org/archive/html/lilypond-user/2019-12/msg00276.html

On Sun, Sep 24, 2023 at 03:16:59PM -0700, Stephen Riddle wrote:
> Hi Sandro
> 
> I'm not a member of the news list where you posted this (five years ago)
> 
> but this is what I would have answered,
> 
> I have found  either all on or all off midi settings kind of awkward myself.
> 
> Use the \with command when you start a new voice or staff or chordNames or
> whatever: chordProgression = \chordmode { c1:sus2  \(  c1 c1:sus2 c1 \) }
> 
>  \new ChordNames \with { \remove "Staff_performer"  }{ \chordProgression }
>  \new Staff \with {  \remove "Staff_performer" } { \chordProgression }
> \new Staff { c'4 d' e' c'' b' c'' b' e'' d'' c'' d'' c''1 }
> 
> which shuts down midi output for a single context.
> 
> 
> Stephen



Re: Alternating time signature with cue clef

2023-09-27 Thread Michael Werner
Hi Knute,

On Tue, Sep 26, 2023 at 3:27 PM Knute Snortum  wrote:

> TL;DR
> How do I engrave an alternating time signature and an initial cue clef?
>
> Scriabin has a prelude where he has written a time signature as
> alternating 5/8 and 4/8 time.  After the initial one, no other time
> signatures are written. I have figured out a way to engrave this with help
> from a LSR entry.
>
> Also, the first notes in the right hand are in bass clef.  I want to
> engrave the initial clef in the right hand as treble, then after the time
> signature have a cue bass clef.  Lukas-Fabian Moser wrote a solution for
> that (thanks!)
>
> The problem is those two solutions don't work together. (Looking at them,
> I can see why they wouldn't.)  I am not clever enough to merge the two
> solutions or think of a third.  Can anyone help me?
>
> I've attached a screenshot of what I'm trying to engrave.  Also attached
> is my attempt to use the two solutions, but without success.
>

What about using a CueVoice, resetting sizes back to default? It seems to
work both visually and listening to the midi produced. I've attached some
code that engraves the first 7 measures of the Scriabin piece. Within the
CueVoice I did have to explicitly set the slur, stem and articulation
directions - apparently CueVoice either overrides or ignores voiceOne and
voiceTwo settings in those regards. Quite likely there are better ways to
go about this, but maybe this can at least get something going.
-- 
Michael
\version "2.24.2"
\language "english"

%%% Alternating time 
#(define ((time-alternate-time upa downa upb downb) grob)
   (grob-interpret-markup grob
  (markup #:override '(baseline-skip . 0) #:number
  (#:line (
(#:center-column (upa downa))
(#:center-column (upb downb)))

\header {
  title = "Twenty-Four Préludes"
  composer = "Alexander Scriabin"
}

upperUpper = \relative {
  \key bf \minor
  \new CueVoice {
\set fontSize = #0
\override Beam.length-fraction = #1
\override Stem.length-fraction = #1
\override Beam.beam-thickness = #0.48
\override Script.direction = #UP
\cueClef "bass"
\stemUp
\slurUp
\partial 8 r8^\markup { \italic \small "sotto voce" } | bf4.-- bf8.-- bf16-- | bf4.-- r8 | df4. df8. df16 | df4. r8 |
f4.( f8) r8 | e4.( e8)
\cueClefUnset
  } % End CueVoice
  r8 | f4. r4
}

upperLower = \relative {
  \key bf \minor
  \new CueVoice {
\set fontSize = #0
\override Beam.length-fraction = #1
\override Stem.length-fraction = #1
\override Beam.beam-thickness = #0.48
\override Script.direction = #DOWN
\cueClef "bass"
\stemDown
\slurDown
\partial 8 \tuplet 3/2 { bf,16( c16 ef16 } | bf'8[ af ef gf df] | f[ c df]) \tuplet 3/2 {bf16( df16  gf16 } |
df'8[ c gf bf f] | gf[ ef df]) \tuplet 3/2 { df16( gf16 bf16 } |
f'8[ ef bf df]) \tuplet 3/2 { c,16( gf'16 bf16 } | e8[ df bf c])
\cueClefUnset
  } % End CueVoice
  \tuplet 3/2 { f,16( a16 df16 } | f8[ ef c df bf])
}

lowerUpper = \relative {
  \key bf \minor
  \clef bass
  \voiceOne
  \partial 8 r8
  bf,4.-- bf8.-- bf16-- | bf4.-- r8 | df4. df8. df16 | df4. r8 |
  f4.( f8) r8 | e4.( e8) r8 | f4. r4
}

lowerLower = \relative {
  \key bf \minor
  \clef bass
  \voiceTwo
  \partial 8 \tuplet 3/2 { bf,,16(_\markup { \small "una corda" } c16 ef16 } | bf'8[ af ef gf df] | f[ c df)] \tuplet 3/2 { bf16( df16 gf16 } |
  df'8[ c gf bf f] | gf[ ef df]) \tuplet 3/2 { df16( gf16 bf16 } | f'8[ ef bf df)] \tuplet 3/2 { c,16( gf'16 bf16 } |
  ef8[ df bf c]) \tuplet 3/2 { f,16( a16 df16 } | f8[ ef c df bf])
}

timeSignatures = {
  \override Score.TimeSignature.stencil = #(time-alternate-time "5" "8" "4" "8")
  \time 5/8
  \partial 8 s8
  \override Score.TimeSignature.stencil = ##f
  \time 5/8 s4. s4 | \time 4/8 s2 | \time 5/8 s4. s4 | \time 4/8 s2 | \time 5/8 s4. s4 | \time 5/8 s4. s4 |
  \time 5/8 s4. s4
}

dynamicMarks = {
  \override DynamicTextSpanner.style = #'none
  \partial 8 s8\p s4. s4 s2  s4. s4 s2 s8-\cresc s2 s4. s4 s8-\dim s2\!
}

\score {
  \new PianoStaff <<
\new Staff
<<
\tempo  \markup { Misterioso \rhythm { { 8 } }  = 160-168 }
  \mergeDifferentlyHeadedOn
  \mergeDifferentlyDottedOn
  \new Voice = "upperUpper" {
\relative {
  \voiceOne
  \upperUpper
}
  }
  \new Voice = "upperLower" {
\relative {
  \voiceTwo
  \upperLower
}
  }
>>
\new Dynamics {
  \dynamicMarks
}
\new Staff
<<
  \mergeDifferentlyHeadedOn
  \mergeDifferentlyDottedOn
  \new Voice {
\lowerUpper
  }
  \new Voice {
\lowerLower
  }
>>
\new Devnull \timeSignatures
  >>
  \layout {
  }
  \midi {
  }
}