3.6.4 Gestion des nuances en MIDI
Le volume général de la sortie MIDI peut se définir, ainsi que ses modulations, en fonction des indications de nuance et les volumes relatifs entre les différents instruments.
Les indications de nuance se traduisent automatiquement en niveau de volume dans l’amplitude disponible en MIDI alors que crescendos et diminuendos auront une progression linéaire entre les extrêmes.
Indication des nuances en MIDI | ||
Réglage du volume en MIDI | ||
Réglage de propriétés dans le bloc MIDI |
Indication des nuances en MIDI
Les indications de nuance, de ppppp
à fffff
– y compris
mp
, mf
et sf
– ont des valeurs prédéfinies. Ce
coefficient est alors appliqué pour corriger le volume général de façon
à obtenir le niveau sonore qui sera retranscrit dans le fichier de
sortie pour la nuance considérée. Nous allons, par défaut, de 0,25 pour
un ppppp à 0,95 pour un fffff. Les
correspondances entre nuance et fraction de volume sont répertoriées
dans le fichier ‘scm/midi.scm’.
Morceaux choisis
Création de nuance particulière pour la sortie MIDI
L’exemple suivant illustre la manière de créer une indication de nuance, absente de la liste par défaut, et de lui assigner une valeur spécifique utile à la sortie MIDI.
L’indication de nuance \rfz
(rinforzando) se voit
attribuer une valeur de 0.9
.
#(define (myDynamics dynamic) (if (equal? dynamic "rfz") 0.9 (default-dynamic-absolute-volume dynamic))) \score { \new Staff { \set Staff.midiInstrument = #"cello" \set Score.dynamicAbsoluteVolumeFunction = #myDynamics \new Voice { \relative { a'4\pp b c-\rfz } } } \layout {} \midi {} }
Voir aussi
Fichiers d’initialisation : ‘ly/script-init.ly’, ‘scm/midi.scm’.
Morceaux choisis : MIDI.
Référence des propriétés internes : Dynamic_performer.
Réglage du volume en MIDI
Les valeurs extrêmes du volume MIDI des nuances se contrôlent à l’aide
des propriétés midiMinimumVolume
et midiMaximumVolume
qui
agissent au niveau Score
. Ces propriétés sont effectives dès
lors qu’une nuance est indiquée ; une nuance de départ explicite est donc
requise pour que le volume soit ajusté dès le début de la partition.
Vous pouvez alors modifier la fraction correspondant à chaque nuance à
l’aide de la formule
midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * fraction
Voici comment ajuster les nuances tout en limitant l’amplitude du volume entre 0,2 et 0,5 :
\score { << \new Staff { \set Staff.midiInstrument = "flute" … music … } \new Staff { \set Staff.midiInstrument = "clarinet" … music … } >> \midi { \context { \Score midiMinimumVolume = #0.2 midiMaximumVolume = #0.5 } } }
La définition de l’amplitude du volume MIDI au niveau d’un contexte
Staff
– grace aux propriétés midiMinimumVolume
et
midiMaximumVolume
– permet en quelque sorte d’égaliser un
instrument MIDI.
\score { \new Staff { \set Staff.midiInstrument = "flute" \set Staff.midiMinimumVolume = #0.7 \set Staff.midiMaximumVolume = #0.9 … musique … } \midi { } }
Dans le cas d’une partition à plusieurs portées et différents instruments, les volumes relatifs entre les différents instruments se gèrent individuellement :
\score { << \new Staff { \set Staff.midiInstrument = "flute" \set Staff.midiMinimumVolume = #0.7 \set Staff.midiMaximumVolume = #0.9 … music … } \new Staff { \set Staff.midiInstrument = "clarinet" \set Staff.midiMinimumVolume = #0.3 \set Staff.midiMaximumVolume = #0.6 … music … } >> \midi { } }
La clarinette de cet exemple jouera relativement moins fort que la flûte.
En l’absence de tout réglage des propriétés de volume, LilyPond appliquera cependant un léger degré d’égalisation pour certains instruments – voir ‘scm/midi.scm’.
Morceaux choisis
Réglage de l’égalisation par défaut des instruments MIDI
L’égaliseur basique peut être modifié par la définition d’une nouvelle
procédure Scheme instrumentEqualizer
au sein du contexte
Score
. Cette procédure prend en unique argument le nom d’un
instrument MIDI et renverra une paire de fractions correspondant aux
minimum et maximum de volume alloué à cet instrument.
Dans l’exemple suivant sont réglés les volumes relatifs de la flûte et de la clarinette.
#(define my-instrument-equalizer-alist '()) #(set! my-instrument-equalizer-alist (append '( ("flute" . (0.7 . 0.9)) ("clarinet" . (0.3 . 0.6))) my-instrument-equalizer-alist)) #(define (my-instrument-equalizer s) (let ((entry (assoc s my-instrument-equalizer-alist))) (if entry (cdr entry)))) \score { << \new Staff { \key g \major \time 2/2 \set Score.instrumentEqualizer = #my-instrument-equalizer \set Staff.midiInstrument = "flute" \new Voice \relative { r2 g''\mp g fis~ 4 g8 fis e2~ 4 d8 cis d2 } } \new Staff { \key g \major \set Staff.midiInstrument = "clarinet" \new Voice \relative { b'1\p a2. b8 a g2. fis8 e fis2 r } } >> \layout { } \midi { } }
Voir aussi
Fichiers d’initialisation : ‘scm/midi.scm’.
Manuel de notation : Mise en forme de la partition.
Référence des propriétés internes : Dynamic_performer.
Problèmes connus et avertissements
Les modifications apportées au volume MIDI n’interviennent que sur l’attaque d’une note, en conséquence de quoi crescendos et decrescendos n’affecteront pas le volume s’ils se produisent sur une même et unique note.
Réglage de propriétés dans le bloc MIDI
Le bloc \midi
peut contenir des aménagements pour certains
contextes, la définition de contextes particuliers ou du code permettant
de déterminer la valeur de certaines propriétés.
\score { … music … \midi { \tempo 4 = 72 } }
Le tempo est ici réglé à 72 noires par minute. Une indication de tempo
inscrite dans le bloc \midi
ne sera pas reportée sur la partition
imprimable. Cependant, tout \tempo
mentionné dans le bloc
\score
sera répercuté dans la sortie MIDI.
Placée au sein d’un bloc \midi
, la commande \tempo
détermine des propriétés lors de la phase d’interprétation de la musique
et dans le contexte de définition des sorties. Elle est alors
considérée comme une modification de contexte.
La syntaxe permettant de définir un contexte pour le \midi
est en
tout point identique à celle que vous utilisez dans le bloc
\layout
:
\score { … musique … \midi { \context { \Voice \remove Dynamic_performer } } }
Ces quelques lignes ont pour effet de supprimer l’application des nuances à la sortie MIDI. Vous aurez noté que les modules de traduction de LilyPond en matière de son s’appelent performers – des « interprètes ».
Voir aussi
Manuel d’initiation : Autres sources de documentation.
Manuel de notation : Mise en forme de la partition, Signes d’interprétation.
Fichiers d’initialisation : ‘ly/performer-init.ly’.
Morceaux choisis : MIDI.
Référence des propriétés internes : Dynamic_performer.
Problèmes connus et avertissements
Certains lecteurs MIDI ne rendent pas correctement les changements de tempo.
Les modifications de midiInstrument
ou autres options MIDI en
début de portée peuvent se retrouver dédoublées dans la sortie MIDI.