Lilypond Userthread

  • Ersteller musikuss
  • Erstellt am
Ja, so ähnlich geht's mir mit Denemo auch. Ich glaube, da müssen die separaten Stimmen in separaten Systemen eingegeben werden, die dann in der Ausgabe wieder kombiniert werden.
Tatsächlich, bin jetzt im Handbuch auch etwas weiter und habe mal meine MusicXML importiert, jetzt wird es langsam klarer.

1618698919999.png


In Musescore sieht es so aus:
1618699255232.png


Aha, da ist es wieder: "Hilf, Herr, meines Lebens".
Mein erstes Album wird sein "100 Arten Hilf Herr meines Lebens zu spielen" :)
Nein mal im ernst. Das Lied ist ein wunderbares Übungsobjekt. Auf den ersten Blick sehr leicht aber beim Harmonisieren nicht ohne.
 
Hallo Christian,

dann geht es ja mit Denemo so langsam voran.
Ich bleibe trotzdem lieber bei der textbasierten Eingabe, das ist vor allem flexibler, man hat volle Kontrolle und auch viel mehr Möglichkeiten.

Der Satz
In Musescore sieht es so aus:
ist einerseits ein hilfreicher und scheinbar harmloser Hinweis.
Andererseits schwingt da die Aussage mit "das macht Musescore", wo doch das Ergebnis so aussehen sollte, wie man es möchte, nicht, wie ein Programm es automatisch glaubt, darstellen zu müssen.

Der Ausschnitt ist ja inhaltlich völlig problemlos (auch mit LilyPond), denn interessant/schwierig wird es erst bei Kollisionen, von denen man hier völlig verschont bleibt.



Text vs. Grafik


Da wir uns hier im LilyPond-Thread befinden, möchte ich nicht nur eine LilyPond-Version des Ausschnittes einstellen, sondern auch auf ein paar Besonderheiten hinweisen (bezogen auf das konkrete Notenbeispiel):
  • Eine grafische Wysiwig-Oberfläche bedeutet nicht nur "what you see is what you get", sondern auch "what you see is all you've got":
  • In LilyPond-Code können hilfreiche Kommentare hinterlegt werden
  • Der cantus firmus bzw. die Melodie wird umspielt. In Deiner (lesefreundlichen) MuseScore-Variante wechselt sie deshalb zwischen 1. und 2. Stimme.
  • In LilyPond könnte man das exakt genau so umsetzen.
  • Ich möchte aber einen anderen Weg gehen und den cantus firmus komplett in "Stimme 1" lassen.
    Ziel: Zwei Ausgaben aus ein und demselben Eingabematerial
    • Manualiter: wie in Deinem MuseScore-Beispiel, in dem der cantus Firmus die "Stimme" wechselt
    • Eine zweite Variante mit zwei Manualen und Pedal, so dass der cantus firmus mit einem Solo-Register auf einem zweiten Manual gespielt werden kann und die umspielende Begleitstimme komplett in der linken Hand liegt
Aus diesem Grunde habe ich die drei Stimmen \voiceA bis C definiert, wobei in \voiceA und \voiceB die Stimmzuordnung geändert werden kann, damit der cantus firmus die Stimmen wechselt und so eine lesbare Darstellung erreicht wird.
Besonderheit: diese Stimmwechsel-Befehle habe ich jeweils mit einem \tag versehen, den ich #'man wie "manualiter" genannt habe.
In der zweiten (alternativen) Ausgabe können dann diese markierten Befehle durch \removeWithTag #'man entfernt werden, so dass die beiden Stimme wieder komplett eigenständige Stimmen werden, u. a. auch mit automatischer Halsrichtung. In der zweiten Variante werden die drei Stimmen dann auch auf drei Systeme (zwei Manuale und ein Pedal) aufgeteilt.
Wohlgemerkt - aus ein und demselben LilyPond-Code, so dass auch Änderungen sofort auf beide Varianten durchschlügen.

Code:
\version "2.22.0"

voiceA = \relative {
  \key d \minor
  \tag #'man \voiceTwo d'4 \tag #'man \voiceOne a' a g |
  a2 a |
  d4 c a g |
}

