[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

3.5 Génération de fichiers MIDI

@translationof Creating MIDI output

LilyPond peut produire des fichiers conformes au standard MIDI (Musical Instrument Digital Interface), ce qui permet de vérifier le rendu à l’oreille grace à un logiciel ou un périphérique sachant interpréter le MIDI. L’écoute du rendu en MIDI permet de contrôler aisément ce que vous avez saisi : octaves et altérations erronées heurteront votre oreille avertie !

Les fichiers MIDI, contrairement aux fichiers AAC, MP3 ou Vorbis, ne contiennent pas de son et nécessitent donc le recours à un logiciel supplémentaire pour les écouter.


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

3.5.1 Notation prise en compte dans le MIDI

@translationof Supported notation for MIDI

LilyPond retranscrit par défaut dans un fichier MIDI les éléments de notation suivants :

Spatialisation, balance, expression, réverbération et chorus peuvent se contrôler à l’aide de propriétés de contexte – voir Propriétés de contextes et effets MIDI.

En combinaison avec le script ‘articulate’, d’autres éléments seront aussi reportés en MIDI :

Voir Amélioration du rendu MIDI.


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

3.5.2 Notation non prise en compte dans le MIDI

@translationof Unsupported notation for MIDI

Certains éléments de notation ne peuvent être retranscrits dans un fichier MIDI :


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

3.5.3 Le bloc MIDI

@translationof The MIDI block

LilyPond générera un fichier MIDI dès que vous ajouterez un bloc \midi, même vide, au sein du bloc \score :

 
\score {
  …musique…
  \layout { }
  \midi { }
}

Note : Lorsque le bloc \score contient uniquement un bloc \midi (autrement dit pas de bloc \layout), LilyPond produira uniquement la sortie MIDI – aucun support visuel ne sera généré.

L’extension par défaut des fichiers MIDI générés (.midi) peut se modifier en ligne de commande :

 
lilypond -dmidi-extension=mid MonFichier.ly

Une autre manière de procéder consiste à placer la ligne suivante au début de votre fichier source, avant l’ouverture de tout bloc \book, \bookpart ou \score – voir Structure de fichier :

 
#(ly:set-option 'midi-extension "mid")

Voir aussi

Manuel de notation : Structure de fichier.

Fichiers d’initialisation : ‘scm/midi.scm’.

Problèmes connus et avertissements

Le standard MIDI dispose de 15 canaux plus un (le numéro 10) affecté aux percussions. Les portées sont assignées l’une après l’autre à un canal. Dans la mesure où une partition comporte plus de 15 portées, les portées au-delà de la quinzième partageront un même canal MIDI, sans toutefois l’écraser. Ceci peut entraîner des conflits au niveau des canaux en raison des propriétés MIDI, notamment l’instrument utilisé.

L’utilisation d’un bloc midi dans le cadre d’une musique polymétrique peut engendrer des avertissements inopinés quant au contrôle des barres de mesure. En pareil cas, il suffit de déplacer, au sein du bloc midi, le Timing_translator du contexte Score au contexte Staff.

 
\midi {
  \context {
    \Score
    \remove "Timing_translator"
  }
  \context {
     \Staff
     \consists "Timing_translator"
  }
}

[image of music]


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

3.5.4 Gestion des nuances en MIDI

@translationof Controlling MIDI dynamics

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.


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

Indication des nuances en MIDI

@translationof Dynamic marks in 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 {}
}

[image of music]

Voir aussi

Fichiers d’initialisation : ‘ly/script-init.ly’, ‘scm/midi.scm’.

Morceaux choisis : (snippets)MIDI section ‘MIDI’ dans Morceaux choisis.

Référence des propriétés internes : (internals)Dynamic_performer section ‘Dynamic_performer’ dans Référence des propriétés internes.


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

Réglage du volume en MIDI

@translationof Setting MIDI volume

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 {  }
}

[image of music]

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 : (internals)Dynamic_performer section ‘Dynamic_performer’ dans Référence des propriétés internes.

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.


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

Réglage de propriétés dans le bloc MIDI

@translationof Setting MIDI block properties

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 : (learning)Autres sources de documentation section ‘Autres sources de documentation’ dans Manuel d’initiation.

Manuel de notation : Mise en forme de la partition, Signes d’interprétation.

Fichiers d’initialisation : ‘ly/performer-init.ly’.

Morceaux choisis : (snippets)MIDI section ‘MIDI’ dans Morceaux choisis.

