Lilypond Alternatives

Musique Assistée par Ordinateur
Avatar de l’utilisateur
Thierry
Dieu grec
Messages : 392
Inscription : 22 juin 2009, 13:08
Localisation : Alpes Maritimes

Lilypond Alternatives

Message par Thierry »

Bonjour,
Je voulais adapter une partition de Brassens pour deux clarinette et
j'essaie de reproduire cette fin de partoche :
Capture d’écran 2010-12-30 à 08.30.49.png
mais je n'y arrive pas. Je bute sur ces alternatives...

voilà mon code

Code : Tout sélectionner

% Created on Wed Dec 29 17:36:46 CET 2010
\version "2.12.3"

\header {
	title = "les passantes" 
 	composer = "Brassens" 

}

\include "italiano.ly"


staffClarinetteEnSib = \new Staff {
	\time 6/8
	\set Staff.instrumentName = "Clar.soprano"
	\set Staff.midiInstrument = "clarinet"
	\transposition sib,
	\key la \minor
	\clef treble
	\relative do' { 	
 % Type notes here 
r1 
 r4 r8  mi8
 \repeat volta 3 {
 la 4 la 16 la la8 si8 la8
 sold mi4~mi mi8
 la8 mi fa sol fa mi
 re la4~la la8
 do4 la do 
 re sol la
 mi2.~mi4.~mi8 r8 mi16 mi
 la4 la16 la la8 si la
 sold mi4~mi mi8
 la8 mi fa sol fa mi
 re8 la4~la la8 do4 mi la
 re, si sol}
  \alternative {
 la2. ~
  la4.~la8 r8 mi'8}
  {
 
 la 2.
 r2.
 r2.-\fermata

	}}

}
staffClarinetteEnSibII = \new Staff {
	\set Staff.instrumentName = "Clar. Basse"
	\set Staff.midiInstrument = "clarinet"
	\transposition sib,
	\key la \minor
	\clef treble
	\relative do' { 	
 % Type notes here 
 la4. la
 la do8 re mi
\repeat volta 3 {
fa4. fa
mi mi
la, la
re la
la mi
re' sol,
do mi
si mi
fa fa
mi mi 
la, la
re la
la mi
re' sol,
}
\alternative {
la mi
la mi}
{
fa fa
sol sol
la2.-\fermata}


	
	}
	
	

}


\score {
	<<
		\staffClarinetteEnSib
		\staffClarinetteEnSibII
	>>
	
	\midi {
	}

  \layout {
  }
}

\paper {
}

Si des fortiches en Lilypond (et je sais qu'il y en a :) ) avaient un peu de temps...
Merci.
Th.
"La première fois que j'ai posé les mains sur une clarinette, je ne savais pas où je mettais les pieds!"
Raymond Devos
Avatar de l’utilisateur
Dim
La Castafiore !
Messages : 10721
Inscription : 30 déc. 2005, 18:17
Localisation : Var (83)

Message par Dim »

j'ai modifié ton code :

Code : Tout sélectionner

% Created on Wed Dec 29 17:36:46 CET 2010
\version "2.12.3"

\header {
title = "les passantes"
composer = "Brassens"
}

\include "italiano.ly"

global =  {
	\time 6/8
	\key la \minor
	\clef treble
}


staffClarinetteEnSib = 
	\relative do' {  
		r1
		r4 r8  mi8
		
		la 4 la 16 la la8 si8 la8
		sold mi4~mi mi8
		la8 mi fa sol fa mi
		re la4~la la8
		do4 la do
		re sol la
		mi2.~mi4.~mi8 r8 mi16 mi
		la4 la16 la la8 si la
		sold mi4~mi mi8
		la8 mi fa sol fa mi
		re8 la4~la la8 do4 mi la
		re, si sol
		
		la2. ~
		la4.~la8 r8 mi'8
		
		
		la, 2.^\markup {"pour finir"}
		r2.
		r2.-\fermata		
}


staffClarinetteEnSibII = \relative do' {    
	la4. la
	la do8 re mi    
	fa4. fa
	mi mi
	la, la
	re la
	la mi
	re' sol,
	do mi
	si mi
	fa fa
	mi mi
	la, la
	re la
	la mi'
	re sol, 
	la mi
	la mi'  
	fa, fa
	sol sol
	la2.-\fermata
}