voiceB = \relative {
  \key d \minor
  \tag #'man \voiceOne f'16 g a g \tag #'man \voiceTwo f d f e  d e f d e d d e |
  f8 d f e d e f g |
  bes16 a g bes a g f a f e d f e d c e |
}

voiceC = \relative {
  \clef bass
  \key d \minor
  d,1 |
  d2 d |
  r d4 g |
}

% Cantus firmus wechselt zwischen Stimme A und Stimme B
\score {
  \new PianoStaff <<
    \new Staff <<
      \new Voice \voiceA
      \new Voice \voiceB
    >>
    \new Staff \voiceC
  >>
  \layout {}
  \midi {}
}

% Zwei Manuale und Pedal: Cantus firmus als Solo-Stimme
\score {
  \removeWithTag #'man <<
    \new PianoStaff <<
      \new Staff \voiceA
      \new Staff \voiceB
    >>
    \new Staff \voiceC
  >>
  \layout {}
  \midi {}
}

Zum Vergleich Deine MuseScore-Ausgabe und meine beiden LilyPond-Ausgaben:

MuseScore:
1618738137310.png

Die Hälse sind teilweise unüblich/unnötig lang, sonst aber doch völlig in Ordnung.

LilyPond Variante 1:
Den oktavierten Basschlüssel habe ich in meinen Umsetzungen bewusst ignoriert, könnte man aber natürlich auch benutzen.
1618738293823.png


LilyPond Variante 2:
Aus identischem Eingabe-Code drei komplett separate Stimmen auf drei Systeme aufgeteilt, so dass der cantus firmus mit der rechten Hand auf einem Solo-Manual gespielt werden kann:
1618738986228.png


