Akkordbezeichnung genau über System setzen.

Begonnen von Zappyesque, Samstag, 11. November 2017, 08:07

« vorheriges - nächstes »

Zappyesque

Liebe Leut,
Ich bin eine absolute Lilypond Novize und komme an folgendem Problem nicht vorbei:

Ich will einfach nur um mich ein wenig einzuüben jazz-standards transkribieren (so ziemlich 1:1 wie sie in meinem Real book stehen). Folgendes für Solar:
<<
header {
  title = "Solar"
  composer = "Miles Davis"
}
\chords { c:m7+ }
\repeat volta 1{
\numericTimeSignature \time 4/4
r4 r8 c''8 b'4 d''8 c''8 r8 g'4.~ g'4. a'8 bes'4 bes'8 bes'8 a'4 c''8 bes'8~ bes'1 \break
r4 r8 a'8 gis'4 bes'8 a'8 r8 c'4. f'4. g'8 aes'4 aes'4 g'4 bes'8 aes'8~ aes'2 r2 \break
r8 g'8 f'8 ees'8 d'4 c'4 ges'4 f'8 ees'8 des'4 c'4 f'1 r8 d'8 d'8 e'!8 f'8 g'8 aes'8 bes'8
}
>>

wie bringe ich <<\chords { c:m7+ }>>  an die richtige position? ich will dieses Akkordsymbol über den ersten Takt stehen haben, über den zweiten ein anderes etc.
So wie es derzeit angebracht ist steht es mit großem Abstand über der ersten Zeile...

Danke euch im Voraus!

Malte

Hallo Zappyesque,

