Deutsches Lilypond Forum (Archiv)

Notationsspezifisch => Noten für Gitarre => Thema gestartet von: trulli am Mittwoch, 14. Oktober 2009, 22:45

Titel: Barre-Klammer für Gitarristen
Beitrag von: trulli am Mittwoch, 14. Oktober 2009, 22:45
Liebe Gitarristen, liebes Forum,

ich möchte hier zwei einfache Möglichkeiten vorstellen, Barreklammern für Gitarristen zu notieren:

Über eine Scheme-Funktion:
\version "2.19.0"

%Barre Defintion VERTIKAL (Arp Definition nach comper)
barre = #(define-music-function (parser location grow) (number?)
#{
  \override Arpeggio.stencil = #ly:arpeggio::brew-chord-bracket
  \once \override Arpeggio.positions  = #(lambda (grob)
    (let ((iv (ly:arpeggio::calc-positions grob))
          (grow-hi (max 0 (/ grow 2)))
          (grow-lo (min 0 (/ grow 2))))
      (cons (+ (car iv) grow-lo) (+ (cdr iv) grow-hi))))
  $(make-music 'EventChord 'elements (list (make-music 'ArpeggioEvent)))
#})


<<
  \clef "treble_8"
 
  \relative c {
   
    \barre #6 %die Zahl definiert die Länge und Ausrichtung des Barres, negative Zahlen zeichnen den Barre nach unten
    c'8^ \markup { \hspace #-.2 "V"} e a e  %\hspace verschiebt die Lagenangabe

    \once \override Arpeggio #'padding = #-.3  %verschiebt die Barreklammer nach rechts oder links
    \barre #6 b8^ \markup { \hspace #-.2 "III"} d g d
  }
  \\
  \relative c, {
    d'2 d  }

>>


oder über \arpeggioBracket in einer versteckten Stimme:
\version "2.12.1"
<<
\clef "treble_8"

\relative c { <e a cis> }
\\
\relative c, { <fis > ^ \markup { \fontsize #-1 { "II" }} }
\\
\relative c, {  \hideNotes               
                \arpeggioBracket
                < fis  cis'' >
                \arpeggio
              }
>>


Ich hoffe das kürzt hier für manchen die Suche ab  :)

Grüße von Trulli

Titel: Re: Barre-Klammer für Gitarristen
Beitrag von: comper am Donnerstag, 15. Oktober 2009, 00:40
Das letzte Beispiel im NR 1.3.3 Arpeggio (http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Lines.de.html#Arpeggio) zeigt wie es doch geht.   
Weitere Beispiele sind im LSR (http://lsr.dsi.unimi.it/LSR/Search?q=connectArpeggios).

Gruss
Titel: Re: Barre-Klammer für Gitarristen
Beitrag von: trulli am Donnerstag, 15. Oktober 2009, 09:43
Ja comper, die Beispiele kenne ich. Aber genau deshalb sucht man sich den Wolf, weil der Hinweis unter Arpeggio steht und nicht unter Klammer oder Barre. Die LSR Konstruktion halte ich für viel zu kompliziert, weil man über Layout-Eigenschaften die Zusammenführung der einzelnen Klammern definieren muss.

Ich habe das hier geschrieben, weil bisher in diesem Forum keine einfache Lösung angeboten wurde.

Grüße von Trulli
Titel: Re: Barre-Klammer für Gitarristen
Beitrag von: ding-dong am Donnerstag, 15. Oktober 2009, 10:44
fragt sich, was da einfacher ist:    oder

die eckige klammer kann übrigens mit
  \override Staff.Arpeggio #'stencil = #ly:arpeggio::brew-chord-bracketerstellt werden (\arpeggioBracket funktioniert hier nicht, da dieser befehl auf den aktuellen kontext beschränkt ist - hier Voice)

im weiteren würde mich interessieren, wie man am einfachsten eine barre-indikation mit gestrichenem C - nur 2-3 saiten werden im barre verwendet - konstruieren würde!

gruss



Titel: Re: Barre-Klammer für Gitarristen
Beitrag von: comper am Donnerstag, 15. Oktober 2009, 11:45
Eben, versteckte Stimmen erzeugen Nebenproblemen; besonders bei 3-stimmige Gitarrensachen. 

Und die overrides sind mit \once leichter handhabbar; ähnlich chordBracket (https://archiv.lilypondforum.de/index.php?topic=244.msg1428#msg1428).

Aber ich fände eine Scheme-Routine noch praktischer:

arpBarre = #(define-music-function (parser location grow) (number?)
#{
  \override Arpeggio #'stencil = #ly:arpeggio::brew-chord-bracket
  \once \override Arpeggio #'positions  = #(lambda (grob)
    (let ((iv (ly:arpeggio::calc-positions grob))
          (grow-hi (max 0 (/ $grow 2)))
          (grow-lo (min 0 (/ $grow 2))))
      (cons (+ (car iv) grow-lo) (+ (cdr iv) grow-hi))))
  $(make-music 'EventChord 'elements (list (make-music 'ArpeggioEvent)))
#})

<<
  \clef "treble_8"
 
  \relative c { \arpBarre #-6 <e a cis> }
  \\
  \relative c, { <fis > ^ \markup { \fontsize #-1 { "II" }} }
>>

Auf einer Aussenstimme setzen und die nötige Verlängerung angeben.

Gruss

Titel: Re: Barre-Klammer für Gitarristen
Beitrag von: ding-dong am Donnerstag, 15. Oktober 2009, 12:35
das sieht super aus - nur schade, dass die position des tiefsten tons der 2. stimme nicht automatisch ermittelt wird!

alternativ könnte ich mir auch vorstellen, den barrebereich mit der obersten und tiefsten einzubeziehenden note einzugeben, auch wenn dann die note der unteren stimme doppelt eingegeben werden muss.
Titel: Re: Barre-Klammer für Gitarristen
Beitrag von: trulli am Donnerstag, 15. Oktober 2009, 15:03
Eben, versteckte Stimmen erzeugen Nebenproblemen; besonders bei 3-stimmige Gitarrensachen. 

Warum? Bei drei Stimmen kann man doch in die vierte den Barre schreiben. Ich habe mir jetzt angewöhnt Dynamiken und Lagenangaben in eine gesonderte Stimme zu schreiben. Der Barre passt da auch noch rein. Finde ich bisher übersichtlicher als ein direktes Überschreiben in den Hauptstimmen.

Trotzdem interessante Lösung mit \arpBarre.

Grüße
Titel: Re: Barre-Klammer für Gitarristen
Beitrag von: comper am Donnerstag, 15. Oktober 2009, 15:26
Zugemüse wie Dynamiken und Lagenangaben macht kein Problem. 
Aber Noten, mit Kopf und Hals, beeinflüssen/verdrängen Sachen in ihrer Umgebung:
Pausezeichen und die verschiedene Bögen, auch andere Noten. 

Gruss
Titel: Re: Barre-Klammer für Gitarristen
Beitrag von: ding-dong am Donnerstag, 15. Oktober 2009, 15:55
Zitat
im weiteren würde mich interessieren, wie man am einfachsten eine barre-indikation mit gestrichenem C - nur 2-3 saiten werden im barre verwendet - konstruieren würde!

habe gerade im französischen forum gewühlt und dort einen hinweis auf das LSR gefunden: http://lsr.dsi.unimi.it/LSR/Item?u=1&id=632 (http://lsr.dsi.unimi.it/LSR/Item?u=1&id=632)

vivent les fora!
Titel: Re: Barre-Klammer für Gitarristen
Beitrag von: trulli am Donnerstag, 15. Oktober 2009, 21:05
Ja, diese Schreibweise mit Lily habe ich auch schon gesehen.

In der Gitarrenliteratur kommt das aber fast nie so vor. Wenn, dann wird beim halben Barre (deshalb das durchgestrichene C) die Barreklammer vom C aus nach unten gezogen. Statt durchgestrichenem C wird auch oft 1/2 C geschrieben. Und statt CIII schreibt man heute leichter lesbar das C3.

Die häufigste Schreibweise ist allerdings ohne Barreklammer und nur mit einer Lagenangabe. In den meisten Fällen ergibt sich nämlich aus der Lagenangabe sofort, ob Barre gegriffen werden muss oder nicht. Lagenangabe durch eine römische Zahl mit horizontaler Linie für die Barredauer und einer vertikalen Linie für Barregröße ist zu viel des Guten und erschwert das schnelle Lesen.

Grüße von Trulli
Titel: Re: Barre-Klammer für Gitarristen
Beitrag von: ding-dong am Donnerstag, 15. Oktober 2009, 23:09
das ist ja das schöne an diesem snippet: du kannst es auf deine wünsche zuschneiden!  :)

die diskussion, was in der girtarrenliteratur alles vorkommt, können wir uns wohl sparen...  ::)
Titel: Re: Barre-Klammer für Gitarristen
Beitrag von: trulli am Freitag, 16. Oktober 2009, 13:09
Es wäre ganz gut, wenn man die Barrenotation vereinheitlichen würde.

Ein schöner Wunsch  ;D
Titel: Re:Barre-Klammer für Gitarristen
Beitrag von: trulli am Mittwoch, 23. Dezember 2009, 14:08
Heute habe ich mal die Barreklammern mit dem Code von comper geschrieben. Wenn man erstmal weiß, wie man die Zahl bei  \Barre #-6  einstellen muss, geht diese Lösung sehr schnell und problemlos.

Oft muss man den Barre mal nach links oder rechts verschieben, das geht aber mit \once \override Arpeggio #'padding = #3  ganz einfach.

Das ist der Code (mit einem auskommentierten \once \override Arpeggio #'padding = #3):

\version "2.12.1"
Barre = #(define-music-function (parser location grow) (number?)
#{
  \override Arpeggio #'stencil = #ly:arpeggio::brew-chord-bracket
  \once \override Arpeggio #'positions  = #(lambda (grob)
    (let ((iv (ly:arpeggio::calc-positions grob))
          (grow-hi (max 0 (/ $grow 2)))
          (grow-lo (min 0 (/ $grow 2))))
      (cons (+ (car iv) grow-lo) (+ (cdr iv) grow-hi))))
  $(make-music 'EventChord 'elements (list (make-music 'ArpeggioEvent)))
#})

<<
  \clef "treble_8"
 
  \relative c {
    %\once \override Arpeggio #'padding = #3   
    \Barre #-6  <e a cis> }
  \\
  \relative c, { <fis > ^ \markup { \fontsize #-1 { "II"}} }
>>

Grüße
Titel: Re: Barre-Klammer für Gitarristen
Beitrag von: fingerfertig am Donnerstag, 1. Dezember 2016, 19:45
Hallo zusammen,

hat jemand ein etwas ausführlicheres Beispiel mit Barres? Bei mir funktionieren beide Varianten nicht. Bei der von rulli sehe ich das erste Barre aber danach tauchen die anderen nicht auf. Zugegebn benutze ich Lilypond nur sporadisch...

VG
fingerfertig
Titel: Re: Barre-Klammer für Gitarristen
Beitrag von: trulli am Samstag, 10. Dezember 2016, 22:39
Hallo,

der Barre muss bei jedem Akkord neu definiert werden.

LG von Trulli

P.S.: Genauere Antworten bekommst du, wenn du deine Versionsnummer angibst und ein Minimalbeispiel postest.
Titel: Re: Barre-Klammer für Gitarristen
Beitrag von: fingerfertig am Montag, 12. Dezember 2016, 19:18
Danke, habe es mittlerweile selber rausgefunden - hätte ich ja auch früher darauf kommen können - und poste alles, wenn ich das Stück vollständig gesetzt habe.
Titel: Re: Barre-Klammer für Gitarristen
Beitrag von: Hilflos-im-Code am Dienstag, 20. Dezember 2016, 09:23
Hallo zusammen,

hat jemand ein etwas ausführlicheres Beispiel mit Barres? Bei mir funktionieren beide Varianten nicht. Bei der von rulli sehe ich das erste Barre aber danach tauchen die anderen nicht auf. Zugegebn benutze ich Lilypond nur sporadisch...

VG
fingerfertig
\version "2.19.40"
Barre = #(define-music-function (grow) (number?)
#{
  \override Arpeggio.stencil = #ly:arpeggio::brew-chord-bracket
  \once \override Arpeggio.positions  = #(lambda (grob)
    (let ((iv (ly:arpeggio::calc-positions grob))
          (grow-hi (max 0 (/ grow 2)))
          (grow-lo (min 0 (/ grow 2))))
      (cons (+ (car iv) grow-lo) (+ (cdr iv) grow-hi))))
  $(make-music 'EventChord 'elements (list (make-music 'ArpeggioEvent)))
#})

<<
  \clef "treble_8"
 
  \relative c {
    %\once \override Arpeggio.padding = #3   
    \Barre #-6  <e a cis> }
  \\
  \relative c, { <fis > ^ \markup { \fontsize #-1 { "II"}} }
>>


%{
convert-ly.py (GNU LilyPond) 2.19.41  convert-ly.py: Processing `'...
Applying conversion: 2.12.3, 2.13.0, 2.13.1, 2.13.4, 2.13.10, 2.13.16,
2.13.18, 2.13.20, 2.13.27, 2.13.29, 2.13.31, 2.13.36, 2.13.39,
2.13.40, 2.13.42, 2.13.44, 2.13.46, 2.13.48, 2.13.51, 2.14.0, 2.15.7,
2.15.9, 2.15.10, 2.15.16, 2.15.17, 2.15.18, 2.15.19, 2.15.20, 2.15.25,
2.15.32, 2.15.39, 2.15.40, 2.15.42, 2.15.43, 2.16.0, 2.17.0, 2.17.4,
2.17.5, 2.17.6, 2.17.11, 2.17.14, 2.17.15, 2.17.18, 2.17.19, 2.17.20,
2.17.25, 2.17.27, 2.17.29, 2.17.97, 2.18.0, 2.19.2, 2.19.7, 2.19.11,
2.19.16, 2.19.22, 2.19.24, 2.19.28, 2.19.29, 2.19.32, 2.19.40
%}
Nachdem ich in frescobaldi den code aktualisiert (sagt man das so), funktioniert es.

Aber das erzeugte Barre ist extrem unüblich. Persönlich würde ich sagen, ich habe es noch nie gesehen.
Titel: Re: Barre-Klammer für Gitarristen
Beitrag von: trulli am Samstag, 24. Dezember 2016, 09:58
Hallo Hilflos,

kannst du mal ein Bild einstellen, was Lily da bei dir kompiliert?

LG von Trulli
Titel: Re: Barre-Klammer für Gitarristen
Beitrag von: Hilflos-im-Code am Sonntag, 25. Dezember 2016, 07:33
Bitte schön.
Titel: Re: Barre-Klammer für Gitarristen
Beitrag von: trulli am Sonntag, 25. Dezember 2016, 12:12
Ah ja, du meinst also das erste Beispiel hier aus diesem Thread. Für Barre gibt es sehr viele Schreibweisen. Ich persönlich muss sagen, dass es kaum etwas gibt, das ich noch nicht gesehen habe. Letztlich muss da dein persönlicher Geschmack entscheiden.

In diesem Thread haben wir schon einmal über verschiedene Schreibweisen diskutiert:
https://archiv.lilypondforum.de/index.php?topic=574.msg3250#msg3250

Vielleicht findest du auch hier eine Lösung für dich:
http://lsr.di.unimi.it/LSR/Item?id=952

LG von Trulli