reprises = {
	s2.*2 \repeat "volta" 7 {s2.*14}
	\alternative {{s2.*2}{s2.*3}}

}



\score {
	<<
	\new Staff {		
		<<
		\reprises
		\global
		\staffClarinetteEnSib		
		>>
		}
		\new Staff {
		\staffClarinetteEnSibII	
	}	
	>>
}



je pense qu'il fait bosser au maximum avec des variables, dès que tu peux,
là j'en ai rajouté une pour le "global", c'est à dire ce qui est commun à toutes les parties : \time, \key, \clef,
et j'en ai rajouté une pour les reprises pour éviter d'avoir à les mettre dans chaque parties si tu dois les imprimer séparément ensuite.

on peut parfaire la chose en rajoutant les accords si tu veux

EDIT : code re-modifié, je m'étais mangé :?

Dim
Dernière modification par Dim le 30 déc. 2010, 09:59, modifié 1 fois.
Raison : mangeage
L'ingénieur Barnier est formel, le projecteur de particules à double polarisation chromatique entrera en résonnance avec le palpeur de mirette si vous avez le malheur de le laisser branché. Il en résultera la destruction de votre beau câbleur tout neuf.
Avatar de l’utilisateur
Ezran
Canard professionnel
Messages : 2484
Inscription : 21 mars 2008, 22:58
Localisation : Var
Contact :

Message par Ezran »

Merci Dim très intéressant je ne connaissais pas cette méthode pour les reprises mais il va falloir que je creuse un peu : je bute sur la syntaxe des reprises :wink:
«J'adore parler de rien, c'est le seul domaine où j'ai de vagues connaissances.» Oscar Wilde
Sib BC E13 - Alto Leblanc - Basse Bundy
Avatar de l’utilisateur
Dim
La Castafiore !
Messages : 10721
Inscription : 30 déc. 2005, 18:17
Localisation : Var (83)

Message par Dim »

en fait ça marche pour tout cette méthode, là j'ai reposté le code avec des sauts de ligne toutes les 4 mesures par exemple (\break), pareil, je les mets dans une variable que j'appelle ou pas, ce qui permet de laisser au bloc de code de notes que les notes, c'est beaucoup plus clair je trouve.

Code : Tout sélectionner

% Created on Wed Dec 29 17:36:46 CET 2010
\version "2.12.3"

\header {
title = "les passantes"
composer = "Brassens"
}

\include "italiano.ly"

global =  {
	\time 6/8
	\key la \minor
	\clef treble
}


staffClarinetteEnSib = 
	\relative do' {  
		r1
		r4 r8  mi8
		
		la 4 la 16 la la8 si8 la8
		sold mi4~mi mi8
		la8 mi fa sol fa mi
		re la4~la la8
		do4 la do
		re sol la
		mi2.~mi4.~mi8 r8 mi16 mi
		la4 la16 la la8 si la
		sold mi4~mi mi8
		la8 mi fa sol fa mi
		re8 la4~la la8 do4 mi la
		re, si sol
		
		la2. ~
		la4.~la8 r8 mi'8
		
		
		la, 2.^\markup {"pour finir"}
		r2.
		r2.-\fermata		
}


staffClarinetteEnSibII = \relative do' {    
	la4. la
	la do8 re mi    
	fa4. fa
	mi mi
	la, la
	re la
	la mi
	re' sol,
	do mi
	si mi
	fa fa
	mi mi
	la, la
	re la
	la mi'
	re sol, 
	la mi
	la mi'  
	fa, fa
	sol sol
	la2.-\fermata
}


reprises = {
	s2.*2 \repeat "volta" 7 {s2.*14}
	\alternative {{s2.*2}{s2.*3}}

}

sauts = {
	\repeat unfold 4 { s2.*4 \break }

}



\score {
	<<
	\new Staff {		
		<<
		\sauts
		\reprises
		\global
		\staffClarinetteEnSib		
		>>
		}
		\new Staff {
		\staffClarinetteEnSibII	
	}	
	>>
}


Dim
L'ingénieur Barnier est formel, le projecteur de particules à double polarisation chromatique entrera en résonnance avec le palpeur de mirette si vous avez le malheur de le laisser branché. Il en résultera la destruction de votre beau câbleur tout neuf.
Avatar de l’utilisateur
Dickie
Râleur permanent
Messages : 7467
Inscription : 14 mai 2006, 11:42
Localisation : A l'est du Mont St-Michel
Contact :

