Skala (à la Pentatonik) als Griffbild darstellen

Begonnen von soloquintett, Freitag, 17. März 2023, 10:34

« vorheriges - nächstes »

soloquintett

Hallo,
kann man neben Akkordsymbolen auch ganze Skalen als Griffbilder über einer Notenfolge darstellen? Also mit mehreren Tönen pro Saite? Ich möchte gern mit meinen Schülern Skalen wie die Pentatonik in Notenform besprechen und die beiden Darstellungen verknüpfen.

juergen74

Hallo,
siehe Notation Reference 2.4 Fret Diagram Markups und NR A12.6 Instrument Specific Markup.

z.B.
\version "2.24.0"

\new Staff{
  c'1^\markup \fret-diagram-terse #"2 4 6;x;o;1 2;3 9;1 5 12;"

  <d a d' f'>1^\markup {
    \fret-diagram-verbose #'(
                              (mute 6)
                              (place-fret 6 2)
                              (place-fret 6 4)
                              (place-fret 6 5)
                              (place-fret 6 8)
                              (mute 5)
                              (open 4)
                              (place-fret 3 2)
                              (place-fret 3 5)
                              (place-fret 2 3)
                              (place-fret 1 1)
                              )
  }
}

Grüße, Jürgen.

soloquintett

Danke! Das hat geholfen.

Jetzt scheitere ich noch an der korrekten Ausrichtung. Ich hätte gern die Griffdiagramme alle auf einer Höhe und auch horizontal regelmäßig verteilt.Du darfst diesen Dateianhang nicht ansehen.


 \version "2.22.2"
  \language "deutsch"
  \header{ tagline="" }
  #(set-global-staff-size 100)
  grundstellung = {
    \clef "treble_8"
    \relative c' {
      <\tweak color #red a cis e>_"Grundstellung"^\markup {
        \override #'(fret-diagram-details . (
          (dot-radius . 0.4)
          (orientation . landscape))) {
            \fret-diagram-verbose #'(
              (open 1)
              (place-fret 2 2 )
              (place-fret 3 2 red))
          }
      }
    }
  }
  umkehrungEins = {
    \relative c' {
      <cis e \tweak color #red a >_"1. Umkehrung"^\markup {
        \override #'(fret-diagram-details . (
          (dot-radius . 0.4)
          (orientation . landscape))) {
            \fret-diagram-verbose #'(
              (place-fret 1 5 red)
              (place-fret 2 5)
              (place-fret 3 6))
          }
      }
    }
  }
  umkehrungZwei = {
    \relative c' {
      <e \tweak color #red a cis >_"2. Umkehrung"^\markup {
        \override #'(fret-diagram-details . (
          (dot-radius . 0.4)
          (orientation . landscape))) {
            \fret-diagram-verbose #'(
              (place-fret 1 9)
              (place-fret 2 10 red)
              (place-fret 3 9))
          }
      }
    }

  }
  \score {
    \new Staff {
      \grundstellung
      \umkehrungEins
      \umkehrungZwei
    }
  }

  \layout {
    \context {
      \Staff
      \omit TimeSignature
      \omit BarLine
    }
    \context {
      \Score
      \override SpacingSpanner.base-shortest-duration = #(ly:make-moment 1)
    }
  }


juergen74

Hallo,

bei mir erzeugt dein Snippet nicht die Ausgabe in deinem Bild (v2.24.0). Als Workaround kannst du die Griffbilder in einen Lyrics-Context packen.

\version "2.24.0"

\language "deutsch"

\header{ tagline="" }

#(set-global-staff-size 60)

ch = \relative c' {
  <\tweak color #red a cis e>_"Grundstellung"
 
  <cis e \tweak color #red a>_"1. Umkehrung"
 
  <e \tweak color #red a cis >_"2. Umkehrung"
}

