Jump to content

Setting up predefined fretboards for other instruments: Difference between revisions

From LilyPond wiki
No edit summary
mNo edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
Predefined fret diagrams can be added for new instruments in addition to the standards used for guitar. This file shows how this is done by defining a new string tuning and a few predefined fretboards for the Venezuelan ''cuatro''.
Predefined fret diagrams can be added for new instruments in addition to the standard diagrams used for guitar. This file shows how this is done by defining a new string tuning and a few predefined fretboards for the Venezuelan ''cuatro''.


This file also shows how fingerings can be included in the chords used as reference points for the chord lookup, and displayed in the fret diagram and the <code>TabStaff</code>, but not the music.
This file also shows how fingerings can be included in the chords used as reference points for the chord lookup, and displayed in the fret diagram and the <code>TabStaff</code>, but not the music.
Line 6: Line 6:


<lilypond version="2.24">
<lilypond version="2.24">
% add FretBoards for the Cuatro
% Add fretboards for the cuatro.
%
%  Note: This section could be put into a separate file
%  Note: This section could be put into a separate file
%     predefined-cuatro-fretboards.ly
%         `predefined-cuatro-fretboards.ly`
%     and \included into each of your compositions
%         and be \included into each of your compositions.


cuatroTuning = #`(,(ly:make-pitch 0 6 0)
cuatroTuning = #`(,(ly:make-pitch 0 6 0)
                   ,(ly:make-pitch 1 3 SHARP)
                   ,(ly:make-pitch 1 3 SHARP)
  ,(ly:make-pitch 1 1 0)
                  ,(ly:make-pitch 1 1 0)
  ,(ly:make-pitch 0 5 0))
                  ,(ly:make-pitch 0 5 0))


dSix = { <a\4 b\1 d\3 fis\2> }
dSix = { <a\4 b\1 d\3 fis\2> }
Line 38: Line 39:
                         "2-2;o;1-1;o;"
                         "2-2;o;1-1;o;"


% end of potential include file /predefined-cuatro-fretboards.ly
% End of potential include file `predefined-cuatro-fretboards.ly`.




Line 95: Line 96:


[[Category:Fretted strings]]
[[Category:Fretted strings]]
[[Category:Included in the official documentation]][[Category:Snippet]]
[[Category:Included in the official documentation]]
[[Category:Snippet]]

Latest revision as of 17:29, 14 December 2025

Predefined fret diagrams can be added for new instruments in addition to the standard diagrams used for guitar. This file shows how this is done by defining a new string tuning and a few predefined fretboards for the Venezuelan cuatro.

This file also shows how fingerings can be included in the chords used as reference points for the chord lookup, and displayed in the fret diagram and the TabStaff, but not the music.

These fretboards are not transposable because they contain string information. This is planned to be corrected in the future.

\version "2.24"

% Add fretboards for the cuatro.
%
%   Note: This section could be put into a separate file
%         `predefined-cuatro-fretboards.ly`
%         and be \included into each of your compositions.

cuatroTuning = #`(,(ly:make-pitch 0 6 0)
                  ,(ly:make-pitch 1 3 SHARP)
                  ,(ly:make-pitch 1 1 0)
                  ,(ly:make-pitch 0 5 0))

dSix = { <a\4 b\1 d\3 fis\2> }
dMajor = { <a\4 d\1 d\3 fis \2> }
aMajSeven = { <a\4 cis\1 e\3 g\2> }
dMajSeven = { <a\4 c\1 d\3 fis\2> }
gMajor = { <b\4 b\1 d\3 g\2> }

\storePredefinedDiagram #default-fret-table \dSix
                        #cuatroTuning
                        "o;o;o;o;"
\storePredefinedDiagram #default-fret-table \dMajor
                        #cuatroTuning
                        "o;o;o;3-3;"
\storePredefinedDiagram #default-fret-table \aMajSeven
                        #cuatroTuning
                        "o;2-2;1-1;2-3;"
\storePredefinedDiagram #default-fret-table \dMajSeven
                        #cuatroTuning
                        "o;o;o;1-1;"
\storePredefinedDiagram #default-fret-table \gMajor
                        #cuatroTuning
                        "2-2;o;1-1;o;"

% End of potential include file `predefined-cuatro-fretboards.ly`.


#(set-global-staff-size 16)

primerosNames = \chordmode {
  d:6 d a:maj7 d:maj7
  g
}
primeros = {
  \dSix \dMajor \aMajSeven \dMajSeven
  \gMajor
}

\score {
  <<
    \new ChordNames {
      \set chordChanges = ##t
      \primerosNames
    }

    \new Staff {
      \new Voice \with {
        \remove "New_fingering_engraver"
      }
      \relative c'' {
        \primeros
      }
    }

    \new FretBoards {
      \set Staff.stringTunings = #cuatroTuning
%      \override FretBoard
%        #'(fret-diagram-details string-count) = 4
      \override FretBoard.fret-diagram-details.finger-code = #'in-dot
      \primeros
    }

    \new TabStaff \relative c'' {
      \set TabStaff.stringTunings = #cuatroTuning
      \primeros
    }

  >>

  \layout {
    \context {
      \Score
      \override SpacingSpanner.base-shortest-duration =
        #(ly:make-moment 1 16)
    }
  }
  \midi { }
}