• Willkommen im Forum „Archiviertes Lilypond Forum (2017)“.
 

Dies ist das Archiv des alten Forums (bis März 2017). Das aktuelle Forum ist unter lilypondforum.de zu finden.
This is the archive of the old forum (until March 2017). You can find the current forum at lilypondforum.de.

Hauptmenü

Mehrere Abschnitte in Midi-Datei übertragen

Begonnen von oiseau, Mittwoch, 15. Dezember 2010, 13:15

Vorheriges Thema - Nächstes Thema

oiseau

Hallo,

ich habe ein Klavierstück in mehrere Abschnitte eingeteilt. Wie kann ich all diese in einer Midi-Datei unterbringen ? Der unten stehende Code funktioniert einwandfrei und erstellt eine Midi-Datei, die das Vorspiel beinhaltet. Bei dem Versuch, alle Abschnitte (Vorspiel, TeilA, TeilB, TeilC) an die Midi-Datei zu übergeben, werden diese überlappend abgespielt, jedoch nicht hintereinander. Was mache ich falsch ?  :-[

Danke im Voraus für Eure Hilfe.

Mathias





rechteHandVorspiel = \relative c { 
...
}

rechteHandTeilA = \relative c { 
... 


rechteHandTeilB = \relative c { 
...
}
 
rechteHandTeilC = \relative c { 
...
}

linkeHandVorspiel = \relative c { 
...
}

linkeHandTeilA = \relative c { 
... 


linkeHandTeilB = \relative c { 
...
}
 
linkeHandTeilC = \relative c { 
...
}


<<

  \new Staff \rechteHandVorspiel
  \new Staff \linkeHandVorspiel

>>

\mark \markup \with-dimensions #'(0 . 4) #'(0 . 5) { \null } %Abstand schaffen

<<

\new Staff \rechteHandTeilA
\new Staff \linkeHandTeilA

  >>
 
\mark \markup \with-dimensions #'(0 . 4) #'(0 . 5) { \null } %Abstand schaffen
 
<<

  \new Staff \rechteHandTeilB
  \new Staff \linkeHandTeilB

>>

\mark \markup \with-dimensions #'(0 . 4) #'(0 . 5) { \null } %Abstand schaffen
 
<<

  \new Staff \rechteHandTeilC
  \new Staff \linkeHandTeilC

>>
 



\score {


<<

  \new Staff \rechteHandVorspiel
  \new Staff \linkeHandVorspiel

>>


    \layout { }
    \midi {
     \context {
       \Score
       tempoWholesPerMinute = #(ly:make-moment 92 4)
       }
   }
}




RobUr

Hallo Mathias,

herzlich willkommen im Forum!

Offensichtlich handelt es sich hier um das Generalproblem parallele/versetzte Musik. Musik in doppelten spitzen Klammern (<< ... >>) wird simultan eingelesen, während Musik ohne diese Klammern nacheinander erzeugt wird.

Es ist generell am übersichtlichsten, wenn man für die MIDI-Ausgabe einen eigenen \score-Block erzeugt und darin die bereits definierten Variablen verwendet.

Das könnte in deinem Beispiel folgendermaßen aussehen:

\score {
  \new PianoStaff
  <<
    \new Staff = "rechte Hand" {
      \rechteHandVorspiel \rechteHandTeilA \rechteHandTeilB \rechteHandTeilC
    }

    \new Staff = "linke Hand" {
      \linkeHandVorspiel \linkeHandTeilA \linkeHandTeilB \linkeHandTeilC
    }
  >>

  \layout {}
}

\score {
  << \rechteHandVorspiel \linkeHandVorspiel >>
  << \rechteHandTeilA \linkeHandTeilA >>
  << \rechteHandTeilB \linkeHandTeilB >>
  << \rechteHandTeilC \linkeHandTeilC >>

  \midi {}
}


Steht aber alles im LM und in der NR! Bitte lesen!!!

Zur Erinnerung: \layout {} veranlasst PDF-Output, \midi {} veranlasst MIDI-Output!

Aber weshalb legst du für jeden Block ein neues System an??? \break gefällt dir wohl nicht?

Grüße, Robert

oiseau

Hallo Robert,

vielen Dank für Deine Antwort. Mehrere "\break" erzeugen leider keinen zusätzlichen Abstand zwischen den Zeilen. Vielleicht wolltest Du aber darauf hinaus, dass man die Eigenschaft einer break-Funktion durchaus verändern und so zusätzlichen Raum schaffen kann.
Wie dem auch sei. Ich habe mich nun auf ein System beschränkt, sodass ich das Midi-Problem nicht mehr habe.  :)

Nochmals vielen Dank.  ;D