Lilypond : un livret CD

Bonjour tout le monde !

Je m'amuse à faire un petit livret, genre livret pour CD (ou autre...). N'ayant rien trouvé sur le sujet, je le propose à la liste.

Dans mon exemple ci-joint, j'aimerai régler 2-3 points :

1. d'une manière générale, comment afficher des marques de découpage (crop ?) pour l'impression ?

2. sur mon exemple, je n'arrive pas à me débrouiller avec l'espacement "élastique" entre les portées : voir mes lignes 146 et 160 je n'ai trouvé que cela qui marche. J'ai bien trouvé autres choses mais je n'arrive pas à les placer (et finalement je n'ai pas compris !). Quelle instruction pour que tout soit en haut de ma page avec un espacement fixe entre les portées ? je souhaite laisser des espaces en bas de page pour des illustrations, donc rien entre ma dernière saisie et le \pageBreak

3. petit détail : pour les titres de morceaux (par exemple lignes 137 ou 141), j'utilise \markup{\abs-fontsize #12 "titre"}. Comment je peux mettre le "\abs-fontsize" dans mon "préambule" ? histoire de pouvoir changer facilement...

Sûr qu'avec votre aide, ou même une piste vers la doc (qui m'aurait échapper !), je vais encore apprendre beaucoup de choses !

Cordialement

Gérard

Lilypond_livret_CD.ly (2.98 KB)

Bonjour,

Bonjour tout le monde !

Je m'amuse à faire un petit livret, genre livret pour CD (ou autre...). N'ayant rien trouvé sur le sujet, je le propose à la liste.

Dans mon exemple ci-joint, j'aimerai régler 2-3 points :

1. d'une manière générale, comment afficher des marques de découpage (crop ?) pour l'impression ?

Je ne suis pas sûr de comprendre la question. Pourriez-vous fournir des précisions ?

2. sur mon exemple, je n'arrive pas à me débrouiller avec l'espacement "élastique" entre les portées : voir mes lignes 146 et 160 je n'ai trouvé que cela qui marche. J'ai bien trouvé autres choses mais je n'arrive pas à les placer (et finalement je n'ai pas compris !). Quelle instruction pour que tout soit en haut de ma page avec un espacement fixe entre les portées ? je souhaite laisser des espaces en bas de page pour des illustrations, donc rien entre ma dernière saisie et le \pageBreak

Cela a le mérite d'être plutôt simple :

\paper {
ragged-bottom = ##t
}

La documentation est ici : GNU LilyPond – Manuel de notation: 4.1.3 Variables d'espacement vertical fixe

3. petit détail : pour les titres de morceaux (par exemple lignes 137 ou 141), j'utilise \markup{\abs-fontsize #12 "titre"}. Comment je peux mettre le "\abs-fontsize" dans mon "préambule" ? histoire de pouvoir changer facilement...

