lilypond-user
[Top][All Lists]
Advanced

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

Re: Nashville notation as chord symbols


From: Klaus Blum
Subject: Re: Nashville notation as chord symbols
Date: Mon, 15 Jun 2015 04:17:19 -0700 (MST)

Hi Amy, 

hmm... sounds difficult. 
My first idea would be: Take the whole chord sequence and transpose it back
to C major. 
However, this will also affect the MIDI output.
I hope this helps:

% -------------------------------------------------
\version "2.18.2"
% Chords
#(define (note-name->international-markup pitch lowercase?)
   (let* (
       (name (ly:pitch-notename pitch))
       (alt (ly:pitch-alteration pitch))
       (hspace (vector-ref #(0.15 0.15 0.05 0.05 0.15) (+ (* alt 2) 2)))
       (raise (vector-ref #(0.6 0.6 0.65 0.8 0.7) (+ (* alt 2) 2)))
     )
     (make-line-markup
       (list
         (if (= alt 0)
           ;; If it's natural and not b, do nothing
           (make-line-markup (list empty-markup))
           ;; Else add alteration
           (make-line-markup
             (list
               (make-smaller-markup
                 (make-raise-markup raise
                    (make-musicglyph-markup (assoc-get alt
standard-alteration-glyph-name-alist ""))))
               (make-hspace-markup hspace)
         )))
         (make-simple-markup
           (vector-ref #("1" "2" "3" "4" "5" "6" "7") name)
         )
 ))))



nashvilleChords = {
  \set chordRootNamer = #note-name->international-markup
  \unset chordNoteNamer
}

\chords {
  % same chord sequence in D major:
  d1 e:m f g:maj7 gis:sus4 a:7 d
  \nashvilleChords
  
  % for the Nashville version, transpose it back to C major before
displaying.
  \transpose d c {
    d1 e:m f g:maj7 gis:sus4 a:7 d
  }
}
% -------------------------------------------------

Cheers, 
Klaus



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Re-Nashville-notation-as-chord-symbols-tp177872p177874.html
Sent from the User mailing list archive at Nabble.com.



reply via email to

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