]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/fr/notation/input.itely
Doc - NR + CG: Clarify Emmentaler is the 'font' and Feta/Parmesan are glyphs
[lilypond.git] / Documentation / fr / notation / input.itely
index 65b615a1b1a3cb169db5cca3f9fe8ccd03de2faf..4789c89a3141fecf97bfbb7684bfece0dd2ce627 100644 (file)
@@ -1,14 +1,14 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 
 @ignore
-    Translation of GIT committish: ec074a41f03cf4cd3b914daa1359dd6e0fb2012d
+   Translation of GIT committish: 181db07b2627d98fb77564c45fad23a96e7ee54c
 
-    When revising a translation, copy the HEAD committish of the
-    version that you are working on.  For details, see the Contributors'
-    Guide, node Updating translation committishes..
+   When revising a translation, copy the HEAD committish of the
+   version that you are working on.  For details, see the Contributors'
+   Guide, node Updating translation committishes..
 @end ignore
 
-@c \version "2.19.2"
+@c \version "2.19.22"
 
 @c Translators: Jean-Charles Malahieude, Valentin Villenave
 
@@ -25,7 +25,7 @@ LilyPond.
 * Titres et entêtes::
 * Travail sur des fichiers texte::
 * Contrôle des sorties::
-* Sortie MIDI::
+* Génération de fichiers MIDI::
 * Extraction d'informations musicales::
 @end menu
 
@@ -395,7 +395,8 @@ avec les autres partitions se trouvant au même niveau pour composer le
 @code{\book}.  Vous pouvez modifier ce comportement à l'aide de la
 variable @code{toplevel-score-handler} placée en tête.  Le gestionnaire
 par défaut est défini dans le fichier d'initialisation
-@file{../scm/lily.scm}.
+@file{../scm/lily.scm}, et les réglages par défaut dans le fichier
+@file{../ly/declarations-init.ly}.
 
 @item
 Un bloc @code{\book} permet de regrouper naturellement plusieurs
@@ -550,6 +551,10 @@ Manuel de notation :
 @section Titres et entêtes
 @translationof Titles and headers
 
+@cindex titre
+@cindex entête
+@cindex pied de page
+
 La plupart de la musique qui est éditée comporte un titre et le nom de
 son compositeur ; certains ouvrages dispensent beaucoup plus
 d'informations.
@@ -557,6 +562,7 @@ d'informations.
 @menu
 * Création de titres et entête ou pied de page::
 * Titrages personnalisés::
+* Création des métadonnées des fichiers de sortie::
 * Notes de bas de page::
 * Référencement des numéros de page::
 * Table des matières::
