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

Reply via email to