• Willkommen im Forum „Archiviertes Lilypond Forum (2017)“.
 

Dies ist das Archiv des alten Forums (bis März 2017). Das aktuelle Forum ist unter lilypondforum.de zu finden.
This is the archive of the old forum (until March 2017). You can find the current forum at lilypondforum.de.

Hauptmenü

Holzbläser-Diagramm für Blockflöte gesucht

Begonnen von BilleBille, Freitag, 21. Januar 2011, 19:08

Vorheriges Thema - Nächstes Thema

BilleBille

Hallo,

ich habe durch Zufall entdeckt, dass die neue Lilypond Version 2.13.46 \woodwind-Diagram implementiert.

Allerdings nur für folgende Instrumente:

Piccolo
Flöte
Oboe
Clarinette
BassClarinette
Saxophon
Fagott
Kontrafagott

Leider finde ich kein passendes Diagramm für Blockflöte.
Gibt es dafür einen Trick?


kilgore

Hallo BilleBille, und wilkommen ins Forum!

Es gibt ein Beispiel für Blockflöte, allerdings nur Fingersätze und kein Diagramm:
http://kainhofer.com/~lilypond/Documentation/notation/common-notation-for-wind-instruments.de.html
(ganz unten)

Und diesen Thread könnte auch nutzlich sein:

http://www.mail-archive.com/lilypond-user@gnu.org/msg34610.html

Viel Glück!

kil

BilleBille

Hallo Kilgore,
vielen Dank für deine Antwort.

Diese Stellen hatte ich auch schon gefunden. Bei meiner Suche bin ich dann aber auf die Holzbläser Diagramme der Entwicklerversion gestoßen und fand sie so toll. Ich fände es schade, wenn außgerechnet für Blockflöten keine Diagramme verfügbar wären. Ich dachte ich hab eventuell etwas falsch verstanden und Blockflötendiagramme könnte man mit einem Trick z.B auch mit 'Flute' erstellen.

Gruß,
billebille

kilgore

Hallo BilleBille,

Nicht zu schnell aufgeben!  Vielleicht geht es mit selber Basteln:


\version "2.12.3"