@@ -679,10 +685,10 @@ pour définir les champs @code{piece} et @code{opus}, comme ici :
 }
 
 \score {
-  \new Staff \relative g, {
+  \new Staff \relative {
     \clef bass
     \key g \major
-    \repeat unfold 2 { g16( d' b') a b d, b' d, } |
+    \repeat unfold 2 { g,16( d' b') a b d, b' d, } |
     \repeat unfold 2 { g,16( e' c') b c e, c' e, } |
   }
   \header {
@@ -691,7 +697,7 @@ pour définir les champs @code{piece} et @code{opus}, comme ici :
 }
 
 \score {
-  \new Staff \relative {
+  \new Staff \relative {
     \clef bass
     \key g \major
     \partial 16 b16 |
@@ -718,7 +724,7 @@ supprimés manuellement :
   \header {
     title = "DAS WOHLTEMPERIRTE CLAVIER"
     subtitle = "TEIL I"
-    % Pas de mention spéciale pour cet ouvrage
+    % Pas de mention spéciale par défaut pour cet ouvrage
     tagline = ##f
   }
   \markup { \vspace #1 }
@@ -752,16 +758,17 @@ supprimés manuellement :
 
 @seealso
 Manuel de notation :
-@ref{Structure de fichier},
 @ref{Mise en forme par défaut des titrages subalternes},
-@ref{Mise en forme personnalisée des titrages}.
+@ref{Mise en forme personnalisée des titrages},
+@ref{Structure de fichier}.
 
 
 @node Mise en forme par défaut des titrages subalternes
 @unnumberedsubsubsec Mise en forme par défaut des titrages subalternes
 @translationof Default layout of bookpart and score titles
 
-Voici les différentes variables attachées au bloc @code{\header} :
+Voici les différentes variables imprimables attachées au bloc
+@code{\header} :
 
 @c KEEP LY
 @lilypond[papersize=a6landscape,quote,verbatim,noragged-right]
@@ -781,8 +788,8 @@ Voici les différentes variables attachées au bloc @code{\header} :
     meter = "Tempo"
     arranger = "Arrangeur"
       % Les champs suivants sont centrés en bas de page
-    tagline = "« tagline » ou mention spéciale en pied de dernière page"
-    copyright = "copyright en pied de première page"
+    tagline = "Le « tagline » ou mention spéciale va en pied de dernière page"
+    copyright = "Le copyright va en pied de première page"
   }
   \score {
     { s1 }
@@ -920,24 +927,24 @@ page, ou bien sous le @code{copyright} s'il n'y a qu'une seule page.
 
 @end itemize
 
-La mention spéciale se modifie en alimentant le champ @code{tagline} au
-niveau du bloc @code{\header} principal.
+Le texte de la mention spéciale par défaut se modifie en alimentant le
+champ @code{tagline} au niveau du bloc @code{\header} principal.
 
 @lilypond[papersize=a8landscape,verbatim]
 \book {
   \header {
-    tagline = "... music notation for Everyone"
+    tagline = "... la notation musicale pour Tous"
   }
   \score {
-    \relative c' {
-      c4 d e f
+    \relative {
+      c'4 d e f
     }
   }
 }
 @end lilypond
 
-Pour supprimer le @code{tagline}, il suffit de lui assigner la valeur
-@code{##f}.
+Pour supprimer le @code{tagline} par défaut, il suffit de lui assigner
+la valeur @code{##f}.
 
 
 @node Titrages personnalisés
@@ -1170,9 +1177,9 @@ au texte des entête et pied de page définis dans le bloc @code{\paper}.
 En voici la syntaxe :
 
 @example
-@code{variable} = @code{\markup} @{
+variable = \markup @{
   @dots{}
-  @code{\on-the-fly} \@var{procédure} @var{markup}
+  \on-the-fly \@var{procédure} @var{markup}
   @dots{}
 @}
 @end example
@@ -1194,10 +1201,12 @@ LilyPond dispose d'ores et déjà d'un certain nombre de procédures :
 @item create-page-number-stencil    @tab  print-page-numbers est vrai.
 @item print-all-headers             @tab  print-all-headers est vrai.
 @item first-page                    @tab  c'est la première page du @emph{book}.
+@item not-first-page                @tab  ce n'est pas la première page du @emph{book}.
 @item (on-page nombre)              @tab  numéro de page = nombre
 @item last-page                     @tab  c'est la dernière page du @emph{book}.
 @item not-first-page                @tab  ce n'est la première page du @emph{book}.
 @item part-first-page               @tab  c'est la première page de la partie.
+@item not-part-first-page           @tab  ce n'est pas la première page de la partie.
 @item part-last-page                @tab  c'est la dernière page de la partie.
 @item not-single-page               @tab  cette partie fait plus d'une page.
 
@@ -1236,8 +1245,8 @@ Plusieurs conditions @code{\on-the-fly} mentionnées l'une à la suite de
 l'autre se cumulent.  Ainsi, par exemple,
 
 @example
-  @code{\on-the-fly \first-page}
-  @code{\on-the-fly \last-page}
+  \on-the-fly \first-page
+  \on-the-fly \last-page
   @code{@{ \markup @dots{} \fromproperty #'header: @dots{} @}}
 @end example
 
@@ -1252,6 +1261,65 @@ fichiers d'initialisation :
 @file{../ly/titling-init.ly}.
 
 
+@node Création des métadonnées des fichiers de sortie
+@subsection Création des métadonnées des fichiers de sortie
+@translationof Creating output file metadata
+
+@cindex PDF metadata
+@cindex MIDI metadata
+@cindex métadonnées PDF
+@cindex métadonnées MIDI
+
+En plus de s'imprimer sur la partition, les variables du bloc
+@code{\header} permettent de générer les métadonnées des fichiers de
+sortie.  Dans le cas d'un fichier PDF, ces métadonnées pourront être
+affichées par le lecteur en tant que propriétés du document.  Quel que
+soit le type de fichier de sortie, seules seront analysées les variables
+déterminées dans le @code{\header} du bloc définissant le fichier à
+générer, ainsi que celles des blocs hiérarchiquement supérieurs. Pour les
+fichiers PDF, seules les définitions du @code{\header} en dehors ou au
+niveau d'un bloc @code{\book} affecteront les métadonnées des documents
+PDF ; pour les fichiers MIDI seront utilisées les définitions jusqu'au
+niveau @code{\score}.
+
+Par exemple, affecter « Symphony I » à la propriété @code{title} dans le
+bloc @code{\header} donnera aussi ce titre au document PDF et à la
+séquence MIDI.
+
+@example
+\header@{
+  title = "Symphony I"
+@}
+@end example
+
+Lorsque le titre imprimé diffère de celui affiché en tant que propriété
+du PDF, devra être renseignée la propriété @code{pdftitle}.
+
+@example
+\header@{
+  title = "Symphony I"
+  pdftitle = "Symphony I by Beethoven"
+@}
+@end example
+
+Les variables @code{title}, @code{subject}, @code{keywords},
+@code{subtitle}, @code{composer}, @code{arranger}, @code{poet},
+@code{author} et @code{copyright} initialisent toutes les propriétés
+PDF, qu'il suffit de préfixer d'un « pdf » pour affecter aux propriétés
+PDF une valeur divergente de la sortie imprimable.
+
+La propriété PDF @code{Creator} prend automatiquement la valeur
+« LilyPond » additionnée deu numéro de version ; les valeurs de
+@code{CreationDate} et @code{ModDate} sont définies à la date et l'heure
+courantes -- @code{ModDate} peut être écrasé par la variable de
+@code{\header} @code{moddate} (ou @code{pdfmoddate}) pour un horodatage
+PDF valide.
+
+La variable @code{title} détermine aussi le nom de la séquence MIDI.
+L'utilisation de la variable @code{midititle} permet d'attribuer à la
+séquence MIDI un nom différent de celui attribué au fichier imprimable.
+
+
 @node Notes de bas de page
 @subsection Notes de bas de page
 @translationof Creating footnotes
@@ -1430,8 +1498,8 @@ attache une annotation.  La syntaxe consacrée est :
 @lilypond[quote,verbatim,papersize=a8landscape]
 \book {
   \header { tagline = ##f }
-  \relative c'' {
-    a4_\footnote #'(0 . -1) "Une liaison arbitrairement en dessous" (
+  \relative {
+    a'4_\footnote #'(0 . -1) "Une liaison arbitrairement en dessous" (
     b8^\footnote #'(1 . 0.5) "Une ligature manuelle forcée en haut" [
     b8 ]
     c4 )
@@ -1631,7 +1699,7 @@ Par exemple :
     \auto-footnote "recent" \italic " Aug 2012"
     "composition."
   }
-  \relative c' {
+  \relative {
     a'4 b8 e c4 d
   }
 }
@@ -1683,7 +1751,7 @@ la rubrique @ref{Équivalents ASCII} :
     }
     "composition."
   }
-  \relative c' {
+  \relative {
     a'4 b8 e c4 d
   }
 }
@@ -1706,7 +1774,7 @@ unicode -- voir la rubrique @ref{Unicode} :
     }
     "composition."
   }
-  \relative c' {
+  \relative {
     a'4 b8 e c4 d
   }
 }
@@ -1776,8 +1844,8 @@ le point de référence, sous la forme d'un symbole Scheme, comme par
 exemple @code{#'firstScore},
 
 @item
-un @qq{emporte-pièce} afin d'estimer la longueur totale du
-@emph{markup}, et
+un « emporte-pièce » afin d'estimer la longueur totale du @emph{markup},
+et
 
 @item
 un texte de remplacement au cas où la référence ne serait pas retrouvée.
@@ -1829,42 +1897,89 @@ d'une expression musicale.
 @end verbatim
 
 Les @emph{markups} dévolus à la mise en forme de la table des matières
-se définissent dans le bloc @code{\paper}.  Il s'agit par défaut de
-@code{tocTitleMarkup} pour le titre de la table, et de
-@code{tocItemMarkup} pour ses éléments -- composés de leur libellé et
-numéro de page.  Vous pouvez bien entendu personnaliser ces variables :
+se définissent dans le bloc @code{\paper}. LilyPond dispose de deux
+@emph{markups} prédéfinis :
+
+@itemize
+
+@item
+@code{tocTitleMarkup}
+
+@noindent
+Utilisé pour mettre en forme le titre de la table des matières.
+
+@verbatim
+tocTitleMarkup = \markup \huge \column {
+  \fill-line { \null "Table of Contents" \null }
+  \null
+}
+@end verbatim
+
+@item
+@code{tocItemMarkup}
+
+@noindent
+Utilisé pour mettre en forme les éléments au sein de la table des
+matières.
+
+@verbatim
+tocItemMarkup = \markup \fill-line {
+  \fromproperty #'toc:text \fromproperty #'toc:page
+}
+@end verbatim
+
+@end itemize
+
+@noindent
+Ces variables sont adaptables.
+
+Voici comment, par exemple, franciser le titre :
 
 @verbatim
 \paper {
-  %% Traduit le titre de la table des matières en français :
   tocTitleMarkup = \markup \huge \column {
     \fill-line { \null "Table des matières" \null }
     \hspace #1
   }
-  %% des fontes un peu plus grandes
-  tocItemMarkup = \markup \large \fill-line {
-    \fromproperty #'toc:text \fromproperty #'toc:page
-  }
+@end verbatim
+
+L'exemple suivant illustre la manière de modifier la taille des éléments
+de la table des matières :
+
+@verbatim
+tocItemMarkup = \markup \large \fill-line {
+  \fromproperty #'toc:text \fromproperty #'toc:page
 }
 @end verbatim
 
 Notez bien la manière de référencer le libellé et le numéro de page dans
 la définition de @code{tocItemMarkup}.
 
-N'hésitez pas à définir vous-même d'autres commandes et @emph{markups}
-afin de construire une table plus élaborée :
-@itemize
-@item
-commencez par définir une nouvelle variable de type @code{markup} au
-sein du bloc @code{\paper},
+L'élément et son numéro de page peuvent se rejoindre par une ligne
+pointillée :
 
-@item
-puis définissez une fonction musicale chargée d'insérer un élément de la
-table à partir de cette variable.
-@end itemize
+@lilypond[verbatim,line-width=10.0\cm]
+\header { tagline = ##f }
+\paper {
+  tocItemMarkup = \tocItemWithDotsMarkup
+}
+
+\book {
+  \markuplist \table-of-contents
+  \tocItem \markup { Allegro }
+  \tocItem \markup { Largo }
+  \markup \null
+}
+@end lilypond
+
+N'hésitez pas à définir vous-même d'autres commandes et @emph{markups}
+afin de construire une table plus élaborée.  Dans l'exemple qui suit,
+nous créons un nouveau style d'élément dans le but de mentionner les
+actes dans la table des matières d'un opéra :
 
-Dans l'exemple qui suit, nous avons créé un nouveau style d'élément dans
-le but de mentionner les actes dans la table des matières d'un opéra :
+@noindent
+Commençons par définir une nouvelle variable de type @code{markup} --
+appelée @code{tocActMarkup} -- au sein du bloc @code{\paper}.
 
 @verbatim
 \paper {
@@ -1874,12 +1989,22 @@ le but de mentionner les actes dans la table des matières d'un opéra :
     \hspace #1
   }
 }
+@end verbatim
+
+@noindent
+Créons ensuite une fonction musicale (@code{tocAct}) utilisant la
+nouvelle définition de @emph{markup} @code{tocActMarkup}.
 
+@verbatim
 tocAct =
-#(define-music-function (parser location text) (markup?)
-   (add-toc-item! 'tocActMarkup text))
+  #(define-music-function (text) (markup?)
+     (add-toc-item! 'tocActMarkup text))
 @end verbatim
 
+@noindent
+Dans un fichier LilyPond, l'utilisation de cette définition
+personnalisée pourrait ressembler à ceci :
+
 @lilypond[line-width=10.0\cm]
 \header { tagline = ##f }
 \paper {
@@ -1891,14 +2016,14 @@ tocAct =
 }
 
 tocAct =
-#(define-music-function (parser location text) (markup?)
-   (add-toc-item! 'tocActMarkup text))
+  #(define-music-function (text) (markup?)
+     (add-toc-item! 'tocActMarkup text))
 
 \book {
   \markuplist \table-of-contents
   \tocAct \markup { Atto Primo }
   \tocItem \markup { Coro. Viva il nostro Alcide }
-  \tocItem \markup { Cesare. Presti omai l'Egizzia terra }
+  \tocItem \markup { Cesare. Presti omai l'Egizia terra }
   \tocAct \markup { Atto Secondo }
   \tocItem \markup { Sinfonia }
   \tocItem \markup { Cleopatra. V'adoro, pupille, saette d'Amore }
@@ -1906,22 +2031,16 @@ tocAct =
 }
 @end lilypond
 
-L'élément et son numéro de page peuvent se rejoindre par une ligne
-pointillée :
-
-@lilypond[verbatim,line-width=10.0\cm]
-\header { tagline = ##f }
-\paper {
-  tocItemMarkup = \tocItemWithDotsMarkup
-}
+Voici comment utiliser la commande @code{\fill-with-pattern} dans le
+cadre d'une table des matières :
 
-\book {
-  \markuplist \table-of-contents
-  \tocItem \markup { Allegro }
-  \tocItem \markup { Largo }
-  \markup \null
-}
-@end lilypond
+@verbatim
+  tocItemMarkup = \markup { \fill-line {
+    \override #'(line-width . 70)
+    \fill-with-pattern #1.5 #CENTER . \fromproperty #'toc:text \fromproperty #'toc:page
+    }
+  }
+@end verbatim
 
 @predefined
 @funindex \table-of-contents
@@ -2144,11 +2263,11 @@ une seule portée, comme nous l'avons vu à la rubrique
 @ref{Regroupement automatique de parties}.  Prenons l'exemple suivant :
 
 @lilypond[verbatim,quote]
-sopranoMusic = \relative c'' { a4 b c b8( a) }
-altoMusic = \relative g' { e4 e e f }
-tenorMusic = \relative c' { c4 b e d8( c) }
-bassMusic = \relative c' { a4 gis a d, }
-allLyrics = \lyricmode {King of glo -- ry }
+sopranoMusic = \relative { a'4 b c b8( a) }
+altoMusic = \relative { e'4 e e f }
+tenorMusic = \relative { c'4 b e d8( c) }
+bassMusic = \relative { a4 gis a d, }
+allLyrics = \lyricmode { King of glo -- ry }
 <<
   \new Staff = "Soprano" \sopranoMusic
   \new Lyrics \allLyrics
@@ -2167,16 +2286,12 @@ allLyrics = \lyricmode {King of glo -- ry }
   \new PianoStaff <<
     \new Staff = "RH" {
       \set Staff.printPartCombineTexts = ##f
-      \partcombine
-      \sopranoMusic
-      \altoMusic
+      \partcombine \sopranoMusic \altoMusic
     }
     \new Staff = "LH" {
       \set Staff.printPartCombineTexts = ##f
       \clef "bass"
-      \partcombine
-      \tenorMusic
-      \bassMusic
+      \partcombine \tenorMusic \bassMusic
     }
   >>
 >>
@@ -2251,8 +2366,8 @@ l'une pour le conducteur, l'autre pour l'instrumentiste qui, elle,
 comportera les ornements développés.
 
 @lilypond[verbatim,quote]
-music = \relative g' {
-  g8. c32 d
+music = \relative {
+  g'8. c32 d
   \tag #'trills { d8.\trill }
   \tag #'expand { \repeat unfold 3 { e32 d } }
   c32 d
@@ -2270,8 +2385,8 @@ music = \relative g' {
 Il est parfois plus aisé d'exclure des fragments :
 
 @lilypond[verbatim,quote]
-music = \relative g' {
-  g8. c32 d
+music = \relative {
+  g'8. c32 d
   \tag #'trills { d8.\trill }
   \tag #'expand {\repeat unfold 3 { e32 d } }
   c32 d
@@ -2352,6 +2467,24 @@ liste de balises est en pareil cas des plus pertinente : seront
 exclus tous les fragments non concernés par l'une quelconque des
 balises mentionnées.
 
+@lilypond[verbatim,quote]
+music = \relative c'' {
+  \tag #'violinI { a4 a a a }
+  \tag #'violinII { b4 b b b }
+  \tag #'viola { c4 c c c }
+  \tag #'cello { d4 d d d }
+}
+
+\new Staff {
+  \keepWithTag #'(violinI violinII)
+  \music
+}
+@end lilypond
+
+@noindent
+imprimera les @code{\tag}s @var{violinI} et @var{violinII}, mais ni
+@var{viola} ni @var{cello}.
+
 @cindex regroupements de balises
 @cindex balises, regroupement
 @funindex \tagGroup
@@ -2366,21 +2499,38 @@ alors être déclarés :
 \tagGroup #'(violinI violinII viola cello)
 @end example
 
-stipule que ces filtres respectifs appartiennent à un même groupe.
+@noindent
+Les différents filtres appartiennent désormais tous à un seul
+regroupement.  Notez bien qu'une balise ne saurait être membre de
+plusieurs regroupements.
 
 @example
 \keepWithTag #'violinI @dots{}
 @end example
 
-ne sera donc concerné que par les balises @code{violinI} contenues dans
-le groupe de filtres : tout élément de la musique incluse qui serait
-balisé par un ou plusieurs des filtres de ce jeu mais @emph{pas} par
-@code{violinI} sera rejeté.
+@noindent
+ne prendra désormais en compte que la musique concernée par la balise
+@code{violinI} du groupe de filtres : tout élément de la musique qui
+serait balisé par l'un des autres filtres de ce jeu sera rejeté.
 
-Pour toute commande @code{\keepWithTag}, seules les balises du
-regroupement mentionnées dans la commande seront visibles.
+@lilypond[verbatim,quote]
+music = \relative {
+  \tagGroup #'(violinI violinII viola cello)
+  \tag #'violinI { c''4^"violinI" c c c }
+  \tag #'violinII { a2 a }
+  \tag #'viola { e8 e e2. }
+  \tag #'cello { d'2 d4 d }
+  R1^"non balisé"
+}
+
+\new Voice {
+  \keepWithTag #'violinI
+  \music
+}
+@end lilypond
 
-Une balise ne peut faire partie que d'un seul regroupement.
+Dans le cadre de la commande @code{\keepWithTag}, seules les balises du
+regroupement mentionnées dans la commande seront visibles.
 
 @funindex \pushToTag
 @funindex \appendToTag
@@ -2394,15 +2544,15 @@ d'une construction musicale existante.  La musique séquentielle ou
 simultanée comporte assurément des @code{éléments} :
 
 @lilypond[verbatim,quote]
-test = { \tag #'here { \tag #'here <<c''>> } }
+music = { \tag #'here { \tag #'here <<c''>> } }
 
 {
   \pushToTag #'here c'
   \pushToTag #'here e'
-  \pushToTag #'here g' \test
+  \pushToTag #'here g' \music
   \appendToTag #'here c'
   \appendToTag #'here e'
-  \appendToTag #'here g' \test
+  \appendToTag #'here g' \music
 }
 @end lilypond
 
@@ -2414,8 +2564,8 @@ Manuel d'initiation :
 @rlearning{Organisation du code source avec des variables}.
 
 Manuel de notation :
-@ref{Regroupement automatique de parties},
-@ref{Insertion de fichiers LilyPond}.
+@ref{Insertion de fichiers LilyPond},
+@ref{Regroupement automatique de parties}.
 
 @knownissues
 L'application d'un @code{\relative} à une expression musicale
@@ -2452,8 +2602,8 @@ styles, comme indiqué au chapitre @rlearning{Feuilles de style}.
 
 @seealso
 Manuel d'initiation :
-@rlearning{Organisation du code source avec des variables},
-@rlearning{Feuilles de style}.
+@rlearning{Feuilles de style},
+@rlearning{Organisation du code source avec des variables}.
 
 Manuel de notation :
 @ref{Insertion de fichiers LilyPond}.
@@ -2500,7 +2650,7 @@ instruction musicale -- comportant des caractères non ASCII soit
 codé en UTF-8.  Le plus sûr moyen de saisir du texte de la sorte
 consiste à utiliser un éditeur supportant l'unicode et à enregistrer vos
 fichier en UTF-8.  C'est le cas pour la plupart des éditeurs actuels,
-que ce soit vim, Emacs, jEdit et GEdit.  Tous les systèmes Windows
+que ce soit vim, Emacs, jEdit et Gedit.  Tous les systèmes Windows
 postérieurs à NT utilisent Unicode en natif ; même Notepad est
 capable d'éditer et sauvegarder un fichier en UTF-8 -- sans parler de
 l'excellente alternative qu'est BabelPad.
@@ -2516,8 +2666,20 @@ FT_Get_Glyph_Name () erreur : invalid argument
 Voici un exemple utilisant du texte en cyrillique, en hébreux et en
 portugais.
 
+@c NOTE: No verbatim in the following example as the code does not
+@c display correctly in PDF Font settings for Cyrillic and Hebrew
+
 @lilypond[quote]
-%c No verbatim here as the code does not display correctly in PDF
+% Linux Libertine fonts contain Cyrillic and Hebrew glyphs.
+\paper {
+  #(define fonts
+    (set-global-fonts
+     #:roman "Linux Libertine O,serif"
+     #:sans "Linux Biolinum O,sans-serif"
+     #:typewriter "Linux Libertine Mono O,monospace"
+   ))
+}
+
 % Cyrillic
 bulgarian = \lyricmode {
   Жълтата дюля беше щастлива, че пухът, който цъфна, замръзна като гьон.
@@ -2533,8 +2695,8 @@ portuguese = \lyricmode {
   à vo -- cê uma can -- ção legal
 }
 
-\relative c' {
-  c2 d e f g f e
+\relative {
+  c'2 d e f g f e
 }
 \addlyrics { \bulgarian }
 \addlyrics { \hebrew }
@@ -2577,8 +2739,8 @@ dans des paroles et dans du texte indépendant.
 
 @lilypond[quote,verbatim]
 \score {
-  \relative c'' {
-    c1 \mark \markup { \char ##x03EE }
+  \relative {
+    c''1 \mark \markup { \char ##x03EE }
     c1_\markup { \tiny { \char ##x03B1 " to " \char ##x03C9 } }
   }
   \addlyrics { O \markup { \concat { Ph \char ##x0153 be! } } }
@@ -2749,12 +2911,15 @@ Ce commutateur agit aussi sur la sortie MIDI.  Notez bien que tous les
 événements seront escamotés, y compris les changements de tempo ou
 d'instrument -- vous voilà prévenu !
 
-@lilypond[quote,relative=2,ragged-right,verbatim]
-c8 d
-\set Score.skipTypesetting = ##t
-e8 e e e e e e e
-\set Score.skipTypesetting = ##f
-c8 d b bes a g c2
+@lilypond[quote,ragged-right,verbatim]
+\relative c' {
+  c1
+  \set Score.skipTypesetting = ##t
+  \tempo 4 = 80
+  c4 c c c
+  \set Score.skipTypesetting = ##f
+  d4 d d d
+}
 @end lilypond
 
 Dans le cadre de musique polyphonique, @code{Score.skipTypesetting}
@@ -2784,8 +2949,8 @@ commande avec l'option @i{ad hoc} -- voir
 @subsection Changement des fontes musicales
 @translationof Replacing the notation font
 
-Gonville est une alternative à la fonte Feta que LilyPond utilise par
-défaut.  Vous pouvez la télécharger à partir de
+Gonville est une alternative à la fonte Emmentaler que LilyPond utilise
+par défaut.  Vous pouvez la télécharger à partir de
 @example
 @uref{http://www.chiark.greenend.org.uk/~sgtatham/gonville/ ,http://www.chiark.greenend.org.uk/~sgtatham/gonville/}
 @end example
@@ -2809,7 +2974,8 @@ Téléchargez puis décompressez l'archive zip.  Recopiez le répertoire
 @rlearning{Autres sources de documentation} à ce sujet.  Renommez le
 répertoire @code{fonts} qui s'y trouve en @code{fonts_orig}, puis le
 répertoire @code{lilyfonts} en @code{fonts}.  Il vous suffira, pour
-retrouver la fonte Feta, de renommer @code{fonts_orig} en @code{fonts}.
+retrouver la fonte Emmentaler, de renommer @code{fonts_orig} en
+@code{fonts}.
 
 @seealso
 Manuel d'initiation :
@@ -2822,806 +2988,808 @@ Consultez le site de l'auteur pour de plus amples informations ainsi
 qu'à propos des conditions d'utilisation.
 
 
-@node Sortie MIDI
-@section Sortie MIDI
-@translationof MIDI output
+@node Génération de fichiers MIDI
+@section Génération de fichiers MIDI
+@translationof Creating MIDI output
 
 @cindex son
 @cindex MIDI
 
-MIDI (Musical Instrument Digital Interface) constitue un standard en
-matière de connexion et de contrôle des instruments électroniques.  Un
-fichier MIDI contient une série de notes réparties dans différentes
-pistes.  Il ne s'agit en rien d'un fichier sonore ; il vous faudra un
-logiciel capable de traduire ces séries de notes en sons réels.
+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 !
 
-Vous pouvez convertir vos partition en fichier MIDI de manière à
-entendre ce que vous avez saisi.  Ceci vous permet de contrôler aisément
-ce que vous avez saisi : octaves et altérations erronées heurteront
-votre oreille avertie grâce au MIDI.
-
-Le fichier MIDI généré par LilyPond est relativement brut.  Vous pouvez
-cependant obtenir un meilleur rendu avec @ref{Le script Articulate}.
-
-Dans une sortie MIDI, LilyPond alloue un canal à chaque portée, tout en
-réservant le canal 10 aux percussions.  Dans la mesure ou un
-périphérique MIDI ne comprend que 16 canaux, un fichier MIDI qui
-comportera plus de quinze portées verra le même canal réutilisé.
+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.
 
 @menu
-* Création de fichiers MIDI::
-* Instrument MIDI::
-* Contenu de la sortie MIDI::
-* Répétitions et MIDI::
+* Notation prise en compte dans le MIDI::
+* Notation non prise en compte dans le MIDI::
+* Le bloc MIDI::
 * Gestion des nuances en MIDI::
-* MIDI et percussions::
-* Le script Articulate::
+* Gestion des instruments MIDI::
+* Gestion des répétitions en MIDI::
+* Affectation des canaux MIDI::
+* Propriétés de contextes et effets MIDI::
+* Amélioration du rendu MIDI::
 @end menu
 
+@node Notation prise en compte dans le MIDI
+@subsection Notation prise en compte dans le MIDI
+@translationof Supported notation for MIDI
 
-@node Création de fichiers MIDI
-@subsection Création de fichiers MIDI
-@translationof Creating MIDI files
-
-LilyPond générera un fichier MIDI dès que vous ajouterez un bloc
-@code{\midi} au sein du bloc @code{\score} :
-
-@example
-\score @{
-  @var{@dots{}musique@dots{}}
-  \layout @{ @}
-  \midi @{ @}
-@}
-@end example
+@cindex MIDI, éléments pris en compte
 
-Lorsque le bloc @code{\score} contient uniquement un bloc @code{\midi}
-(autrement dit pas de bloc @code{\layout}), LilyPond produira uniquement
-la sortie MIDI -- aucun support visuel ne sera généré.
+LilyPond retranscrit par défaut dans un fichier MIDI les éléments de
+notation suivant :
 
-@example
-\score @{
-  @var{@dots{}musique@dots{}}
-  \midi @{ @}
-@}
-@end example
+@itemize
+@item les marques de respiration,
+@item les accords nommés,
+@item les crescendos et decrescendos s'étendant sur plusieurs notes --
+le volume s'ajuste linéairement entre les deux extrêmes,
+@item les indications de nuance, de @code{ppppp} à @code{fffff}, y compris
+@code{mp}, @code{mf} et @code{sf},
+@item les microtonalités mais @emph{pas} sous forme d'accord ; leur
+rendu nécessite cependant un lecteur qui prenne en charge la
+modulation,
+@item les paroles,
+@item les hauteurs,
+@item le rythme sous forme de durée de note, y compris les n-olets,
+@item les articulations « simples » comme staccato, staccatissimo,
+accent, marcato et portato,
+@item les changements de tempo indiqués par un @code{\tempo},
+@item les liaisons de tenue,
+@item les tremolos, excepté ceux utilisant la syntaxe
+« @code{:}[@var{nombre}] ».
+@end itemize
 
-Hauteurs, durées, liaisons de prolongation, nuances et changements de
-tempo seront interprétés et traduits en événements MIDI.  Les
-indications de nuances, crescendos et decrescendos sont traduits en
-niveau de volume ; les indications sous la forme d'une fraction
-déterminée du volume disponible, et crescendos et decrescendos sous la
-forme d'une progression linéaire entre les deux extrêmes.
+Spatialisation, balance, expression, réverbération et chorus peuvent se
+contrôler à l'aide de propriétés de contexte -- voir
+@ref{Propriétés de contextes et effets MIDI}.
 
-Le tempo initial ainsi que ses changements sont normalement indiqués au
-fil de la notation à l'aide de la commande @code{\tempo} ; ils seront
-retranscrits dans le fichier MIDI.
+En combinaison avec le script @file{articulate}, d'autres éléments
+seront aussi reportés en MIDI :
 
-Si le bloc @code{\midi} est la plupart du temps laissé vide, il 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.  L'exemple suivant détermine le tempo initial du
-fichier MIDI tout en se passant de son indication sur la partition
-imprimée :
+@itemize
+@item les appoggiatures -- celles-ci prendront la moitié de la valeur,
+dépourvue de point, de la note qui les suit --  par exemple,
 
 @example
-\score @{
-  @var{@dots{}music@dots{}}
-  \midi @{
-    \tempo 4 = 72
-  @}
-@}
+\appoggiatura c8 d2.
 @end example
 
-Notez bien que @code{\tempo} est une commande chargée de définir des
-propriétés en cours d'interprétation de la musique.  Intervenant dans le
-cadre de définitions d'une sortie, comme ici un bloc @code{\midi}, elle
-est réinterprétée comme une modification de contexte.
+@noindent
+le do (noté @code{c}) prendra la valeur d'une noire.
 
-@cindex MIDI, définition de contexte
+@item les ornements (mordants, trilles et groupettos, etc.),
+@item rallentando, accelerando, ritardando et a tempo,
+@item les liaisons y compris de phrasé,
+@item les tenutos.
+@end itemize
 
-La syntaxe permettant de définir un contexte pour le @code{\midi} est en
-tout point identique à celle que vous utilisez dans le bloc
-@code{\layout}, à ceci près que le « graveur » est remplacé par un
-« interprète » (@emph{performer} en anglais).
+@noindent
+Voir @ref{Amélioration du rendu MIDI}.
 
-@example
-\score @{
-  @var{@dots{}music@dots{}}
-  \midi @{
-    \context @{
-      \Voice
-      \remove "Dynamic_performer"
-    @}
-  @}
-@}
-@end example
 
-@noindent
-supprimera les effets de nuance dans la sortie MIDI.  Les modules
-chargés de traduire la musique en son s'appellent des « interprètes » --
-@emph{performers} en anglais.
+@node Notation non prise en compte dans le MIDI
+@subsection Notation non prise en compte dans le MIDI
+@translationof Unsupported notation for MIDI
 
-@snippets
-@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
-{changing-midi-output-to-one-channel-per-voice.ly}
+@cindex MIDI, éléments non pris en comte
 
-@seealso
-Manuel d'initiation :
-@rlearning{Autres sources de documentation}.
+Certains éléments de notation ne peuvent être retranscrits dans un
+fichier MIDI :
 
-Manuel de notation :
-@ref{Signes d'interprétation},
-@ref{Mise en forme de la partition}.
+@itemize
+@item les articulations autres que staccato, staccatissimo, accent, marcato
+et portato,
+@item les crescendos et decrescendos sur @emph{une seule} note,
+@item les points d'orgue,
+@item la basse chiffrée,
+@item les glissandos,
+@item les chutes ou sauts,
+@item les accords en microtonalité,
+@item le rythme indiqué sous forme d'annotation, comme « swing »,
+@item les changements de tempo indiqués sous forme d'annotation (sans
+@code{\tempo}),
+@item les trémolos indiqués par la syntaxe « @code{:}[@var{nombre}] ».
+@end itemize
 
-Fichiers d'initialisation :
-@file{ly/performer-init.ly}.
 
-Morceaux choisis :
-@rlsr{MIDI}.
+@node Le bloc MIDI
+@subsection Le bloc MIDI
+@translationof The MIDI block
 
-Référence des propriétés internes :
-@rinternals{Dynamic_performer}.
+@cindex MIDI, le bloc
 
-@knownissues
-Certains systèmes d'exploitation requièrent que les fichiers MIDI
-portent l'extension @code{.mid}.  Si besoin est, placez la ligne
-suivante au début de votre fichier source, avant l'ouverture de tout
-bloc @code{\book}, @code{\bookpart} ou @code{\score} :
+LilyPond générera un fichier MIDI dès que vous ajouterez un bloc
+@code{\midi}, même vide, au sein du bloc @code{\score} :
 
 @example
-#(ly:set-option 'midi-extension "mid")
+\score @{
+  @var{@dots{}musique@dots{}}
+  \layout @{ @}
+  \midi @{ @}
+@}
 @end example
 
-Cette ligne déterminera @code{.midi} comme extension par défaut pour les
-fichiers MIDI.
+@warning{Lorsque le bloc @code{@bs{}score} contient uniquement un bloc
+@code{@bs{}midi} (autrement dit pas de bloc @code{@bs{}layout}),
+LilyPond produira uniquement la sortie MIDI -- aucun support visuel ne
+sera généré.}
 
-Vous pouvez aussi le faire en ligne de commande :
+L'extension par défaut des fichiers MIDI générés (@code{.midi}) peut se
+modifier en ligne de commande :
 
 @example
-lilypond … -dmidi-extension=mid MonFichier.ly
+lilypond -dmidi-extension=mid MonFichier.ly
 @end example
 
-Un changement de volume ne peut intervenir que sur le démarrage d'une
-note.  C'est la raison pour laquelle la succession d'un crescendo et
-d'un diminuendo ne peut se produire sur une même note.
-
-Certains lecteurs MIDI ne rendent pas correctement les changements de
-tempo.
-
-Les modifications de @code{midiInstrument} ou autres options MIDI en
-début de portée peuent se retrouver dédoublées dans la sortie MIDI.
-
-
-@node Instrument MIDI
-@subsection Instrument MIDI
-@translationof MIDI Instruments
-
-@cindex instrument, nom d'
-@cindex MIDI, instruments
-@funindex Staff.midiInstrument
-
-L'instrument MIDI affecté à un canal particulier est déterminé par la
-propriété @code{Staff.midiInstrument}.  Vous pouvez choisir l'un des
-instruments répertoriés à l'annexe @ref{Instruments MIDI}.
+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
+@code{\book}, @code{\bookpart} ou @code{\score} -- voir
+@ref{Structure de fichier} :
 
 @example
-\new Staff @{
-  \set Staff.midiInstrument = #"glockenspiel"
-  @var{@dots{}notes@dots{}}
-@}
+#(ly:set-option 'midi-extension "mid")
 @end example
 
-@example
-\new Staff \with @{midiInstrument = #"cello"@} @{
-  @var{@dots{}notes@dots{}}
-@}
-@end example
+@seealso
+Manuel de notation :
+@ref{Structure de fichier}.
 
-Lorsque l'instrument choisi ne correspond pas exactement à l'une des
-dénominations consacrées, LilyPond le replacera par un piano de concert
-(@code{"acoustic grand"}).
+Fichiers d'initialisation :
+@file{scm/midi.scm}.
 
-@seealso
-Manuel de notation :
-@ref{Instruments MIDI}.
+@knownissues
+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é.
 
-Référence des propriétés internes :
-@rinternals{Dynamic_performer}.
+@node Gestion des nuances en MIDI
+@subsection Gestion des nuances en MIDI
+@translationof Controlling MIDI dynamics
 
+@cindex MIDI, gestion des nuances
 
-@node Contenu de la sortie MIDI
-@subsection Contenu de la sortie MIDI
-@translationof What goes into the MIDI output?
+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.
 
-@c TODO Check grace notes - timing is suspect?
+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.
 
 @menu
-* Éléments pris en compte dans le MIDI::
-* Éléments non pris en compte dans le MIDI::
+* Indication des nuances en MIDI::
+* Réglage du volume en MIDI::
+* Réglage de propriétés dans le bloc MIDI::
 @end menu
 
 
-@node Éléments pris en compte dans le MIDI
-@unnumberedsubsubsec Éléments pris en compte dans le MIDI
-@translationof Supported in MIDI
-
-@cindex hauteurs en MIDI
-@cindex MIDI, hauteurs
-@cindex quart de ton en MIDI
-@cindex MIDI, quart de ton
-@cindex microtonalité en MIDI
-@cindex MIDI, microtonalité
-@cindex accords nommés en MIDI
-@cindex MIDI, accords nommés
-@cindex Rythme en MIDI
-@cindex MIDI, Rythme
-@cindex articulations et MIDI
-@cindex MIDI et articulations
-@cindex trilles et MIDI
-@cindex MIDI et trilles
-@c TODO etc
-
-Un fichier MIDI généré par LilyPond comprendra les éléments de notation
-suivants :
+@node Indication des nuances en MIDI
+@unnumberedsubsubsec Indication des nuances en MIDI
+@translationof Dynamic marks in MIDI
 
-@itemize
-@item
-les hauteurs ;
+@cindex MIDI, indications de nuance
 
-@item
-les microtonalités -- voir @ref{Altérations}.  Leur rendu nécessite
-cependant un lecteur qui prenne en charge la modulation ;
+Les indications de nuance, de @code{ppppp} à @code{fffff} -- y compris
+@code{mp}, @code{mf} et @code{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 @notation{ppppp} à 0,95 pour un @notation{fffff}.  Les
+correspondances entre nuance et fraction de volume sont répertoriées
+dans le fichier @file{scm/midi.scm}.
 
-@item
-les accords nommés ;
+@snippets
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
+{creating-custom-dynamics-in-midi-output.ly}
 
-@item
-le rythme en tant que durée de note, y compris les n-olets ;
+@seealso
+Fichiers d'initialisation :
+@file{ly/script-init.ly},
+@file{scm/midi.scm}.
 
-@item
-les trémolos, exceptés ceux utilisant la syntaxe
-@qq{@code{:}[@var{nombre}]} ;
+Morceaux choisis :
+@rlsr{MIDI}.
 
-@item
-les liaisons de prolongation ;
+Référence des propriétés internes :
+@rinternals{Dynamic_performer}.
 
-@item
-les indications de nuance ;
+@node Réglage du volume en MIDI
+@unnumberedsubsubsec Réglage du volume en MIDI
+@translationof Setting MIDI volume
 
-@item
-les crescendos et decrescendos s'étalant sur plusieurs notes ;
+@cindex MIDI, réglage du volume
 
-@item
-les changements de tempo indiqués par un @code{\tempo} ;
+Les valeurs extrêmes du volume MIDI des nuances se contrôlent à l'aide
+des propriétés @code{midiMinimumVolume} et @code{midiMaximumVolume} qui
+agissent au niveau @code{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
 
-@item
-les paroles,
-
-@item
-les articulations simples : staccato, staccatissimo, accent, marcato,
-portato,
-
-@item
-les respirations.
-@end itemize
-
-Si vous utilisez @ref{Le script Articulate}, d'autres éléments seront
-alors inclus :
-
-@itemize
-@item liaisons d'articulation ou de phrasé,
-@item ornements (mordants, trilles et groupettos, etc.),
-@item rallentando, accelerando, ritard. et a tempo.
-@end itemize
-
-@seealso
-Manuel de notation :
-@ref{Altérations},
-@ref{Signes de respiration},
-@ref{Signes d'interprétation}.
-
-Fichiers d'initialisation :
-@file{ly/articulate.ly}.
-
-
-@node Éléments non pris en compte dans le MIDI
-@unnumberedsubsubsec Éléments non pris en compte dans le MIDI
-@translationof Unsupported in MIDI
+@example
+midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * fraction
+@end example
 
-@c TODO index as above
+Voici comment ajuster les nuances tout en limitant l'amplitude du volume
+entre 0,2 et 0,5 :
 
-LilyPond ne peut générer d'événement MIDI pour les éléments suivant,
-même avec @ref{Le script Articulate} :
+@example
+\score @{
+  <<
+    \new Staff @{
+      \set Staff.midiInstrument = #"flute"
+      @var{@dots{} music @dots{}}
+    @}
+    \new Staff @{
+      \set Staff.midiInstrument = #"clarinet"
+      @var{@dots{} music @dots{}}
+    @}
+  >>
+  \midi @{
+    \context @{
+      \Score
+      midiMinimumVolume = #0.2
+      midiMaximumVolume = #0.5
+    @}
+  @}
+@}
+@end example
 
-@itemize
-@item
-le rythme indiqué sous forme d'annotation (par ex. @emph{swing}) ;
+La définition de l'amplitude du volume MIDI au niveau d'un contexte
+@code{Staff} -- grace aux propriétés @code{midiMinimumVolume} et
+@code{midiMaximumVolume} -- permet en quelque sorte d'égaliser un
+instrument MIDI.
 
-@item
-les changements de tempo indiqués sous forme d'annotation (sans
-@code{\tempo}) ;
+@example
+\score @{
+  \new Staff @{
+    \set Staff.midiInstrument = #"flute"
+    \set Staff.midiMinimumVolume = #0.7
+    \set Staff.midiMaximumVolume = #0.9
+    @var{@dots{} musique @dots{}}
+  @}
+  \midi @{ @}
+@}
+@end example
 
-@item
-les points d'orgue ;
+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 :
 
-@item
-les autres articulations ;
+@example
+\score @{
+  <<
+    \new Staff @{
+      \set Staff.midiInstrument = #"flute"
+      \set Staff.midiMinimumVolume = #0.7
+      \set Staff.midiMaximumVolume = #0.9
+      @var{@dots{} music @dots{}}
+    @}
+    \new Staff @{
+      \set Staff.midiInstrument = #"clarinet"
+      \set Staff.midiMinimumVolume = #0.3
+      \set Staff.midiMaximumVolume = #0.6
+      @var{@dots{} music @dots{}}
+    @}
+  >>
+  \midi @{ @}
+@}
+@end example
 
-@item
-les liaisons d'articulation et de phrasé ;
+La clarinette de cet exemple jouera relativement moins fort que la
+flûte.
 
-@item
-les crescendos ou decrescendos sur une seule note ;
+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 @file{scm/midi.scm}.
 
-@item
-les trémolos indiqués par la syntaxe @qq{@code{:}[@var{nombre}]} ;
+@snippets
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
+{replacing-default-midi-instrument-equalization.ly}
 
-@item
-la basse chiffrée ;
+@seealso
+Fichiers d'initialisation :
+@file{scm/midi.scm}.
 
-@item
-les accords en microtonalité.
+Manuel de notation :
+@ref{Mise en forme de la partition}.
 
-@item
-les glissandos, chutes et sauts.
-@end itemize
+Référence des propriétés internes :
+@rinternals{Dynamic_performer}.
 
-@seealso
-Fichiers d'initialisation :
-@file{ly/articulate.ly}.
+@knownissues
+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.
 
 
-@node Répétitions et MIDI
-@subsection Répétitions et MIDI
-@translationof Repeats in MIDI
+@node Réglage de propriétés dans le bloc MIDI
+@unnumberedsubsubsec Réglage de propriétés dans le bloc MIDI
+@translationof Setting MIDI block properties
 
-@cindex reprises développées
-@cindex MIDI et reprises
-@funindex \unfoldRepeats
+Le bloc @code{\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.
 
-Au prix de quelques réglages, les reprises de toutes sortes peuvent être
-rendues dans le fichier MIDI.  Il suffit pour cela de recourir à la
-fonction @code{\unfoldRepeats}, qui développe toutes les reprises.  En
-d'autre termes, @code{\unfoldRepeats} transforme toutes les reprises
-en reprises de type @code{unfold}.
+@example
+\score @{
+  @var{@dots{} music @dots{}}
+  \midi @{
+    \tempo 4 = 72
+  @}
+@}
+@end example
 
+Le tempo est ici réglé à 72 noires par minute. Une indication de tempo
+inscrite dans le bloc @code{\midi} ne sera pas reportée sur la partition
+imprimable.  Cependant, tout @code{\tempo} mentionné dans le bloc
+@code{\score} sera répercuté dans la sortie MIDI.
 
-@lilypond[quote,verbatim]
-\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' }
-  }
-}
-\bar "|."
-@end lilypond
+Placée au sein d'un bloc @code{\midi}, la commande @code{\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.
 
-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 @strong{toutes} les voix.
+@cindex MIDI, définition de contexte
+@cindex contexte, définition en MIDI
 
-Lorsque l'on veut utiliser @code{\unfoldRepeats} seulement pour le rendu
-MIDI, il faut établir deux blocs @code{\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
+La syntaxe permettant de définir un contexte pour le @code{\midi} est en
+tout point identique à celle que vous utilisez dans le bloc
+@code{\layout} :
 
 @example
 \score @{
-  @var{@dots{}musique@dots{}}
-  \layout @{ @dots{}  @}
-@}
-\score @{
-  \unfoldRepeats @var{@dots{}musique@dots{}}
-  \midi @{ @dots{} @}
+  @var{@dots{} musique @dots{}}
+  \midi @{
+    \context @{
+      \Voice
+      \remove "Dynamic_performer"
+    @}
+  @}
 @}
 @end example
 
+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 @emph{performers} -- des
+« interprètes ».
+
 @seealso
+Manuel d'initiation :
+@rlearning{Autres sources de documentation}.
+
 Manuel de notation :
-@ref{Mise en forme de la partition}.
+@ref{Mise en forme de la partition},
+@ref{Signes d'interprétation}.
 
 Fichiers d'initialisation :
-@file{ly/articulate.ly}.
+@file{ly/performer-init.ly}.
 
+Morceaux choisis :
+@rlsr{MIDI}.
 
-@node Gestion des nuances en MIDI
-@subsection Gestion des nuances en MIDI
-@translationof Controlling MIDI dynamics
+Référence des propriétés internes :
+@rinternals{Dynamic_performer}.
 
-Les nuances MIDI sont générées par le @code{Dynamic_performer}, affecté
-par défaut au contexte @code{Voice}.  Vous pouvez contrôler à la fois le
-volume général, celui des indications de nuance ainsi que celui des
-différents instruments.
+@knownissues
+Certains lecteurs MIDI ne rendent pas correctement les changements de
+tempo.
 
-@menu
-* Indications de nuance::
-* Amplitude du volume en MIDI::
-* Égalisation de plusieurs instruments (i)::
-* Égalisation de plusieurs instruments (ii)::
-@end menu
+Les modifications de @code{midiInstrument} ou autres options MIDI en
+début de portée peuvent se retrouver dédoublées dans la sortie MIDI.
 
+@node Gestion des instruments MIDI
+@subsection Gestion des instruments MIDI
+@translationof Using MIDI Instruments
 
-@node Indications de nuance
-@unnumberedsubsubsec Indications de nuance
-@translationof Dynamic marks
-
-Les indications de nuances sont transcrites en fraction du volume MIDI.
-Nous allons, par défaut, de 0,25 pour un @notation{ppppp} à 0,95 pour un
-@notation{fffff}.  Les correspondances entre nuance et fraction de
-volume sont répertoriées dans le fichier @file{../scm/midi.scm} --
-consultez la rubrique @rlearning{Autres sources de documentation} si
-vous ne savez comment le localiser.  Vous pouvez modifier ou étendre ce
-jeu grâce à une fonction qui prendra en argument une indication de
-nuance et renverra la fraction désirée, puis en affectant cette fonction
-à @code{Score.dynamicAbsoluteVolumeFunction}.
-
-Prenons un exemple.  Votre partition comporte un  @notation{rinforzando}
-que vous avez indiqué par @code{\rfz}.  Cette indication de nuance
-n'étant pas répertoriée dans le jeu par défaut, elle ne produira aucun
-effet en MIDI.  Il en sera d'ailleurs de même pour toute indication
-créée de toute pièce à l'aide de l'instruction
-@w{@code{make-dynamic-script}}.  Voici comment procéder pour ajuster le
-volume MIDI de ce @notation{rinforzando} que le compositeur a indiqué.
-La fonction Scheme définit une fraction de 0,9 en cas de @notation{rfz},
-et demande d'utiliser la fonction par défaut dans les autre cas.
+@cindex instrument, nom d'
+@cindex MIDI, instruments
+@funindex Staff.midiInstrument
 
-@lilypond[verbatim,quote]
-#(define (myDynamics dynamic)
-    (if (equal? dynamic "rfz")
-      0.9
-      (default-dynamic-absolute-volume dynamic)))
+L'instrument MIDI est déterminé par la propriété @code{midiInstrument},
+au sein d'un contexte @code{Staff}.
 
-\score {
-  \new Staff {
-    \set Staff.midiInstrument = #"cello"
-    \set Score.dynamicAbsoluteVolumeFunction = #myDynamics
-    \new Voice {
-      \relative c'' {
-        a4\pp b c-\rfz
-      }
-    }
-  }
-  \layout {}
-  \midi {}
-}
-@end lilypond
+@example
+\score @{
+  \new Staff @{
+    \set Staff.midiInstrument = #"glockenspiel"
+    @var{@dots{} music @dots{}}
+  @}
+  \midi @{ @}
+@}
+@end example
 
-Si vous étiez amené à devoir modifier l'intégralité du jeu des
-correspondances, nous vous conseillons d'utiliser la procédure
-@command{default-dynamic-absolute-volume} contenue dans le fichier
-@file{../scm/midi.scm} ainsi que la table d'association comme base.
-Le dernier exemple de cette partie illustre la manière de procéder.
+ou
+
+@example
+\score @{
+  \new Staff \with @{midiInstrument = #"cello"@} @{
+    @var{@dots{} music @dots{}}
+  @}
+  \midi @{ @}
+@}
+@end example
+
+Lorsque l'instrument choisi ne correspond pas exactement à l'une des
+dénominations consacrées, LilyPond le remplacera par un piano de concert
+(@code{"acoustic grand"}) -- voir @ref{Instruments MIDI}.
 
 @seealso
+Manuel d'initiation :
+@rlearning{Autres sources de documentation}.
+
 Manuel de notation :
-@ref{Signes d'interprétation},
+@ref{Instruments MIDI},
 @ref{Mise en forme de la partition}.
 
+Référence des propriétés internes :
+@rinternals{Dynamic_performer}.
+
 Fichiers d'initialisation :
 @file{scm/midi.scm}.
 
-Référence des propriétés internes :
-@rinternals{Dynamic_performer}.
+@knownissues
+Les percussions gérées par un contexte @code{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 @code{Staff} standard, et non d'un @code{DrumStaff} pour
+pouvoir être rendus correctement en MIDI.  Une liste complète des
+percussions affectées au canal 10 (@code{channel 10 drum-kits}) est
+disponible dans le fichier @file{scm/midi.scm} -- voir
+@rlearning{Autres sources de documentation}.
 
 
-@node Amplitude du volume en MIDI
-@unnumberedsubsubsec Amplitude du volume en MIDI
-@translationof Overall MIDI volume
+@node Gestion des répétitions en MIDI
+@subsection Gestion des répétitions en MIDI
+@translationof Using repeats with MIDI
 
-Les valeurs extrêmes du volume MIDI des nuances se contrôlent à l'aide
-des propriétés @code{midiMinimumVolume} et @code{midiMaximumVolume} qui
-agissent au niveau @code{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
+@cindex reprises développées
+@cindex MIDI et reprises
+@funindex \unfoldRepeats
+
+Les reprises de toutes sortes peuvent être rendues dans le fichier MIDI.
+Il suffit pour cela de recourir à la fonction @code{\unfoldRepeats}, qui
+développe toutes les reprises.
 
 @example
-midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * fraction
+\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 @{ @}
+@}
 @end example
 
-Voici comment ajuster les nuances tout en limitant l'amplitude du volume
-entre 0,2 et 0,5 :
+Lorsque l'on veut utiliser @code{\unfoldRepeats} seulement pour le rendu
+MIDI, il faut établir @b{deux} blocs @code{\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
 
-@lilypond[verbatim,quote]
-\score {
-  <<
-    \new Staff {
-      \key g \major
-      \time 2/2
-      \set Staff.midiInstrument = #"flute"
-      \new Voice \relative c''' {
-        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 c'' {
-        b1\p a2. b8 a
-        g2. fis8 e
-        fis2 r
-      }
-    }
-  >>
-  \layout {}
-  \midi {
-    \tempo 2 = 72
-    \context {
-      \Score
-      midiMinimumVolume = #0.2
-      midiMaximumVolume = #0.5
-    }
-  }
-}
-@end lilypond
+@example
+\score @{
+  @var{@dots{} musique @dots{}}
+  \layout @{ @}
+@}
+\score @{
+  \unfoldRepeats @var{@dots{} musique @dots{}}
+  \midi @{ @}
+@}
+@end example
+
+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 @strong{toutes} les voix.
 
 @seealso
 Manuel de notation :
-@ref{Mise en forme de la partition}.
+@ref{Répétitions et reprises}.
 
-Référence des propriétés internes :
-@rinternals{Dynamic_performer}.
 
 
-@node Égalisation de plusieurs instruments (i)
-@unnumberedsubsubsec Égalisation de plusieurs instruments (i)
-@translationof Equalizing different instruments (i)
+@node Affectation des canaux MIDI
+@subsection Affectation des canaux MIDI
+@translationof MIDI channel mapping
 
-La définition de l'amplitude du volume MIDI au niveau d'un contexte
-@code{Staff} permet de gérer les volumes relatifs entre les différents
-instruments.  Ceci constitue en quelque sorte un égaliseur, ce qui
-permet d'améliorer notablement la qualité de la sortie MIDI.
-
-La clarinette de l'exemple suivant jouera relativement moins fort que la
-flûte.  Rappelez-vous que pour que cela fonctionne correctement, la
-première note de chacun des instruments doit être affublée d'une
-indication de nuance.
+@cindex MIDI, canaux
+@cindex MIDI, pistes
+@funindex midiChannelMapping
 
-@lilypond[verbatim,quote]
-\score {
-  <<
-    \new Staff {
-      \key g \major
-      \time 2/2
-      \set Staff.midiInstrument = #"flute"
-      \set Staff.midiMinimumVolume = #0.7
-      \set Staff.midiMaximumVolume = #0.9
-      \new Voice \relative c''' {
-        r2 g\mp g fis~
-        4 g8 fis e2~
-        4 d8 cis d2
-      }
-    }
-    \new Staff {
-      \key g \major
-      \set Staff.midiInstrument = #"clarinet"
-      \set Staff.midiMinimumVolume = #0.3
-      \set Staff.midiMaximumVolume = #0.6
-      \new Voice \relative c'' {
-        b1\p a2. b8 a
-        g2. fis8 e
-        fis2 r
-      }
-    }
-  >>
-  \layout {}
-  \midi {
-    \tempo 2 = 72
-  }
-}
-@end lilypond
+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.
 
-@seealso
-Manuel de notation :
-@ref{Mise en forme de la partition}.
+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 @code{Score.midiChannelMapping})
+ainsi que pour chaque contexte de paroles.  Il n'y a pas de limite au
+nombre de pistes.
 
-@node Égalisation de plusieurs instruments (ii)
-@unnumberedsubsubsec Égalisation de plusieurs instruments (ii)
-@translationof Equalizing different instruments (ii)
+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 @code{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 :
 
-Lorsque les propriétés volume minimum et maximum n'ont pas été définies,
-LilyPond appliquera par défaut une légère égalisation pour quelques
-instruments.  Les instrument concernés ainsi que le niveau d'égalisation
-sont répertoriés dans une table @notation{instrument-equalizer-alist}
-du fichier @file{../scm/midi.scm}.
+@table @var
 
-Vous pouvez remplacer l'égaliseur basique en définissant une nouvelle
-procédure Scheme @code{instrumentEqualizer} au sein du contexte
-@code{Score}.  Cette procédure prend en unique argument le nom d'un
-instrument MIDI et renverra une paire de fractions correspondant au
-minimum et maximum de volume alloué à cet instrument.  Cette
-substitution fonctionne selon le même principe que celui que nous avons
-vu en début de chapitre avec @code{dynamicAbsoluteVolumeFunction}.
-L'égaliseur par défaut, @notation{default-instrument-equalizer}, est
-défini dans le fichier @file{../scm/midi.scm} ; son analyse vous
-aidera à construire votre propre procédure.
+@item @code{'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.
+
+@item @code{'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.
+
+@item @code{'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 la même portée
+partageront le même canal MIDI dès lors qu'elles porteront le même nom.
+Dans la mesure où @code{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
+@code{Staff_performer} est déplacé du contexte @code{Staff} au contexte
+@code{Voice} tout en maintenant le @code{midiChannelMapping} dans le
+contexte @code{'staff} ou en le réglant sur @code{'instrument}.
 
-Nous allons, dans l'exemple suivant, régler le volume relatif de la
-flûte et de la clarinette -- au même niveau que dans le précédent.
+@end table
 
-@lilypond[verbatim,quote]
-#(define my-instrument-equalizer-alist '())
+Par exemple, l'affectation par défaut des canaux MIDI d'une partition
+peut être réglée sur @code{'instrument} comme ceci :
 
-#(set! my-instrument-equalizer-alist
-  (append
-    '(
-      ("flute" . (0.7 . 0.9))
-      ("clarinet" . (0.3 . 0.6)))
-    my-instrument-equalizer-alist))
+@example
+\score @{
+  ...musique...
+  \midi @{
+    \context @{
+      \Score
+      midiChannelMapping = #'instrument
+    @}
+  @}
+@}
+@end example
 
-#(define (my-instrument-equalizer s)
-  (let ((entry (assoc s my-instrument-equalizer-alist)))
-    (if entry
-      (cdr entry))))
+@snippets
+@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle]
+{changing-midi-output-to-one-channel-per-voice.ly}
 
-\score {
-  <<
-    \new Staff {
-      \key g \major
-      \time 2/2
-      \set Score.instrumentEqualizer = #my-instrument-equalizer
-      \set Staff.midiInstrument = #"flute"
-      \new Voice \relative c''' {
-        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 c'' {
-        b1\p a2. b8 a
-        g2. fis8 e
-        fis2 r
-      }
-    }
-  >>
-  \layout { }
-  \midi {
-    \tempo 2 = 72
-  }
-}
-@end lilypond
 
-@seealso
-Fichiers d'initialisation :
-@file{scm/midi.scm}.
+@node Propriétés de contextes et effets MIDI
+@subsection Propriétés de contextes et effets MIDI
+@translationof Context properties for MIDI effects
+
+@cindex effets MIDI
+@cindex pan, MIDI
+@cindex spatialisation (pan), MIDI
+@cindex stéréo MIDI, balance
+@cindex balance MIDI
+@cindex expression MIDI
+@cindex reverb MIDI
+@cindex chorus MIDI
+@funindex midiPanPosition
+@funindex midiBalance
+@funindex midiExpression
+@funindex midiReverbLevel
+@funindex midiChorusLevel
+
+Les différentes propriétés de contexte qui suivent permettnt 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 @code{Score.midiChannelMapping} et
+le contexte dans lequel le @code{Staff_performer} réside -- voir
+@ref{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 :
 
-Référence des propriétés internes :
-@rinternals{Dynamic_performer}.
+@table @var
 
-@ignore
-@c Delete when satisfied this is adequately covered elsewhere -td
+@item @code{Staff.midiPanPosition}
 
-@n ode Microtones in MIDI
-@s ubsection Microtones in MIDI
+La spatialisation (@emph{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 (@code{#LEFT})
+et 1.0 (@code{#RIGHT}). Une valeur de -1.0 enverra toute la puissance
+sonore sur le haut-parleur gauche (le droit sera silencieux), une
+vaaleur de 0.0 (@code{#CENTER}) distribuera équitablement le son entre
+les jaut-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.
 
-@cindex microtones in MIDI
 
-Microtones consisting of half sharps and half flats are exported
-to the MIDI file and render correctly in MIDI players which support
-pitch bending.  See @ref{Note names in other languages}.  Here is
-an example showing all the half sharps and half flats.  It can be
-copied out and compiled to test microtones in your MIDI player.
+@item @code{Staff.midiBalance}
 
-@lilypond[verbatim,quote]
-\score {
-  \relative c' {
-    c4 cih cis cisih
-    d4 dih ees eeh
-    e4 eih f fih
-    fis4 fisih g gih
-    gis4 gisih a aih
-    bes4 beh b bih
-  }
-  \layout {}
-  \midi {}
-}
-@end lilypond
-@end ignore
+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
+(@code{#LEFT}) et 1.0 (@code{#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.
 
+@item @code{Staff.midiExpression}
 
-@node MIDI et percussions
-@subsection MIDI et percussions
-@translationof Percussion in MIDI
+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 @code{\p} ou @code{\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.
 
-La notation pour percussions recourt généralement à un contexte
-particulier -- le @code{DrumStaff} -- qui permet d'affecter directement
-les instruments concernés au canal 10 qui leur est réservé.
+@c Issue 4059 contains an attached snippet which shows how this might
+@c be done, but this is too large and complex for the NR, even as a
+@c referenced snippet.  It could be added to the LSR.
 
-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 ; leurs
-notation relève donc d'un contexte @code{Staff} standard, et non d'un
-@code{DrumStaff} pour pouvoir être rendus correctement en MIDI.
+Le niveau d'expression varie entre 0.0 (sans expression, autrement dit
+volume à zéro) et 1.0 (volume au maximum).
 
-D'autres percussions, bien que n'émettant qu'un seul son et inclus dans
-le standard @emph{general MIDI}, comme le tom mélodique ou le tambour
-taiko, ne sont pas attachés au canal 10.  Ces instruments doivent donc
-être saisi dans un contexte @code{Staff}, en utilisant la hauteur
-appropriée.
+@item @code{Staff.midiReverbLevel}
 
-De nombreux instruments de la famille des percussions, les castagnettes
-par exemple,  n'existent pas dans le standard @emph{general MIDI}.
-L'alternative, bien que peu satisfaisante, consiste à leur attribuer le
-son le plus proche dans la banque standard.
+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).
 
-@c TODO Expand with examples, and any other issues
+@item @code{Staff.midiChorusLevel}
 
-@seealso
-Manuel de notation :
-@ref{Percussions},
-@ref{Mise en forme de la partition}.
+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).
 
-Référence des propriétés internes :
-@rinternals{Dynamic_performer}.
+@end table
 
 @knownissues
-Le standard @emph{general MIDI} ne dispose pas du @emph{rim shot} ;
-LilyPond lui substitue un @emph{sidestick}.
 
+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.
+
+
+@node Amélioration du rendu MIDI
+@subsection 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, en réglant
+des propriétés au sein du bloc @code{\midi} ou en utilisant le script
+@file{articulate}.
+
+@menu
+* Le script articulate::
+@end menu
 
-@node Le script Articulate
-@subsection Le script Articulate
-@translationof The Articulate script
 
-Vous obtiendrez un rendu MIDI plus @qq{réaliste} grâce au script
-@code{articulate}.  Celui-ci va tout faire pour d'une part prendre en
-compte les articulations (liaisons, staccato etc.) -- en ajoutant un
-blanc aux notes raccourcies -- et, d'autre part, développer les trilles
-ou groupettos ainsi que tenir compte des éventuels rallentando et
-accelerando.
+@node Le script articulate
+@unnumberedsubsubsec Le script @file{articulate}
+@translationof The articulate script
+
+@cindex MIDI, instruments
+@cindex articulate, script
+@funindex Staff.midiInstrument
 
-L'utilisation du script @code{articulate} se fait en deux temps.  Vous
-devez dans un premier temps inclure son fichier d'initialisation en
-ajoutant en tête de votre fichier la ligne
+L'utilisation du script @file{articulate} se fait après avoir ajouté en
+tête de fichier la commande @code{\include} appropriée :
 
 @example
 \include "articulate.ly"
 @end example
 
-puis, dans le bloc @code{\score}, indiquer que toutes les répétitions
-seront développées et appliquer la commande à votre musique :
+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.
 
 @example
-\unfoldRepeats \articulate <<
-  tout le reste du bloc contenant la partition@dots{}
->>
+\score @{
+  \articulate <<
+    @var{@dots{} musique @dots{}}
+  >>
+  \midi @{ @}
+@}
 @end example
 
-Une fois votre fichier modifié de la sorte, vous constaterez que la
-version imprimable aura été modifiée en profondeur.  Le bloc
-@code{\midi} produira par contre un fichier MIDI de bien meilleure
-qualité.
-
-Bien que cela ne gène en rien le fonctionnement du script
-@code{articulate}, lui adjoindre la commande @code{\unfoldRepeats} comme
-illustré ci-dessus permettra le rendu d'un certain nombre
-d'articulations tels les trilles.
+Le script @file{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 @file{ly/articulate.ly}.
 
 @seealso
+Manuel d'initiation :
+@rlearning{Autres sources de documentation}.
+
 Manuel de notation :
 @ref{Mise en forme de la partition}.
 
 Fichiers d'initialisation :
 @file{ly/articulate.ly}.
 
-Référence des propriétés internes :
-@rinternals{UnfoldedRepeatedMusic}.
-
-@knownissues
-Dans la mesure où le script @code{articulate} tend à raccourcir les
-accords, certaines musiques, notamment pour l'orgue, paraîtront de moins
-bonne qualité.
+@warning{Dans la mesure où le script @file{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 @code{@bs{}articulate} devrait ne concerner que de courts
+fragments, sauf à modifier les valeurs des variables contenues dans le
+script @file{articulate}.}
 
 
 @node Extraction d'informations musicales
@@ -3674,14 +3842,17 @@ lilypond fichier.ly > affichage.txt
 Vous noterez que LilyPond ne se contente pas de simplement afficher
 l'expression musicale, mais procède aussi à son interprétation -- du
 fait que @code{\displayLilyMusic} renvoie l'expression tout en
-l'affichant.  S'il est bien pratique d'insérer un
-@code{\displayLilyMusic} dans une expression musicale pour en obtenir
-des informations, l'interprétation de cette expression peut toutefois
-être évitée en ajoutant un @code{\void} avant l'instruction :
+l'affichant.  La simple insertion d'un @code{\displayLilyMusic} dans une
+expression musicale permet d'obtenir l'information la concernant.
+
+Si l'instruction @code{\displayLilyMusic} interprète et affiche des
+informations sur un fragment, la faire précéder d'un @code{\void} aura
+pour effet de l'exclure du fichier résultant.
 
 @example
 @{
   \void \displayLilyMusic \transpose c a, @{ c4 e g a bes @}
+  c1
 @}
 @end example