How to engrave lowercase chord symbols

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

How to engrave lowercase chord symbols

Todor Vachkov

Hello,

My goal is to engrave music for accordion and I would like to have my chords symbols as follows:

Bass tone: allways uppercase: e.g. A E D

Chords: allways lower case: e.g. major chords a e d; minor chords am em dm

And together: A am E e D d7

In Lilypond you can force the lowercase only for the minors:

\set chordNameLowercaseMinor = ##t

But I would like to have this possibility for the majors, sevens etc. as well...The bass tone is always uppercase, which is fine.

Can someone please help me? Thanks a lot in advance!


_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: How to engrave lowercase chord symbols

Thomas Morley-2
2016-10-22 12:43 GMT+02:00 Todor Vachkov <[hidden email]>:

> Hello,
>
> My goal is to engrave music for accordion and I would like to have my chords
> symbols as follows:
>
> Bass tone: allways uppercase: e.g. A E D
>
> Chords: allways lower case: e.g. major chords a e d; minor chords am em dm
>
> And together: A am E e D d7
>
> In Lilypond you can force the lowercase only for the minors:
>
> \set chordNameLowercaseMinor = ##t
>
> But I would like to have this possibility for the majors, sevens etc. as
> well...The bass tone is always uppercase, which is fine.
>
> Can someone please help me? Thanks a lot in advance!

Which input-syntax do you prefer for entering single bass-notes?
Please give a compiling example even when it does not what you want.

Otherwise, how about:

\layout {
  \context {
    \Score
    chordNoteNamer = #note-name->markup
    chordRootNamer =
      #(lambda (pitch lowercase?) (note-name->markup pitch #t))
  }
}

\new ChordNames \chordmode { c:7 c:m7 c:7/+c c:m7/+c  }

Cheers,
  Harm

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: How to engrave lowercase chord symbols

David Kastrup
In reply to this post by Todor Vachkov
Todor Vachkov <[hidden email]> writes:

> Hello,
>
> My goal is to engrave music for accordion and I would like to have my
> chords symbols as follows:
>
> Bass tone: allways uppercase: e.g. *A E D*
>
> Chords: allways lower case: e.g. *major* chords *a e d*; *minor* chords *am
> em dm*
>
> And together: *A am E e D d7*
>
> In Lilypond you can force the lowercase only for the minors:
>
> \set chordNameLowercaseMinor = ##t
>
> But I would like to have this possibility for the majors, sevens etc. as
> well...The bass tone is always uppercase, which is fine.
>
> Can someone please help me? Thanks a lot in advance!

This is not helpful per se, but you'll probably find that the way
LilyPond's ChordName context places the chord names does not work well
for annotating a bass part (it's fine for piano conventions).  You'll
likely be better off using text scripts even though those don't
transpose well (or at all).  Of course assuming that you _are_ going to
produce a whole bass staff.

So accordion standard bass notation has more than one open problem at
the current point of time.

I've been skirting duties here by mostly playing arrangements for free
bass (like <https://www.youtube.com/watch?v=FCfm-OhfBUI> which I should
probably attempt to make a final take of some of these days).

--
David Kastrup

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: How to engrave lowercase chord symbols

David Kastrup
In reply to this post by Thomas Morley-2
Thomas Morley <[hidden email]> writes:

> 2016-10-22 12:43 GMT+02:00 Todor Vachkov <[hidden email]>:
>> Hello,
>>
>> My goal is to engrave music for accordion and I would like to have my chords
>> symbols as follows:
>>
>> Bass tone: allways uppercase: e.g. A E D
>>
>> Chords: allways lower case: e.g. major chords a e d; minor chords am em dm
>>
>> And together: A am E e D d7
>>
>> In Lilypond you can force the lowercase only for the minors:
>>
>> \set chordNameLowercaseMinor = ##t
>>
>> But I would like to have this possibility for the majors, sevens etc. as
>> well...The bass tone is always uppercase, which is fine.
>>
>> Can someone please help me? Thanks a lot in advance!
>
> Which input-syntax do you prefer for entering single bass-notes?

These days I'd suggest <c> rather than c:1 .  A "true" accordion chord
entry mode would likely provide capitalized pitch names like C, Dis,
... for the bass notes.  But for standard \chordmode, this seems
easiest.

> Please give a compiling example even when it does not what you want.
>
> Otherwise, how about:
>
> \layout {
>   \context {
>     \Score
>     chordNoteNamer = #note-name->markup
>     chordRootNamer =
>       #(lambda (pitch lowercase?) (note-name->markup pitch #t))
>   }
> }
>
> \new ChordNames \chordmode { c:7 c:m7 c:7/+c c:m7/+c  }

--
David Kastrup

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: How to engrave lowercase chord symbols

Thomas Morley-2
2016-10-22 14:32 GMT+02:00 David Kastrup <[hidden email]>:
> Thomas Morley <[hidden email]> writes:
>>
>> Which input-syntax do you prefer for entering single bass-notes?
>
> These days I'd suggest <c> rather than c:1 .  A "true" accordion chord
> entry mode would likely provide capitalized pitch names like C, Dis,
> ... for the bass notes.  But for standard \chordmode, this seems
> easiest.

Then how about the below? Should work with both <c> and c:1
Always prints cis and ces not c#/cb, is this ok?
Be aware, it is not tested beyond the given example.

#(define-public (my-note-name->german-markup pitch lowercase?)
  (let* ((name (ly:pitch-notename pitch))
         (alt-semitones (inexact->exact (round (* (ly:pitch-alteration
pitch) 2))))
         (n-a (if (member (cons name alt-semitones) `((6 . -1) (6 . -2)))
                  (cons 7 (+ 1 alt-semitones))
                  (cons name alt-semitones)))
         (basic-list '("c" "d" "e" "f" "g" "a" "h" "b"))
         (list-to-use
           (if lowercase?
               basic-list
               (map string-upcase basic-list))))

    (make-line-markup
     (list
      (string-append
       (list-ref list-to-use (car n-a))
       (if (or (equal? (car n-a) 2) (equal? (car n-a) 5))
           (list-ref '( "ses" "s" "" "is" "isis") (+ 2 (cdr n-a)))
           (list-ref '("eses" "es" "" "is" "isis") (+ 2 (cdr n-a)))))))))

\layout {
  \context {
    \Score
    chordNameFunction =
      #(lambda (in-pitches bass inversion context)
        (if (= (length in-pitches) 1)
            (my-note-name->german-markup (car in-pitches) #f)
            (ignatzek-chord-names
              in-pitches bass inversion context)))
    chordNoteNamer =
      #(lambda (pitch lowercase?)
      (my-note-name->german-markup pitch #f))
    chordRootNamer =
      #(lambda (pitch lowercase?)
      (my-note-name->german-markup pitch #t))
  }
}

\new ChordNames \chordmode { cis:7 cis:m7 c:7/+c c:m7/+c <ces> cis:1 }

Cheers,
  Harm

_______________________________________________
lilypond-user mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-user