Autor Thema: Notenköpfe ändern  (Gelesen 8363 mal)

mukke

  • Member
Notenköpfe ändern
« am: Mittwoch, 19. Oktober 2011, 19:53 »
Wie erzeuge ich eine Achtelnote mit einem rautenförmigen, dünnlinigen, hohlen Notenkopf? Diese Note entspricht nicht einem Notenkopf der sog. "Alten Musik". Diese sind fetter von der Linie.

Gibt es einen Namen für diese Note? Hab' das bislang noch nicht gesehen ...

Habe einmal einen Ausschnitt der Vorlage beigefügt.

kilgore

  • Member
Re: Notenköpfe ändern
« Antwort #1 am: Mittwoch, 19. Oktober 2011, 20:35 »
Hallo mukke, und willkommen beim Forum! 

\version "2.14.2"


\relative c' {
  b'16(^> a) a8
  \once \override NoteHead #'style = #'harmonic
  d8 dis,
}

Ein paar Beispiele von Lilypond vorhandene Notenköpfe siehst du im Notation Reference 1.1.4.  Nach bedarf kann man auch custom Notenköpfe bauen. 

Gruß
kil

trulli

  • Member
Re: Notenköpfe ändern
« Antwort #2 am: Donnerstag, 20. Oktober 2011, 11:48 »
Herzlich Willkommen hier, Mukke.

Diese Noten bezeichen Flageoletttöne (zu deutsch: Glockentöne). Diese Art von Tönen erzeugt man auf Saiteninstrumenten an den Teilungspunkten der Mensur (=schwingende Saitenlänge). Halbiert man z.B. die Mensur und drückt an dieser Stelle sanft mit dem Finger die Saite etwas herunter (also nicht greifen), erhält man nach dem Anschlag einen Flageolettton. Klassische gut klingende Teilungspunkte sind 1/2, 1/3 und 1/4. Bei der 1/4-Teilung erhält man die Doppeloktave des Leersaitentones, also einen ziemlich hohen, herausstechenden Ton. Mit sogenannten künstlichen Flageoletten kann man richtige Melodien spielen, das ist reizvoll, aber schwer.

Die Notation von Flageoletten ist nicht einheitlich. Allein für Gitarre gibt es zahlreiche Schreibweisen. Dabei hat es sich bewährt den Notenkopf nicht mehr als halbe Note zu schreiben, damit man den Rhythmus besser lesen kann. Im Beispiel habe ich das mal auf dem letzten Viertel so gemacht. Üblicherweise gehören jetzt noch Fingersätze und Lagenangaben dazu, damit die Note eindeutig wird.

\version "2.14.2"


\relative c' {
  b'16(^> a) a8 \stemDown
  \once \override NoteHead #'style = #'harmonic
  d8 dis, \stemUp
 
  b'16(^> a) a8 \stemDown
  \once \override NoteHead #'style = #'harmonic-mixed
  d8  dis,
 
}

Gruß von Trulli

mukke

  • Member
Re: Notenköpfe ändern
« Antwort #3 am: Freitag, 21. Oktober 2011, 19:31 »
Danke an beide - identisches Ergebnis auf 2 Wegen  ;D.

Diese Notenkopfform hatte ich im Handbuch schon gefunden, suche jedoch die feinere Grafik: Nur eine Haarlinie ohne die Verdickungen rechts oben und links unten am Notenkopf - weil's eleganter aussieht.

@kilgore:
Zitat
Nach bedarf kann man auch custom Notenköpfe bauen. 

Falls mein eben beschriebener Wunsch nicht hinterlegt ist, müsste ich eben auf deine Idee zurückgreifen. Was müsste ich in diesm Falle tun?

harm6

  • Member
Re: Notenköpfe ändern
« Antwort #4 am: Sonntag, 23. Oktober 2011, 00:13 »
Hallo mukke,

Zitat
Diese Notenkopfform hatte ich im Handbuch schon gefunden, suche jedoch die feinere Grafik: Nur eine Haarlinie ohne die Verdickungen rechts oben und links unten am Notenkopf - weil's eleganter aussieht.

Ich empfinde genau umgekehrt.


Zitat
@kilgore:
Zitat von: kilgore
    Nach bedarf kann man auch custom Notenköpfe bauen. 

Falls mein eben beschriebener Wunsch nicht hinterlegt ist, müsste ich eben auf deine Idee zurückgreifen. Was müsste ich in diesm Falle tun?

Aber wenn Du eigene Notenköpfe haben möchtest, so mußt Du sie Dir selbst bauen.
Hier ein paar Versuche (alle mit "2.14.2"):