Référence des propriétés internes : (internals)Dynamic_performer section ‘Dynamic_performer’ dans Référence des propriétés internes.

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.


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

3.5.5 Gestion des instruments MIDI

@translationof Using MIDI Instruments

L’instrument MIDI est déterminé par la propriété midiInstrument, au sein d’un contexte Staff.

 
\score {
  \new Staff {
    \set Staff.midiInstrument = "glockenspiel"
    … music …
  }
  \midi { }
}

ou

 
\score {
  \new Staff \with {midiInstrument = "cello"} {
    … music …
  }
  \midi { }
}

Lorsque l’instrument choisi ne correspond pas exactement à l’une des dénominations consacrées, LilyPond le remplacera par un piano de concert ("acoustic grand") – voir Instruments MIDI.

Voir aussi

Manuel d’initiation : (learning)Autres sources de documentation section ‘Autres sources de documentation’ dans Manuel d’initiation.

Manuel de notation : Instruments MIDI, Mise en forme de la partition.

Référence des propriétés internes : (internals)Dynamic_performer section ‘Dynamic_performer’ dans Référence des propriétés internes.

Fichiers d’initialisation : ‘scm/midi.scm’.

Problèmes connus et avertissements

Les percussions gérées par un contexte DrumStaff sont affectées directement au canal 10 qui leur est réservé. Certains instruments, tels le xylophone, le marimba, le vibraphone ou les timbales, se traitent cependant comme des instruments « classiques » puisqu’ils sont capables d’émettre des hauteurs différentes ; leur notation relève donc d’un contexte Staff standard, et non d’un DrumStaff pour pouvoir être rendus correctement en MIDI. Une liste complète des percussions affectées au canal 10 (channel 10 drum-kits) est disponible dans le fichier ‘scm/midi.scm’ – voir (learning)Autres sources de documentation section ‘Autres sources de documentation’ dans Manuel d’initiation.


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

3.5.6 Gestion des répétitions en MIDI

@translationof Using repeats with MIDI

Les reprises de toutes sortes peuvent être rendues dans le fichier MIDI. Il suffit pour cela de recourir à la fonction \unfoldRepeats, qui développe toutes les reprises.

 
\score {
  \unfoldRepeats {
    \repeat tremolo 8 { c'32 e' }
    \repeat percent 2 { c''8 d'' }
    \repeat volta 2 { c'4 d' e' f' }
    \alternative {
      { g' a' a' g' }
      { f' e' d' c' }
    }
  }
  \midi { }
}

Lorsque l’on veut utiliser \unfoldRepeats seulement pour le rendu MIDI, il faut établir deux blocs \score : un pour le MIDI, avec des reprises explicites, et l’autre pour la partition, avec des reprises notées sous forme de barres de reprise, de trémolo ou de symboles de pourcentage. Par exemple

 
\score {
  … musique …
  \layout { }
}
\score {
  \unfoldRepeats … musique …
  \midi { }
}

Dans une partition comportant plusieurs voix, le développement des reprises ne sera effectif en MIDI qu’à la condition que ces reprises soient mentionnée correctement dans toutes les voix.

Voir aussi

Manuel de notation  : Répétitions et reprises.


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

3.5.7 Affectation des canaux MIDI

@translationof MIDI channel mapping

Lorsque LilyPond génère un fichier MIDI à partir d’une partition, chaque note contenue dans cette partition sera automatiquement assignée à un canal MIDI, celui sur lequel elle devrait être jouée quand elle est transmise à un périphérique MIDI. Chaque canal MIDI dispose d’un certain nombre de contrôles pour, par exemple, sélectionner l’instrument qui jouera les notes de ce canal ou bien demander au périphérique MIDI d’appliquer différents effets au son produit sur ce canal. En tout état de cause, chaque contrôle d’un canal MIDI ne peut se voir affecté que d’une seule valeur à la fois – celle-ci peut toutefois être modifiée pour, par exemple, changer d’instrument au milieu du morceau.

Le standard MIDI ne dispose que de 16 canaux par périphérique MIDI. Cette limite du nombre de canaux entraîne une limitation du nombre d’instruments pouvant jouer de concert.

LilyPond crée une piste MIDI séparée pour chaque portée (ou chaque instrument ou voix selon la valeur de Score.midiChannelMapping) ainsi que pour chaque contexte de paroles. Il n’y a pas de limite au nombre de pistes.

