]> git.donarmstrong.com Git - lilypond.git/commitdiff
Doc-fr: NR3. General input and output - fully translated
authorJean-Charles Malahieude <lilyfan@orange.fr>
Sun, 2 Jan 2011 17:52:40 +0000 (18:52 +0100)
committerJean-Charles Malahieude <lilyfan@orange.fr>
Sun, 2 Jan 2011 17:52:40 +0000 (18:52 +0100)
Documentation/fr/notation/input.itely

index 2d5d013f7ebb57f07d195dc83ea60afcebe84fb2..a1c1873a1f0c05e9ac7f7011acea181d5f42511c 100644 (file)
@@ -1,7 +1,7 @@
 @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*-
 
 @ignore
-    Translation of GIT committish: 97ecad3753202d0b887c669c05a4ced18bca5acb
+    Translation of GIT committish: f662ca41b36ba6f0bf4cf146b7e6e9bc04bd3756
 
     When revising a translation, copy the HEAD committish of the
     version that you are working on.  For details, see the Contributors'
@@ -1726,8 +1726,23 @@ conditions d'utilisation.
 @section Sortie MIDI
 @translationof MIDI output
 
-@untranslated
+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@tie{}; il vous faudra
+un logiciel capable de traduire ces séries de notes en sons.
 
+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@tie{}: octaves et altérations erronées heuteront
+votre oreille avertie grâce au MIDI.
+
+@c TODO Check this
+Dans une sortie MIDI, LilyPond alloue un canal à chaque portée, plus un
+pour les réglages globaux.  Par voie de conséquence, un fichier MIDI ne
+peut comporter au maximmum que quinze portées (quatorze en l'absence de
+percussions)@tie{}; les portées supplémentaires seront tout simplement
+silencieuses.
 
 @menu
 * Création de fichiers MIDI::
@@ -1738,36 +1753,303 @@ conditions d'utilisation.
 * MIDI et percussions::
 @end menu
 
+
 @node Création de fichiers MIDI
 @subsection Création de fichiers MIDI
 @translationof Creating MIDI files
 
-@untranslated
+LilyPond génèrera un fichier MIDI dès que vous ajouterez un bloc
+@code{\midi} à la structure de votre partition, comme ici@tie{}:
+
+@example
+\score @{
+  @var{...musique...}
+  \midi @{ @}
+@}
+@end example
+
+Lorsque le bloc @code{\score} contient un bloc @code{\midi} mais pas de
+bloc @code{\layout}, LilyPond ne produira qu'une sortie MIDI.  Si donc
+vous avez besoin aussi d'un support visuel, vous devrez aussi mentionner
+un bloc @code{\layout}.
+
+@example
+\score @{
+  @var{...musique...}
+  \midi @{ @}
+  \layout @{ @}
+@}
+@end example
+
+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@tie{}; 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.  Le rendu des
+indications de nuance peut être désactivé pour le MIDI -- voir
+@ref{Le bloc MIDI}.
+
+Le tempo initial ainsi que ses changements sont normalement indiqués au
+fil de la notation à l'aide de la commande @code{\tempo}@tie{}; ils
+seront retranscrits dans le fichier MIDI.  La commande @code{\tempo}
+donne lieu à l'impression d'une indication métronomique que vous pouvez
+toutefois rendre invisible, comme indiqué à la rubrique
+@ref{Indication métronomique}.  Une autre manière de spécifier le tempo
+initial pour un fichier MIDI est indiquée plus avant -- voir
+@ref{Le bloc MIDI}.
+
+En raison de certaines limitations de Windows, les fichiers MIDI doivent
+y porter l'extension @code{.mid}.  D'autres systèmes utilisent
+l'extension @code{.midi}.  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}@tie{}:
+
+@example
+#(ly:set-option 'midi-extension "midi")
+@end example
+
+Cette ligne déterminera @code{.midi} comme extension par défaut pour les
+fichiers MIDI.
+
+Vous pouvez aussi le faire en ligne de commande@tie{}:
+
+@example
+lilypond … -dmidi-extension=midi fichierLily.ly
+@end example
 
 
 @unnumberedsubsubsec Noms d'instrument
 @translationof Instrument names
 
