GNU LilyPond – Manuel de notation: 3.6.9 Amélioration du rendu MIDI

### 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`’

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 (typiquement `8` 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’expression `ly: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.

#### LilyPond — Manuel de notation v2.24.4 (branche stable).