Subject: Re: lilypond scheme-sandbox

From: Daniel Cartron <[email-masked]>
Date: Sat, 01 Jun 2013 07:37:39 +0200

Le vendredi 31 mai 2013 11:46:38 elmamyra a écrit :

> Chez moi ça fonctionne.

je ferme le fichier, je le rouvre et ça remarche... Il y a peut-être eu un 
truc qui est resté en mémoire lors de mes essais multiples...

> > pourtant l'affichage de cte et kbd donne le mm résultat, mais il ne veut
> > pas
> > que j'affecte un nouveau contenu à kbd. Histoire d'ordre des instruction 
?
> > J'ai testé plusieurs manières, tjs pareil. Et j'ai impérativement besoin
> > de
> > pouvoir débrancher kbd vers qq chose d'autre défini au préalable.
> 
> Ce n'est pas très clair. Qu'appelles tu débrancher?

Désolé mes ex-collègues du service informatique utilisaient tous ça, alors 
je pensais que c'était un terme connu. Ce que je veux c'est écrire une 
fonction qui utilise une variable générique laquelle renvoit vers une autre 
variable selon le contexte que l'on définit ailleurs.

> Quand tu fais "#(define kdb cte)", kdb et cte sont alors identique, c'est 
à
> dire que si tu modifies kdb, cte est aussi modifié et inversement. Je ne
> sais si c'est ce que tu cherches 

Pas nécessairement, ces variables ne seront jamais modifiées, donc on 
pourrait même utiliser des listes non modifiables, j'ai vu que ça existe 
mais je ne sais pas utiliser.

> mais si tu veux copier le contenu d'une
> liste dans une autre tu peux utiliser la procédure "list-copy".

ok je vais regarder ça aussi.

> Tout ça me paraît bien compliqué. Quelle est le but final?

Le but final est de produire une tablature pour accordéon diatonique.

C'est compliqué, oui je le sais et il y a deux explications possibles.

La première c'est que je suis peut-être un mec compliqué, et que comme je 
suis total newbie je complique encore plus par ignorance du code.

La seconde, à ne pas négliger, est que tout simplement l'accordéon 
diatonique est un instrument très très tordu. Et au risque d'être un peu 
long (même en résumant à mort) je vais expliquer comme ça tout le monde 
saura de quoi je parle.

Pour ceux qui connaissent l'harmonica, un diatonique c'est la même chose 
avec une boite, des boutons et un soufflet autour. Donc on a un instrument 
non chromatique, qui ne joue que les notes de sa gamme, et bisonore, un même 
bouton donne un son différent selon que l'on pousse le soufflet (pour fermer 
l'intrument) ou que l'on tire. La tonique, tierce et quinte sont poussées, 
les autres tirées, donc décallage à chaque changement d'octave... Pour la 
main gauche, des accords tous faits, bisonores également.

Au fil de l'évolution de l'instrument on a ajouté plein de choses pour 
étendre les possibilités de jeu. Une deuxième rangée de boutons, qui permet 
de changer de tonalité. Pour le modèle dit continental la deuxième rangée 
est une quarte plus haute que la première, mais pour le modèle irlandais 
c'est un demi-ton plus haut (ce qui permet un quasi-chromatisme) mais aussi 
parfois un demi-ton plus bas.

Et certains fabricants on remplacé les notes du bas peu utilisées par des 
altérations permettant de moduler ou de jouer en mineur. Comme ça oblige à 
des doigtés difficiles, ces boutons ont ensuite été dupliqués sur une 
troisième rangée, dans le milieu du clavier. Du coup les boutons du bas ont 
repris leur note d'origine mais pas chez tous les fabricants. Et les boutons 
de la 3e rangée ne sont pas tous placés pareil, puis on a rajouté 2 autres 
boutons, puis 3, pour augmenter les altérations, ou alors pour permettre de 
jouer en poussant des notes qu'on ne peut avoir qu'en tirant sur les deux 
autres rangées. Et ça peut aller jusqu'à une troisième rangée complète, et 
il y a bien entendu plusieurs versions selon les fabricants... Et tous ces 
modèles co-existent, et les anciens sont tous encore fabriqués. Il y a même 
certains musiciens (Marc Perrone notamment) qui se font fabriquer des diatos 
avec clavier personnalisé, dont ils sont les seuls à savoir jouer...

En outre, on a plusieurs tonalités, pas comme pour les bois ou cuivres, 
soprano alto etc mais comme les tin whistles, c'est à dire toutes les 
tonalités imaginables, avec des dièses et des bémols. La bonne nouvelle 
c'est que c'est donc un instrument auto-transpositeur, la mauvaise c'est 
qu'à l'inverse des instruments classiques, on n'écrit pas les partitions 
dans une tonalité "virtuelle" en clé d'ut mais dans la tonalité de 
l'instruemnt en clé de sol... Autant de tonalités, autant de partitions...

Et en ce qui concerne les tablatures, non seulement il y a deux systèmes, là 
encore, avec un nombre de lignes et une notation différente, mais en plus si 
on note la musique avec des numéros de boutons, pour le jeu main gauche on a 
gardé la notation avec des notes, écrites à l'anglaise. Donc quand on change 
de tonalité non seulement la partition change mais la tablature aussi, ce 
qui est quand même un comble...