Message par Dickie »

Beaucoup plus simple, j'ai juste rajouté dans le code de Thierry les {} qui manquaient

La bonne syntaxe pour les alternatives c'est
  • \alternative { {alternative 1} {alternative 2} {alternative 3, 4, 5, …} }
Il ne faut pas oublier de cerner le bloc avec toutes les alternatives avec des parenthèses, autrement ça ne marche pas

Donc le même code, avec juste les 4 parenthèses manquantes en plus

Code : Tout sélectionner

% Created on Wed Dec 29 17:36:46 CET 2010
\version "2.12.3"

\header {
   title = "les passantes" 
   composer = "Brassens" 

}

\include "italiano.ly"


staffClarinetteEnSib = \new Staff {
   \time 6/8
   \set Staff.instrumentName = "Clar.soprano"
   \set Staff.midiInstrument = "clarinet"
   \transposition sib,
   \key la \minor
   \clef treble
   \relative do' {    
% Type notes here 
r1 
r4 r8  mi8
\repeat volta 3 {
la 4 la 16 la la8 si8 la8
sold mi4~mi mi8
la8 mi fa sol fa mi
re la4~la la8
do4 la do 
re sol la
mi2.~mi4.~mi8 r8 mi16 mi
la4 la16 la la8 si la
sold mi4~mi mi8
la8 mi fa sol fa mi
re8 la4~la la8 do4 mi la
re, si sol}
  \alternative {
{la2. ~la4.~la8 r8 mi'8}
{la 2.r2.r2.-\fermata} }

}}


staffClarinetteEnSibII = \new Staff {
   \set Staff.instrumentName = "Clar. Basse"
   \set Staff.midiInstrument = "clarinet"
   \transposition sib,
   \key la \minor
   \clef treble
   \relative do' {    
% Type notes here 
la4. la
la do8 re mi
\repeat volta 3 {
fa4. fa
mi mi
la, la
re la
la mi
re' sol,
do mi
si mi
fa fa
mi mi 
la, la
re la
la mi
re' sol,
}
\alternative {
{la mi la mi}
{fa fa sol sol la2.-\fermata}
}


   
   }
   
   

}


\score {
   <<
      \staffClarinetteEnSib
      \staffClarinetteEnSibII
   >>
   
   \midi {
   }

  \layout {
  }
}

\paper {
}
Il n'est pas nécessaire d'espérer pour entreprendre, ni de réussir pour persévérer - Guillaume d'Orange
À force de rater on finit par réussir - Les Shadoks
Association "En Coulisses"
Clarbasse, RC Prestige, clar alto, clar métal, clar mib
Avatar de l’utilisateur
Dim
La Castafiore !
Messages : 10721
Inscription : 30 déc. 2005, 18:17
Localisation : Var (83)

Message par Dim »

perso je ne trouve pas ça plus simple du tout :roll:

déjà parce que tu codes les reprises dans les deux parties de clarinettes, obligé si ensuite tu veux avoir les 2 parties sur partoches séparées,
ça charge le code alors qu' avec le principe de variable tu ne l'as qu'une fois, comme ça, en cas de modification, tu fais une seule modif qui sera reportée à chaque fois que la variable est appelée, là le code est cours mais le jour il est long et compliqué avec plein d'instruments, ça devient appréciable (je viens de me manger un arrangement pour Big Band avec 18 parties, impros, background, reprises, mise en page, parties séparées.... je vous assure que ça vaut le coup de toujours chercher à simplifier et alléger le code).

ensuite, là visiblement le document à été créé avec l'assistant de création de partition, ce qui n'est pas la meilleure façon de coder à mon avis, le fait d'enfermer chaque parties dans des \new Staff ne laisse que trop peu de libertés par la suite, et puis pareil, ça oblige à répéter ce qu'on peut écrire qu'une seule fois.

Donc oui, en l'occurrence c'était plus simple de modifier le code de Thierry pour arriver à ses fins tel que tu l'as fait,
j'en avais profité pour donner mon avis sur le fichier dans sa globalité.