On peut modifier le scoreTitleMarkup (que vous n'utilisiez pas) et mettre ces champs dans un \header propre à chaque \score, de même que le bookTitleMarkup qui vous a été fourni par Valentin permet l'impression d'un titre général à partir de champs \header globaux. Voir par ici : GNU LilyPond – Manuel de notation: 3.2.2 Titrages personnalisés

Je joins ma version de votre code.

Bien cordialement,
Jean Abou Samra

Lilypond_livret_CD_amélioré.ly (2.92 KB)

···

Le 09/07/2020 à 14:06, Gerard a écrit :

Merci Jean,

Je savais que j'apprendrais quelque chose et le code des "score" a tout pour me plaire !

En guise de précision pour mon "crop" : j'imprime mon livret sur du A4 et j'aimerais avoir les marques de massicotage, une espèce de croix au 4 coins de ma page du livret à une distance adéquate.

···

Le 10/07/2020 à 10:44, Jean Abou Samra a écrit :

  1. d'une manière générale, comment afficher des marques de découpage (crop ?) pour l'impression ?

Je ne suis pas sûr de comprendre la question. Pourriez-vous fournir des précisions ?

En vous souhaitant une bonne journée !

G.

Bonjour Gérard,
Pas sûr que LP soit la plus adaptée... Pourquoi pas LaTex ?

On trouve des greffons pour les hirondelles (les " espèce de croix au 4 coins").
Cordialement,
Pierre

@ Jean: attention aux accents dans les titres de fichiers; je me souviens que ça peut faire bugger LP sur certaines machines.

···

Le ven. 10 juil. 2020 à 10:56, Gerard <****@****> a écrit :

Merci Jean,

Je savais que j'apprendrais quelque chose et le code des "score" a tout pour me plaire !

En guise de précision pour mon "crop" : j'imprime mon livret sur du A4 et j'aimerais avoir les marques de massicotage, une espèce de croix au 4 coins de ma page du livret à une distance adéquate.

Le 10/07/2020 à 10:44, Jean Abou Samra a écrit :

  1. d'une manière générale, comment afficher des marques de découpage (crop ?) pour l'impression ?

Je ne suis pas sûr de comprendre la question. Pourriez-vous fournir des précisions ?

En vous souhaitant une bonne journée !

G.

Bonjour,

Merci Jean,

Je savais que j'apprendrais quelque chose et le code des "score" a tout pour me plaire !

En guise de précision pour mon "crop" : j'imprime mon livret sur du A4 et j'aimerais avoir les marques de massicotage, une espèce de croix au 4 coins de ma page du livret à une distance adéquate.

Là, je passe mon tour. Toutefois, je pense qu'il serait plus simple de créer seulement la musique avec LilyPond, et d'employer ensuite un logiciel quelconque de gestion des PDF pour passer à deux pages par feuille et ajouter les marques de massicotage (dont j'apprends qu'elles se nomment joliment « hirondelles »). Une recherche m'indique par exemple https://media.april.org/docs/tutoriaux/Exporter_en_PDF_depuis_Scibus.pdf page 13 avec Scribus.

Cordialement,
Jean Abou Samra

···

Le 10/07/2020 à 10:55, Gerard a écrit :

Bonjour Pierre,

J'explore cette piste aussi (et même ConteXt). Pour LaTex, j'ai un résultat satisfaisant avec le package abc (notation abc), j'essaie aussi lyluatex (Lilypond). Je n'arrive pas à exploiter les packages cd et simplecd.

L'avantage que je voyais à un livret intégralement sous Lilypond (pas forcément CD), c'est que j'ai un fichier unique qui ne fait appel à rien d'autre que lui-même, et si je veux transposer tous les morceaux (il y a des clarinettes dans mon atelier), une simple macro doit pouvoir le faire. Mais peut-être je vois mal l'affaire.

Merci pour "les hirondelles" !

G.

···

Le 10/07/2020 à 11:04, Pierre Perol-Schneider a écrit :

Pas sûr que LP soit la plus adaptée... Pourquoi pas LaTex ?

Je retiendrai cette solution. Actuellement je n'en suis qu'à la phase de conception, de saisie. Après, je verrai la sortie et ce ne sont pas les outils qui manquent pour la construction d'un livret : j'imagine une sortie page par page en pdf (via le svg peut-être) et reconstitution via une commande... pdftk ? De quoi fouiller...

Moi aussi j'ai apprécié ce joli terme d' "hirondelles" !

G.

···

Le 10/07/2020 à 11:38, Jean Abou Samra a écrit :

Toutefois, je pense qu'il serait plus simple de créer seulement la musique avec LilyPond, et d'employer ensuite un logiciel quelconque de gestion des PDF pour passer à deux pages par feuille et ajouter les marques de massicotage (dont j'apprends qu'elles se nomment joliment « hirondelles »).

Je reviens sur :

Pas sûr que LP soit la plus adaptée...

À la rigueur, et avec plein de précautions, on peut utiliser les fonctions graphiques.
Mais attention, gros bidouillages ! Simplement parce qu'il n'est pas évident de faire correspondre les espacements utilisés par LP et les millimètres.
Le fichier joint correspond donc à un et un seul global-staff-size.
Les dimensions du livret devraient être de 242 x 120 (242 mm car, après pliage, il faudra re-massicoter les bords pour une coupe nette).
Attention aussi : ça me surprendrait que la page 2 soit alignée horizontalement à la page 1. À vérifier avec une impression recto/ verso (ce que je n'ai pas fait).
Tout ça reste assez fastidieux...
Cordialement,
Pierre

Livret_CD_Gerard.ly (6.61 KB)

Livret_CD_Gerard.pdf (87.3 KB)

···

Le ven. 10 juil. 2020 à 11:04, Pierre Perol-Schneider <****@****> a écrit :

J'ai fait un peu le ménage dans les définitions :

\version "2.20.0"

%%%%%%%%%%%%%%%%%%%%%% Defs hirondelles %%%%%%%%%%%%%%%%%%%%%%%%%%%
unit = \markup\with-dimensions-from \null
\combine\stencil
#(make-path-stencil
'(M 202.56 88.45
C 202.56 99.43 193.66 108.33 182.68 108.34
C 171.69 108.34 162.79 99.43 162.79 88.45
C 162.79 77.47 171.69 68.56 182.68 68.56
C 193.66 68.56 202.56 77.47 202.56 88.45
Z
M 153 126 L 267 126 M 182.5 12 L 182.5 114
M 156 88 L 231 88)
0.2 .08 .08 #f)
\combine\stencil
#(make-path-stencil
'(M 191.51 88.45
C 191.51 93.33 187.56 97.29 182.68 97.29
C 177.79 97.29 173.84 93.33 173.84 88.45
C 173.84 83.57 177.79 79.61 182.68 79.61
C 187.56 79.61 191.51 83.57 191.51 88.45
Z)
0.2 .08 .08 #t)
\with-color #white \stencil
#(make-path-stencil
'(M 191.5 88 L 174 88 M 182.5 79.5 L 182.5 97)
0.2 .08 .08 #f)

