Bass mit als Buchstaben oder Ziffern angeben

Begonnen von juerg5524, Mittwoch, 4. August 2021, 14:49

« vorheriges - nächstes »

juerg5524

Im Anhang befinden sich die Original-Datei (.gif) und meine LilyPond-Datei. Ich möchte nun wie im Original die Bass-Angaben (Buchstaben "Bb" usw.) unter die Diskant-Noten setzen. Dabei sollten die Bass-Noten im Layout entfernt werden und nur die Bass-Angaben stehen bleiben. Dann kann ich aber keine Lyrics verwenden!

Hat jemand eine Idee, welcher Weg zielführend sein könnte?

Arnold

Hallo Juerg,

ich habe für den Stradella-Baß (die Knopf-Baß-Seite des Piano-Akkordeons) vor langer Zeit folgende Idee verwirklicht:

  • Noten werden »wie absolut« eingegeben, aber die Oktaven haben dabei eine Funktionsbedeutung:
    x,, = Baßton auf der Terzreihe
    x, = Baßton
    x = Dur-Dreiklang
    x' = Moll-Dreilkang
    x'' = Septakkord
    x''' = verminderter
    Bei der Steirischen kommen nur Baßton, Dur-Dreiklang und (nicht bei allen Instrumenten) Moll-Dreiklang vor.
  • Damit diese Funktionsinformation immun gegen ein Transponieren wird, hatte ich das sofort in eine \stradellaMode genante Funktion gekapselt. Diese Music-Map-Funktion liest die Oktave aus den Note-Events und setzt in den Note-Events ein (neues) Attribut, welches die Funktion beschreibt, also »Baßton«, »Dur«, »Moll« u.s.w.
  • Mit weiteren Music-Map-Funktion konnte ich dann in der Baß-Notenzeile (je nach Bedarf und gewünschter Druckausgabe) die weiteren Darstellungsdetails (oder auch Midi-Ausgabedetails) regeln:
    • Für den Stradella-Baß die Baßtonnotenköpfe unter der Mittellinie verschieben, Dreiklangtöne ergänzen und deren Notenkpöpfe über der Mittellinie platzieren, Textbeschriftungen mit den Baß- bzw. Akkordnamen hinzufügen - deutsche und amerikanische Akkordenschreibweise
    • Für die Steirische den passenden Funktionbuchstaben (Ziffer beim Örgeli) suchen und hinzufügen, den Notenkopf klein und transparent schalten, Hälse, Balken und Fähnchen unterdrücken, feste Y-Position des Notenkopfs relativ zur Notenzeile (die Notenzeile selbst wird, ob sichtbar oder transparent, zum Druckbalken)
    • Für die Stradella-Midi-Ausgabe die Multi-Oktav-Verdoppelung simulieren

Arnold

Manuela

Zitat von: juerg5524 am Mittwoch,  4. August 2021, 14:49
ch möchte nun wie im Original die Bass-Angaben (Buchstaben "Bb" usw.) unter die Diskant-Noten setzen. Dabei sollten die Bass-Noten im Layout entfernt werden und nur die Bass-Angaben stehen bleiben. Dann kann ich aber keine Lyrics verwenden!

Ehrlich gesagt ist mir nicht klar, was gemeint ist und wieso du keine Lyrics verwenden kannst.

Ich habe mir vor sehr langer Zeit Gedanken über eine Griffschrift gemacht, vll helfen dir die Anmerkungen zur Bassnotation weiter: Griffschrift für die Steirische Harmonika
Danke für eure Hilfe
viele Grüße
-- Manuela

juerg5524

Danke Manuela

Das Beispiel von dir, wäre vermutlich genau das, was ich bräuchte. Leider bringe ich es aus den Angaben nicht zusammen. Die Codes unter "Layout" und "Score" sind dieselben. Ist das korrekt?

Mit dem Anhang erhalte ich diverse Fehler. Kannst du mir bitte weiterhelfen?

Viele Grüsse
Jürg

Manuela

#4
Du hast recht, das Beispiel ist nicht gut, weil kein kompletter funktionierender Code enthalten ist.

Hier ein funktionierendes Beispiel:
\version "2.22.0"

APause = \markup { \musicglyph #"rests.3" } %% Achtelpause
notes = \relative c'' {
  < e c >8. b16
  q8 < c b, >16 q
}

ZugDruck = \new Dynamics {
  \override Hairpin.height = #0
  \repeat unfold 2 { s2\< s\!  }
}

Bass = \new Lyrics \lyricmode {
  C8 c8 B c c4 c
  C8 \APause % eine Achtelpause
  F B
  c4 B
}

%% untere Bassreihe
Bassu =  \new Lyrics \lyricmode {
  \skip 2
  C4 C
  \skip 2
  C2
}

\new StaffGroup
<<
  \repeat unfold 4 \notes
  \ZugDruck
  \Bass
  \Bassu
>>


Das Beispiel enthält jetzt nur die Bassnotation unterhalb der Notenzeile, die Sonderzeichen, die die Reihe kennzeichnen, habe ich weggelassen, ich nehme an, du brauchst das eh nicht.

Update: falls du die Sonderzeichen brauchst, ich habe den verlinkten Code korrigiert
Danke für eure Hilfe
viele Grüße
-- Manuela

juerg5524

Manuela,

vielen Dank für deine Unterstützung! Bei deinem Beispiel ist der Balg-Druck-Balken zu lang. Er endet erst nach dem nächsten Notenkopf.

Das Beispiel auf miraheze.org bringe ich immer noch nicht zum Laufen (bass.ly im Anhang). Ich erhalte nach der Funktion

\void #(ly:parser-set-note-names pitchnames)

notes = \relative c'' {
  < ei ci >8. be16
  q8 < ci bi, >16 q
}

den Fehler

bass.ly:49:19: Fehler: falscher Typ für Argument 2; music erwartet, "c" gefunden
notes = \relative
                  c'' {

Weisst du, was hier schief läuft?

Vielen Dank und Grüsse
Jürg

Manuela

Bitte entschuldige Jürg ich habe vergessen, ein paar Definitionen in meinen Code einzufügen, ich habe entsprechende Korrekturen auf meiner Webseite angebracht. Jetzt gibt es das komplette kompilierbare Beispiel mit einem Mausklick zum Kopieren.

Die Länge der Druckbalken kannst du mit folgendem Code steuern
\once \override Hairpin.shorten-pair = #'(links . rechts)

wobei links und rechts (Zahlen mit Kommapunkt) angeben, um wieviel der Balken verkürzt werden soll. Negative Angaben verlängern die Balken.
Danke für eure Hilfe
viele Grüße
-- Manuela

juerg5524

Manuela,

vielen herzlichen Dank. Jetzt ist es perfekt!

Grüsse
Jürg