Subject: réécrire en changeant le temps

From: Jany SEYTOR <[email-masked]>
Date: Mon, 25 May 2009 00:13:29 +0200 (CEST)

Bonjour à tous
 
Je voudrais savoir s'il est possible de rééditer une partition en demandant à Lilypond de diviser automatiquement toutes les valeurs de notes : transformer les longues en rondes, les rondes en blanches, les blanches en noires, etc..., pour éviter de tout ressaisir à la main. J'ai des fichiers de notes, et je voudrais tester différentes mises en pages, en jouant sur les valeurs de notes, et vraiment, tout réécrire.....
 
Merci de votre aide
 
Jany

---

From: "Gilles THIBAULT" <[email-masked]>
Date: Mon, 25 May 2009 12:47:40 +0200

Bonjour à tous

  Merci de votre aide

Il y a bien une fonction \scaleDurations (non documentée apparemment) dans le fichier 'music-functions-init.ly' , mais il ne modifie que la durée réelle et non pas la durée affichée.
Cette petite fonction semble marcher.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

divByTwo = #(define-music-function (parser location music) (ly:music?)
(music-map
 (lambda (evt)
  (let ((dur (ly:music-property evt 'duration)))
  (if (ly:duration? dur)
   (ly:music-set-property! evt 'duration
    (ly:make-duration
     (1+ (ly:duration-log dur))
     (ly:duration-dot-count dur)
     (car (ly:duration-factor dur))
     (cdr (ly:duration-factor dur)))))
 
  evt ))
 music
))

music = \relative { c2 d4 e8 f | g2. f4 | e2 d | c1 R1*3 c'1}

\new Staff {
 \time 2/4 
 \divByTwo \music
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Gilles

---

From: Jany SEYTOR <[email-masked]>
Date: Mon, 25 May 2009 13:50:00 +0200 (CEST)

"Cette petite fonction semble marcher."

!.......!!
ça marche, en effet. 

Un grand merci au Dompteur de Langage Informatique qui a bien voulu passer un peu de temps sur mon problème.
Jany

---

From: Daniel Cartron <[email-masked]>
Date: Mon, 25 May 2009 15:46:01 +0200

> Cette petite fonction semble marcher.

oui et en plus si on remplace le 1+ par un 1- ça le fait dans l'autre sens... 
Et si on met juste + ça	 ne change rien... Bon faudrait que je me plonge un 
peu dans ces histoires de log2 des durées pour piger mieux mais c'est sympa, 
j'étais justement en train de chercher à me faire un script pour faire le mm 
boulot...

Par contre ça change pas la métrique ni les fins alternatives qui deviennent 
parfois un peu chaotiques... Mais en l'état c'est déjà une aide précieuse.

Merci beaucoup.

-- 
Cordialement, Daniel Cartron
« On ne peut pas juger quelqu'un à ses fréquentations ; ne perdons pas de vue 
que Judas avait des amis irréprochables. »
Tristan Bernard

---

From: "Gilles THIBAULT" <[email-masked]>
Date: Mon, 25 May 2009 16:49:18 +0200

>oui et en plus si on remplace le 1+ par un 1- ça le fait dans l'autre 
Absolument. mais faut faire attention aux limites
0 = ronde
1 = blanche
2 = noire ...
si tu as une ronde que tu doubles sa longueur, je ne sais pas du tout 
comment réagira lilypond.
A tester.

>Par contre ça ne change pas la métrique
Non. Je pense que ça doit être possible mais il faudrait d'abord trouver la 
loi de changement des mesures
pour 4/4  ça deviendrait 2/4 OK.
mais pour 3/4 ça devrait devenir 3/8.

> ni les fins alternatives qui deviennent
> parfois un peu chaotiques...
Bon ça je pense que c'est peut-être un bug au niveau de music-map que 
j'avais subodoré une fois.
Il faut que je fasse des tests avant, pour être sûr.
Je vous tiendrai au courant.

Gilles

---

From: Daniel Cartron <[email-masked]>
Date: Mon, 25 May 2009 18:45:19 +0200

> comment réagira lilypond.

Fait, ça donne une carrée (notée breve dans lilypond)

> mais pour 3/4 ça devrait devenir 3/8.

Ben non pas d'accord. Je pense que le nb de tps ne doit pas changer, 
uniquement la valeur. Donc 4/4 -> 4/2 ou 4/8 selon le sens. Histoires de 
temps forts/faibles. Et 3/4 -> 3/2 ou 3/8

> j'avais subodoré une fois.

C'est peut-être aussi un bug perso car j'ai pas tjs pris le tps de bien 
vérifier si ma métrique suivait mes essais... 

-- 
Cordialement, Daniel Cartron
« Si vous fermez la porte à toutes les erreurs, la vérité restera dehors. »
Rabindranàth Tagore

---

From: "Gilles THIBAULT" <[email-masked]>
Date: Mon, 25 May 2009 22:30:42 +0200

>Je vous tiendrai au courant.

Oups, j'ai confondu avec autre chose : music-map marche très bien, et la 
fonction "divByTwo" donnée précédemment, fonctionne aussi avec les 
alternatives.

Gilles