1. Postscript.
Postscript eignet sich im Prinzip hervorragend für diese Aufgabe. Nur kenn ich mich damit nicht aus, insoweit ist dieser Versuch eher stümperhaft: (Die Hilfslinie verschwindet unverhoffterweise, wahrscheinlich habe ich da was falsch gemacht)

customHead = {
\once \override NoteHead  #'stencil = #ly:text-interface::print
\once \override NoteHead #'text = \markup
    \rotate #45
    \postscript
    #"
      0.05 setlinewidth
      -0.8 0 lineto
      -0.8 0.8 lineto
      0 0.8 lineto
      -0.01 -0.025 lineto
      stroke
      "
}

\relative c {

  \customHead
  c'2
  \customHead
  d2
  % normal
  e4 f
}

2. Via scheme (damit kenn' ich mich besser aus):

#(define (custom-head grob)
  (let* ((mrkp-1 (markup (#:override (cons 'thickness 0.5)
  #:combine
  #:draw-line (cons 0.7 0.7)
  #:draw-line (cons 0.7 -0.7))))
         (mrkp-2 (markup #:hspace 1.4 (#:override (cons 'thickness 0.5)
          #:combine
          #:draw-line (cons -0.7 0.7)
  #:draw-line (cons -0.7 -0.7))))
         (mrkp-3 (markup #:with-dimensions '(-0.2 . 1.48) '(-0.1 . 0)
          (#:combine mrkp-2 mrkp-1))))
 
  (grob-interpret-markup grob mrkp-3)
  ))
 
\relative c {
        \override NoteHead #'stencil = #custom-head
  cis'4 d e f
  \revert NoteHead #'stencil
  f d
}

3. Über ly:text-interface::print (Für Text etc)

tH =
#(define-music-function (parser location text)(string?)
#{
\once \override NoteHead  #'stencil = #ly:text-interface::print
\once \override NoteHead #'text = #(markup #:with-color red
           #:vcenter
           $text )
#})

\relative c' {
        \tH #"Das" a'4
        \tH #"sind" a
        \tH #"Notenköpfe" a
        \tH #":)" a
}

4. Wieder über ly:text-interface::print, aber unter Benutzung eines musicglyph
    -> http://lsr.dsi.unimi.it/LSR/Item?id=475

tHII = {
\once \override NoteHead  #'stencil = #ly:text-interface::print
\once \override NoteHead #'text = #(markup #:with-dimensions '(0.2 . 1.25) '(-0.1 . 0)
           #:rotate 90 
           #:musicglyph "noteheads.s1miThin")
}

\relative c' {
        \tHII cis4
        \tHII dis
        \tHII eis
         fis
}

Alle diese Versuche ersetzen den default-Notenkopf. Wenn Du allerdings zusätzlich möchtest, daß die aktuellen Tondauern berücksichtigt werden wirds komplizierter.

Folgende links mögen da vielleicht hilfreich sein:
https://liarchiv.joonet.de/index.php?topic=281.msg4816#msg4816
https://liarchiv.joonet.de/index.php?topic=872.0

HTH,
  Harm

trulli

  • Member
Re: Notenköpfe ändern
« Antwort #5 am: Sonntag, 23. Oktober 2011, 09:50 »
@ham6
Klasse! Ich bin immer wieder erstaunt was du mit Lily so alles machen kannst.  :)

@Notation von Flageolett
Ich möchte nochmal auf die Lesbarkeit aufmerksam machen: Für einen einzelnen Flageolett, der mal zwischendurch vorkommt, mag die Notation als offene Note noch ok sein. Spätestens aber wenn mehrere von diesen Tönen hintereinander stehen, wird es schwer lesbar.
Ich habe mal ein bekanntes Beispiel aus der Literatur in alter und neuer Notation herausgesucht. Die alte Notation wird heute von den Musikwissenschaftlern gerne als "bedauerliches Kuriosum der Flageolett-Aufzeichnung" bezeichnet.

Gruß

RobUr

  • Member
Re: Notenköpfe ändern
« Antwort #6 am: Montag, 24. Oktober 2011, 14:30 »
Hallo mukke!

Zitat von: harm6
Zitat von: mukke
Diese Notenkopfform hatte ich im Handbuch schon gefunden, suche jedoch die feinere Grafik: Nur eine Haarlinie ohne die Verdickungen rechts oben und links unten am Notenkopf - weil's eleganter aussieht.
Ich empfinde genau umgekehrt.
Ich auch. Hätte dieser Hauch von Geometrie keinen Hals und keinen Fingersatz: ich würd’s glatt übersehen :)

Notationsspezifisch ist in diesem Fall trullis Rat am wertvollsten – er ist „unser“ Mann für Gitarrennotation! Seine beiden Beispiele zeigen sehr gut die Entwicklung in der Flageolettnotation für Gitarre (bei Streichinstrumenten weicht es etwas ab). Die Kernfrage ist wohl (berichtigt mich, wenn ich falsch liege), die Tondauer lesbarer zu machen: deshalb hohle und geschwärzte Notenköpfe. In der Gitarrenmusik ist dies wesentlich bedeutsamer, weil viele schnelle Flageoletts hintereinander auf der Gitarre ausführbar sind (im Gegensatz zu einer Geige beispielsweise). Am Beispiel der letzten Note in alter Schreibweise in trullis Ausschnitt ist nicht eindeutig erkennbar (auch wenn dort eine Fermate steht), ob der Flageolettton eine halbe Note oder eine Viertelnote dauern soll. Erschwerend kommt das Zusatzzeichen für natürliches Flageolett hinzu – das ist quasi doppeltgemoppelt.

Grafisch ist beim Eigenbau große Aufmerksamkeit auf die erwähnten „Haarlinien“ zu legen. Eine Haarlinie ist lt. Wikipedia eine 1-Pixel-starke Linie des Ausgabemediums, also die schmalste darstellbare Linie. Wer weiß denn in der Regel bereits vorher, auf welchem Drucker mit welcher Auflösung gedruckt werden wird? typolexikon.de definiert eine Haarlinie sogar mit einem fixen Wert: 0,075 mm bzw. 1/5 Didot-Punkt (das ist kein Pixel) – sicherlich ein guter Ansatz für „die schmalste Linie der Welt“, die man mit bloßem Auge noch erkennen kann, für verschiedene Druckerauflösungen aber denkbar ungeeignet (wird entweder gänzlich verschluckt, nur teilweise oder kaum sichtbar dargestellt). Das Gros der Druckereien rät von vornherein von der Verwendung ab – insbesondere beim Lichtsatz und Druckerauflösungen jenseits von 1800 dpi! Siehe auch Rechenbeispiele auf mediengestalter.info: Bei einer Auflösung von z.B. 2400 dpi kann eine Haarlinie sogar nur 0,01 mm stark (wohl eher schwach ;D ) sein!

Mit welchem Wert sollte dann die Linienstärke in PostScript angegeben werden, zumal Lily in Abhängigkeit der global-staff-size skaliert? Ich weiß es nicht … Consumerdisplays lösen mit mageren 72 dpi auf ;)

Grüße, Robert

mukke

  • Member
Re: Notenköpfe ändern
« Antwort #7 am: Samstag, 29. Oktober 2011, 10:14 »
Na fein, nun habe ich ja die Qual der Wahl!

Bei dem Begriff Haarlinie ging's mir lediglich um die Vermeidung der Verdickungen und Darstellung einer recht dünnen Linie. Dass da jemand "Rechenbeispiele" erstellt ... nun gut ...  ;)

Danke an alle für die präzise und schnelle Hilfe!!

mukke

  • Member
Re: Notenköpfe ändern
« Antwort #8 am: Samstag, 29. Oktober 2011, 11:02 »
@harm6

Zitat
1. Postscript.
(bzw. 3. und 4.)

Noch eine Frage: Hier gibst du Koordinationen an, nach denen sich die 4 einzelnen Linien des Notenkopfs positionieren. Nach welchem Schema definiert sich Länge, Neigung, Position dieser Linien?

Beispiel: Setze erste Angabe von -0.8 0 auf 0.8 0 dann wird aus der Teillinie rechts unten linke Seite Notenhals die Teillinie links oben rechte Seite Notenhals.

Das zu analysieren ist etwas frickelig, eine kleine Übersicht wäre toll. So könnte man den Ntoenkopf nach Gusto auch rechts an den Notenhals setzen, oder drüber etc.

harm6

  • Member
Re: Notenköpfe ändern
« Antwort #9 am: Samstag, 29. Oktober 2011, 13:18 »
Hallo mukke,

wie ich schon oben erwähnt habe, kenn ich mich mit postscript nicht aus. Wenn ich es doch mal verwenden muß, dann mit einem Manual auf den Knien.
Mein postscript-Beispiel sollte nur zeigen, daß es möglich ist. (Ich hatte ein Quadrat erzeugt und es anschließend rotiert. Jemand der sich damit auskennt wird die gewünschte Geometrie direkt erzeugen können, sei es Quadrat, Rechteck, Raute, Parallelogram etc).
Ich hoffe, daß jemand, der sachkundiger ist, Dir da weiterhelfen kann. Ansonsten benutze das (kurze) Manual aus dem Anhang. Oder such ein anderes/besseres aus dem Netz (da hab' ich es schließlich auch her).

Ansonsten ist mir nicht klar, ob Du noch etwas wissen willst. Falls ja frag bitte noch mal, aber so präzise wie möglich.


HTH,
  Harm

mukke

  • Member
Re: Notenköpfe ändern
« Antwort #10 am: Samstag, 29. Oktober 2011, 18:39 »
@harm6

Dachte ich hätte das schon präzise formuliert, aber gerne nochmals: Ich möchte den Notenkopf gern rechts vom Hals haben. Da ich kein Programmierer bin, tue ich mich mit den PS-Beschreibungen im Netz ein wenig arg schwer. Wenn du sagst, du erzeugst ein Quadrat: Was bedeuten die Angaben genau:

Zitat

-0.8 0 lineto
-0.8 0.8 lineto
 0 0.8 lineto
-0.01 -0.025 lineto

Was also zeichnet z.B. die 1. Angabe und welche Länge ist 0.8 oder -0.025 usw. Warum besteht die letzte Angabe nicht aus 0.8 oder -0.8, was bei 4 gleichen Seiten eines Vierecks ja logisch wäre?? Das ist mir rätselhaft ...

Hoffe, ich habe es präzisieren können.

harm6

  • Member
Re: Notenköpfe ändern
« Antwort #11 am: Samstag, 29. Oktober 2011, 20:34 »
Hallo mukke,

ich fürchte Du fragst den falschen.

Das Quadrat habe ich so erzeugt:
  • aus http://lsr.dsi.unimi.it/LSR/Item?id=409 das Quadrat kopiert (->golpe). (Da gibts aber auch noch andere postscript-Definitionen.)
  • setlinewidth vereinheitlicht
  • und dann so lange rumprobiert bis ich das gewünschte Ergebnis hatte
Ich fürchte Du mußt Dich durch die Manuals quälen oder warten bis sich jemand meldet, der genau weiß wie es geht.

Tut mir leid Dir in diesem Punkt nicht weiter helfen zu können.

Gruß,
  Harm

mukke

  • Member
Re: Notenköpfe ändern
« Antwort #12 am: Samstag, 29. Oktober 2011, 21:36 »
Ja, dann muss ich warten - des mit dem Quadrat versetzen in Ps is mir zu hoch.

Danke dir auf jeden Fall.  :)

kilgore

  • Member
Re: Notenköpfe ändern
« Antwort #13 am: Sonntag, 30. Oktober 2011, 12:46 »
Lieber mukke,

Ich weiss nicht ob es dir weiter hilft, aber wenn ich eine Custom Notenkopf haben möchte, suche ich oft erst ein der Zeichentabelle.  Da sind viele Zeichen schon abgebildet.  Hier zB ein paar Quadrate:

⋄⏥⬥⬧⬪

Die kann man mittels Möglichkeit 3. von Harm nutzen.  Durch #'extra-offset kann man den Kopf auch rechts/links platzieren....

Gruß
kil


trulli

  • Member
Re: Notenköpfe ändern
« Antwort #14 am: Sonntag, 30. Oktober 2011, 16:28 »
Was also zeichnet z.B. die 1. Angabe und welche Länge ist 0.8 oder -0.025 usw. Warum besteht die letzte Angabe nicht aus 0.8 oder -0.8, was bei 4 gleichen Seiten eines Vierecks ja logisch wäre?? Das ist mir rätselhaft ...

Hallo mukke,

wie aus dem PS-Manual von harm6 hervorgeht, bezeichnen die Wertepaare Punkte in einem Koordinatensystem (also x- und y-Werte). Darum steht am Anfang der Definition meistens etwas wie "1 1 moveto", was bedeutet: "gehe zum Punkt (1|1)". Dann folgt meistens etwas wie "0 1 lineto", also "ziehe jetzt eine Linie bis zum Punkt (0|1)".
Logischerweise kann eine Figur nur dann grafisch geschlossen werden, wenn die Linienbreite berücksichtigt wird (z.B. 0.2 setlinewidth), d.h. wenn man zum Ausgangspunkt zurückkehrt, muss man die Linie 0.1 weiter zeichen um eine geschlossene Figur zu bekommen. Noch einfacher geht es mit "closepath", dem Abschließen eines Pfades.

quadrat = \markup { \postscript #"
  0.2 setlinewidth
 0  0 moveto
 -1 0 lineto
-1 1 lineto
 0 1 lineto
0 0 closepath
  stroke
"} 

War das jetzt verständlich...?

Ich bin aber kein PS-Eyperte - ich habe nur das Manual gelesen.  :)

Grüße von Trulli