Dim
L'ingénieur Barnier est formel, le projecteur de particules à double polarisation chromatique entrera en résonnance avec le palpeur de mirette si vous avez le malheur de le laisser branché. Il en résultera la destruction de votre beau câbleur tout neuf.
Avatar de l’utilisateur
Dickie
Râleur permanent
Messages : 7467
Inscription : 14 mai 2006, 11:42
Localisation : A l'est du Mont St-Michel
Contact :

Message par Dickie »

Dim a écrit :perso je ne trouve pas ça plus simple du tout :roll:


Donc oui, en l'occurrence c'était plus simple de modifier le code de Thierry pour arriver à ses fins tel que tu l'as fait,
j'en avais profité pour donner mon avis sur le fichier dans sa globalité.

Dim
Oui je suis d'accord, il y a toujours moyen de faire des partitions plus élégantes en les structurant, ce qui au final est plus simple, mais nécessite de bien penser sa structure au début, donc peut-être plus compliqué de conception.

Dans le cas présent, je disais plus simple car il n'y avait pas besoin de reprendre la partition, juste de corriger l'omission, et dans un but "pédagogique" ça permet à hierry de comprendre son erreur et de ne pas recommencer la prochaine fois.

Et je partage aussi pleinement ton avis sur la lourdeur des partitions écrites avec l'assistant :? . Je l'ai utilisé une fois ou deux, puis je l'ai jeté, j'aime bien être libre de ce que je fais :roll:
Il n'est pas nécessaire d'espérer pour entreprendre, ni de réussir pour persévérer - Guillaume d'Orange
À force de rater on finit par réussir - Les Shadoks
Association "En Coulisses"
Clarbasse, RC Prestige, clar alto, clar métal, clar mib
Avatar de l’utilisateur
Ezran
Canard professionnel
Messages : 2484
Inscription : 21 mars 2008, 22:58
Localisation : Var
Contact :

Message par Ezran »

Oups !!! Un petit commentaire :

Quand je code des système à plusieurs portées (instruments) je ne mais les répétitions que sur le premier instrument et ça le fait automatiquement sur les autres :wink:

Sinon j'ai pigé la syntaxe de Dim : "s" veut dire système et après on met le nombre de mesure :mrvert:
«J'adore parler de rien, c'est le seul domaine où j'ai de vagues connaissances.» Oscar Wilde
Sib BC E13 - Alto Leblanc - Basse Bundy
Avatar de l’utilisateur
Thierry
Dieu grec
Messages : 392
Inscription : 22 juin 2009, 13:08
Localisation : Alpes Maritimes

Message par Thierry »

D'abord merci beaucoup Dim,

Ensuite, je ne comprends pas comment ça marche :mrvert:

J'ai bien compris que tu définis des variables dont une "reprises" mais je ne comprends pas ce qu'il y a dans la variable :
s2.*2 \repeat "volta" 7 {s2.*14}
\alternative {{s2.*2}{s2.*3}}

ces s2, je ne comprends pas à quoi ils font référence.

Et puis ensuite dans la section score, tu places les reprises au début...

Comprends plus rien :oops:
En fait, je crois que j'ai pas bien intégré la philosophie de ce passage "score". C'est comme pour les accords, là je n'en n'ai pas vraiment besoin, mais je ne saurzais pas comment les mettre.
Bon, merci en tout cas. Donne moi les explications si tu as le temps sinon, je vais essayer de faire travailler un peu plus mon neurone..., j'aime pas rester sur un truc que je pige pas.
"La première fois que j'ai posé les mains sur une clarinette, je ne savais pas où je mettais les pieds!"
Raymond Devos
Avatar de l’utilisateur
Thierry
Dieu grec
Messages : 392
Inscription : 22 juin 2009, 13:08
Localisation : Alpes Maritimes

Message par Thierry »

Ouh, là, le temps d'écrire mon message, y'en a plein d'autres !
"La première fois que j'ai posé les mains sur une clarinette, je ne savais pas où je mettais les pieds!"
Raymond Devos
Avatar de l’utilisateur
Thierry
Dieu grec
Messages : 392
Inscription : 22 juin 2009, 13:08
Localisation : Alpes Maritimes

Message par Thierry »

Merci Dickie, tu me remonte le moral :D

Je croyais m'être complètement fourvoyé avec ma méthode, enfin j'avais copié sur les exemples du manuel.