finger = \markup {
  \draw-circle #.75 #.2 ##f
  \hspace #1
  \center-column {
    \line { \draw-circle #.75 #.2 ##t }
    \line { \draw-circle #.75 #.2 ##t  }
    \line { \draw-circle #.75 #.2 ##t  }
    \line { \draw-circle #.75 #.2 ##f  }
    \line { \draw-circle #.75 #.2 ##f  }
    \line { \draw-circle #.6 #.2 ##f \draw-circle #.4 #.2 ##f  }
    \line { \draw-circle #.6 #.2 ##f \draw-circle #.4 #.2 ##f  }
} }

\relative c' {
  c1^\finger
}


Für halb-geschlossen muss man ein bisschen weiter basteln, aber erstmal kann man damit relativ leicht die Fingersätze eingeben.  ##f für offen und ##t für zu.

Grüße
kil

BilleBille

Hallo Kilgore,

vielen tausend Dank! An so etwas hatte ich anfangs gedacht, hab mich dann aber nicht so richtig drangetraut.
Die halb offenen Löcher bekomme ich dann hoffentlich auch noch hin.

Gruß,
BilleBille

kilgore

Wenn ich mich bei einfachen Zeichen nicht traue selbst zu malen, greife ich zur Zeichentabelle:



\version "2.12.3"


finger = \markup {
  \magnify #1 ○
  \hspace #1
  \center-column {
    \line { \magnify #1 ● }
    \line { \magnify #1 ●  }
    \line { \magnify #1 ●  }
    \line { \magnify #1 ◐  }
    \line { \magnify #1 ○  }
    \line { \magnify #.75 ○ \magnify #.5 ○  }
    \line { \magnify #.75 ○ \magnify #.5 ●  }
} }

\relative c' {
  \override TextScript #'baseline-skip = #2
  c1^\finger
}


so ist es auch einfach!

BilleBille

Hallo Kilgore,
vielen Dank nochmal. Das wird ja immer einfacher. Ich hab inzwischen noch einen Rahmen drumherum gebastelt und eine Trennungslinie zwischen linker und rechter Hand. Dann hab ich versucht das Ganze über der Note mit \center-column zu zentriert (im Beispiel auskommentiert). Leider verrutscht das Loch für den Daumen dann über die Löcher für die Finger anstelle daneben zu bleiben. Hast Du eine Idee was da falsch ist? Außerdem bekomme ich das Padding am unteren Rand der Box nicht hin.

finger = \markup {
% \center-column {
\magnify #1 ○
\hspace #2
\box { \pad-to-box #' (0 . 0) #'(0 . 2)
\center-column {
\line { \magnify #1 ● }
\line { \magnify #1 ●  }
\line { \magnify #1 ●  }
\line { \override #'(thickness . 3) \draw-line #'(-3 . 0)}
\line { \magnify #1 ◐  }
\line { \magnify #1 ○  }
\line { \magnify #.75 ○ \magnify #.5 ○  }
\line { \magnify #.75 ○ \magnify #.5 ●  }
}
}
% }
}

\relative c' {
%  \override TextScript #'baseline-skip = #2
\textLengthOn
  c1^\finger c4^\finger c4^\finger c4^\finger c4^\finger c1^\finger
}


Was macht eigendlich

      \override TextScript #'baseline-skip = #2

das du verwendet hast?

Übrigens braucht dieses kleine Skript 15 Sekunden zum Übersetzen. Das kommt mir sehr lange vor. Kann das an den Zeichen liegen? Ich glaube deine erste Variante war schneller. Vielleicht hat aber auch mein Rechner im Moment einen Hau.

Gruß,
BilleBille

kilgore

Also die Daumenloch krieg ich auch nicht einfach mit in die Kiste...verstehe auch nicht warum.  Aber hier ist doch ne möglichkeit mit hspace:



\version "2.12.3"

finger = \markup {
  %       \center-column {
                 
                \hspace #1
                \box { \pad-to-box #' (0 . 0) #'(0 . 2)
                 
                        \center-column {
                                \line {  \magnify #1 ○ \magnify #1 ● }
                                \line { \hspace #2 \magnify #1 ●  }
                                \line { \hspace #2 \magnify #1 ●  }
                                \line { \override #'(thickness . 3) \draw-line #'(-3 . 0)}
                                \line { \hspace #2 \magnify #1 ◐  }
                                \line { \hspace #2 \magnify #1 ○  }
                                \line { \hspace #2 \magnify #.75 ○ \magnify #.5 ○  }
                                \line { \hspace #2 \magnify #.75 ○ \magnify #.5 ●  }
                        }
                }
                %       }
}


\relative c' {
  \override TextScript #'baseline-skip = #2
        \textLengthOn
  c1^\finger c4^\finger c4^\finger c4^\finger c4^\finger c1^\finger
}



Aber ausserhald der Kiste sieht auch nicht schlecht aus:


\version "2.12.3"

finger = \markup {
%       \center-column {
                \magnify #1 ○
                \hspace #1
                \box { \pad-to-box #' (0 . 0) #'(0 . 2)
                        \center-column {
                                \line { \magnify #1 ● }
                                \line { \magnify #1 ●  }
                                \line { \magnify #1 ●  }
                                \line { \override #'(thickness . 3) \draw-line #'(-3 . 0)}
                                \line { \magnify #1 ◐  }
                                \line { \magnify #1 ○  }
                                \line { \magnify #.75 ○ \magnify #.5 ○  }
                                \line { \magnify #.75 ○ \magnify #.5 ●  }
                        }
                }
%       }
}

\relative c' {
  \override TextScript #'baseline-skip = #2
        \textLengthOn
  c1^\finger c4^\finger c4^\finger c4^\finger c4^\finger c1^\finger
}



Das baseline-skip hat übrigens mit dem Abstand zwischen den Zeilen zu tun.  Du kannst mal die Zahl ändern, dann siehst du was ich meine.


Was meinst du mit padding am unteren Rand?  Welches denn?

Grüße
kil

ding-dong

ZitatDann hab ich versucht das Ganze über der Note mit \center-column zu zentriert

bitte schau mal in den snippets nach: http://lsr.dsi.unimi.it/LSR/Search?q=textScriptCenterOnNote - vielleicht wird das mal standardmässig in Lilypond eingebaut... - im moment leider noch nicht!

dann zu \pad-to-box: hier müsste wohl die 1. zahl im zweiten teil negativ sein:
\pad-to-box #' (0 . 0) #'(-4 . 4)

die verhältnisse (oben/unten) wirken etwas irrational!

ding-dong

ich hab da mal was zusammengestellt - wobei ich als nicht-flötist nicht weiss, ob dies den wünschen entspricht!



ding-dong

tml (tut mir leid) - habe vergessen den code anzuhängen - hier ist er:

textScriptCenterOnNote = \override TextScript #'X-offset =
#(lambda (grob)
        (let* ((paper-col (ly:grob-parent grob X))
               (elts (ly:grob-object paper-col 'elements))
               (rhythmic-head grob))
             
              (for-each
                (lambda (idx)
                        (let ((elt (ly:grob-array-ref elts idx)))
                             (if (grob::has-interface elt
                                   'rhythmic-grob-interface)
                                 (set! rhythmic-head elt))))
                (reverse (iota (ly:grob-array-length elts))))
             
              (+
                (ly:self-alignment-interface::x-aligned-on-self grob)
                (interval-center
                  (ly:grob-robust-relative-extent rhythmic-head rhythmic-head X)))))
%%% eof ....ly ------------------------------------------------------------------------%%%
%%% \include "textScriptCenterOnNote.ly"
finger = \markup {
  \override #'(line-width . 3.8 )
  \rounded-box
  \pad-around #.0
  {
    \override #'(baseline-skip . 1.8 )
    \center-column {
      \fill-line { \magnify #1 ○ \magnify #1 ● }
      \fill-line { \null \magnify #1 ●  }
      \fill-line { \null \magnify #1 ●  }
      \fill-line { \with-color #(x11-color 'grey70) \general-align #Y #-3.2  \override #'(thickness . 3) \draw-line #'(-3 . 0)}
      \fill-line { \null \magnify #1 ◐  }
      \fill-line { \null \magnify #1 ○  }
      \fill-line { \null \concat {\magnify #.75 ○ \magnify #.5 ○  }}
      \fill-line { \null \concat {\magnify #.75 ○ \magnify #.5 ●  }}
}  } }
\relative c' {
  \textLengthOn
  \override TextScript #' self-alignment-X = #CENTER
  \textScriptCenterOnNote
  c1^\finger c4^\finger c4^\finger
  c4^\finger c4^\finger c1^\finger
}

kilgore