Afin de contourner la limitation du nombre de canaux MIDI, LilyPond dispose de différents modes d’allocation d’un canal MIDI grâce à la propriété de contexte Score.midiChannelMapping. Dans tous les cas, lorsque la limite au nombre de canaux est atteinte, LilyPond repart du canal 0, ce qui peut affecter des notes au mauvais instrument. Cette propriété de contexte peut prendre les valeurs suivantes :

'staff

Allocation d’un canal MIDI particulier à chacune des portées de la partition (option par défaut). Toutes les notes de toutes les voix d’une même portée partageront le canal MIDI affecté à la portée qui les englobe, et toutes seront encodées dans la même piste.

La limite des 16 canaux s’applique au nombre total de portées augmenté des contextes de paroles même si les paroles MIDI n’occupent pas de canal MIDI.

'instrument

Allocation d’un canal MIDI particulier à chaque instrument MIDI tel que spécifié dans la partition. En d’autre termes, des notes jouées par un même instrument MIDI partageront le même canal MIDI (et la même piste), même si elles proviennent de voix ou portées différentes.

Dans ce cas particulier, les contextes de paroles ne sont pas pris en compte dans la limite des 16 canaux, puisqu’ils ne sont pas assignés à un instrument MIDI, ce qui permet une meilleure allocation des canaux MIDI lorsque le nombre de portées et de contextes de paroles dépasse 16.

'voice

Allocation d’un canal MIDI particulier à chaque voix de la partition portant un nom unique parmi les voix de la portée considérée. Des voix appartenant à des portées différentes seront toujours affectées à des canaux MIDI différents, mais deux voix partageant une même portée partageront le même canal MIDI dès lors qu’elles porteront le même nom. Dans la mesure où midiInstrument et les différents contrôles d’effets MIDI sont des propriétés affectant le contexte de portée, ils ne peuvent se déterminer individuellement pour une voix. La première voix adoptera l’instrument et les effets spécifiés pour cette portée, et les voix dénommées différemment de la première se verront attribué l’instrument et le effets par défaut.

Note : l’affectation d’instruments ou d’effets différents aux differentes voix d’une même portée s’obtient dès lors que le Staff_performer est déplacé du contexte Staff au contexte Voice tout en maintenant le midiChannelMapping dans le contexte 'staff ou en le réglant sur 'instrument.

Par exemple, l’affectation par défaut des canaux MIDI d’une partition peut être réglée sur 'instrument comme ceci :

 
\score {
  ...musique...
  \midi {
    \context {
      \Score
      midiChannelMapping = #'instrument
    }
  }
}

Morceaux choisis

Affectation d’un canal MIDI par voix

Lorsque LilyPond génère un fichier MIDI, chaque portée sera par défaut affectée à un canal, quel que soit le nombre de voix qu’elle contient. Ceci permet d’éviter de se retrouver à court de canaux, sachant qu’il n’y en a que seize de disponibles par piste.