Das mag jetzt wie eine Spielerei aussehen, ist aber beispielsweise in Orchestermusik extrem hilfreich, wenn Partitur und Stimmauszüge Unterschiede aufweisen (nicht musikalisch, aber Anmerkungen oder z. B. oktavierte Abschnitte in der Partitur, um Platz zu sparen, aber Klarinettisten mögen das in ihren Stimmauszügen nicht, weil Klarinetten nicht in die Oktave überblasen.

Viele Grüße
Torsten

Edit: Wie peinlich! Ein überflüssiges \oneVoice stehenlassen. Code angepasst und Beispielgrafik nachträglich ersetzt.
 
Zuletzt bearbeitet:
Erst einmal vielen Dank für deine Mühe.

Das mag jetzt wie eine Spielerei aussehen, ist aber beispielsweise in Orchestermusik extrem hilfreich, wenn Partitur und Stimmauszüge Unterschiede aufweisen
Ich finde diese Art auch ganz praktisch. Selbst bei normaler Musik lassen sich so recht übersichtlich die Stimmen überblicken wie diese verlaufen und wenn man noch weitere Anweisungen für Abschnitte bezogen auf eine Stimme machen möchte, dann ist es so zumindest übersichtlicher.

Den oktavierten Basschlüssel habe ich in meinen Umsetzungen bewusst ignoriert
Eigentlich war/ist der nicht geplant. Musescore macht das aus irgendeinen Grund neuerdings von alleine und ich kann es zwar abschalten aber beim Export ist er wieder da. Scheinbar ist das aber ein bekanntes Problem.

Was ich mir erhoffe ist sofern ich in Lilypond einmal einen brauchbaren Stand erreiche dort einfacher Arbeiten zu können. Die ganzen Wysiwig-Oberflächen sind zwar im ersten Moment praktisch, aber gerade beim Komponieren komme ich in MuseScore aber auch anderen sehr schnell an die Grenzen der Verzweiflung. Wenn ich nicht genau weiß was im Takt/Abschnitt passieren soll fange ich z.B an halbe Noten zu nehmen, dann sehe ich ach da könnte eine viertel besser passen und ich habe dann ein Abschnitt mit meinem Notenwert und alles dahinter bleibt unverändert mit Dutzenden Pausen und ich muss jede Note von Hand verschieben nur um zu sehen dass es doof ist und das Spielchen noch hunderte Male machen muss. Da ist eine Änderung im Text sehr viel angenehmer wenn sich das dahinter dann entsprechend mit bewegt und nicht Stur am Ort bleibt wo es mal war.

Gerade etwas mitten im Stück zu verändern ist in den meisten Editoren ein Drama in 4 Akten.
 
Da ist eine Änderung im Text sehr viel angenehmer

Ich finde es auch praktisch, dass man beim Komponieren/Arrangieren einfach in der "Findungsphase" alternative Passagen auskommentieren kann, dann bleiben sie/die Idee erhalten, denn oft kommt man wieder auf den ersten Gedanken zurück.
Auch Anmerkungen/Kommentare können extrem hilfreich sein. Und sei es ein Verweis auf Seite/Zeile/Takt in einer Vorlage oder was auch immer.
 
So,

ich habe mich mal etwas mit dem ganzen befasst und ein kleines Stück für mein Harmonium geschrieben. Optisch sieht es schon einmal schick aus, aber durch die IDE scheint der Quelltext unheimlich komplex zu sein was er wohl so nicht müsste. Hier einmal das Ergebnis in LillyPond und PDF.
 

Anhänge

  • lied-2.pdf
    153,3 KB · Aufrufe: 115
  • Quelltext.pdf
    39,3 KB · Aufrufe: 124
Gibt es einen Grund dafür, dass Du die Hälse mit \stemUp und \stemDown einzeln befehlst? Bei mir macht es das automatisch.
Zur allgemeinen Dateistruktur kann ich nichts sagen. Die ist bei mir auch meist komplexer als sie wahrscheinlich sein müsste.
Ich bin einfach froh, wenn das Erscheinungsbild stimmt.
 
Das scheint direkt von Denemo so gemacht zu werden, daher ist es auch schon wieder so aufgebläht.

EDIT:
So geht es genau so gut. Ist aber trotzdem irgendwie noch immer wenig übersichtlich:
Code:
PartPOneVoiceOne =  \relative d' {
  \clef "treble" \numericTimeSignature\time 4/4 \key d \major | % 1
  
   d8 fis8  g8  a8 ~  a2 | % 2
   d,8  fis8  g8  a8 ~  a2 | % 3
   d8  cis8  a4  d8  cis8   a4 | % 4
   d8  cis8  a8  g8 ~  g8
   d8  g8  d8 ~ | % 5
   d8  g8  a8  b8 ~  b2 | % 6
   d,8  g8  a8  b8 ~  b2 | % 7
   d8  b8  g4  d'8  b8   g4 | % 8
   e'8  d8  b8  a8 ~  a8   e8  a8  e8 ~ | % 9
   e8  a8  b8  cis8 ~  cis2 |
  \barNumberCheck #10
   e,8  a8  b8  cis8 ~  cis2 | % 11
   cis8  a8  e4  a8  e8  cis4 | % 12
   d'8  cis8  a4  d8  cis8   a4 | % 13
   d8  b8  g4  d'8  b8 g4 | % 14
   cis8  a8  e4  a8  e8   cis4 | % 15
   g'8  e8  cis4  e8  cis8 ~ cis4 | % 16
   d8  fis8  g8  a8 ~  a2 | % 17
   d,8  fis8  g8  a8 ~  a2 | % 18
   d8  cis8  a4  d8  cis8 a4 | % 19
   d8  cis8  a8  g8 ~  g8  d8  g8  d8 ~ | \barNumberCheck #20
   d8  g8  a8  b8 ~  b2 | % 21
   d,8  g8  a8  b8 ~  b2 | % 22
   d8  b8  g4  d'8  b8 g4 | % 23
   e'8  d8  b8  a8 ~  a8  e8  a8  e8 ~ | % 24
   e8  a8  b8  cis8 ~  cis2 | % 25
   e,8  a8  b8  cis8 ~  cis2 | % 26
   cis8  a8  e4  a8  e8  cis4 | % 27
   a'8  fis8  d4  a'8  fis8 d4 | % 28
   g8  e8  d4  g8  e8  d4 | % 29
   cis'8  a8  e4  a8  e8 cis4 | \barNumberCheck #30
   a'8  e8  cis4  e8  cis8 ~  cis4 | % 31
   d8  fis8  a4 \trill  a2 \fermata \bar
  "|."
}
 
