Subject: Tablatures

From: Jean Bréfort <[email-masked]>
Date: Mon, 04 May 2020 17:45:00 +0200

Bonjour,

J'ai un petit souci avec les tablatures générées avec Lily. Dans le cas
des tablatures françaises, anglaises ou allemandes pour luth ou pour
viole des XVI-XVIIèmes siécles, les lettres sont placées au dessus de
la ligne et pas sur la ligne. Y a-t-il un moyen de décaler la lettre
d'une demi-ligne vers le haut ? Sinon, je crois que je vais devoir me
plonger dans le code source, mais je ne sais pas si je trouverai le
temps et la motivation nécessaires (en plus, mais compétences en Scheme
sont voisines du zéro absolu).

Cordialement,
Jean

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Mon, 4 May 2020 18:06:32 +0200

Bonjour Jean,
Un mini-exemple ?
Sinon il y a :

\version "2.20.0"

musique = { e, a, d g b e' }

<<
  \new Staff { \clef "G_8"  \musique }
  \new TabStaff
    \with {
      tablatureFormat = #fret-letter-tablature-format
      \override TabNoteHead.whiteout = ##f
      \override TabNoteHead.before-line-breaking =
       #(lambda (grob)
          (if (not (< (ly:grob-property grob 'Y-offset) -4))
              (ly:grob-set-property! grob 'Y-offset
                (+  (ly:grob-property grob 'Y-offset) 0.6))))
    } \musique

Cordialement,
Pierre
(cf.
http://lilypond.1069038.n5.nabble.com/French-tablature-td198663.html#a198679
)

---

From: martial <[email-masked]>
Date: Mon, 4 May 2020 09:11:03 -0700 (MST)

Bonjour,

sans vérifier mais c'est ce que j'ai dans une ancienne partition 

\layout {
\context {
\TabVoice
	%\override TabNoteHead.font-size = #2                %% on grossit un peu
les lettres
	\override TabNoteHead.extra-offset = #'( 0 . 0.30)  %%lettres légèrement au
dessus des lignes
	\override TabNoteHead.whiteout = ##f                %% pas d'espace blanc
autour des lettres (ça risque de rentrer en collision avec les lignes)
	}
}
}

-----
♫artial♪
--
Sent from: http://lilypond-french-users.1298960.n2.nabble.com/

---

From: Jean Bréfort <[email-masked]>
Date: Mon, 04 May 2020 18:22:32 +0200

Bonjour Pierre,
Je suis comme toujours impressionné par de telles compétences :-)
Il me reste à améliorer les hampes qui descendent (un peu) trop bas
pour mon goût, je vais chercher dans la doc. Le résultat courant en
pièce attachée.
Merci beaucoup, cordialement,Jean

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Mon, 4 May 2020 18:25:17 +0200

Regarde du côté de  : \override TabNotehead.stem-attachement
Cf. http://lilypond.org/doc/v2.19/Documentation/internals/tabnotehead
Cordialement,
Pierre

Le lun. 4 mai 2020 à 18:22, Jean Bréfort <[email-masked]> a écrit :

> Il me reste à améliorer les hampes qui descendent (un peu) trop bas pour
> mon goût, je vais chercher dans la doc. Le résultat courant en pièce
> attachée.
>

---

From: Éric <[email-masked]>
Date: Mon, 4 May 2020 09:30:03 -0700 (MST)

Bonjour,
on peut le faire en ajoutant :

\override TabNoteHead.extra-offset = #'(0 . 0.45) 

Il y a peut-être des façons plus "élégantes", car j'ai cru comprendre que
les extra-offset ne sont guère appréciés des "puristes". Mais bon, ceci
marche très bien.

Ajuster le nombre en fonction de la police que vous utilisez.
Je n'ai pas vérifié en tab italienne (aigus en bas = historique) il faut
peut-être un nombre négatif.
Dans un \layout, c'est au niveau TabStaff qu'il doit être.

Cela dit, les anciens, dans les manuscrits écrivaient en général les lettres
ou chiffres dans les lignes plutôt qu'entre.
La ligne est plus évocatrice de la corde et le symbole, du doigt qui se pose
sur la corde, à mon avis.
Je crois que c'est plutôt que pour imprimer, c'était plus simple entre les
lignes pour les caractères mobiles.

Par ailleurs, il n'y a pas de tablature allemande de luth dans Lilypond,
contrairement à ce que vous laissez entendre.
C'est faisable, mais un peu laborieux.

Luthistiquement,
Éric.

---

From: Jean Bréfort <[email-masked]>
Date: Mon, 04 May 2020 18:41:58 +0200

Encore merci.

Je voudrais dans l'idéal obtenir quelque chose ressemblant à l'exemple
attaché. J'espère pouvoir m'en sortir.

Cordialement,
Jean

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Mon, 4 May 2020 18:54:40 +0200

Il y a quelques années, j'avais fait ce truc :
http://lsr.di.unimi.it/LSR/Item?id=920
Peut-être t'inspirera-t-il ?
Cordialement,
Pierre

---

From: Jean Bréfort <[email-masked]>
Date: Mon, 04 May 2020 18:55:41 +0200

Bonjour,
Merci.En ce qui concerne les partitions pour violes, je n'ai jamais vu
les signes sur les lignes à part chez les Italiens.
Cordialement,Jean
Le lundi 04 mai 2020 à 09:30 -0700, Éric via LilyPond French-speaking
list a écrit :
> Bonjour,on peut le faire en ajoutant :
> Il y a peut-être des façons plus "élégantes", car j'ai cru comprendre
> queles extra-offset ne sont guère appréciés des "puristes". Mais bon,
> cecimarche très bien.
> Ajuster le nombre en fonction de la police que vous utilisez.Je n'ai
> pas vérifié en tab italienne (aigus en bas = historique) il fautpeut-
> être un nombre négatif.Dans un \layout, c'est au niveau TabStaff
> qu'il doit être.
> Cela dit, les anciens, dans les manuscrits écrivaient en général les
> lettresou chiffres dans les lignes plutôt qu'entre.La ligne est plus
> évocatrice de la corde et le symbole, du doigt qui se posesur la
> corde, à mon avis.Je crois que c'est plutôt que pour imprimer,
> c'était plus simple entre leslignes pour les caractères mobiles.
> Par ailleurs, il n'y a pas de tablature allemande de luth dans
> Lilypond,contrairement à ce que vous laissez entendre.C'est faisable,
> mais un peu laborieux.
> Luthistiquement,Éric.
> 
> 
> 
> --Sent from: http://lilypond-french-users.1298960.n2.nabble.com/
>

---

From: Éric <[email-masked]>
Date: Mon, 4 May 2020 09:57:56 -0700 (MST)

Jean,
pour le rythme, c'est mieux à mon avis d'utiliser un "ligne de rythme" pour
pouvoir en travailler l'apparence tranquillement.

Par exemple dans le layout
\context {
    \RhythmicStaff
    \remove "Staff_symbol_engraver"
    fontSize = #-1.5
    \omit TimeSignature
    \stemUp
   \override Stem.length = #5
    \autoBeamOff
    \override Flag.stencil = #modern-straight-flag
    % \omit NoteHead
    % \override NoteHead.style = #'mensural
  }   % fin layout  RhythmicStaff

Reste à changer les têtes pour des losanges.

Éric

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Mon, 4 May 2020 19:17:04 +0200

Bonjour Éric,

> les extra-offset ne sont guère appréciés des "puristes". Mais bon, ceci

Ça n'est pas une question de "puristes". Les extra-offsets sont de
formidables outils qui nous sauvent dans de nombreuses situations.
En revanche, comme ils ne prennent pas en compte les extent --
l'encombrement utilisé par le grob --, cela peut causer de mauvaises
surprises.
Un exemple parmi d'autres :

\version "2.20.0"
\new TabStaff
%\with { \override TabNoteHead.extra-offset = #'(0 . 0.45) }
{ a_( g) }

Cordialement,
Pierre

---

From: Éric <[email-masked]>
Date: Mon, 4 May 2020 10:25:46 -0700 (MST)

Oui Pierre, je comprends.
Je me doutais bien qu'il y avait mieux.
Merci pour la fonction.
Éric

---

From: Jean Bréfort <[email-masked]>
Date: Mon, 04 May 2020 19:34:03 +0200

Bonsoir la liste,

Merci à tous, j'ai maintenant tout ce qu'il me faut.

Cordialement,
Jean

---

From: Jean Bréfort <[email-masked]>
Date: Mon, 04 May 2020 21:52:42 +0200

Et voila un résultat qui me convient bien.

---

From: Éric <[email-masked]>
Date: Tue, 5 May 2020 03:19:01 -0700 (MST)

Bonjour Jean,
peut-être seriez vous intéressé par une police plus "historique" et surtout
plus lisible ?
Il y a un lien pour en télécharger tout un jeux au milieu de cette page,
avant les "Tags" :

https://www.scoringnotes.com/tutorials/leroy-early-music-fonts-for-sibelius/

C'est pour Sibelius, mais ne me semble pas que cela pose de pb de droits.
Je l'utilise depuis longtemps sur différentes sortes d'Ubuntu sans aucun
soucis.

Éric

---

From: Jean Bréfort <[email-masked]>
Date: Tue, 05 May 2020 13:01:24 +0200

Bonjour Éric,

Merci pour le lien que je ne connaissais pas. Je vais regarder les
fontes, la fonte par défaut n'est effectivement pas idéale.

Il n'y a aucun copyright joint à ces fontes, je suppose donc qu'elles
sont libres d'emploi.

Vous aviez raison pour les lettres sur les lignes, j'ai découvert que
j'avais un tas de tablatures comme cela. Je les ai déchiffrées il y a
des années et je ne m'en souvenais plus du tout.

Cordialement,
Jean

Le mardi 05 mai 2020 à 03:19 -0700, Éric via LilyPond French-speaking
list a écrit :
> Sent from: 
> http://lilypond-french-users.1298960.n2.nabble.com/
> 
>

---

From: Loïc Chahine <[email-masked]>
Date: Tue, 5 May 2020 11:19:02 +0000

Bonjour à tous,
(Un salut particulier à Jean, pas vu depuis des lustres)

Puisqu’on cause de tablatures, quid des instruments comme le théorbe ou la guitare baroque qui ont des accords un peu particuliers ? La guitare baroque par exemple c’est la 3 / ré 4 / sol 3 / si 3 / mi 4. Et on joue évidemment du fait qu’un do peut être joué 3e case de la corde de la ou 1re case de la corde de si…

J’avoue que pour ma part, j’ai renoncé à saisir les tablatures dans LilyPond. Soit j’utilise MuseScore, soit Tab de Wayne Cripps. https://www.cs.dartmouth.edu/~wbc/lute/AboutTab.html Rudimentaire, mais fait le job une fois de temps en temps.

En réalité la saisie par corde et symbole est plus commode que par notes… Je suis certain que Lily aurait quelque chose à dire pour les tablatures et pourrait facilement écraser la « concurrence », mais cela nécessiterait certaines adaptations, fût-ce en passant pare sorte de pré-processuer qui transformerait une saisie « de base » en code LilyPond correct.

Cordialement,
Loïc

Le 5 mai 2020 à 13:01, Jean Bréfort <[email-masked]<mailto:[email-masked]>> a écrit :

Bonjour Éric,

Cordialement,
Jean

Le mardi 05 mai 2020 à 03:19 -0700, Éric via LilyPond French-speaking
list a écrit :
Bonjour Jean,
peut-être seriez vous intéressé par une police plus "historique" et
surtout
plus lisible ?
Il y a un lien pour en télécharger tout un jeux au milieu de cette
page,
avant les "Tags" :

C'est pour Sibelius, mais ne me semble pas que cela pose de pb de
droits.
Je l'utilise depuis longtemps sur différentes sortes d'Ubuntu sans
aucun
soucis.

Éric

---

From: Jean Bréfort <[email-masked]>
Date: Tue, 05 May 2020 14:10:01 +0200

> (Un salut particulier à Jean, pas vu depuis des lustres)

Bonjour Loïc,
cela fait effectivement assez longtemps…

> Puisqu’on cause de tablatures,
> quid des instruments comme le théorbe ou la guitare baroque qui ont
> des accords un peu particuliers ? La guitare baroque par exemple
> c’est la 3 / ré 4 / sol 3 / si 3 / mi 4. Et on joue évidemment du
> fait qu’un
> do peut être joué 3e case de la corde de la ou 1re case de la corde
> de
> si…

Tu peux dire à Lilypond quelles cases utiliser :
\once \set TabStaff.minimumFret = #3

Le do sera sur la troisème case. C'est un peu fastidieux, surtout quand
cela concerne des accords isolés.

Amitiés,
Jean

> J’avoue que pour ma part, j’ai renoncé à saisir les tablatures dans
> LilyPond. Soit j’utilise MuseScore, soit Tab de Wayne Cripps. 
> https://www.cs.dartmouth.edu/~wbc/lute/AboutTab.html Rudimentaire,
>  mais fait le job une fois de temps en temps.
> 
> 
> 
> En réalité la saisie par corde et symbole est plus commode que par
> notes… Je suis certain que Lily aurait quelque chose à dire pour les
> tablatures et pourrait facilement écraser la « concurrence », mais
>  cela nécessiterait certaines adaptations, fût-ce en passant pare
> sorte de pré-processuer qui transformerait une saisie « de base » en
> code LilyPond correct.
> 
> 
> 
> Cordialement,
> Loïc
> 
> 
> 
> 
> > Le 5 mai 2020 à 13:01, Jean Bréfort <[email-masked]> a écrit
> > :
> > 
> > 
> > Bonjour Éric,
> > 
> > 
> >

---

From: Marc <[email-masked]>
Date: Tue, 5 May 2020 15:09:26 +0200

Parfait

Marc

Le 05/05/2020 à 13:19, Loïc Chahine a écrit :
> Puisqu’on cause de tablatures, /quid/ des instruments comme le théorbe 
> ou la guitare baroque qui ont des accords un peu particuliers ? La 
> guitare baroque par exemple c’est la 3 / ré 4 / sol 3 / si 3 / mi 4. 
> Et on joue évidemment du fait qu’un /do/ peut être joué 3e case de la 
> corde de /la/ ou 1re case de la corde de /si/…
>
> cela nécessiterait certaines adaptations, fût-ce en passant pare sorte 
> de pré-processuer qui transformerait une saisie « de base » en code 
> LilyPond correct.
>
> Cordialement,
> Loïc
>

---

From: Éric <[email-masked]>
Date: Tue, 5 May 2020 07:56:57 -0700 (MST)

Loïc,

Il y a aussi une sorte de gestion des extensions maximales (c'est dans les
fichiers d'initialisation, soit engraver-init.ly, soit dans
property-init.ly, je ne sais plus).

Pas de souci pour les accords réentrant du théorbe et autres.

Pour ce qui d'un éventuel \tabmod permettant de saisir de la tablature par
les symboles à la place des noms des notes, le sujet a été déjà plusieurs
fois discuté (cf forum en anglais).
D'après ce que j'ai compris, tant qu'on ne cherche pas à montrer
l'équivalence automatique de la tablature en musique, cela serait très
faisable.
Par contre, si on compte sur Lilypond pour montrer les notes correspondantes
à la tablature, se pose le pb des enharmonies (sans parler de ceux
insolubles de polyphonie).
Vue que Lilypond différencie les enharmonies dès le plus bas niveau de
saisie, ii faut que quelqu'un/quelque chose choisisse entre do# et réb et
ainsi pour toutes des enharmonies potentielles à un moment ou à un autre.

Pas impossible, mais le jeu en vaut-il la chandelle ? 
Il faudrait avant de commencer à saisir en \tabmod instruire Lilypond d'un
choix d'une gamme chromatique a priori. 
C'est à dire de fixer arbitrairement un seul nom de note pour chaque touche
du piano (cf code plus bas).

En fin de saisie, une fois la tablature établie, si l'on veux voire la
musique correspondante, il faut soit :
- accepter de lire une partition fautive tonalement parlant, et sans
polyphonie,
- corriger les enharmonies fautives manuellement,
- corriger les enharmonies fautives semi-automatiquement en donnant des
instructions modales en cours de pièces (il existe des outils allant dans ce
sens (cf manuel ou bien Frescobaldi > outils > hauteurs > transposition
modale par ex.).
- prendre à bras le corps la questions de la polyphonie (là en générale, on
finis par complètement réécrire une autre saisie, éventuellement sur 2
portées, c'est potentiellement complexe… et passionnant).

Je pense qu'il serait efficace, pour convaincre qlqu'un de passer du temps à
bâtir du code pour un \tabmod, d'accepter qu'il n'y ai pas de gestion
dynamique des enharmonies, et qu'elles soient supposées être prise en charge
"à la main" par le scripteur, après saisie. Pas non plus de prise en charge
de polyphonie. 
On aurait là un outils de pure conversion, dans le cas où l'accord de
l'instrument n'est pas maîtriser par le scripteur, où que l'on n'a pas assez
de connaissance du solfège (mais là, quid des corrections ???).

David Kastrup (un des gds "manitou" du code.ly) m'avait répondu il y a qlqs
années par une ébauche de code que voici.
C'est assez limité (et bien présenté comme tel par lui) : 
- les frettes ne dépassent pas "g" , car à partir de "h" les symboles ne
sont plus reconnus comme de potentielles nom de notes (de a à g en anglais)
- il faut donner la corde à chaque fois, ce qui est fastidieux en 1ère
position,
- il faut donner une gamme chromatique à slt 12 noms de notes (pas de
souci),
- il est possible que ce soit une mauvaise piste comme point de départ de
codage !??

\version "2.19.50"

lute-tuning = \stringTuning <d, g, c f a d' g'>

tabtranslate =
#(define-music-function (pitches tuning music) (ly:music? pair? ly:music?)
   (define my-pitch (make-semitone->pitch (event-chord-pitches pitches)))
   (define string-number? (music-type-predicate 'string-number-event))
   (define semivec (list->vector (map ly:pitch-semitones tuning)))
   (map-some-music
    (lambda (m)
      (and (music-is-of-type? m 'note-event)
           (let* ((strs (ly:music-property m 'articulations))
                  (no
                   (case (length strs)
                     ((0) (ly:music-warning m "Needs string number") 1)
                     ((1) (ly:music-property (car strs) 'string-number))
                     (else (ly:music-warning m "Multiple string numbers")
                           (ly:music-property (car strs) 'string-number))))
                  (pit (ly:music-property m 'pitch))
                  (ab? (> (ly:pitch-notename pit) 4))
                  (num (+ (ly:pitch-steps pit) (if ab? 2 9)))
                  (no (if (and (integer? no)
                               (<= 1 no (vector-length semivec)))
                          (1- no)
                          (begin
                            (ly:music-warning (car strs)
                                              "Invalid string number")
                           0))))
             (set! (ly:music-property m 'pitch)
                   (my-pitch (+ (vector-ref semivec no) num)))
             m)))
    (tabChordRepeats music)))
%%

"|" = {
  \partial 1*0 \bar "|"
}

content =
\tabtranslate <c cis d dis e f fis g gis a bes b> \lute-tuning
{
  \set Staff.midiInstrument = "acoustic guitar (nylon)"
  \time 4/8
  \set Timing.measureLength = #(ly:make-moment 100000)
  \set Timing.beamExceptions = #'()
  \set Timing.baseMoment = #(ly:make-moment 1/4)
 
  <e\4 d\3 c\2>4
  q8 d\2 |
  <c\4 c\3 d\2>16
  c\2 c8\2
  <a\4 a\3 c\2>16
  a32\2 d\3 a8\2 |
  <e\5 e\4 c\3 c\2>16. e32\4 d16\4 g\5
  <e\5 d\4 c\3 c\2> e\4 e\5 d\4 |
  <c\6 e\5 e\4 d\3 c\2>8 <d\3 c\2>16 c\6 <b\6 c\3 c\2>8 a\2
  <c\6 e\5 e\4 d\3> <e\4 d\3>16 c\6 <e\5 e\4 c\3>8
  <c\3 c\2>16 e\5 <a\4 a\3 c\2>8 a16\2 c\3 |
  <e\5 d\3 c\2 a\1>8 c16\3 a\1 <c\5 d\2> a\3 <a\5 a\3 c\2>8 |
  <e\6 a\2>16 e\4 d\4 c\2 <c\6 a\3 d\2>8 c16\2 c\6 |
  <e\5 c\3 c\2>8 <c\3 c\2 a\1>16 e\5
  <a\4 a\3>8 d\2 <c\4 c\3> <d\3 c\2> <c\4 d\3 a\2 a\1> a16\6 a\2
  <a\5 c\4 d\3 c\2>8 d16\3 a\2 |
  <a\5 c\4 d\3 c\2> d\2 <a\5 a\1> c\2
  <d\7 a\4 a\3 d\2> <a\6 c\2>32 a\2 <c\6 d\3>16 <e\6 a\2> |
  <a\5 c\4 d\3 c\2>8 <d\3 c\2>16 a\5 <e\6 c\4 a\2>8 <e\5 c\3 c\2> |
  <b\5 a\3 c\2> <b\4 a\3 a\2> <d\5 c\3 e\2> <e\5 d\4 c\3 c\2> <c\6 e\5 e\4
d\3 c\2>
  <d\3 c\2>16 c\6 <c\5 a\4 a\2>8 <a\3 a\2>16 a\5  d8\6 a\2
  <c\6 e\5>32 f\3 e\3 c\3 e16\3 c\6 |
  <c\5 a\3 a\2>4 r8 <e\6 b\4 b\2>8 q8. a16\2 <e\5 d\3>8 c16\3 c\5 |
  a\5 c\3 a8\3 <e\6 e\5 c\3> d16\5 e\6 |
  <e\5 d\4 c\3>4 <e\5 c\3 c\2>8 <c\6 e\5 e\4 e\3> |
  <c\5 b\4 a\2> c\4 <b\5 c\2>16 c\4 <c\5 b\4> a\2 |
  <e\5 d\4> d\3 e\4 a\2 <e\5 e\4 c\3 c\2>8 d16\4 a\2 |
  <c\6 a\3 d\2>8 c16\2 c\1 e\5 a\1 <e\6 a\2> <a\5 c\4 d\3 c\2>16. d32\2
  <a\6 c\3 a\2 a\1>16 <c\6 d\2>32 c\2 d16\3 |
  e\4 c\6 <a\6 c\3>8 <d\7 e\4 d\3>16. d32\3 <c\3 a\2>16 a\3 |
  <c\7 e\6 e\5 d\4 c\3 c\2>8. c16\2 q4 |
}

\score {
  \new StaffGroup
  <<
    \new Staff \with { \clef "treble_8"
                       \omit StringNumber
                     } \content
    \new TabStaff \with { stringTunings = \lute-tuning
                          tablatureFormat = #fret-letter-tablature-format
                          fretLabels = \markuplist \fontsize #2 \lower #0.2
                          { 𝖆 𝖇 𝖈 𝖉 𝖊 𝖋 𝖌 𝖍 𝖎 𝖐 𝖑 𝖒 𝖓 𝖔 𝖕 }
                        } \content
  \layout {}
}

%{
\score {
  \new TabStaff \with { stringTunings = \lute-tuning } \content
  \midi {}
}
%}

Perso, je n'ai pas de compétence en Scheme, je code mes tablatures par les
notes de musique.
Mais c'est vrai que de tant à autres, j'aimerais bien voire la musique qui
se cache derrière des accords rares que je ne maîtrise pas sans avoir à me
croiser les neurones.

À la votre…
Éric

---

From: Loïc Chahine <[email-masked]>
Date: Tue, 5 May 2020 15:47:46 +0000

Mes compétences en codage LilyPond sont proche de zéro, et en codage de manière générale pas beaucoup plus élevées.

D’abord, je n’avais pas pensé aux problèmes d’enharmonie… Mais imaginons qu’on ne veuille pas faire à la fois tablature et partition en notes, pour simplifier le problème. Et de toute façon, la gestion de la polyphonie, si on veut la faire sérieusement, revient en effet à réécrire sur deux portées en déterminant quelles notes sont pensées tenues, etc.

J’ai à dessein renvoyé vers Tab de Wayne Cripps. L’outil est très limité dans le rendu visuel (il faut même mettre les retours à la ligne à la main), mais le mode de saisie n’est pas idiot, quoiqu’un peu fastidieux. LilyPond serait capable de faire beaucoup mieux et plus performant en termes de sortie.

En gros, sur chaque ligne, le premier caractère indique le rythme (x voulant dire « ne pas mettre de figure rythmique »), le deuxième la première corde, le troisième la 2e corde, etc. Donc sur un instrument à six cordes ou chœurs, si on veut les faire à vide les unes après les autres, on écrira :

xa
x a
x  a
x   a
x    a
x     a

Et tout est à l’avenant. Certains signes échappent au « colonnage » (du genre les ornements qu’on peut mettre avant/après une note).

On pourrait tout à fait imaginer une sorte de script qui transmuterait ça en notes, fussent-elles inexactes quant à l’enharmonie, lesquelles pourraient à leur tour être placées par LilyPond sur une tablature.

Dans le cas du théorbe, par exemple, on pourrait imaginer que le schéma en question soit automatiquement transmuté en
a\1 e\2 b\3 g\4 d\5 etc. (si j’ai bien compris comment ça fonctionne chez Lily), et que donc par exemple un

xbdda

de théorbe devienne automatiquement <bes\1 g\2 d’\3 g\4> ou <ais\1 …>

Ce qui est sûr, c’est que ça (me) demande moins d’effort d’écrire bdda que de réfléchir à ce que ça fait en notes.

En fait, on peut même imaginer, au pire, que l’instrument et son accord réel soient totalement oblitérés par LilyPond, et qu’il transforme le bdda en <gis’ f’ c’ f> (ce que ça ferait en luth accord vieil ton). Mais de pouvoir utiliser toutes les fonctionnalités de Lily pour le rendu visuel. D'ailleurs, ce serait fort utile pour la guitare baroque aussi parce qu’il y a tout un tas de subtilités d’écriture que je pourrai montrer et recenser si on envisage de se lancer dans une sorte de script. (Mais ce serait un peu « crade », j’avoue, que la musique résultante soit franchement « fausse »…)

Du reste, j’avais fait en 2017 un mini-script en Python pour transcrire la tablature de luth allemande en tablature bonne et honnête, avec des lignes (parce que la tablature allemande, ça ressemble à ça : https://people.carleton.edu/~jellinge/m101s12/Pages/02/Media02/02notation/GermanTablature.png) : j’écrivais ce que je voyais et ça devenait des notes. C’était un truc fort rudimentaire mais qui déjà m’avait demandé un gros effort parce que je n’y connais rien en Python. Je pourrai envoyer ça dans un mail si ça intéresse, il y a sans doute moyen d’améliorer et si ça peut être utile à quelqu’un…

En fait, tout ça, c’est des pistes de réflexion avant tout, basées sur mon expérience insatisfaite avec d’autres outils (alors que pour les partitions « normales » il n’y a pas d’hésitation possible !).

Loïc

Le 5 mai 2020 à 16:56, Éric via LilyPond French-speaking list <[email-masked]<mailto:[email-masked]>> a écrit :

Loïc,

Il y a aussi une sorte de gestion des extensions maximales (c'est dans les
fichiers d'initialisation, soit engraver-init.ly<http://engraver-init.ly>, soit dans
property-init.ly<http://property-init.ly>, je ne sais plus).

David Kastrup (un des gds "manitou" du code.ly<http://code.ly>) m'avait répondu il y a qlqs

\version "2.19.50"

tabtranslate =

"|" = {
 \partial 1*0 \bar "|"
}

content =

 <e\4 d\3 c\2>4
 q8 d\2 |
 <c\4 c\3 d\2>16
 c\2 c8\2
 <a\4 a\3 c\2>16
 a32\2 d\3 a8\2 |

\score {
 \new StaffGroup
 <<

 \layout {}
}

%{
\score {

À la votre…
Éric