Subject: Une nouvelle bibliothèque de fonctions "arranger.ly"

From: Gilles THIBAULT <[email-masked]>
Date: Mon, 11 Aug 2014 15:59:21 +0200

Bonjour à tous.
Depuis toujours, mon utilisation de Lilypond a été de faire des arrangements ( 
prendre une pièce écrite pour des instruments donnés et la transcrire pour une 
autre formation).
Le principe de base avec Lilypond est de savoir ce que l'on va mettre à chaque 
instrument AVANT de commencer à entrer les notes.
Cette démarche devient un exercice cérébral très ardu si l'on a à ré-
orchestrer des œuvres pour des grandes formations. La seule démarche que me 
permet mon petit cerveau est :
  - J'ai quelques idées bien établies d'instrumentation, ici et là, pour 
certains passages non forcément contigus, et je veux tout de suite les 
encoder, pour m'en servir comme base.
  - Je fais ensuite la jonction des passages et je remplis et complète par 
exemple en doublant des instruments, en octaviant etc ...
  - Je veux pouvoir changer facilement d'instrumentation sur un passage, (" ah 
non, je veux mettre en valeur tel instrument dans le passage suivant, je ne 
doit pas l'utiliser maintenant !").
Bref, j'entre les notes 1 seule fois, et je me concentre après uniquement sur 
l'agencement de la musique dans les différents instruments.

Cela fait plus de 2 ans que j'utilise une librairie de fonctions schemes 
(réfractaires s'abstenir...) permettant cette façon de procéder.
"arranger.ly" (c'est son nom)  utilise également d'autre librairies de 
fonctions que j'avais déjà écrite (extractMusic.ly notamment), ce qui augmente 
considérablement ses possibilités.
 
                            *****

Voilà en de 2 mots comment ça marche :

Je déclare au début la liste d'instruments de mon score
 all = #'(fluteI fluteII htb bsn clarI clarII ...)
J'appelle une fonction init
 (init all)
et tous les instruments sont automatiquement initialisés par des mesures à 
compter (R1*...) quelque soit la complexité de la métrique déclarée dans une  
variable \global
( Par ex : global = { s1*4 \time 5/8 s8*5*10 ...}   ).
Je n'ai déjà plus maintenant, à m'occuper des mesures à compter de chaque 
instrument.

Ensuite tout une série de fonctions permet de mettre de la musique à plusieurs 
instruments à la fois, et à plusieurs endroit à la fois, et tout ceci en 
utilisant uniquement des numéros de mesures comme repère musicale.
Par exemple, si on a :
theme = {c4 c c d | e2 d }
Le code
 (rm '(clarI saxI tptteI) 45 theme)
copiera theme à la mesure 45 aux instruments clarI, saxI et tptteI.

On peut recopier tout une section
  (copy-out all 12 17 38)
On fait ici un "copier" de la section de mesures 12-17, et un "coller"  de 
cette section à la mesure 38 pour tous les instruments.

Quand tout est terminé, on peut faire un export de tous les instruments, ce  
qui nous donnera un fichier ly de la forme traditionnelle :
  fluteI ={ ... }
  fluteII = { ... }
  etc...

                            *****

Mise en œuvre :

Télécharger le répertoire complet ci dessous :
    http://gillesth.free.fr/Lilypond/arranger/

Une aide complète  et en français "arrangerDoc.pdf" se trouve dans le sous-
répertoire :
   arranger/arrangerDoc/

Une démo se trouve dans le sous-répertoire :
  arranger/arrangerDoc/Demo/DansesPolovtsiennes-p9-p20/
Il s'agit d'un arrangement pour orchestre d'harmonie d'un mouvement des Danses 
Polovstiennes de Borodine dont l'original peut être télécharger ici :
  http://imslp.org/wiki/Special:ImagefromIndex/22928
(voir page 9 à 20 iniquement )
Compiler simplement :
  danse9-20-SCORE.ly
Si vous ne changez pas la structure du répertoire arranger/, Lilypond devrait 
retrouver ses petits, dans la serie d' \include fournie ...
Notez toute fois que tout le code concernant "arranger.ly" se trouve dans 
  danse9-20-NOTES.ly.
J'y ai été peut-être un peu "extrémiste" : "ne pas retaper 2 fois la même 
musique ou la même information" ... :-)

                            *****

Merci de m'avoir lu jusqu'ici. Je n'ai pas la moindre idée de combien de gens 
auront la patience de tester cette librairie, mais pour ma part je ne peux 
plus m'en passer, même pour les non-arrangements, car elle accélère et 
simplifie mon travail d'une façon considérable.
Peut-être commencer par la démo, est un bon conseil, puis lire l'aide. 
Bon courage.
A bientôt

Gilles

---

From: Jean-Jacques Gerbaud <[email-masked]>
Date: Mon, 11 Aug 2014 16:49:53 +0200

> permet mon petit cerveau est :
............
> simplifie mon travail d'une façon considérable.
Et bien moi, j'ai eu la patience de tester. J'ai commencé par ouvrir un 
dossier "GILLES" dans mon répertoire des partitions lilypond et j'ai 
essayé de lancer la démo. Quelques erreurs au début (fichier non 
trouvé...) mais au final, le PDF est sorti.

Mon commentaire : im-pres-sion-nant !

De travail, de patience, de connaissances et d'intétêt !

> Peut-être commencer par la démo, est un bon conseil, puis lire l'aide.
C'est ce que j'ai fait mais vraiment, c'est trop gros pour moi !

Je garde quand même le dossier "GILLES " pour le cas où j'y trouverai 
quelque chose d'intéressant.

> Bon courage.

Merci.
Bonne continuation

-- 
JJG

Linux ? Y a moins bien mais c'est plus cher !
http://www.sky.fm/play/classical
http://www.radiosuisseclassique.ch/fr

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Tue, 12 Aug 2014 15:59:47 +0200

Mon Cher Gilles,
Je n'ai pas encore testé ton code mais la description est succulente !!
Un grand merci pour ce partage,
Coassements multiples, :)
Pierre