fb = \lyricmode {
  \markup {
    \override #'(fret-diagram-details . ((dot-radius . 0.4)
                                         (orientation . landscape)))
                                       
    \fret-diagram-verbose #'((open 1)
                             (place-fret 2 2 )
                             (place-fret 3 2 red))
  }
  \markup {
    \override #'(fret-diagram-details . ((dot-radius . 0.4)
                                         (orientation . landscape)))
    \fret-diagram-verbose #'((place-fret 1 5 red)
                             (place-fret 2 5)
                             (place-fret 3 6))
  }
  \markup {
    \override #'(fret-diagram-details . ((dot-radius . 0.4)
                                         (orientation . landscape)))
    \fret-diagram-verbose #'((place-fret 1 9)
                             (place-fret 2 10 red)
                             (place-fret 3 9))
  }
}

\score {
  <<
    \new Lyrics \fb
    \new Voice  {
      \clef "treble_8"
      \ch
    }
  >>
}

\layout {
  indent = 0
  \context {
    \Staff
    \omit TimeSignature
    \omit BarLine   
  }
  \context {
    \Score
    \override SpacingSpanner.uniform-stretching = ##t
    \override SpacingSpanner.strict-note-spacing = ##t
    %\override TextScript.self-alignment-X = #CENTER
    %\override TextScript.Y-offset = #-5
    \override TextScript.font-size = #0   
  }
  \context {
      \Lyrics
      \override LyricSpace.minimum-distance = #2
    }
}

Grüße, Jürgen.

soloquintett

Zitat von: juergen74 am Samstag,  1. April 2023, 04:41Hallo,

bei mir erzeugt dein Snippet nicht die Ausgabe in deinem Bild (v2.24.0). Als Workaround kannst du die Griffbilder in einen Lyrics-Context packen.

\version "2.24.0"

\language "deutsch"

\header{ tagline="" }

#(set-global-staff-size 60)

ch = \relative c' {
  <\tweak color #red a cis e>_"Grundstellung"
 
  <cis e \tweak color #red a>_"1. Umkehrung"
 
  <e \tweak color #red a cis >_"2. Umkehrung"
}

fb = \lyricmode {
  \markup {
    \override #'(fret-diagram-details . ((dot-radius . 0.4)
                                         (orientation . landscape)))
                                       
    \fret-diagram-verbose #'((open 1)
                             (place-fret 2 2 )
                             (place-fret 3 2 red))
  }
  \markup {
    \override #'(fret-diagram-details . ((dot-radius . 0.4)
                                         (orientation . landscape)))
    \fret-diagram-verbose #'((place-fret 1 5 red)
                             (place-fret 2 5)
                             (place-fret 3 6))
  }
  \markup {
    \override #'(fret-diagram-details . ((dot-radius . 0.4)
                                         (orientation . landscape)))
    \fret-diagram-verbose #'((place-fret 1 9)
                             (place-fret 2 10 red)
                             (place-fret 3 9))
  }
}

\score {
  <<
    \new Lyrics \fb
    \new Voice  {
      \clef "treble_8"
      \ch
    }
  >>
}

\layout {
  indent = 0
  \context {
    \Staff
    \omit TimeSignature
    \omit BarLine   
  }
  \context {
    \Score
    \override SpacingSpanner.uniform-stretching = ##t
    \override SpacingSpanner.strict-note-spacing = ##t
    %\override TextScript.self-alignment-X = #CENTER
    %\override TextScript.Y-offset = #-5
    \override TextScript.font-size = #0   
  }
  \context {
      \Lyrics
      \override LyricSpace.minimum-distance = #2
    }
}

Grüße, Jürgen.

Inwieweit weicht dein Ergebnis ab? Ich habe einige Probleme mit meiner Version 2.22 gehabt. Aber kann auch an mir liegen. In der 2.24 exportiert lilypond immer im vollen A4-Format bei mir, daher nutze ich das nicht mehr.

Vielen Dank für die nützlichen Tips!

juergen74

Hallo,

