lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: slurs and bars in vocal music


From: Carl Sorensen
Subject: Re: slurs and bars in vocal music
Date: Fri, 25 Sep 2009 16:17:03 -0600



On 9/25/09 2:17 PM, "fiëé visuëlle" <address@hidden> wrote:

> 
> Just, pretty please: Could someone tell me how to get chord names with
> -is and -es (saying "fis" and not "f#")?
> Or of course point me to the appropriate chapter of the docs.

Here's a set of scheme routines that will allow you to get Fis, Aes, etc.

But it doesn't do the lower-case root name for minor chords.  But I think
you have something from somebody that gets the lower-case root name for the
minor chords.

HTH,

Carl


%%%%%%%%%%%%%%%%%%%%%%%%%
\version "2.13.4"

#(define (pitch-alteration-semitones pitch)
  (inexact->exact (round (* (ly:pitch-alteration pitch) 2))))


#(define ((chord-name->german-markup-text-alteration
          B-instead-of-Bb) pitch)
  "Return pitch markup for PITCH, using german note names.
If B-instead-of-Bb is set to #t, real german names are returned.
Otherwise, semi-german names (with Bb and below keeping the
british names).  Alterations are indicated with -es and -is
instead of the flat and sharp symbols."
  (let* ((name (ly:pitch-notename pitch))
         (alt-semitones  (pitch-alteration-semitones pitch))
         (n-a (if (member (cons name alt-semitones) `((6 . -1) (6 . -2)))
                  (cons 7 (+ (if B-instead-of-Bb 1 0) alt-semitones))
                  (cons name alt-semitones))))
    (make-line-markup
     (list
      (make-simple-markup
       (vector-ref #("C" "D" "E" "F" "G" "A" "H" "B") (car n-a)))
      (let ((alteration (/ (cdr n-a) 2)))
        (cond
           ((= alteration FLAT) (make-simple-markup "es"))
           ((= alteration SHARP) (make-simple-markup "is"))
           (else empty-markup)))))))

myChords = \chordmode{
  ais1 bes  b c
}

\score{
  \new ChordNames {
    \set chordRootNamer = #(chord-name->german-markup-text-alteration #t)
    \myChords
  }
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%





reply via email to

[Prev in Thread] Current Thread [Next in Thread]