Zuletzt bearbeitet:
Das scheint direkt von Denemo so gemacht zu werden, daher ist es auch schon wieder so aufgebläht.

Ja. offensichtlich.
Denemo gibt jeder Note ihre Tonöhe, ihre Dauer und Halsrichtung (!) mit. :ugly:

Das mit der Halsrichtung wundert mich jedoch, das konnte ich so in einem kleinen Testbeispiel nicht nachvollziehen.
Dafür setzt er bei mir immer bewusst einen Taktstrich \AutoBarline, der als {} (nichts) definiert ist.


So geht es genau so gut. Ist aber trotzdem irgendwie noch immer wenig übersichtlich:

Tja, so ist das eben meist mit maschinengeneriertem Code.

Abgesehen von den expliziten \stemUp- und \stemDown-Anweisungen würde man bei manueller Eingabe auch auf unnötige Notenlängen- oder Tonhöheneingaben verzichten (je nach Fall oder Geschmack).

Wenn man die unnötigen expliziten Tondauer-Angaben entfernt, sieht es gleich etwas freundlicher aus (keine Angst, das habe ich nicht von Hand gemacht, das kann Frescobaldi sehr schön.

Dein Denemo-Coding sähe dann so aus.

Code:
\version "2.22.0"

PartPOneVoiceOne =  \relative d' {
  \clef "treble" \numericTimeSignature\time 4/4 \key d \major | % 1
 
 d8 fis g a ~ a2 | % 2
 d,8 fis g a ~ a2 | % 3
 d8 cis a4 d8 cis a4 | % 4
 d8 cis a g ~ g
 d g d ~ | % 5
 d g a b ~ b2 | % 6
 d,8 g a b ~ b2 | % 7
 d8 b g4 d'8 b g4 | % 8
 e'8 d b a ~ a e a e ~ | % 9
 e a b cis ~ cis2 |
 \barNumberCheck #10
 e,8 a b cis ~ cis2 | % 11
 cis8 a e4 a8 e cis4 | % 12
 d'8 cis a4 d8 cis a4 | % 13
 d8 b g4 d'8 b g4 | % 14
 cis8 a e4 a8 e cis4 | % 15
 g'8 e cis4 e8 cis ~ cis4 | % 16
 d8 fis g a ~ a2 | % 17
 d,8 fis g a ~ a2 | % 18
 d8 cis a4 d8 cis a4 | % 19
 d8 cis a g ~ g d g d ~ | \barNumberCheck #20
 d g a b ~ b2 | % 21
 d,8 g a b ~ b2 | % 22
 d8 b g4 d'8 b g4 | % 23
 e'8 d b a ~ a e a e ~ | % 24
 e a b cis ~ cis2 | % 25
 e,8 a b cis ~ cis2 | % 26
 cis8 a e4 a8 e cis4 | % 27
 a'8 fis d4 a'8 fis d4 | % 28
 g8 e d4 g8 e d4 | % 29
 cis'8 a e4 a8 e cis4 | \barNumberCheck #30
 a'8 e cis4 e8 cis ~ cis4 | % 31
 d8 fis a4 \trill a2 \fermata \bar
 "|."
}

Ein Vorteil ist übrigens, dass im automatisch generierten Code immer schön brav die Taktnummer als Kommentar angefügt ist (auch, wenn der den Schlüssel usw. als eigenen Takt mitzählt).

Viele Grüße
Torsten
 
  • Gefällt mir
Reaktionen: 1 Benutzer
Danke, im Bass wäre es von Hand dann folgendermaßen richtig?
Code:
d4  <fis a>-.  <fis a>-. <fis a>-. | % 2
Erst d4, dann fis und a Staccato zusammen dreimal.
 
Denemo kenn ich leider nicht.
Ich benutze Frescobaldi und es klappt immer besser.
Die "überflüssigen" Tondauern sind mir vor lauter \stemUp und \stemDown gar nicht aufgefallen.