unter 2.24.0 sieht das mit deinem Code bei mir so aus (A4 Portrait):
Du darfst diesen Dateianhang nicht ansehen.

#(display (ly:get-option 'paper-size)) liefert "a4".

\version "2.24.0"
#(set-default-paper-size "a3")
%oder
#(set-default-paper-size "a3" 'landscape)
%oder
#(set-default-paper-size "a3landscape")
%oder
\paper { #(set-paper-size "a5") }

{ \repeat  unfold 24  { c'1 } }
funktioniert auf den ersten Blick wie erwartet und dokumentiert (die beiden landscape-Optionen liefern unterschiedliche Ergebnisse!)

Zitatimmer im vollen A4-Format
Also auch, wenn du die Papiergröße im Code verändert hast?

Grüße, Jürgen.


soloquintett

Ich habe jetzt keine 2.24. Version zum testen. Ich vermute, dass würde bei mir auch funktionieren. Was ich allerdings brauche, ist die Möglichkeit kleine Snippets zu erstellen. So groß, wie das jeweilige Beispiel ist - ohne Angabe einer Seite. Ich erstelle mit Hilfe von emacs (Org Babel LilyPond) Übungsblätter. Und da sollen dann eben mehrere Snippets unterschiedlicher Größe drauf sein. Wie gesagt produziert aber die .24er Version immer ein volles Blatt. Bei .22 ist das nicht so. Vielleicht kann man es irgendwie auf den alten Modus Stellen?

Pusteblumi

Mit Org-mode habe ich zwar keine Erfahrung, aber über die Änderung von 2.22 auf 2.24 bin ich auch schon gestolpert:

https://lilypondforum.de/index.php/topic,1170.msg6210.html#msg6210

Versuchs mal mit lilypond-book-preamble:

\version "2.24.0"

\include "lilypond-book-preamble.ly"
#(ly:set-option 'tall-page-formats 'eps,png,pdf)
#(ly:set-option 'separate-page-formats 'eps,png,pdf)


\language "deutsch"

\header{ tagline="" }

#(set-global-staff-size 60)

ch = \relative c' {
  <\tweak color #red a cis e>_"Grundstellung"
 
  <cis e \tweak color #red a>_"1. Umkehrung"
 
  <e \tweak color #red a cis >_"2. Umkehrung"
}

fb = \lyricmode {
  \markup {
    \override #'(fret-diagram-details . ((dot-radius . 0.4)
                                         (orientation . landscape)))
                                       
    \fret-diagram-verbose #'((open 1)
                             (place-fret 2 2 )
                             (place-fret 3 2 red))
  }
  \markup {
    \override #'(fret-diagram-details . ((dot-radius . 0.4)
                                         (orientation . landscape)))
    \fret-diagram-verbose #'((place-fret 1 5 red)
                             (place-fret 2 5)
                             (place-fret 3 6))
  }
  \markup {
    \override #'(fret-diagram-details . ((dot-radius . 0.4)
                                         (orientation . landscape)))
    \fret-diagram-verbose #'((place-fret 1 9)
                             (place-fret 2 10 red)
                             (place-fret 3 9))
  }
}

\score {
  <<
    \new Lyrics \fb
    \new Voice  {
      \clef "treble_8"
      \ch
    }
  >>
}

\layout {
  indent = 0
  \context {
    \Staff
    \omit TimeSignature
    \omit BarLine   
  }
  \context {
    \Score
    \override SpacingSpanner.uniform-stretching = ##t
    \override SpacingSpanner.strict-note-spacing = ##t
    %\override TextScript.self-alignment-X = #CENTER
    %\override TextScript.Y-offset = #-5
    \override TextScript.font-size = #0   
  }
  \context {
      \Lyrics
      \override LyricSpace.minimum-distance = #2
    }
}

Die Warnung über unbekannte Optionen erscheint in 2.24 nicht.

Viele Grüße,
Klaus