On Sat, 16 Sep 2023, David Kastrup wrote:
> > With the following code, the notes in the MIDI file still are both at
> > default velocity.  Explicitly instantiating the Staff does make a
> > difference in the visual output.
> >
> > MyMusic = { c'1 c'1 }
> > MyDynamics = { s1\ppp s1\fff }
> >
> > \score {
> >   \new Staff << \MyMusic \MyDynamics >>
> >   \layout { }
> >   \midi { }
> > }
>
> My mistake: Dynamic_performer by default lives at Voice level, so you'd
> need \new Voice here in order to issue the dynamics on a level visible
> to MIDI.

Thank you.  That works for the given example.  However, with more
complicated music that already contains multiple voices (as is typical of
the piano music where a between-staff Dynamics context would be used in
the first place), it doesn't work.  For example:

MyMusic = { << { c'1 c'1 } \\ { e'1 e'1 } >> }
MyDynamics = { s1\ppp s1\fff }

\score {
  \new Voice << \MyMusic \MyDynamics >>
  \layout { }
  \midi { }
}

With that code all the notes end up at default velocity.

You mention that Dynamic_performer "lives at Voice level" by default.  Is
this a default I can override, and would that help?

-- 
Matthew Skala
msk...@ansuz.sooke.bc.ca                 People before tribes.
https://ansuz.sooke.bc.ca/

Reply via email to