En tout cas, encore merci à tous.
"La première fois que j'ai posé les mains sur une clarinette, je ne savais pas où je mettais les pieds!"
Raymond Devos
Avatar de l’utilisateur
Dickie
Râleur permanent
Messages : 7467
Inscription : 14 mai 2006, 11:42
Localisation : A l'est du Mont St-Michel
Contact :

Message par Dickie »

Ezran a écrit :Sinon j'ai pigé la syntaxe de Dim : "s" veut dire système et après on met le nombre de mesure :mrvert:
Non :mrvert: :mrvert: :mrvert:
Thierry a écrit :J'ai bien compris que tu définis des variables dont une "reprises" mais je ne comprends pas ce qu'il y a dans la variable :
s2.*2 \repeat "volta" 7 {s2.*14}
\alternative {{s2.*2}{s2.*3}}

ces s2, je ne comprends pas à quoi ils font référence.

"s" ce sont des notes invisibles. (s2. c'est une blanche pointée invisible :mrvert: :mrvert: )

Dim fait toute la structure du morceau en notes invisibles, qu'il imprime sur la même portée que les notes;

Donc un système pour la structure, un pour les notes, un pour les saut de ligne toutes les 4 mesures.

On imprime ensemble sur la même portée structure, notes, sauts de lignes.

L'avantage, c'est de ne se taper la structure qu'une fois, c'est la même pour toutes les voix, et ensuite on rendre les notes les unes à la suite des autres sans se préoccuper de réanalyser la structure à chaque fois. Ça rend le code plus lisible, si on a bien compris ce qu'on fait.
Il n'est pas nécessaire d'espérer pour entreprendre, ni de réussir pour persévérer - Guillaume d'Orange
À force de rater on finit par réussir - Les Shadoks
Association "En Coulisses"
Clarbasse, RC Prestige, clar alto, clar métal, clar mib
Avatar de l’utilisateur
Thierry
Dieu grec
Messages : 392
Inscription : 22 juin 2009, 13:08
Localisation : Alpes Maritimes

Message par Thierry »

Je commence à comprendre ;)
donc il aurait été plus logique d'attribuer le nom de "structure" à la variable "reprise" qui ne comporte pas que les reprises, du coup, je comprends mieux pourquoi ça apparait en haut dans le score. Et si je comprends encore mieux ça aurait pu être dans n'importe quel ordre.
C'est ça ?
Mais pourquoi rentrer la structure alors qu'elle se crée toute seule en rentrant les notes?
"La première fois que j'ai posé les mains sur une clarinette, je ne savais pas où je mettais les pieds!"
Raymond Devos
Avatar de l’utilisateur
Dickie
Râleur permanent
Messages : 7467
Inscription : 14 mai 2006, 11:42
Localisation : A l'est du Mont St-Michel
Contact :

Message par Dickie »

Thierry a écrit :Je commence à comprendre ;)
donc il aurait été plus logique d'attribuer le nom de "structure" à la variable "reprise" qui ne comporte pas que les reprises, du coup, je comprends mieux pourquoi ça apparait en haut dans le score. Et si je comprends encore mieux ça aurait pu être dans n'importe quel ordre.
C'est ça ?
Mais pourquoi rentrer la structure alors qu'elle se crée toute seule en rentrant les notes?
Pour ne pas avoir à s'en occuper quand on a plusieurs voix à rentrer, en une seule fois c'est fait.

Et la structure est beaucoup plus facile à analyser comme ça : ici 14 mesures, puis une 1ère alternative de 2 mesures et une 2nde de 3 mesures.

Quand on n'a qu'une voix ou deux, pas de soucis, quand on retape toute une orchestration, c'est plus facile.
Il n'est pas nécessaire d'espérer pour entreprendre, ni de réussir pour persévérer - Guillaume d'Orange
À force de rater on finit par réussir - Les Shadoks
Association "En Coulisses"
Clarbasse, RC Prestige, clar alto, clar métal, clar mib
Avatar de l’utilisateur
Thierry
Dieu grec
Messages : 392
Inscription : 22 juin 2009, 13:08
Localisation : Alpes Maritimes

Message par Thierry »

C'est vrai que c'est bien de pouvoir matérialiser cette "structure".
"La première fois que j'ai posé les mains sur une clarinette, je ne savais pas où je mettais les pieds!"
Raymond Devos
Répondre