Danke, im Bass wäre es von Hand dann folgendermaßen richtig?
Code:
d4 <fis a>-. <fis a>-. <fis a>-. | % 2
Denke schon, probiere es doch aus ;)
 
  • Gefällt mir
Reaktionen: 1 Benutzer
Danke, im Bass wäre es von Hand dann folgendermaßen richtig?
Code:
d4 <fis a>-. <fis a>-. <fis a>-. | % 2
Erst d4, dann fis und a Staccato zusammen dreimal.

Ja.
Und als weitere Vereinfachung kann man bei Akkordwiederholungen einfach ein q schreiben.
Ein "Akkord" ist in dem Fall alles, was in spitzen Klammern steht: q ersetzt den letzten Akkord:

Also
Code:
d4 <fis a>-. q-. q-. | % 2

Ich finde das ganz bequem.

Viele Grüße
Torsten
 
  • Gefällt mir
Reaktionen: 2 Benutzer
Wow, den Tipp kann ich auch gut brauchen, Dankeschön!
 
Ich stehe wieder einmal vor einem Problem.

Ich habe jetzt ein komplexeres Stück geschrieben und möchte gerne für die einzelnen Notenzeilen eine Beschreibung wie Manual 1, Manual 2 und Pedal vorsetzen. Ich bekomme es nur leider nicht hin...

Da wo jetzt Orgel steht soll es an die einzelnen Zeilen vorgesetzt werden.
1624192951275.png


Code:
% The score definition
\score {
  <<

    \new StaffGroup \with {
      systemStartDelimiter =
      #'SystemStartBrace
    }

    <<
      \new PianoStaff
      <<
        \set PianoStaff.instrumentName = "Orgel"
        \set PianoStaff.shortInstrumentName = "Manual 1"

        \context Staff = "1" <<
          \mergeDifferentlyDottedOn\mergeDifferentlyHeadedOn
          \context Voice = "PartPOneVoiceOne" {  \voiceOne \PartPOneVoiceOne }
          \context Voice = "PartPOneVoiceTwo" {  \voiceTwo \PartPOneVoiceTwo }
        >> \context Staff = "2" <<
          \mergeDifferentlyDottedOn\mergeDifferentlyHeadedOn
          \context Voice = "PartPOneVoiceFive" {  \voiceOne \PartPOneVoiceFive }
          \context Voice = "PartPOneVoiceSix" {  \voiceTwo \PartPOneVoiceSix }
        >> \context Staff = "3" <<
          \mergeDifferentlyDottedOn\mergeDifferentlyHeadedOn
          \context Voice = "PartPOneVoiceNine" {  \PartPOneVoiceNine }
        >>
      >>

    >>

  >>
  \layout {}
}
\score {
  \unfoldRepeats \articulate {

    \new StaffGroup \with {
      systemStartDelimiter =
      #'SystemStartBrace
    }

    <<
      \new PianoStaff
      <<
        \set PianoStaff.instrumentName = "Orgel"
        \set PianoStaff.shortInstrumentName = "Manual 1"

        \context Staff = "1" <<
          \mergeDifferentlyDottedOn\mergeDifferentlyHeadedOn
          \context Voice = "PartPOneVoiceOne" {  \voiceOne \PartPOneVoiceOne }
          \context Voice = "PartPOneVoiceTwo" {  \voiceTwo \PartPOneVoiceTwo }
        >> \context Staff = "2" <<
          \mergeDifferentlyDottedOn\mergeDifferentlyHeadedOn
          \context Voice = "PartPOneVoiceFive" {  \voiceOne \PartPOneVoiceFive }
          \context Voice = "PartPOneVoiceSix" {  \voiceTwo \PartPOneVoiceSix }
        >> \context Staff = "3" <<
          \mergeDifferentlyDottedOn\mergeDifferentlyHeadedOn
          \context Voice = "PartPOneVoiceNine" {  \PartPOneVoiceNine }
        >>
      >>

    >>

  }
  \midi {\tempo 4 = 60 }
}
 
Hallo Christian,

Dein Beispiel lässt sich nicht kompilieren, weil die Stimmendefinitionen PartPOneVoiceOne usw. fehlen und articulate.ly nicht eingebunden ist.
Außerdem sollte man immer eine Versionsnummer angeben.
Ich habe einfach mal die aktuelle stabile Version