Le fait de déplacer le Staff_performer dans le contexte Voice permet d’affecter à chaque voix d’une même portée un canal MIDI spécifique. Dans l’exemple suivant, la même portée donnera lieu à deux canaux MIDI différents, chacun étant affecté de son propre midiInstrument.

 
\score {
  \new Staff <<
    \new Voice \relative c''' {
      \set midiInstrument = #"flute"
      \voiceOne
      \key g \major
      \time 2/2
      r2 g-"Flute" ~
      g fis ~
      fis4 g8 fis e2 ~
      e4 d8 cis d2
    }
    \new Voice \relative c'' {
      \set midiInstrument = #"clarinet"
      \voiceTwo
      b1-"Clarinet"
      a2. b8 a
      g2. fis8 e
      fis2 r
    }
  >>
  \layout { }
  \midi {
    \context {
      \Staff
      \remove "Staff_performer"
    }
    \context {
      \Voice
      \consists "Staff_performer"
    }
    \tempo 2 = 72
  }
}

[image of music]


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

3.5.8 Propriétés de contextes et effets MIDI

@translationof Context properties for MIDI effects

Les différentes propriétés de contexte qui suivent permettent d’appliquer différents effets MIDI aux notes contenues dans le canal MIDI associé à la portée courante, à l’instrument ou à la voix, selon la valeur affectée à la propriété de contexte Score.midiChannelMapping et le contexte dans lequel le Staff_performer réside – voir Affectation des canaux MIDI.

Une adaptation de ces propriétés de contexte affectera toutes les notes jouées sur ce canal dès leur modification. Certains effets pourront même s’appliquer sur des notes déjà en cours, selon l’implémentation du périphérique de sortie MIDI.

LilyPond dispose des propriétés de contexte suivantes :

Staff.midiPanPosition

La spatialisation (pan position) contrôle le positionnement d’un canal MIDI entre les sorties stéréo droite et gauche. Cette propriété de contexte prend en argument une valeur entre -1.0 (#LEFT) et 1.0 (#RIGHT). Une valeur de -1.0 enverra toute la puissance sonore sur le haut-parleur gauche (le droit sera silencieux), une valeur de 0.0 (#CENTER) distribuera équitablement le son entre les haut-parleurs de gauche et de droite, et une valeur de 1.0 enverra tout le son sur le haut-parleur de droite. Des valeurs entre -1.0 et 1.0 permettent d’obtenir une répartition du son entre les sorties gauche et droite d’un équipement stéréophonique.

Staff.midiBalance

La balance stéréo d’un canal MIDI. Tout comme la spatialisation, cette propriété de contexte prend en argument une valeur comprise entre -1.0 (#LEFT) et 1.0 (#RIGHT). Elle permet de faire varier le volume relatif envoyé aux deux haut-parleurs stéréo sans pour autant affecter la distribution des signaux stéréo.

Staff.midiExpression

Le niveau d’expression, en tant que fraction du niveau maximum de volume disponible, à appliquer à un canal MIDI. Un périphérique MIDI combine le niveau d’expression des canaux MIDI et le niveau de nuance de la voix en cours (tel que défini par \p ou \ff) afin d’obtenir le volume total de chacune des notes de la voix. Un contrôle de l’expression permet, par exemple, d’implémenter des effets de crescendo ou decrescendo sur une note tenue, ce que LilyPond ne sait pas faire automatiquement.

Le niveau d’expression varie entre 0.0 (sans expression, autrement dit volume à zéro) et 1.0 (volume au maximum).

Staff.midiReverbLevel

Le niveau de réverbération, en tant que fraction du niveau maximum disponible, à appliquer à un canal MIDI. Cette propriété prend en argument une valeur entre 0.0 (pas d’écho) et 1.0 (effet maximal).

Staff.midiChorusLevel

Le niveau de chœur, en tant que fraction du niveau maximum disponible, à appliquer à un canal MIDI. Cette propriété prend en argument une valeur entre 0.0 (pas de chorus) et 1.0 (effet maximal).

Problèmes connus et avertissements

Dans la mesure où les fichiers MIDI ne comportent effectivement aucune donnée audio, les modifications des propriétés de contexte ne se traduisent qu’en requêtes de changement des contrôles du canal MIDI lorsque ces fichiers MIDI sont joués. La manière dont un périphérique MIDI particulier, tel un synthétiseur MIDI logiciel, gérera ces requêtes incluses dans un fichier MIDI dépend complètement de l’implémentation du périphérique : certains d’entre eux pourront simplement ignorer plusieurs, voire toutes ces requêtes. Par ailleurs, la manière dont un périphérique MIDI interprète les différentes valeurs de ces contrôles (en règle générale, le standard MIDI ne fixe le comportement qu’aux valeurs extrêmes de l’amplitude disponible pour chacun des contrôles) et leur modification alors qu’une note sur un canal est tenue, dépend de l’implémentation particulière à ce périphérique.

Lors de la génération d’un fichier MIDI, LilyPond transforme simplement les valeurs fractionnaires dans l’amplitude linéaire en valeurs entières correspondantes (de 0 à 127 et sur 7 octets, ou de 0 à 32767 et sur 14 octets pour les contrôles MIDI supportant une résolution fine). Ces valeurs entières converties sont stockées telles quelles dans le fichier MIDI généré. Pour plus d’information sur la manière dont un périphérique MIDI interprète ces valeurs, se reporter à sa documentation.


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

3.5.9 Amélioration du rendu MIDI

@translationof Enhancing MIDI output

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’.


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

Le script ‘articulate’

@translationof The articulate script

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 : (learning)Autres sources de documentation section ‘Autres sources de documentation’ dans Manuel d’initiation.

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’.


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

Le script ‘swing’

@translationof The swing script

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 :

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 : (learning)Autres sources de documentation section ‘Autres sources de documentation’ dans Manuel d’initiation.

Manuel de notation : Rythme.

Fichiers d’initialisation : ‘ly/swing.ly’.

Problèmes connus et avertissements


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]

Ce document a été généré le le 13 juillet 2020 par gub en utilisant texi2html 1.82.

Autres langues : English, català, deutsch, español, italiano, 日本語.
À propos de la sélection automatique de la langue.