willkommen im Forum! Bitte beachte für zukünftige Fragen diesen kurzen Beitrag. Dein Beispielcode hat zwei Fehler, die behoben werden sollten:

  • Ein header-Block muß außerhalb der Musik (also irgendwo vor dem ,,<<") stehen.
  • Es heißt außerdem \header (mit Backslash), nicht header.
  • Abhängig von deiner LilyPond-Version gibts einen weiteren Fehler. Dem kannst du aber auf jeden Fall vorbeugen, indem du die Noten explizit in ein \new Staff setzt (siehe unten).
Außerdem folgende Verbesserungsvorschläge:

  • Auf jeden Fall ein \version-Statement an den Anfang deines Codes setzen. Das hilft nicht nur potenziellen Helfern im Forum (siehe dazu auch der oben verlinkte Beitrag), sondern erspart dir viele Mühen, solltest du mal eine neuere LilyPond-Version nutzen wollen. Dann kann nämlich der Code automatisch aktualisiert werden.
  • \repeat volta 1 ist streng genommen Quatsch: Die Ausgabe als Notenbild ist zwar richtig, aber eigentlich bedeutet eine Wiederholung ja mehr als einen Durchgang. Das wird dann klar und wichtig, wenn du ne 1. und 2. (oder auch 3. oder höhere) Klammer hast oder ein MIDI ausgeben läßt.
  • Eine Frage noch: Setzt du die \break-Anweisungen von Hand, damit du immer genau vier Takte pro Zeile hast? Wenn das das Ziel ist, ok, aber normalerweise kann man sich sonst auf LilyPonds automatischen Zeilenumbruch ganz gut verlassen.
Und ein paar Möglichkeiten, die Eingabe zu vereinfachen, die aber allesamt Geschmacksfrage sind:

  • Du gibts deine Noten im Moment in niederländischen Tonnamen ein. Deutsche Tonnamen gehen auch, dafür müßtest du nur irgendwo an den Anfang deiner Datei (z. B. nach dem \version-Befehl) ein \language "deutsch" setzen. Andere Sprachen sind ebenfalls möglich.
  • Du gibst im Moment Dauern für jeden Ton an. Bei aufeinanderfolgenden gleichen Dauern ist das nicht nötig. Statt ,,c8 d8 e8 f8 g4" kannst du genauso gut ,,c8 d e f g4" schreiben.
  • Wenn dir die ganzen Oktavlagenzeichen zu viel sind, schau dir mal die Noteneingabe mit \relative an. Damit wird aus ,,c'' d'' e'' f'' g'' a'' e'' d'' a'' " einfach ,,c'' d e f g a e d a' ".

So, nun zu deinem eigentlichen Problem:
Eigentlich bist du schon nah dran. Den Header raus, dann sollte es gehen. Dauern von Akkorden kommen vor den Doppelpunkt, auch hier gilt, was ich über mehrere aufeinanderfolgende gleiche Dauern gesagt habe. Dein Code könnte also so aussehen:\version "2.18.2"

\header {
  title = "Solar"
  composer = "Miles Davis"
}

<<
  \chords { c1:m7+ f:9 bes2:maj7 a:9- as1:6 }
  \new Staff \repeat volta 2 {
    \numericTimeSignature
    \time 4/4
    r4 r8 c''8 b'4 d''8 c''8 r8 g'4.~ g'4. a'8 bes'4 bes'8 bes'8 a'4 c''8 bes'8~ bes'1 \break
    r4 r8 a'8 gis'4 bes'8 a'8 r8 c'4. f'4. g'8 aes'4 aes'4 g'4 bes'8 aes'8~ aes'2 r2 \break
    r8 g'8 f'8 ees'8 d'4 c'4 ges'4 f'8 ees'8 des'4 c'4 f'1 r8 d'8 d'8 e'!8 f'8 g'8 aes'8 bes'8
  }
>>


Mit den letzten drei Vorschlägen noch angewendet:\version "2.18.2"
\language "deutsch"

\header {
  title = "Solar"
  composer = "Miles Davis"
}

<<
  \chords { c1:m7+ f:9 b2:maj7 a:9- as1:6 }
  \new Staff \relative {
    \numericTimeSignature
    \time 4/4
    \repeat volta 2 {
      r4 r8 c'' h4 d8 c r g4.~ g a8 b4 b8 b a4 c8 b~ b1 \break
      r4 r8 a gis4 b8 a r c,4. f g8 as4 as g b8 as~ as2 r \break
      r8 g f es d4 c ges' f8 es des4 c f1 r8 d d e! f g as b
    }
  }
>>


Edit: Ach ja, eine kleine Frage noch: Das e im letzten Takt, wieso setzt du da von Hand ein Auflösungszeichen? Wenn das nur zur Erinnerung ist, könntest du dir mal den Befehl \accidentalStyle anschauen.

Zappyesque

Zitat von: Malte am Samstag, 11. November 2017, 09:07
Hallo Zappyesque,

willkommen im Forum! Bitte beachte für zukünftige Fragen diesen kurzen Beitrag. Dein Beispielcode hat zwei Fehler, die behoben werden sollten:

  • Ein header-Block muß außerhalb der Musik (also irgendwo vor dem ,,<<") stehen.
  • Es heißt außerdem \header (mit Backslash), nicht header.
  • Abhängig von deiner LilyPond-Version gibts einen weiteren Fehler. Dem kannst du aber auf jeden Fall vorbeugen, indem du die Noten explizit in ein \new Staff setzt (siehe unten).
Außerdem folgende Verbesserungsvorschläge:

  • Auf jeden Fall ein \version-Statement an den Anfang deines Codes setzen. Das hilft nicht nur potenziellen Helfern im Forum (siehe dazu auch der oben verlinkte Beitrag), sondern erspart dir viele Mühen, solltest du mal eine neuere LilyPond-Version nutzen wollen. Dann kann nämlich der Code automatisch aktualisiert werden.
  • \repeat volta 1 ist streng genommen Quatsch: Die Ausgabe als Notenbild ist zwar richtig, aber eigentlich bedeutet eine Wiederholung ja mehr als einen Durchgang. Das wird dann klar und wichtig, wenn du ne 1. und 2. (oder auch 3. oder höhere) Klammer hast oder ein MIDI ausgeben läßt.
  • Eine Frage noch: Setzt du die \break-Anweisungen von Hand, damit du immer genau vier Takte pro Zeile hast? Wenn das das Ziel ist, ok, aber normalerweise kann man sich sonst auf LilyPonds automatischen Zeilenumbruch ganz gut verlassen.
Und ein paar Möglichkeiten, die Eingabe zu vereinfachen, die aber allesamt Geschmacksfrage sind:

  • Du gibts deine Noten im Moment in niederländischen Tonnamen ein. Deutsche Tonnamen gehen auch, dafür müßtest du nur irgendwo an den Anfang deiner Datei (z. B. nach dem \version-Befehl) ein \language "deutsch" setzen. Andere Sprachen sind ebenfalls möglich.
  • Du gibst im Moment Dauern für jeden Ton an. Bei aufeinanderfolgenden gleichen Dauern ist das nicht nötig. Statt ,,c8 d8 e8 f8 g4" kannst du genauso gut ,,c8 d e f g4" schreiben.
  • Wenn dir die ganzen Oktavlagenzeichen zu viel sind, schau dir mal die Noteneingabe mit \relative an. Damit wird aus ,,c'' d'' e'' f'' g'' a'' e'' d'' a'' " einfach ,,c'' d e f g a e d a' ".

So, nun zu deinem eigentlichen Problem:
Eigentlich bist du schon nah dran. Den Header raus, dann sollte es gehen. Dauern von Akkorden kommen vor den Doppelpunkt, auch hier gilt, was ich über mehrere aufeinanderfolgende gleiche Dauern gesagt habe. Dein Code könnte also so aussehen:\version "2.18.2"

\header {
  title = "Solar"
  composer = "Miles Davis"
}

<<
  \chords { c1:m7+ f:9 bes2:maj7 a:9- as1:6 }
  \new Staff \repeat volta 2 {
    \numericTimeSignature
    \time 4/4
    r4 r8 c''8 b'4 d''8 c''8 r8 g'4.~ g'4. a'8 bes'4 bes'8 bes'8 a'4 c''8 bes'8~ bes'1 \break
    r4 r8 a'8 gis'4 bes'8 a'8 r8 c'4. f'4. g'8 aes'4 aes'4 g'4 bes'8 aes'8~ aes'2 r2 \break
    r8 g'8 f'8 ees'8 d'4 c'4 ges'4 f'8 ees'8 des'4 c'4 f'1 r8 d'8 d'8 e'!8 f'8 g'8 aes'8 bes'8
  }
>>


Mit den letzten drei Vorschlägen noch angewendet:\version "2.18.2"
\language "deutsch"

\header {
  title = "Solar"
  composer = "Miles Davis"
}

<<
  \chords { c1:m7+ f:9 b2:maj7 a:9- as1:6 }
  \new Staff \relative {
    \numericTimeSignature
    \time 4/4
    \repeat volta 2 {
      r4 r8 c'' h4 d8 c r g4.~ g a8 b4 b8 b a4 c8 b~ b1 \break
      r4 r8 a gis4 b8 a r c,4. f g8 as4 as g b8 as~ as2 r \break
      r8 g f es d4 c ges' f8 es des4 c f1 r8 d d e! f g as b
    }
  }
>>


Edit: Ach ja, eine kleine Frage noch: Das e im letzten Takt, wieso setzt du da von Hand ein Auflösungszeichen? Wenn das nur zur Erinnerung ist, könntest du dir mal den Befehl \accidentalStyle anschauen.

Wow, welch geschwinde und ausführliche Antwort. Herzlichsten Dank auch - du hilfst mir mit deinen ganzen Anmerkungen ein großes Stück weiter!
Einige Funktionen leuchten mir jetzt deutlich besser ein. Wie ich schon sagte bin ich ein ganz frischer Lillypod-User (habe mich diese Woche zum ersten mal damit auseinandergesetzt), daher die doch recht blöden Fehler und Fragen...
Tatsächlich handelt es sich bei dem e im letzten Takt lediglich um eine Erinnerung (ich versuche mein Vorlagenbuch wie gesagt eins zu eins zu kopieren).
Ich werde mich mit dem Befehl \accidental style auseinandersetzen.
Vielen Dank!