Autor Thema: Stufenbezeichnungen  (Gelesen 5017 mal)

j.asal

  • Member
Stufenbezeichnungen
« am: Freitag, 6. März 2009, 16:20 »
Hallo,

ich möchte gerne statt Akkordsymbolen Stufensymbole über meine Akkorde setzen (also zum Beispiel sowas wie Imaj7 oder VIIm7b5). Gibt es eine einfache Möglichkeit, so etwas zu realisieren?

Danke und Gruß,
Johannes

wome

  • Member
Re: Stufenbezeichnungen
« Antwort #1 am: Samstag, 7. März 2009, 20:55 »
Hilft dir so etwas:
\version "2.11.41"
\new Score \with {
  \override TimeSignature #'transparent = ##t
  defaultBarType = #""
  \remove Bar_number_engraver
} <<
  \context Staff {
    \time 4/4
    <c' e' g'>1 \bar"||"
    <d' f' a'>  \bar "||"
    <e' g' b'>  \bar "||"
    <f' a' c''> \bar "||"
    <g' b' d''> \bar "||"
    <a' c'' e''> \bar "||"
    <b' d'' f''> \bar "|."
  }

  \addlyrics {
    \markup C
    \markup Dm
    \markup Em
    \markup F
    \markup G 
    \markup Am
}
>>



j.asal

  • Member
Re: Stufenbezeichnungen
« Antwort #2 am: Montag, 9. März 2009, 10:44 »
Hallo,

danke erst mal für die Antwort. Das ist allerdings nicht ganz das, was ich haben möchte. Ich möchte dass die Stufenbezeichnungen an der gleichen Position stehen und die gleiche Schriftart benutzen wie die Akkordsymbole. Außerdem sollen die Optionen/Tensions genauso gesetzt werden, als wären es echte Akkordsymbole. Nur soll zum Beispiel statt Cmaj7 Imaj7 da stehen (in C-Dur).

Gruß,
Johannes

wome

  • Member
Re: Stufenbezeichnungen
« Antwort #3 am: Montag, 9. März 2009, 13:59 »
Ja, ich suche auch so etwas. So wie ich das sehe, gibt es eine direkte Lösung deines Problems (Stufen wie Akkordsymbole) nicht.

Ich habe mir wie im folgenden Beispiel was zurecht "gefummelt". Ich nehme halt gerne die Lyrik-Umgebung, weil dann die Stufen schön auf einer Linie stehen (ist natürlich keine "akkordbezogene" Lösung, sondern eine "Text"Lösung). 

\version "2.12.2"
%% Hier wird das "Aussehen" der Stufen festgelegt.
% I. Stufe maj7
Imaj =  \markup  { I \fontsize #-2 \raise #1.5  \triangle ##f } %

% II. Stufe moll 7
IIms =  \markup { IIm  \raise #1 \fontsize #-1 "7" }

\new Score \with {
  \override TimeSignature #'transparent = ##t
  defaultBarType = #""
  \remove Bar_number_engraver
} <<
  \context Staff {
    \time 4/4
    <c' e' g' b'>1 \bar"||"
    <d' f' a' c''>  \bar "||"
}

\addlyrics {
    { \Imaj }
    { \IIms }
}
>>

Man könnte sich auf diese Weise einen ganzen Katalog an Stufen zurechtlegen, dies in eine extra Datei legen, auf die man dann per
\include "/path/stufenbezeichnungen.ly"
zugreifen kann.
« Letzte Änderung: Montag, 9. März 2009, 14:05 von wome »

j.asal

  • Member
Re: Stufenbezeichnungen
« Antwort #4 am: Montag, 9. März 2009, 14:48 »
Das ist schon mal gar nicht schlecht. Prinzipiell müsste es aber doch auch möglich sein, den Chord Engraver so zu modifizieren, dass er statt dem Grundton einen beliebigen anderen (oder mehrere) Buchstaben ausspuckt. Allerdings hab ich in der Dokumentation nichts zu diesem Thema gefunden. Ich werde mir eventuell später mal den Lilypond Sourcecode anschauen, vielleicht werde ich daraus schlauer.

j.asal

  • Member
Re: Stufenbezeichnungen
« Antwort #5 am: Montag, 9. März 2009, 17:43 »
Also, Lilypond verwendet die Scheme Funktion chordRootNames, um die Akkordnamen festzulegen. Ich habe mir die mal angeschaut, und es ist prinzipiell möglich, eine neue Funktion hinzuzufügen, die Stufennamen statt Notennamen ausgibt. Das Problem ist nur, die Stufennamen in Relation zum Grundton (und zum Modus) zu bekommen. Dazu müsste man einen oder zwei weitere Parameter übergeben... Für die Entwickler ist das sicherlich eine Sache von 10 Minuten, deshalb fände ich es super, wenn das in einer der nächsten Versionen berücksichtigt werden könnte.

wome

  • Member
Re: Stufenbezeichnungen
« Antwort #6 am: Montag, 9. März 2009, 18:05 »
 ... schließe mich diesem Wunsch an ...

Wolfgang

etilli33

  • Member
Re: Stufenbezeichnungen
« Antwort #7 am: Dienstag, 10. März 2009, 09:19 »
Hei,
schreibt ihr das auf die Entwicklerliste? Es gibt gerade viele Leute, die sich mit Akkorden beschäftigen, vielleicht habt ihr wirklich Glück. Man könnte sich ja schon vorstellen, dass der Grundton von der Tonart kommt, oder? leider reicht mein Scheme nicht...

Gruss
Till

j.asal

  • Member
Re: Stufenbezeichnungen
« Antwort #8 am: Dienstag, 10. März 2009, 10:53 »
Hab es grade draufgeschrieben. Mal sehen, ob jemand Lust darauf hat das zu implementieren. Ansonsten muss ich halt mal Scheme lernen... ;)

j.asal

  • Member
Re: Stufenbezeichnungen
« Antwort #9 am: Dienstag, 10. März 2009, 17:17 »
Ich habe jetzt doch mal selber am Sourcecode rumgespielt und eine erste Möglichkeit gefunden, zumindest relativ zum Grundton C die Stufenbezeichnungen als Akkordsymbole zeichnen zu lassen. Dazu einfach die Datei chord-name.scm im scm Verzeichnis editieren (liegt meistens unter /usr/share/lilypond/2.12.1/scm) und folgende Funktion hinzufügen:

(define-public (note-name->roman-markup-c pitch)
  "Return roman markup for PITCH relative to root C."
  (make-line-markup
   (list
    (make-simple-markup
     (vector-ref #("I" "II" "III" "IV" "V" "VI" "VII")
      (modulo (ly:pitch-notename pitch) 7) ))
     (accidental->markup (ly:pitch-alteration pitch)))))

Danach kann man in seinen Lilypond Dateien auf die neuen Markups umstellen mittels

\set chordRootNamer = #note-name->roman-markup-c

Ich hoffe, das hilft erst mal weiter. Änderungen der Lilypond Dateien erfolgen natürlich auf eigene Gefahr!

Gruß,
Johannes Asal

etilli33

  • Member
Re: Stufenbezeichnungen
« Antwort #10 am: Freitag, 20. März 2009, 09:44 »
Hallo,
das ist ja schon eine Weile hier gestanden. hast du nicht Lust, den Code in die Schnipsel-Sammlung zu stellen? Hier gibts Hinweise: http://lsr.dsi.unimi.it/

Gruss
Till