lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Transposition avec nom de notes perso


From: Olivier Miakinen
Subject: Re: Transposition avec nom de notes perso
Date: Sun, 30 Jun 2019 19:28:08 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.1

Le 30/06/2019 15:24, Éric a écrit :
>>> 
>>> Mais je ne t'ai pas demandé quels outils tu peux utiliser le plus
>>> facilement pour les regexp. Par exemple le langage perl ?
>> 
>> Je ne sais rien de ce côté là.
>> L'outil "chercher/remplacer" de Frescobaldi a une option Regex que l'on
>> peux
>> cocher directement dans sa fenêtre d'interaction.

Oui, mais tu ne peux faire qu'un seul type de recherche/remplacement à
la fois. Par exemple tu devras le faire pour tous les /do/, puis tous
les /di/, tous les /de/, tous les /re/, etc.

>> [...]
>> Est-ce que :
>> ( )
>>     group characters. This also saves the matched text in the group. When
>> replacing, you can use characters like \1, \2 etcetera, to write the text
>> of the corresponding group in the replacement text. 
>> 
>> pourrait correspondre a un remplacement multiple ??

Multiple oui, mais pas dans le sens que l'on cherche. Il s'agit dans
*un* remplacement de remplacer *plusieurs parties* de la chaîne de
départ ; il ne s'agit pas de programmer en une seule fois plusieurs
sortes de remplacements indépendants les uns des autres.

>>>Par ailleurs, est-ce que tu pourrais me donner un exemple de fichier
>>>Lilypond utilisant ces noms latins des notes ?
>> 
>> 
>> Ci-joint. 
>> Alternative à décommenter avec bcp d'altérations pour test
>> si modif du fichier .scm du Lilypond/User
>> 
>> Éric
>> MontDor_v2.ly
>> <http://lilypond-french-users.1298960.n2.nabble.com/file/t395665/MontDor_v2.ly>
>>   

J'ai écrit deux scripts pour perl (que tu peux trouver sur plusieurs
systèmes d'exploitation parmi lesquels GNU/Linux et Windows). Je les
ai appelés la2nl.pl (latin to nederlands) et nl2la.pl (l'inverse).

Voici quelques extraits de résultats sur MontDor_v2.ly

nl2la donne :
------------------------------------------------------------------
% noms "nederlands"
mus = {
  \mark "A"
  sol2. fo mi re2 do4 |
  ti,2. do re sol, |
  \mark "B"
  sol2. fo mi la2 sol4 |
  fo2. sol la re \bar ":|.|:"
  \mark "C"
  re2 do4 ti,2. do ti,2 la,4 |
  sol,2. la, ti, mi2 re4 |
  \mark "D"
  do2. ti, la, re2 do4 |
  ti,2. do re sol, \bar ":|."
}
%}
------------------------------------------------------------------

mais aussi :
------------------------------------------------------------------
  title = "Le  Mont  re'Or"
------------------------------------------------------------------

et :
------------------------------------------------------------------
      % 141 ^€$ Bach maîtrisait reéjà Regex !!
------------------------------------------------------------------

Parce que le « d » quand il n'est pas précédé ou suivi d'une autre
lettre non accentuée est remplacé par « re ». Je pourrais au moins
corriger le cas d'une lettre accentuée (pour que « déjà » ne devienne
pas « reéjà ») mais je ne peux rien faire pour « d' » car on peut
trouver une apostrophe dans une expression musicale.

Dans l'autre sens, la2nl donne :
------------------------------------------------------------------
%{ noms en "espanol" customisé en Gb major
musEsp = {
  \mark "A"
  ges2. f es des2 ces4
  bes,2. ces des ges,
  \mark "B"
  ges2. f es as2 ges4
  f2. ges as des\bar ":|.|:"
  \mark "C"
  des2 ces4 bes,2. ces bes,2 as,4
  ges,2. as, bes, es2 des4
  \mark "D"
  ces2. bes, as, des2 ces4
  bes,2. ces des ges, \bar ":|."
}
%}

Mais aussi :
------------------------------------------------------------------
      % 141 ^€$ Bach eisîtrisait déjà Regex !!
------------------------------------------------------------------

Et là, c'est pareil, je pourrais m'arranger pour qu'il ne traduise
pas « ma » dans « maîtrisait », mais je ne peux rien faire pour
le mot « ma » tout seul.

Je corrige l'histoire des accents, puis je reviens.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]