Vu tout ça, il est impossible de calculer le bouton à utiliser pour une note 
donnée avec une formule mathématique comme pour une guitare. Je me suis 
amusé à essayer d'en écrire une (lire  La mathématique du Diatonique ici :
http://www.cartron.org/spip.php?article35). Donc tableau de correspondance 
obligé, sous forme de liste associative, qui fait correspondre le pitch 
d'une note à un "button-pitch" déterminé par le sens de jeu (poussé/tiré = 1 
/ 2), le numéro de rangée du clavier (1 2 3) et le numéro de bouton sur ce 
rang. Même sur les rangées "complètes", celles qui donnent une gamme et non 
des altérations supplémentaires, ce nombre va de 10 à 13 selon les modèles 
et selon les fabricants, et comme les boutons supplémentaires sont rajoutés 
du côté des graves toute la numérotation des boutons "normaux" est 
décalée...

Donc il faut pouvoir sélectionner quelle liste de correspondance on utilise 
selon l'instrument que l'on a, ce qui ramène à la question initiale de 
"débranchement", mais aussi la tonalité, le système de tablature, et même le 
style de jeu, car sur certains passages on peut vouloir jouer en 
'poussé/tiré' sur l'une ou l'autre des rangées (ce qui donne un jeu qui a 
plus de pêche) ou "croiser" (passer d'une rangée à l'autre) ce qui permet de 
plus longs passages sans changement de sens (jeu plus coulé).

Comme j'ai envie de faire un truc qui permette au plus grand nombre d'avoir 
des tablatures, hé bien oui c'est compliqué. 

Parce que non seulement il faut transformer la musique en boutons, ça je 
pense que c'est maintenant au point, après plusieurs essais.

Ensuite il faut trouver comment écrire toutes les indications de jeu (sens, 
clavier, style) sans que ça ne se retrouve dans la partition mais que ce 
soit simple à saisir et à utilier dans le code. Je cherche encore pour le 
style mais pour le reste c'est ok. Encore qu'idéalement on devrait analyser 
simultanément la partie main gauche et la partie main droite, j'ai pour 
l'instant décidé qu'on duplique une partie des infos main gauche dans la 
partie main droite (les accords étant bisonores, l'accompagnement oblige à 
un sens de jeu). C'est déjà assez compliqué comme ça, on verra peut-être 
pour une prochaine version.

Enfin, il faut trouver la méthode pour écrire les numéros de boutons là où 
il faut, selon le système de tablature choisi, et ça non plus ce n'est pas 
simple. J'ai fait de multiples essais de personnalisation de Staff, TabStaff 
ou DrumStaff, aucun ne donne un résultat parfait... Mais je n'ai pas fini de 
creuser.

Dernier point, les indications de doigté ne sont pas écrites au-dessus ou 
au-dessous de la portée mais sur une ligne de la tablature, ce qui est 
logique au demeurant. Ça aussi c'est réglé, à part une histoire de hauteur 
de ligne trop importante.

Voilà, j'ai été long, trop sans doute, mais au moins tout y est.

Merci à ceux qui auront eu le courage de lire jusqu'au bout, et bonne 
journée à tous.

-- 
Cordialement, Daniel Cartron
« Qui rit sous l'okoumé, pleure sous l'acajou. »
Proverbe bantou - Alexandre Vialatte

---

From: "Daniel Bernair" <[email-masked]>
Date: Sat, 1 Jun 2013 09:07:22 +0200

Merci Daniel pour tes explications de fonctionnement d'accordéon, je 
commence à comprendre de quoi tu parlais.
Daniel Bernair
Rue de Namur, 3
7130 Battignies (Binche)
064/36.64.93
0496/07.60.45
----- Original Message ----- 
From: "Daniel Cartron" <[email-masked]>
To: <[email-masked]>
Sent: Saturday, June 01, 2013 7:37 AM
Subject: Re: lilypond scheme-sandbox

?

à

_______________________________________________
liste de diffusion lilypond-user-fr
[email-masked]
https://lists.gnu.org/mailman/listinfo/lilypond-user-fr

---

From: Daniel Cartron <[email-masked]>
Date: Sat, 01 Jun 2013 17:02:28 +0200

> commence à comprendre de quoi tu parlais.

J'ai beaucoup hésité à tout déballer d'entrée, j'ai essayé de donner les 
explications que je pensais nécessaires à la compréhension de mes questions 
mais finalement vu le nombre de précisions demandées il valait mieux que 
j'explique tout. J'ai aussi hésité à ouvrir un fil spécial pour toutes les 
questions relatives à ce projet mais j'ai préféré poser mes questions de façon 
séparée pour chaque nouveau problème, dites-moi si vous préférez un fil dédié, 
ou alors plus simplement un mot clé préfixant mes questions, par exemple le 
nom du projet, que j'en profite pour présenter : Fisarmonica.

C'est le nom italien de l'instrument, et l'italie est un gros acteur dans ce 
domaine (les anches les plus réputées au monde viennent de là-bas). Je 
trouvais ça plus joli que tabdiato ou diatotab qui n'est pas 
international,alors que quasiment tous les joueurs de diato connaissent le mot 
italien (enfin il me semble).

-- 
Cordialement, Daniel Cartron
« Ne faites pas à autrui ce que vous pouvez faire le jour même. »
Francis Blanche - Mon oursin et moi