Allgemein > Fragen zu Funktionen

Dynamik bei MIDI-Export

<< < (2/2)

fugenkomponist:

--- Zitat von: Hilflos-im-Code am Donnerstag, 24. November 2016, 07:42 ---
--- Zitat von: harm6 am Mittwoch, 23. November 2016, 22:35 ---Nöö, eigentlich will man immer per Voice Dynamik haben, schließlich können Voices ja auch unterschiedliche haben.

--- Ende Zitat ---

Lass dir von jemanden sagen, bei dem es zu einem Musikstudium gereicht hat, dass dieses Exportbedürfnis nicht der Normalfall ist. Und ganz bestimmt nicht immer.

--- Ende Zitat ---
Laß dir von jemandem sagen, bei dem es zu einem Musikstudium gereicht hat (und der nebenbei diesen Fall oft genug in seinen Noten findet), daß es auch bei harm dafür gereicht hat. Also runter vom hohen Roß.

--- Zitat ---Edit: Bei deinem Code werden grundsätzlich alle Dynamiken ignoriert.

--- Ende Zitat ---
Ja, da ist harm anscheinend ein kleiner Flüchtigkeitsfehler unterlaufen (oder aber er verwendet eine andere Version als wir beide (2.19.41/2.19.49), die sich in diesem Punkt anders verhält). Es hilft jedenfalls, explizit einen Staff anzulegen, also \new Staff << … >> statt << … >>

Zu deinem Minimalbeispiel: Ich hab keine Ahnung, was du mit diesen beiden \context-Blöcken vorhattest:
--- Code: ---    \context {
                  \voiceOne
      \consists "Dynamic_performer"
    }
 
    \context {
                  \voiceOne
      \remove "Dynamic_performer"
    }
 
--- Ende Code ---
In der Regel sollte man in einem \context-Block einen bestehenden Context-Typ – in diesem Fall \Voice – angeben. \voiceOne hat damit erstmal nichts zu tun; desweiteren hättest du, wenn du \voiceOne in beiden durch \Voice ersetzen würdest, zwei Blöcke, von denen einer den Performer entfernt und der andere ihn an derselben Stelle wieder hinzufügt.
Was du vermutlich meintest, war

--- Code: ---\context {
  \Voice
  \remove "Dynamic_performer"
}

--- Ende Code ---
Siehe dazu auch harms Antwort.

Außerdem habe ich noch etwas merkwürdiges festgestellt: Es scheint so, als hätte der \context-\Voice-Block keine Auswirkungen auf die Voices, wenn diese nen Namen bekommen. Läßt man die expliziten Namen weg und verwendet \new statt \context, schreibt also \new Voice statt  \context Voice = "PartPOneVoiceTwo", dann erst wirkt der Block so wie gewünscht. Könnte ein Bug sein, das müßte man mal genauer untersuchen. Könnte aber genauso gut sein, daß das dokumentiert ist und nen sinnvollen Grund hat, ich les jetzt aber nicht nachts um Viertel vor zwei noch Dokumentation  ;)

Insgesamt ergibt sich mit harms Lösung und deinem Minimalbeispiel folgendes:

--- Code: ---\version "2.19.41"
\language "deutsch"

PartPOneVoiceOne = {
  \repeat unfold 16 a''4

}

PartPOneVoiceTwo = {
  c'4\ppppp \repeat unfold 15 c'
}

\score {
  \new Staff <<
    \new Voice { \voiceOne \PartPOneVoiceOne }
    \new Voice { \voiceTwo \PartPOneVoiceTwo }
  >>
  \layout {}
  \midi {
    \context {
      \Voice
      \remove "Dynamic_performer"
    }
    \context {
      \Staff
      \consists "Dynamic_performer"
    }
  }
}
--- Ende Code ---

Hilflos-im-Code:
Danke.

Der MIDI-Block war das Ergebnis, bei dem ich entnervt aufgegeben habe, als ich versucht habe Harms Lösung für mein Problem hinzubiegen. Denn was Du hast hatte ich auch, halt die Namen standen da.

Aber ich bleibe dabei, der Normalfall ist, dass sich in solch einer Zeile die Dynamiken gleichen. Und praktischer wäre es, wenn der Normalfall von der Anwendung gemacht wird und man die Sonderfälle einstellen muss.

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln