3.6.9 Amélioration du rendu MIDI
Le fichier MIDI généré par LilyPond est relativement brut. Il peut
toutefois être amélioré en affectant des instruments MIDI ou en réglant
certaines propriétés au sein du bloc \midi
.
Des scripts additionnels permettent d’affiner la manière dont les nuances, articulations et rythme sont rendus en MIDI : le script ‘articulate’ et le script ‘swing’.
Le script ‘articulate’ | ||
Le script ‘swing’ |
Le script ‘articulate’
L’utilisation du script articulate
se fait après avoir ajouté en
tête de fichier la commande \include
appropriée :
\include "articulate.ly"
Le script créera une sortie MIDI dont les notes seront échelonées de sorte à tenir compte de toute articulation ou changement de tempo. La sortie imprimable sera toutefois modifiée en profondeur, pour refléter littéralement la sortie MIDI.
\score { \articulate << … musique … >> \midi { } }
Le script \articulate
tient compte des abréviations telles que les
trilles ou groupettos. L’intégralité des éléments traités est
répertoriée dans le script lui-même – voir ‘ly/articulate.ly’.
Voir aussi
Manuel d’initiation : Autres sources de documentation.
Manuel de notation : Mise en forme de la partition.
Fichiers d’initialisation : ‘ly/articulate.ly’.
Note : Dans la mesure où le script ‘articulate’ tend à raccourcir
les accords, certaines musiques, notamment pour l’orgue, paraîtront de
moins bonne qualité. Les notes dépourvues d’articulation peuvent aussi
se voir raccourcies ; pour pallier cet inconvénient, le recours à la
fonction \articulate
devrait ne concerner que de courts
fragments, sauf à modifier les valeurs des variables contenues dans le
script ‘articulate’.
Le script ‘swing’
Le script ‘swing’ procure des fonctions additionnelles qui permettent de jouer des durées égales sur un rythme inégal. L’exemple le plus évident est l’interprétation swinguée que l’on trouve en jazz où des croches binaires devraient se jouer de façon ternaire. D’autres interprétations sont toutefois prises en charge.
Ce script doit faire l’objet d’une inclusion en début de fichier source :
\include "swing.ly"
Le script fournit trois commandes :
-
\tripletFeel
crée un swing sur une base de triolet. Elle prend deux arguments : les durées à affecter (typiquement8
pour des croches) et l’expression musicale sur laquelle l’appliquer. -
\applySwing
prend un argument supplémentaire avant l’expression musicale : une liste de pondération de n nombres de ratio exprimant la manière dont doivent être jouées les notes régulières. Par exemple,#'(2 1)
indique que chaque note devrait se jouer deux fois plus longue que la suivante – en fait,\tripletFeel durée {musique}
est un raccourci de\applySwing durée #'(2 1) {musique}
Des croches chaloupées plus doucement s’obtiennent avec une liste de pondération de#'(3 2)
ou toute autre valeur selon les goûts.Cette liste peut prendre plus de deux valeurs, ce qui permet d’adopter un schéma de groove plus long ou plus sophistiqué. Par exemple, une impression de samba sur des double-croches peut s’obtenir ainsi :
\score { \applySwing 16 #'(3 2 2 3) { … music … } \midi { } }
-
\applySwingWithOffset
ajoute quant à elle un autre argument entre la liste de pondération et l’expression musicale : une durée de décallage, donnée sous forme d’expressionly:make-moment
. Cette commande devrait s’utiliser lorsque l’expression musicale démarre à contre temps, avec une portion de cycle.
Note : Tout comme avec le script ‘articulate’, toutes les
commandes seront rendues dans la partition imprimable, ce qui résulte en
un espacement irrégulier. Ceci peut s’éviter en utilisant le script dans
un bloc \score
dédié à la sortie MIDI.
Une aide et des informations supplémentaires sont directement incluses dans le script – voir ‘ly/swing.ly’.
Voir aussi
Manuel d’initiation : Autres sources de documentation.
Manuel de notation : Rythme.
Fichiers d’initialisation : ‘ly/swing.ly’.
Problèmes connus et avertissements
-
Les constructions
\repeat
et\repeat unfold
ne sont pas prises en considération lors de la temporisation des notes. Ceci entraînera des problèmes à moins que les durées de tous les fragments répétés soient des multiples entiers du cycle de swing. -
Ces fonctions sont agnostiques en matière de métrique et de mesure,
raison pour laquelle des décallages doivent être fournis à l’aide de
\applySwingWithOffset
lorsque la musique démarre sur une levée. - Les appogiatures sont ignorées et laissées telles quelles, tout comme les triolets.