\version "2.22.1"

gesetzt und leere Stimmen mit einem Zeilenumbruch gesetzt, damit man die kurzen Instrumentenbezeichnungen (shortInstrumentName) der Folgezeilen auch sieht.


Da wo jetzt Orgel steht soll es an die einzelnen Zeilen vorgesetzt werden.

Das ist ein grundlegendes Problem, das sich mit dem richtigen Verständnis der Context-Ebenen leicht lösen lässt:

"Orgel" steht zentriert vor dem PianoStaff, weil Du es auf PianoStaff-Ebene definiert hast.

Wenn Du Manual 1, Manual 2 und Pedal vor dein einzelnen Staffs stehen haben möchtest, musst Du die Instrumenten-Namen dort deklarieren, also jeweils hier

\context Staff = "1" <<
\set Staff.instrumentName = "Manual 1"
\set Staff.shortInstrumentName = "M1"

usw.


instrumentName und shortInstrumentName
... beziehen sich auf die Beschriftung der ersten Zeile und der Folgezeilen.

Die beiden geschweiften Klammern verstehe ich nicht und ich habe eine Ebene entfernt.

Außerdem empfiehlt sich, in einem Layout-Block die Einzüge (erste Zeile und Folgezeilen) zu setzen, um genügend Platz für die Beschriftungen zu schaffen, z. B.

\layout { indent = 20 short-indent = 10 }

Ich habe mal den MIDI-Block weggelassen, den man übrigens deutlich sparsamer gestalten kann, denn ob da die Notenköpfe mit unterschiedlichen Punktierungen gemerged werden oder nicht ist bei MIDI herzlich egal usw..

Mein "minimal working example" sieht dann beispielsweise so aus:

1624232898612.png


mit Deinem leicht angepassten Coding

Code:
\version "2.22.1"

\layout { indent = 20 short-indent = 10 }

PartPOneVoiceOne = { s1 s \break s s }
PartPOneVoiceTwo = { s1 s s s }
PartPOneVoiceFive = { s1 s s s }
PartPOneVoiceSix = { s1 s s s }
PartPOneVoiceNine = { s1 s s s }

% The score definition
\score {
  <<

    \new PianoStaff

    <<

        \context Staff = "1" <<
          \set Staff.instrumentName = "Manual 1"
          \set Staff.shortInstrumentName = "M1"
          \mergeDifferentlyDottedOn\mergeDifferentlyHeadedOn
          \context Voice = "PartPOneVoiceOne" {  \voiceOne \PartPOneVoiceOne }
          \context Voice = "PartPOneVoiceTwo" {  \voiceTwo \PartPOneVoiceTwo }
        >> \context Staff = "2" <<
          \set Staff.instrumentName = "Manual 2"
          \set Staff.shortInstrumentName = "M2"
          \mergeDifferentlyDottedOn\mergeDifferentlyHeadedOn
          \context Voice = "PartPOneVoiceFive" {  \voiceOne \PartPOneVoiceFive }
          \context Voice = "PartPOneVoiceSix" {  \voiceTwo \PartPOneVoiceSix }
        >> \context Staff = "3" <<
          \set Staff.instrumentName = "Pedal"
          \set Staff.shortInstrumentName = "P"
          \mergeDifferentlyDottedOn\mergeDifferentlyHeadedOn
          \context Voice = "PartPOneVoiceNine" {  \PartPOneVoiceNine }
        >>

    >>

  >>
  \layout {}
}


Ansonsten wäre noch die gestalterische Frage, ob man die Akkoladenklammer wirklich über alle drei Systeme ziehen möchte oder ob man das Pedal lieber separat absetzt.
Außerdem wäre es üblich, die dynamischen vertikalen Abstände zwischen den Manualen und dem Pedal unterschiedlich zu gestalten und den Taktstrich nur zwischen Manual 1 und 2 durchzuziehen.
Aber das ist ein anderes Thema.
Nur ein kleiner Hinweis: Wenn die Abstände zwischen den Systemen gedehnt werden müssen, wäre es im Orgel-Notensatz üblich, den Abstand zwischen den beiden Manual-Staffs enger zu halten als den Abstand zum Pedal-Staff.
Das geht über die staff-staff-spacing-Eigenschaft der VerticalAxisGroup, indem man die strechability vor der Pedalzeile entsprechend hochsetzt.

