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/