Deutsches Lilypond Forum (Archiv)

Allgemein => Fragen zu Funktionen => Thema gestartet von: martinusbaum am Samstag, 28. Februar 2015, 11:19

Titel: midi und d.c. al Fine
Beitrag von: martinusbaum am Samstag, 28. Februar 2015, 11:19
Hallo,
mit \reharsal.... können ja Wiederholungen in midi umgesetzt werden.
Gibt es eine Lösung für d.c. al Fine in midi?
Würde mich über Hilfe freuen!

Titel: Re: midi und d.c. al Fine
Beitrag von: Pierre am Samstag, 28. Februar 2015, 12:43
Hallo martinusbaum,

Eine Lösung:

\version "2.18.2"

intro = {
  \repeat unfold 4 { c' }
  \repeat unfold 4 { d' }
}

wieder = \repeat volta 2 {
   \repeat unfold 4 { e' }
   \repeat unfold 4 { f' }
   \repeat unfold 4 { g' }
   \repeat unfold 4 { a' }
   \mark\markup\small\italic "Fine."
}

ende = {
   \repeat unfold 4 { b' }
   \bar "||"
   \tweak direction #DOWN
   \tweak self-alignment-X #RIGHT
   \mark\markup\small\italic "D.C. al Fine e Coda"
}

Coda = {
   \repeat unfold 4 { c'' }
   \repeat unfold 4 { c' }
   c1
   \bar "|."
}

%% pdf output:
\score {
  \new Staff {
    \tempo \markup { \note #"4" #UP \lower #0.5 \normal-text "≃ 104-108" }
    \intro
    \wieder
    \ende
  }
  \layout {
    system-count = 2
  }
}

\score {
  \new Staff
  \with { instrumentName = \markup\fontsize #4 \musicglyph #"scripts.coda" }
  \Coda
  \layout {
    ragged-right = ##f
  }
}

%% midi output :
\score {
  \new Staff {
    \tempo 4 = 108
    \intro
    \unfoldRepeats { \wieder }
    \ende
    \intro
    \wieder
    \Coda
  }
  \midi {}
}

Gruß,
Pierre
Titel: Re: midi und d.c. al Fine
Beitrag von: martinusbaum am Samstag, 28. Februar 2015, 15:03
hallo,
vielen Dank für die schnelle und ausführliche Antwort! Habe aus diesen Zeilen schon wieder einiges gelernt!
Demnach muss ich gedanklich weg vom ursprünglichen Notenbild... Es geht darum, einzelne Abschnitte zu kennzeichnen und diese dann aneinander zu hängen.
Ist dies auch bei einem mehrstimmigen Stück, z.B. bei Noten für ein Soloinstrument mit Klavierbegleitung umzusetzen?

Liebe Grüße martinusbaum
Titel: Re: midi und d.c. al Fine
Beitrag von: Pierre am Samstag, 28. Februar 2015, 16:30
[...] Ist dies auch bei einem mehrstimmigen Stück, z.B. bei Noten für ein Soloinstrument mit Klavierbegleitung umzusetzen? [...]

Jawohl!
Zum Beispiel:

\version "2.18.2"

%% Cello:

introCello =
\relative c' {
  \repeat unfold 4 { c4 }
  \repeat unfold 4 { d4 }
}

wiederCello = \relative c'
\repeat volta 2 {
   \repeat unfold 4 { e4 }
   \repeat unfold 4 { f4 }
   \repeat unfold 4 { g4 }
   \repeat unfold 4 { a4 }
   \mark\markup\small\italic "Fine."
}

endeCello = \relative c' {
   \repeat unfold 4 { b4 }
   \bar "||"
   \tweak direction #DOWN
   \tweak self-alignment-X #RIGHT
   \mark\markup\small\italic "D.C. al Fine e Coda"
}

codaCello = \relative c' {
   \repeat unfold 4 { c'4 }
   \repeat unfold 4 { c,4 }
   c,1
   \bar "|."
}

%% Klavier

introRH = \relative c' {
  \repeat unfold 4 { c4 }
  \repeat unfold 4 { d4 }
}

wiederRH = \relative c'
\repeat volta 2 {
   \repeat unfold 4 { e4 }
   \repeat unfold 4 { f4 }
   \repeat unfold 4 { g4 }
   \repeat unfold 4 { a4 }
   \mark\markup\small\italic "Fine."
}

endeRH = \relative c' {
   \repeat unfold 4 { b'4 }
   \bar "||"
   \tweak direction #DOWN
   \tweak self-alignment-X #RIGHT
   \mark\markup\small\italic "D.C. al Fine e Coda"
}

codaRH = \relative c'' {
   \repeat unfold 4 { c4 }
   \repeat unfold 4 { c,4 }
   c'1
   \bar "|."
}

introLH = \relative c {
  \repeat unfold 4 { c4 }
  \repeat unfold 4 { d4 }
}

wiederLH = \relative c
\repeat volta 2 {
   \repeat unfold 4 { e4 }
   \repeat unfold 4 { f4 }
   \repeat unfold 4 { g4 }
   \repeat unfold 4 { a4 }
   \mark\markup\small\italic "Fine."
}

endeLH = \relative c {
   \repeat unfold 4 { b4 }
   \bar "||"
   \tweak direction #DOWN
   \tweak self-alignment-X #RIGHT
   \mark\markup\small\italic "D.C. al Fine e Coda"
}

codaLH = \relative c' {
   \repeat unfold 4 { c4 }
   \repeat unfold 4 { c,4 }
   c'1
   \bar "|."
}

%% pdf output:
\score {
  % \new StaffGroup
  <<
    \new Staff
      \with { instrumentName = "Cello." }
      {
        \clef C
        \tempo \markup { \note #"4" #UP \lower #0.5 \normal-text "≃ 104-108" }
        \introCello
        \wiederCello
        \endeCello
      }
    \new PianoStaff
      \with { instrumentName = "Piano." }
      <<
        \new Staff {
          \tempo \markup { \note #"4" #UP \lower #0.5 \normal-text "≃ 104-108" }
          \introRH
          \wiederRH
          \endeRH
        }
        \new Staff {
          \clef F
          \tempo \markup { \note #"4" #UP \lower #0.5 \normal-text "≃ 104-108" }
          \introLH
          \wiederLH
          \endeLH
        }
      >>
  >>
  \layout {
    system-count = 2
  }
}

\score {
  % \new StaffGroup
  <<
    \new Staff {
      \clef C
      \codaCello
    }
    \new PianoStaff
      <<
        \new Staff
          \with { instrumentName = \markup\fontsize #4 \musicglyph #"scripts.coda" }
          \codaRH
        \new Staff {
          \clef F
          \codaLH
        }
      >>
  >>
  \layout {
    ragged-right = ##f
  }
}

%% midi output :
\include "articulate.ly"  %% => http://lilypond.org/doc/v2.18/Documentation/notation/the-articulate-script.de.html

\score {
  <<
  \new Staff
    \with { midiInstrument = "cello" }
    {
      \introCello
      \unfoldRepeats { \wiederCello }
      \endeCello
      \introCello
      \wiederCello
      \codaCello
    }
  \new Staff
    \with { midiInstrument = "acoustic grand" }
    {
      \introRH
      \unfoldRepeats { \wiederRH }
      \endeRH
      \introRH
      \wiederRH
      \codaRH
    }
  \new Staff
    \with { midiInstrument = "acoustic grand" }
    {
      \introLH
      \unfoldRepeats { \wiederLH }
      \endeLH
      \introLH
      \wiederLH
      \codaLH
    }
  >>
  \midi {
    \tempo 4 = 108
  }
}

Gruß,
Pierre
Titel: Re: midi und d.c. al Fine
Beitrag von: martinusbaum am Sonntag, 1. März 2015, 10:41
hallo,
vielen Dank für die Geduld!

werde es so umsetzen. Danke