Viele Grüße
Torsten
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: 1 Benutzer
Danke, ich versuche es umzusetzen. Die Noten selbst habe ich ja über eine MusicXML importiert, das Layout selber erstellt. Wäre ja Quatsch alles noch einmal von Hand einzugeben und komponieren ist in LillyPond ja auch eher suboptimal.

Eigentlich mag ich diese Aufteilung in drei Notenzeilen nicht und nehme das Pedal lieber mit in den Bass. Nur in diesem Fall wäre es ja nicht wirklich verständlich. Je mehr Notenzeilen desto mehr muss man lesen, was es ja nicht leichter macht.
 
ChordNames sind seit Upgrade auf 2.22.0 auf "Deutsch" (also "Hb" und "H" ). Zuvor (2.18.2) waren sie auf Englisch ("Bb" & "B"). Ich verwende als Eingabe-Sprache Deutsch, aber ich möchte, dass die Akkorde, wie bisher, bei der Ausgabe die englische Bezeichnung erhalten. Wie kann ich das erreichen? Ich habe die Befehle \germanChords ... \frenchChords gefunden, hier fehlt aber für meinen Bedarf so etwas wie \englishChords.
Kann mir hier jemand weiterhelfen? Oder muss ich auf eine alte Lilypond Version downgraden, damit ich mein gewünschtes Verhalten bekomme?
 
Hmm, gestern habe ich erfolglos Stunden damit zugebracht eine Lösung für mein obiges Problem zu finden, aber jetzt habe ich einen einfachen (wenn auch hässlichen) Workaround gefunden:
Mehrere \language Statements.

Zu Beginn meiner Datei verwende ich
Code:
\language "deutsch"
damit ich meine Noten wie gewohnt eingeben kann. Und darunter, ehe ich den Notensatz erzeuge, schreibe ich dann
Code:
\language "english"
Damit die Akkordnamen wie gewohnt erscheinen.
 
  • Gefällt mir
Reaktionen: 1 Benutzer
Ist ja eher still hier seit einem Jahr.
Ich habe lilypond so richtig erst vor kurzem entdeckt über einen Artikel bei Amazona:
https://www.amazona.de/community/wo...rd-1-oh-gott-das-ist-doch-eine-kommandozeile/

Seitdem benutze ich es aber sehr gern um Riffs oder kurze Melodien zu notieren.
Die können dann schön einfach im Texteditor zusammengestellt und umsortiert oder bei Bedarf auskommentiert werden.
Als Gitarrist kann ich mit einem Kommando die Ausgabe zwischen normaler Notation oder TabFullNotation umstellen und Midi gibt es auch noch.
Dazu läuft das ganze wunderbar unter Linux.
 
Komplett nur mit einem Text Editor ist aber die schwerste Methode das ganze zu nutzen. Schau dir doch mal z.B https://www.frescobaldi.org/ an. Gibt es in fast jeder Distribution und als Flatpak. Da bearbeitet man auch primär/nur im Editor, hat aber gleich eine Vorschau, kann einen Part anklicken und landet gleich in der richtigen Zeile vom Code. Nebenbei sind die Assistenten für die Blätter und einige Dinge eine echte Erleichterung. Alle Ehre das du es ohne machst, aber mach dir das Leben doch nicht unnötig schwer.
 
Für die, die es noch nicht mitgekriegt haben (z. B. weil sie Windows nutzen und per Hand updaten müssen): LilyPond 2.24 ist seit Dezember raus.

Der Changelog ist schon ziemlich mächtig, da sind durchaus spannende Sachen passiert.


Martman
 
  • Gefällt mir
Reaktionen: 1 Benutzer

Unser weiteres Online-Angebot:
Bassic.de · Deejayforum.de · Sequencer.de · Clavio.de · Guitarworld.de · Recording.de

Musiker-Board Logo
Zurück
Oben