Hello Valentin, Thank you for your help with this, and for providing the example. I have been able to use NNS to denote chord names as I need to. I agree that it would be great to implement the full NNS notation as Amy described.
Thanks, Samuel Gibson On Fri, Jan 14, 2022 at 2:43 PM Valentin Petzel <[email protected]> wrote: > Hello Sam, > (please keep lilypond-user in the address list) > > The big problem here is the the chord naming function (which is > responsible > for creating that chordname) does not expect the root name to depend on > context properties, so it does not pass the context as argument. This > means we > cannot do this from within the root name function. > > I suppose there are two paths: > 1) Create a new key function that resets the root namer > 2) Create an engraver that listens to key-change-event resets the root > namer > accordingly > > For the first possibility see the appended file as example. The format > here is > a(b) where a is the diatonic step and b is the alteration to the given > scale > in semitones > > Cheers, > Valentin > > Am Freitag, 14. Jänner 2022, 20:25:20 CET schrieb Sam Gibson: > > Hello Valentin, > > > > I appreciate your help. I am not too concerned about alterations at the > > moment (although that may become necessary eventually), but you are > correct > > that NNS scale degrees should be relative to the key. It seems that the > key > > defaults to C major. That is, a C chord is 1, G is 5, etc. Do you know > of a > > way I can set the key so that all scale degrees will be relative to that > > key? For example, setting the key as G major so that G is 1 and C is 4. > > > > Thank you, > > Sam > > > > On Fri, Jan 14, 2022 at 1:14 PM Valentin Petzel <[email protected]> > wrote: > > > Hello Sam, > > > > > > Sure, just use (number->string (1+ step)) to increment the number by > 1. > > > Generally it is possible to do more, but you’d need to specify what is > > > needed. > > > After all most of us probably have no real knowledge about the > Nashville > > > System. For example this does not yet incorporate alterations (like Eb > in > > > C > > > major), for which I do not know how this should be done. > > > > > > Also things like: As far as I can see the NNS uses scale degrees for > > > chords, > > > so I suppose it should probably be relative to the key. If that is so I > > > suppose I could do something for this. > > > > > > Cheers, > > > Valentin > > > > > > Am Freitag, 14. Jänner 2022, 16:58:35 CET schrieb Sam Gibson: > > > > Hello Valentin, > > > > > > > > Thank you for your help! Your solution works for my project; I only > need > > > > > > to > > > > > > > display chords in the number system. > > > > > > > > One small detail: is there a way I can make the indexing start at 1 > > > > > > instead > > > > > > > of zero. Right now, the root cord is denoted by 0, and I would like > it > > > > to > > > > be 1. As, you can tell, I am not very experienced with using > functions > > > > in > > > > Lilypond :) > > > > > > > > Thank you, > > > > Sam > > > > > > > > On Fri, Jan 14, 2022 at 6:38 AM Valentin Petzel <[email protected]> > > > > > > wrote: > > > > > Hello Sam, > > > > > > > > > > What do want? ENTER chords in this system, or DISPLAY them in this > > > > > > system, > > > > > > > > or > > > > > both? I know nothing about this system, but you can specify what > > > > > symbol > > > > > gets > > > > > printed for chord roots like this > > > > > > > > > > \version "2.22.1" > > > > > > > > > > \chords { > > > > > > > > > > \set chordRootNamer = > > > > > #(lambda (pitch lowercase?) > > > > > > > > > > (let* ((step (ly:pitch-notename pitch))) > > > > > > > > > > (number->string step))) > > > > > > > > > > c1 f:sus4 } > > > > > > > > > > Cheers, > > > > > Valentin > > > > > > > > > > Am Freitag, 14. Jänner 2022, 03:46:49 CET schrieb Sam Gibson: > > > > > > Good day. > > > > > > > > > > > > I wish to use the Nashville Number System, using numbers in > place of > > > > > > > > > > chord > > > > > > > > > > > names, for a simple lead sheet or chord chart. While it is > possible > > > > > > to > > > > > > > > > simply enter and position chords using \lyricmode, I do not know > of > > > > > > a > > > > > > way > > > > > > to include the superscripts such as maj7 or sus4. Is there a way > to > > > > > > use > > > > > > > > > '\chords' and replace the letter chord names with numbers? > > > > > > > > > > > > I am entering chords in the following way: > > > > > > > > > > > > \version "2.22.1" > > > > > > \chords { c1 f:sus4 } > > > > > > > > > > > > I appreciate any assistance. > > > > > > > > > > > > Samuel Gibson