+@cindex instrument, nom d'
+@funindex Staff.midiInstrument
+
+L'instrument MIDI affecté à un canal particulier est déterminé par la
+propiété @code{Staff.midiInstrument}.  Vous pouvez choisr l'un des
+instruments répertoriés à l'annexe @ref{Instruments MIDI}.
+
+@example
+\new Staff @{
+  \set Staff.midiInstrument = #"glockenspiel"
+  @var{...notes...}
+@}
+@end example
+
+@example
+\new Staff \with @{midiInstrument = #"cello"@} @{
+  @var{...notes...}
+@}
+@end example
+
+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"}).
+
+
+@snippets
+
+@lilypondfile[verbatim,lilyquote,ragged-right,texidoc,doctitle]
+{changing-midi-output-to-one-channel-per-voice.ly}
+
+@knownissues
+
+@c In 2.11 the following no longer seems to be a problem -td
+@ignore
+Un (de)crescendo non terminé ne sera pas correctement rendu en MIDI --
+il y a nécessairement du silence.  Il vous faut donc lui donner une fin
+explicite.  Par exemple,
+
+@example
+@{ a4\< b c d\f @}
+@end example
+
+@noindent
+ne fonctionnera pas correctement, contrairement à
+
+@example
+@{ a4\< b c d\!\f @}
+@end example
+@end ignore
+
+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.  MS Windows Media Player et 
+@uref{http://@/timidity@/.sourceforge@/.net/,timidity} le font sans
+problème.
+
 
 @node Le bloc MIDI
 @subsection Le bloc MIDI
 @translationof MIDI block
 
-@untranslated
+Dès lors que vous désirez obtenir une sortie MIDI, vous devrez inscrire
+un bloc @code{\midi} au sein du bloc @code{\score}.  Son fonctionnement
+est comparable à ce lui du bloc @code{\layout}, voire plus simple.  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
+certianes 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.
+
+@example
+\score @{
+  @var{...musique...}
+  \midi @{
+    \context @{
+      \Score
+      tempoWholesPerMinute = #(ly:make-moment 72 4)
+    @}
+  @}
+@}
+@end example
+
+Ici, le tempo est fixé à 72 noires à la minute.  Spécifier un tempo de
+la sorte ne permet pas de doner une valeur pour une note pointée.  Vous
+devrez, en pareil cas, subdiviser la note pointée en durée plus courte.
+Par exemple, indiquer 90 à la noire pointée est équivalent à spécifier
+270 croches à la minute@tie{}:
+
+@example
+tempoWholesPerMinute = #(ly:make-moment 270 8)
+@end example
+
+@cindex MIDI et définition de contexte
+@cindex contexte, définition en MIDI
+
+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 @qq{graveur} est remplacé par un
+@qq{interprète}.  Les différents contextes disponibles en matière de
+MIDI sont répertoriés dans le fichier d'initialisation
+@file{../ly/performer-init.ly} -- pour plus de détail, voir
+@rlearning{Autres sources d'information}.
+Si vous voulez vous passer des nuances dans votre fichier MIDI, il vous
+suffit d'insérer les lignes suivantes dans votre bloc
+@code{\midi@{ @}}.
+
+@example
+\midi @{
+  ...
+  \context @{
+    \Voice
+    \remove "Dynamic_performer"
+  @}
+@}
+@end example
+
+LilyPond ne génèrera de sortie MIDI que si vous incluez un bloc
+@code{\midi} dans la structure de la partition, initialisée par la
+commande @code{\score}.
+
+@example
+\score @{
+  @{ @dots{}notes@dots{} @}
+  \midi @{ @}
+@}
+@end example
 
 
 @node Contenu de la sortie MIDI
 @subsection Contenu de la sortie MIDI
 @translationof What goes into the MIDI output?
 
-@untranslated
+@c TODO Check grace notes - timing is suspect?
 
 
 @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
+@c TODO etc
+
+Un fichier MIDI généré par LilyPond comprendra les éléments de notation
+suivants@tie{}:
+
+@itemize
+@item
+les hauteurs ;
+
+@item
+les microtonalités -- voir @ref{Altérations}.  Leur rendu nécessite
+cependant un lecteur qui prenne en charge la modulation@tie{};
+
+@item
+les accords nommés ;
+
+@item
+le rythme en tant que durée de note, y compris les nolets ;
+
+@item
+les tremolos, exceptés ceux utilisant la syntaxe
+@qq{@code{:}[@var{nombre}]}@tie{};
+
+@item
+les liaisons de prolongation ;
+
+@item
+les indications de nuance
+
+@item
+les crescendos et decrescendos s'étalant sur plusieurs notes@tie{};
+
+@item
+les changements de tempo indiqués par un @code{\tempo}@tie{};
+
+@item
+les paroles.
+@end itemize
+
+
 @unnumberedsubsubsec Éléments non pris en compte dans le MIDI
 @translationof Unsupported in MIDI
 
+@c TODO index as above
+
+LilyPond ne peut générer d'événement MIDI pour les éléments
+suivant@tie{}:
+
+@itemize
+@item
+le rythme indiqué sous forme d'annotation (p.ex. @emph{swing})@tie{};
+
+@item
+les changements de tempo indiqués sous forme d'annotation (sans
+@code{\tempo})@tie{};
+
+@item
+les staccatos et autres articulations ou ornementations@tie{};
+
+@item
+les liaisons d'articulation et de prhasé@tie{};
+
+@item
+les crescendos ou decrescendos sur une sele note@tie{};
+
+@item
+les tremolos indiqués par la syntaxe @qq{@code{:}[@var{nombre}]}@tie{};
+
+@item
+la basse chiffrée
+
+@item
+les accords en microtonalité.
+@end itemize
+
+
 @node Répétitions et MIDI
 @subsection Répétitions et MIDI
 @translationof Repeats in MIDI
@@ -1782,7 +2064,7 @@ d'autre termes, @code{\unfoldRepeats} transforme toutes les reprises
 en reprises de type @code{unfold}.
 
 
-@lilypond[quote,verbatim,fragment,line-width=8.0\cm]
+@lilypond[quote,verbatim]
 \unfoldRepeats {
   \repeat tremolo 8 {c'32 e' }
   \repeat percent 2 { c''8 d'' }
@@ -1795,21 +2077,20 @@ en reprises de type @code{unfold}.
 \bar "|."
 @end lilypond
 
-
 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
+MIDI, il faut établir deux blocs @code{\score}@tie{}: 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
 
 @example
 \score @{
- @var{..musique..}
- \layout @{ ..  @}
 @var{..musique..}
 \layout @{ ..  @}
 @}
 \score @{
- \unfoldRepeats @var{..musique..}
\midi @{ ..  @}
 \unfoldRepeats @var{..musique..}
 \midi @{ .. @}
 @}
 @end example
 
@@ -1818,22 +2099,300 @@ pourcentage.  Par exemple
 @subsection Gestion des nuances en MIDI
 @translationof Controlling MIDI dynamics
 
-@untranslated
+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.
 
 
 @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 d'information} 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
+@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.
+
+@lilypond[verbatim,quote]
+#(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 c'' {
+        a4\pp b c-\rfz
+      }
+    }
+  }
+  \layout {}
+  \midi {}
+}
+@end lilypond
+
+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} ansi que la table d'association comme base.  Le
+dernier exemple de cette partie illustre la manière de procéder.
+
+
 @unnumberedsubsubsec Amplitude du volume en MIDI
 @translationof Overall MIDI volume
