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

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

Re: passage à ne pas transposer


From: Jean Abou Samra
Subject: Re: passage à ne pas transposer
Date: Sun, 24 Apr 2022 18:52:29 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0

Le 24/04/2022 à 18:30, Vincent Gay a écrit :
Bonsoir,

il me semble avoir vu quelque part, je pense même dans cette liste, une astuce pour ne pas transposer un passage dans une partie. Mais je ne la retrouve pas... explication : dans un lead sheet je veux faire apparaître l'intro jouée par la guitare. Lors de la transposition pour les instruments en B♭ et E♭ je voudrais que cette intro ne soit pas transposé (la suite oui).

Merci d'avance




Bonsoir Vincent,

Effectivement, j'ai un vague souvenir du fil en question (n'était-ce
pas avec Gilles Thibault ?) mais je n'arrive pas à retrouver le lien
dans l'archive…

En tous cas, l'astuce est celle-ci :

\version "2.22.2"

\transpose c d {
  c'4 4 4 4
  \withMusicProperty untransposable ##t { c'4 4 4 4 }
  c'4 4 4 4
}


Explication : untransposable est une propriété des objets musicaux
qui est mise à #t sur ceux qui ne doivent pas être transposés, comme
les \set et \override (par exemple, \transposition bes, qui sert à
définir un instrument transpositeur pour le MIDI, est une raccourci
pour \set Staff.instrumentTransposition = bes, et le fait qu'une
clarinette soit en si bémol ne change pas avec \transpose !). Il
n'y a pas de commande prédéfinie qui change la valeur de untransposable,
mais il existe \withMusicProperty, une commande générique qui change
la valeur de n'importe quelle propriété d'objet musique, un peu comme
\set pour les contextes ou \override pour les grobs.

D'ailleurs, rien n'empêche de définir une fonction plus pratique, soit
par la syntaxe traditionnelle…

\version "2.22.2"

untransposable =
#(define-music-function (music) (ly:music?)
   #{ \withMusicProperty untransposable ##t #music #})

\transpose c d {
  c'4 4 4 4
  \untransposable { c'4 4 4 4 }
  c'4 4 4 4
}

… soit avec la syntaxe \etc, que je trouve simplement magique :

\version "2.22.2"

untransposable = \withMusicProperty untransposable ##t \etc

\transpose c d {
  c'4 4 4 4
  \untransposable { c'4 4 4 4 }
  c'4 4 4 4
}

Et si tu ne connaissais pas \etc, je t'invite à faire un tour par
la documentation. La page qui explique \etc est donnée dans l'index
des commandes :

https://lilypond.org/doc/v2.22/Documentation/notation/lilypond-command-index

(À titre expérimental, je ne donne pas de lien direct mais un lien
vers l'index. Il arrive que des pages de documentation changent d'adresse,
alors que l'index, ou plutôt les deux index, le normal et l'index
des commandes, sont normalement stables. En plus, j'ai l'impression
que les index sont des pages sous-utilisées qui méritent d'être mieux connues.)

Cordialement,
Jean




reply via email to

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