hirondBD = \markup \combine \rotate #-90 \unit \scale #'(1 . -1) \unit
hirondHD = \markup\rotate #90 \hirondBD
hirondHG = \markup\rotate #180 \hirondBD
hirondBG = \markup\rotate #270 \hirondBD
hirondelles = \markup\concat {
\override #'(baseline-skip . 0)
\right-column {
\translate #'(0 . -20.15)
\concat { \hspace #-.6 \hirondHG }
\vspace #16.07 \hirondBG
}
\hspace #117.65
\override #'(baseline-skip . 0)
\right-column {
\translate #'(0 . -20.15)
\concat { \hspace #-.6 \hirondHD }
\vspace #16.07 \hirondBD
}
}

gabarit = \markup\with-dimensions-from \null {
\combine
\with-color #red
\stencil #(make-path-stencil
'(M 0 1 L 137.7 1 L 137.7 -67.3 L 0 -67.3 Z) .2 1 1 #t)
\combine
\with-color #white
\stencil #(make-path-stencil
'(M 2 -1 L 135.7 -1 L 135.7 -65.3 L 2 -65.3 Z) .2 1 1 #t)
\with-color #red
\stencil #(make-path-stencil '(M 69 .5 L 69 -67) .5 1 1 #f)
}

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

Cordialement,
Pierre

Bonjour Pierre,

Merci de te pencher sur mon sujet !

Ce que tu me proposes, c'est du lourd mais c'est nickel ! Tu dis "Pas sûr que LP soit la plus adaptée" mais quand on voit le résultat... Et pour moi, le code reste encore hermétique à plusieurs endroits !

J'ai un peu "mûri" mon projet en laissant tomber pour l'instant cette histoire de format CD (avec les "hirondelles") pour me concentrer sur un livret avec Lilypond. J'ai donc repris ton livret amélioré et je le fais en format "a5paper". je sors mon livret avec pdfbook2 qui traînait dans mon pc sans que je le sache :slight_smile: Impec !

Je peaufine mon livret (16 pages, table des matières, etc. trucs de saisie) et je reviens vers la liste, j'aurai des points à éclaircir !

Bonne journée, bon week-end à tous.

G.

···

Le 10/07/2020 à 17:29, Pierre Perol-Schneider a écrit :

Je reviens sur :

Le ven. 10 juil. 2020 à 11:04, Pierre Perol-Schneider <****@****> a écrit :

Pas sûr que LP soit la plus adaptée...

À la rigueur, et avec plein de précautions, on peut utiliser les fonctions graphiques.
Mais attention, gros bidouillages ! Simplement parce qu'il n'est pas évident de faire correspondre les espacements utilisés par LP et les millimètres.
Le fichier joint correspond donc à un et un seul global-staff-size.
Les dimensions du livret devraient être de 242 x 120 (242 mm car, après pliage, il faudra re-massicoter les bords pour une coupe nette).
Attention aussi : ça me surprendrait que la page 2 soit alignée horizontalement à la page 1. À vérifier avec une impression recto/ verso (ce que je n'ai pas fait).
Tout ça reste assez fastidieux...
Cordialement,
Pierre

Bonjour Pierre,

@ Jean: attention aux accents dans les titres de fichiers; je me souviens que ça peut faire bugger LP sur certaines machines.

Holà, ce message est tombé dans mes spams. D'accord, je m'y tiendrai pour les réponses à la liste.

···

Le 11/07/2020 à 07:49, Pierre Perol-Schneider a écrit :

J'ai fait un peu le ménage dans les définitions :

\version "2.20.0"

%%%%%%%%%%%%%%%%%%%%%% Defs hirondelles %%%%%%%%%%%%%%%%%%%%%%%%%%%
unit = \markup\with-dimensions-from \null
\combine\stencil
#(make-path-stencil
'(M 202.56 88.45
C 202.56 99.43 193.66 108.33 182.68 108.34
C 171.69 108.34 162.79 99.43 162.79 88.45
C 162.79 77.47 171.69 68.56 182.68 68.56
C 193.66 68.56 202.56 77.47 202.56 88.45
Z
M 153 126 L 267 126 M 182.5 12 L 182.5 114
M 156 88 L 231 88)
0.2 .08 .08 #f)
\combine\stencil
#(make-path-stencil
'(M 191.51 88.45
C 191.51 93.33 187.56 97.29 182.68 97.29
C 177.79 97.29 173.84 93.33 173.84 88.45
C 173.84 83.57 177.79 79.61 182.68 79.61
C 187.56 79.61 191.51 83.57 191.51 88.45
Z)
0.2 .08 .08 #t)
\with-color #white \stencil
#(make-path-stencil
'(M 191.5 88 L 174 88 M 182.5 79.5 L 182.5 97)
0.2 .08 .08 #f)

hirondBD = \markup \combine \rotate #-90 \unit \scale #'(1 . -1) \unit
hirondHD = \markup\rotate #90 \hirondBD
hirondHG = \markup\rotate #180 \hirondBD
hirondBG = \markup\rotate #270 \hirondBD
hirondelles = \markup\concat {
\override #'(baseline-skip . 0)
\right-column {
\translate #'(0 . -20.15)
\concat { \hspace #-.6 \hirondHG }
\vspace #16.07 \hirondBG
}
\hspace #117.65
\override #'(baseline-skip . 0)
\right-column {
\translate #'(0 . -20.15)
\concat { \hspace #-.6 \hirondHD }
\vspace #16.07 \hirondBD
}
}

gabarit = \markup\with-dimensions-from \null {
\combine
\with-color #red
\stencil #(make-path-stencil
'(M 0 1 L 137.7 1 L 137.7 -67.3 L 0 -67.3 Z) .2 1 1 #t)
\combine
\with-color #white
\stencil #(make-path-stencil
'(M 2 -1 L 135.7 -1 L 135.7 -65.3 L 2 -65.3 Z) .2 1 1 #t)
\with-color #red
\stencil #(make-path-stencil '(M 69 .5 L 69 -67) .5 1 1 #f)
}

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

Cordialement,
Pierre

Ce code est assez impressionnant. Il pourrait enrichir la LSR, non ?

Cordialement,
Jean

Bonjour Jean,

...

Ce code est assez impressionnant. Il pourrait enrichir la LSR, non ?

Je le trouve très brouillon (et de fait, c'est un brouillon).

Je pense l'ajouter au LSR sous la forme d'une fonction markup plus pratique. Mais je n'ai pas encore trouvé la formule idéale pour convertir les dimensions en mm et en fonction du global-staff-size.

Cordialement,
Pierre

···

Le sam. 11 juil. 2020 à 09:42, Jean Abou Samra <****@****> a écrit :

Bonjour tout le monde,

J'avance lentement sur mon idée de livret (j'ai délaissé l'idée de CD pour du A5)

Avant d'aller plus loin, j'ai 3 petites questions non urgentes auxquelles je n'ai pas trouvé de réponse :

  • la commande \markup-list \table-of-contents me renvoie un avertissement "absence d'expression stencil "page-link"... pas grave ? ou petit réglage ?

  • peut-on faire un index ? ici je ne compte pas l'utiliser mais sait-on jamais, un livret qui ferait 100 pages !

  • plus musical : peut-on transposer par degré et non par note_d'arrivée comme le dit la documentation ? Le pourquoi : avec l'arrivée d'une clarinette en sib, il a fallu que je transpose tous les morceaux (document fait via LaTeX et la notation abc ici). Si c'est possible, même avec une ruse, un livret sous Lilypond aurait au moins ce mérite : une ligne dans le préambule, une ligne dans chaque score et c'est fait...

Merci d'avance !

Gérard

Lilypond_livret_v2.ly (6.37 KB)

Bonjour,

En compilant votre fichier, je n'y vois pas d'avertissement. Quelle est votre version de LilyPond ? J'ai vu passer un joli travail de Valentin récemment sur les tables des matières, aussi je ne serais pas complètement surpris que l'avertissement ait disparu au passage. Une recherche sur la LSR m'indique ceci : Bien cordialement, Jean Abou Samra

···

Le 12/07/2020 à 12:30, Gerard a écrit :

Bonjour tout le monde,

J'avance lentement sur mon idée de livret (j'ai délaissé l'idée de CD pour du A5)

Avant d'aller plus loin, j'ai 3 petites questions non urgentes auxquelles je n'ai pas trouvé de réponse :

  • la commande \markup-list \table-of-contents me renvoie un avertissement "absence d'expression stencil "page-link"... pas grave ? ou petit réglage ?
  • peut-on faire un index ? ici je ne compte pas l'utiliser mais sait-on jamais, un livret qui ferait 100 pages !

http://lsr.di.unimi.it/LSR/Item?id=763

  • plus musical : peut-on transposer par degré et non par note_d'arrivée comme le dit la documentation ? Le pourquoi : avec l'arrivée d'une clarinette en sib, il a fallu que je transpose tous les morceaux (document fait via LaTeX et la notation abc ici). Si c'est possible, même avec une ruse, un livret sous Lilypond aurait au moins ce mérite : une ligne dans le préambule, une ligne dans chaque score et c'est fait...

Qu'entendez-vous par « transposer par degré » ? La fonction \transpose est justement prévue pour les instruments transpositeurs, me semble-t-il.

Quoi qu'il en soit, je suis content de voir que abc2ly n'est pas encore totalement vaincu (car j'essaie, timidement, de le mettre à jour).

Qu'entendez-vous par « transposer par degré » ? La fonction \transpose est justement prévue pour les instruments transpositeurs, me semble-t-il.

Au lieu de faire \transpose c g, par exemple, j'aimerai \transpose c +5 (ou +7 si demi-tons), ou mieux, comme le fait abc2abc (notation abc), juste en précisant la transposition en demi-tons avec l'option -t 5, par exemple.

Si je prends un seul morceau, c'est facile (\transpose c d par exemple) mais là j'aimerai une option où Lilypond ferait tout de lui-même (ou presque !)

Quoi qu'il en soit, je suis content de voir que abc2ly n'est pas encore totalement vaincu (car j'essaie, timidement, de le mettre à jour).

Je me demande si je suis le seul à naviguer avec autant de plaisir, et selon mes besoins, de la notation abc à Lilypond, et je serais bien embêté s'il fallait choisir un jour !

abc2ly marche bien pour mes besoins avec quelques retouches, mais il me met toujours "\version 2.7.40" ?

Cordialement

···

Le 12/07/2020 à 15:00, Jean Abou Samra a écrit :

Bonsoir,

Qu'entendez-vous par « transposer par degré » ? La fonction \transpose est justement prévue pour les instruments transpositeurs, me semble-t-il.

Au lieu de faire \transpose c g, par exemple, j'aimerai \transpose c +5 (ou +7 si demi-tons), ou mieux, comme le fait abc2abc (notation abc), juste en précisant la transposition en demi-tons avec l'option -t 5, par exemple.

Voilà qui paraît tout à fait raisonnable, mais il manque cependant une information, la tonalité enharmonique. Par exemple, un morceau en do majeur peut être transposé un demi-ton au-dessus en do dièse majeur ou en ré bémol mineur. Dans le premier cas, des dièses apparaîtront, alors que dans le deuxième, ce sont des bémols. Sur quel critère décider ?

abc2ly marche bien pour mes besoins avec quelques retouches, mais il me met toujours "\version 2.7.40" ?

En effet, parce que dans le temps, lorsque abc2ly était maintenu, cette version était censée représenter la plus ancienne version avec laquelle les fichiers produits étaient compatibles. C'est ainsi qu'une déclaration \version fonctionne : LilyPond ne se plaint pas d'être plus à jour que ce qui est demandé, seulement quand elle est dépassée par rapport à l'exigence annoncée. Quoi qu'il en soit, ce \version "2.7.40" n'est pas vrai (certaines syntaxes générées par le convertisseur remontent à LilyPond 1.6).

Bien cordialement,
Jean Abou Samra

···

Le 12/07/2020 à 16:42, Gerard a écrit :

Le 12/07/2020 à 15:00, Jean Abou Samra a écrit :

Bonjour Jean,

bonjour tout le mode,

il manque cependant une information, la tonalité enharmonique. Par exemple, un morceau en do majeur peut être transposé un demi-ton au-dessus en do dièse majeur ou en ré bémol mineur. Dans le premier cas, des dièses apparaîtront, alors que dans le deuxième, ce sont des bémols. Sur quel critère décider ?

Dans mon cas, après avoir difficilement compris cette histoire d'instrument transpositeur, pour que la clarinette en sib joue avec nous, il faut monter tous les morceaux de 2 demi-tons donc C>D Am>Bm (2#) G>A et Em>F#m (3#). C'est ce que j'ai fait et la clarinettiste ne s'est pas plainte.

Ma solution : deux variables
- tuneC = d (en vue de monter C et Am d'un ton)
- tuneG = a (en vue de monter G et Em d'un ton)

et, dans le score je mets \transpose c \tuneC \melodie, par exemple, que je n'ai même pas besoin de commenter si j'ai défini tuneC = c ...

Je ne sais pas si tout ça est bien "propre" mais ça marche...

Pour mon avertissement "page-link", ma version est la 2.20.0. Mais je vais fouiller la doc..

(à propos de abc2ly, un truc qui me plaîrait, c'est le retour à la ligne après un \bar "|", ça rendrait le code plus clair "par mesure")

Cordialement

Gérard

···

Le 12/07/2020 à 22:10, Jean Abou Samra a écrit :

Bonjour

(à propos de abc2ly, un truc qui me plaîrait, c'est le retour à la ligne
après un \bar "|",

Solution temporaire :

dans /usr/local/lilypond/usr/bin/

ouvrir le fichier abc2ly
ligne 1179
changer
'|' : '\\bar "|"'
par
'|' : '\\bar "|" \\break'

Bonne journée

···

-----
♫artial♪
--
Sent from: http://lilypond-french-users.1298960.n2.nabble.com/

Bonjour,

Il me semble que \transpose c d transpose bien d'un ton vers le haut quelle que soit la tonalité.

A+

···

Christophe Pochon

Merci Martial,

1. je pensais que c'était un fichier binaire !
2. ce n'est pas \break qu'il me fallait (ça fait un retour "lilypond") mais un break de ligne dans Frescobaldi... Je m'étais mal exprimé.

Mais ça m'a quand même mis sur la piste, comme j'ai vu que c'était du Python, j'ai remplacé par '\\bar "|" \n' ça marche et ça me fait un code plus clair (une ligne par mesure ce qui me semble avoir été conseillé sur la liste).

Cordialement

Gérard

···

Le 13/07/2020 à 10:45, martial a écrit :

Solution temporaire :

dans /usr/local/lilypond/usr/bin/

ouvrir le fichier abc2ly
ligne 1179
changer
'|' : '\\bar "|"'
par
'|' : '\\bar "|" \\break'

Bonne journée