\version "2.18" #(define solfege (circular-list "d" "r" "m" "f" "s" "l" "t")) #(define numbers (circular-list "1" "2" "3" "4" "5" "6" "7")) #(define (Ez_noteheads-engraver lst ) (list (cons 'acknowledgers (list (cons 'note-head-interface (lambda (engraver grob source-engraver) (let* ((context (ly:translator-context engraver)) (tonic-pitch (ly:context-property context 'tonic)) (tonic-name (ly:pitch-notename tonic-pitch)) (delta (- 7 tonic-name)) (solfege-base lst) (solfege (take (drop solfege-base delta) 7)) (note-names (apply vector solfege))) ; (display solfege)(newline) (ly:grob-set-property! grob 'note-names note-names)))))))) EzON = { \easyHeadsOn \override Staff.StaffSymbol.staff-space = #1.5 \override Staff.StaffSymbol.line-thickness = #1.5 \override Staff.NoteHead.font-size = #+3.25 \override Staff.Clef.font-size = #+1.35 \override Staff.TimeSignature.font-size = #+1.35 \override Staff.Accidental.font-size = #+1.35 \override Voice.NoteHead.font-size = #-5.25 } EzNum = \with { \consists #(Ez_noteheads-engraver numbers ) } EzSol = \with { \consists #(Ez_noteheads-engraver solfege ) } % { global = { \key c\major \time 4/4 } muxI = \relative c'' { \global c1 d2 e2 f4 g4 a8 b8 r4 \break \key f\major f1 g2 a2 b4 c4 d8 e8 r4 } muxII = \relative c' { \global c1 d2 e f4 g a8 b8 r4 \key f\major f1 g2 a b4 c d8 e8 r4 } \score { \new Staff << \new Voice = "sop" \EzNum { \voiceOne \EzON \muxI } \new Voice = "alt" \EzSol { \voiceTwo \EzON \muxII } >> \layout { } } %}