+
+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@tie{}; une nuance de départ 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
+
+@example
+midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * fraction
+@end example
+
+Voici comment ajuster les nuances tout en limitant l'amplitude du volume
+entre 0,2 et 0,5@tie{}:
+
+@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~
+        fis4 g8 fis e2~
+        e4 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 {
+    \context {
+      \Score
+      tempoWholesPerMinute = #(ly:make-moment 72 2)
+      midiMinimumVolume = #0.2
+      midiMaximumVolume = #0.5
+    }
+  }
+}
+@end lilypond
+
+
 @unnumberedsubsubsec Égalisation de plusieurs instruments (i)
 @translationof Equalizing different instruments (i)
+
+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.
+
+@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~
+        fis4 g8 fis e2~
+        e4 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 {
+    \context {
+      \Score
+      tempoWholesPerMinute = #(ly:make-moment 72 2)
+    }
+  }
+}
+@end lilypond
+
+
 @unnumberedsubsubsec Égalisation de plusieurs instruments (ii)
 @translationof Equalizing different instruments (ii)
 
+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}.
+
+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édut de chapitre avec @code{dynamicAbsoluteVolumeFunction}.
+L'égaliseur par défaut, @notation{default-instrument-equalizer}, est
+défini dans le fichier @file{../scm/midi.scm}@tie{}; son analyse vous
+aidera à construire votre propre procédure.
+
+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.
+
+@lilypond[verbatim,quote]
+#(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 c''' {
+        r2 g\mp g fis~
+        fis4 g8 fis e2~
+        e4 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 {
+    \context {
+      \Score
+      tempoWholesPerMinute = #(ly:make-moment 72 2)
+    }
+  }
+}
+@end lilypond
+
+@ignore
+@c Delete when satisfied this is adequately covered elsewhere -td
+
+@n ode Microtones in MIDI
+@s ubsection Microtones in MIDI
+
+@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.
+
+@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
+
 
 @node MIDI et percussions
 @subsection MIDI et percussions
 @translationof Percussion in MIDI
 
-@untranslated
+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@tie{}10 qui leur est réservé.
+
+Certains instruments, tels le xylophone, le marimba, le vibraphone ou
+les timbales, se traitent cependant comme des instruments
+@qq{classiques} puisqu'ils sont capables d'émettre des hauteurs
+différentes@tie{}; leurs notation relève donc d'un contexte @code{Staff}
+standard, et non d'un @code{DrumStaff} pour pouvoir être rendus
+correctement en MIDI.
+
+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@tie{}10.  Ces instruments doivent
+donc être saisi dans un contexte @code{Staff}, en utilisant la hauteur
+appropiée.
+
+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.
+
+@c TODO Expand with examples, and any other issues
+
+@knownissues
+
+Le standard @emph{general MIDI} ne dispose pas du @emph{rim shot}@tie{};
+LilyPond lui subtitue un @emph{sidestick}.