Le 09/11/2022 à 09:50, Gerard a écrit :
Bonjour tout le monde,
J'aimerai saisir des tablatures guitare qui ne sont données qu'en
version tablature (sans la portée traditionnelle)... Dadi, Giroux,
etc...
Donc vous me voyez venir... existe-t-il un moyen "inversé" de saisir
une tablature, quelque chose dans le genre 0\3 pour corde "mi" 3ème
case ? ou dois-me résigner à mentalement traduire... 5 sur la corde
"si", c'est e\2 ?
Bonjour Gérard,
Voici une solution possible. La syntaxe est
c\corde-case
ou
durée\corde-case
Note que LilyPond a besoin au niveau syntaxique d'une hauteur
ou d'une durée pour une note, donc si tu ne mets pas de durée
(pour garder la durée précédente), il faut mettre une hauteur
quelconque, comme « c » par exemple.
Cordialement,
Jean
\version "2.22.2"
#(define (pitch-list? x)
(and (list? x)
(every ly:pitch? x)))
tabInput =
#(define-music-function (tuning music) ((pitch-list? guitar-tuning)
ly:music?)
(for-some-music
(lambda (m)
(if (music-is-of-type? m 'note-event)
(let* ((articulations (ly:music-property m 'articulations))
(fingering-ev (find (music-type-predicate
'fingering-event)
articulations))
(string-number-ev (find (music-type-predicate
'string-number-event)
articulations)))
(if (and fingering-ev string-number-ev)
(begin
(set! (ly:music-property m 'articulations)
(delq! fingering-ev articulations))
(let* ((digit (ly:music-property fingering-ev 'digit))
(string-number (ly:music-property
string-number-ev 'string-number))
(string-pitch (list-ref tuning (1-
string-number))))
(set! (ly:music-property m 'pitch)
(ly:pitch-transpose
string-pitch
(ly:make-pitch 0
0
(* 1/2 digit)))))))))
#f)
music)
music)
\new TabStaff {
a,8 a <c' e'> a
d8 a <d' f'> a
}
\new TabStaff \tabInput {
c8\5-0 c\3-2 <c\1-0 c\2-1> c\3-2
c\4-0 c\3-2 <c\1-1 c\2-3> c\3-2
}
% Avec un instrument autre que la guitare :
\new TabStaff \with {
stringTunings = #bass-tuning
}
\relative { c,4 d e f }
\new TabStaff \with {
stringTunings = #bass-tuning
}
\tabInput #bass-tuning {
c4\3-3 c\2-0 c\2-2 c\2-3
}