Einstieg in Klaviermusik und Akkorde über mehrere Stimmen

Begonnen von jonas, Sonntag, 22. April 2018, 17:04

« vorheriges - nächstes »

jonas

Hallo,
ich habe Probleme beim Einstieg zum Setzen von Klaviermusik. Ich möchte Folgendes setzen:


Dazu habe ich die Dateien im Anhang geschrieben. Meine Fragen sind nun:

  • Wie erreiche ich es, dass die Akkorde so untereinander gesetzt werden wie im Bild?
  • Wie ist der generelle Ansatz, wenn das ganze Stück so geschrieben ist? Erst alle Stimmen für eine Hand schreiben, dann die andere, dann zusammensetzen?
  • Gibt es Tutorials speziell zum Setzen von Klaviermusik in Lilypond? Englisch ist auch okay.

Danke schonmal!

harm6

#1
Hallo,

hier eine kommentierte Fassung, vielleicht hilft das ja schon.

%%%%%%%%%%%%%%%%%
%% Version
%%%%%%%%%%%%%%%%%

\version "2.18.2"

%%%%%%%%%%%%%%%%%
%% toplevel stuff
%%%%%%%%%%%%%%%%%
\language deutsch

% Größe
% #(set-global-staff-size 14 )

%%%%%%%%%%%%%%%%%
%% header, probably general \layout and \paper as well
%%%%%%%%%%%%%%%%%
\header {
  title = "Le Roi et l'Oiseau"
  subtitle = "Der König und die Spottdrossel"
}

% Takte der letzten Zeile nicht strecken
% \layout {
%   ragged-last = ##t
% }

%%%%%%%%%%%%%%%%%
%% global variable with settings for all Staves
%%%%%%%%%%%%%%%%%
global = {
  \key g \major
  \time 6/8
  \tempo 4. = 60
}

%%%%%%%%%%%%%%%%%
%% Voices
%%%%%%%%%%%%%%%%%
upI =
  \new Voice = "upI"
    \relative c'' {
      \voiceOne
      cis4.~ cis4 fis8 |
    }
 
middleI =
  \new Voice = "middle1"
    \relative c {
      %% start Voice in lower Staff
      \change Staff = "lower"
      \voiceOne
      fis8~
      cis'~
      %% switch to upper Staff
      \change Staff = "upper"
      \voiceTwo
      fis8~
      %% initiate crossStaff Stems
      \crossStaff { < a fis >4. }
    }

downI =
  \new Voice = "downI"
    \relative c {
      \clef bass
      \key g \major
      %% dynamics could be created with make-dynamic-script and put in separate
      %% Dynamics-context, for now I let it as is.
      <>_\markup{\dynamic{mf} \italic{ ma espressivo e cantabile }}
      %% Some trickery to get the Ties correct
      \hideNotes
      fis4*1/2~ cis'4_~
      \unHideNotes
      <fis, cis'>4.
    }

%%%%%%%%%%%%%%%%%
%% Staves, name them
%%%%%%%%%%%%%%%%%
upperStaff =
  \new Staff = "upper"
    %% more space between the top Staff and next Staff
    \with {
      \override VerticalAxisGroup.staff-staff-spacing =
        #'((basic-distance . 3.5)
           (padding . 4))
    }
    %% NB:
    %% << ... >> means: simultaneous music, let it happen at the same time
    %% as opposed to { ... }, sequential music, let it happen one after the other
    <<
      \global
      \upI
      %% applying middleI here in the upper Staff is easier, even if middleI
      %% has to start with \change Staff then
      \middleI
    >>
   
lowerStaff =
  \new Staff = "lower"
    <<
      \global
      \downI
    >>

%%%%%%%%%%%%%%%%%
%% final Score
%%%%%%%%%%%%%%%%%
\score {
  %% instrumentName in \with
  \new PianoStaff \with { instrumentName = #"Piano  " }
  <<
    \upperStaff
    \lowerStaff
  >>
  %% Score-layout
  \layout {
    \context {
      \PianoStaff
      %% To get the possibility of crossStaff Stems
      \consists \Span_stem_engraver
    }
    \set tieWaitForNote = ##t
  }
  %% midi
  \midi { }
}


Tutorials für Klaviermusik an sich gibt es glaub ich nicht. Es ist im wesentlichen halt mehrstimmige Musik und das ist dokumentiert. Allerdings hat Klaviermusik häufig doch recht lose zusammenhängende Stimmen etc. Das macht die Sache schwieriger aber nicht eigentlich anders.

Gruß,
  Harm

jonas

Vielen Dank, das ist genau das, was ich gesucht habe. Ich werde nun versuchen, die drei Stimmen dort einzubauen. Das ganze Stück ist in diesem Stil geschrieben, gibt es noch einige Tips, wie man sich beim Setzen das Leben einfacher machen kann?

harm6

Zitatgibt es noch einige Tips, wie man sich beim Setzen das Leben einfacher machen kann?

- Kommentiere ausführlich was Du machst, besonders aber warum. Aber ich glaube das machst Du schon.
- Achte auf eine sinnvolle indentation.
- Wenn das file zu lang wird lagere Stimmen in andere files aus und includiere sie.
- Setze immer ein Leerzeichen vor und nach { bzw }. In (zugegeben) seltenen Fällen kommt es sonst zu einem schwer zu findenden error
- Mach Dir immer wieder klar wo Du Klammern setzt, vor allem warum. Die Klammerpaare {...}, << ... >>, < ... > und in scheme ( ... ) haben alle eine ganz bestimmte Bedeutung.
- Setze Taktzahlen, o.ä. als zusätzlichen Kommentar.

Generell ist Übersichtlichkeit des Codes von gar nicht zu überschätzender Wichtigkeit.

Du wirst wahrscheinlich auf die ein oder andere Schwierigkeit stossen, die Dir nicht direkt lösbar erscheint. Falls in den Docs nichts zu finden ist, schau ein weiteres mal rein ;) Auch in den Index.
Danach in die Archive der mailing-list.
Falls alles nicht hilft, frag hier :)
Natürlich immer mit Versionsangabe und tiny example-code.
Das Erstellen eines minimalen Code-Beispiels führt nicht selten dazu, daß man das Problem selbst erkennt.

Soweit was mir auf die Schnelle einfällt...

Gruß,
  Harm

jonas

Danke für die Hinweise.
Ich habe das Stück jetzt fertig geschrieben, allerdings noch größere Schwierigkeiten mit den Ties. Zuerst das kleinere Problem:
Warum wird der Tie im Minimalbeispiel (siehe Anhang) nicht gesetzt? Ich sehe keinen Unterschied zu den anderen Takten.

Malte

Zitat von: jonas am Sonntag, 13. Mai 2018, 11:34
Warum wird der Tie im Minimalbeispiel (siehe Anhang) nicht gesetzt? Ich sehe keinen Unterschied zu den anderen Takten.
Du siehst keinen Unterschied, weil du den Unterschied unsichtbar gemacht hast ;) Es hilft in Fällen mit unsichtbaren Noten, die Noten zumindest vorübergehend sichtbar zu machen. Wenn du \hideNotes in Z. 76 auskommentierst, siehst du, daß dein unsichtbares h in der falschen Oktave steht.

Das \once \tieDown an der Stelle ist übrigens nicht nötig. Und falls du das tatsächlich mal brauchen solltest: Man kann auch die Richtung von einzelnen Ties festlegen, indem man statt ~ einfach _~ (runter) oder ^~ (rauf) schreibt.

jonas

Aah, daran habe ich nicht gedacht. Das hilft mir weiter. Danke, auch für den Tip!