X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Ffr%2Fnotation%2Finput.itely;h=73bed790755396f731b606b42ceaab6492a3e3be;hb=958e95822083954cad00e0a598eb9f12ceba67b9;hp=77c7963ce3d16ba68a9206f513db18b3e91fd97a;hpb=216eadb03e66c991aba6aa538f6b92e0f26da2ff;p=lilypond.git diff --git a/Documentation/fr/notation/input.itely b/Documentation/fr/notation/input.itely index 77c7963ce3..73bed79075 100644 --- a/Documentation/fr/notation/input.itely +++ b/Documentation/fr/notation/input.itely @@ -1,14 +1,14 @@ @c -*- coding: utf-8; mode: texinfo; documentlanguage: fr -*- @ignore - Translation of GIT committish: 3c907f2dd5ba3dd91e30454922d8361225ca28d5 + Translation of GIT committish: 53cff5245f682708a6c77d580f418ece2923c2e4 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 @@ -679,10 +679,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 +691,7 @@ pour définir les champs @code{piece} et @code{opus}, comme ici : } \score { - \new Staff \relative b { + \new Staff \relative { \clef bass \key g \major \partial 16 b16 | @@ -929,8 +929,8 @@ niveau du bloc @code{\header} principal. tagline = "... music notation for Everyone" } \score { - \relative c' { - c4 d e f + \relative { + c'4 d e f } } } @@ -1430,8 +1430,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 +1631,7 @@ Par exemple : \auto-footnote "recent" \italic " Aug 2012" "composition." } - \relative c' { + \relative { a'4 b8 e c4 d } } @@ -1683,7 +1683,7 @@ la rubrique @ref{Équivalents ASCII} : } "composition." } - \relative c' { + \relative { a'4 b8 e c4 d } } @@ -1706,7 +1706,7 @@ unicode -- voir la rubrique @ref{Unicode} : } "composition." } - \relative c' { + \relative { a'4 b8 e c4 d } } @@ -1876,7 +1876,7 @@ le but de mentionner les actes dans la table des matières d'un opéra : } tocAct = -#(define-music-function (parser location text) (markup?) +#(define-music-function (text) (markup?) (add-toc-item! 'tocActMarkup text)) @end verbatim @@ -1891,7 +1891,7 @@ tocAct = } tocAct = -#(define-music-function (parser location text) (markup?) +#(define-music-function (text) (markup?) (add-toc-item! 'tocActMarkup text)) \book { @@ -2144,10 +2144,10 @@ 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, } +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 @@ -2251,8 +2251,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 +2270,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 @@ -2533,8 +2533,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,13 +2577,13 @@ 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! } } } } -\markup { "Copyright 2008--2014" \char ##x00A9 } +\markup { "Copyright 2008--2015" \char ##x00A9 } @end lilypond @cindex copyright @@ -2668,39 +2668,49 @@ Fichiers d'initialisation : @subsection Extraction de fragments musicaux @translationof Extracting fragments of music -LilyPond permet d'extraire des fragments d'une partition à l'instar du -choriste amateur qui alimente son album avec des coupures de journaux. +@cindex fragments, extraction -Vous devrez pour cela définir les mesures à découper. La définition -suivante, incluse dans votre fichier source, +@funindex clip-regions -@verbatim -\layout { +LilyPond permet d'extraire des fragments d'une partition, une fois +definis explicitement le ou les emplacements de la musique concernés au +sein du bloc @code{\layout} du fichier source, grâce à la fonction +@code{clip-regions}, puis en lançant @command{lilypond} avec l'option +@w{@code{-dclip-systems}}. + +@example +\layout @{ clip-regions = #(list (cons (make-rhythmic-location 5 1 2) (make-rhythmic-location 7 3 4))) -} -@end verbatim +@} +@end example @noindent -vous permettra d'extraire un fragment compris entre le milieu de la -cinquième mesure et quelque part dans la septième. Le triplet -@code{5 1 2} signifie : après la durée d'une blanche dans la mesure 5 ; -le @code{7 3 4} signifie quant à lui que l'on s'arrête à la mesure 7, -après la durée de trois noires. - -Rien ne vous empêche d'extraire plusieurs fragments, dès lors que vous -définissez dans la liste d'autres paires d'emplacements rythmiques. +L'exemple ci-dessus permet d'extraire un seul fragment @emph{débutant} +après une blanche dans la cinquième mesure (@code{5 1 2}) et +@emph{finissant} après trois noires dans la septième +mesure (@code{7 3 4}). + +D'autres fragments seront extraits dès lors que d'autres paires de +@w{@code{make-rhythmic-location}} auront été ajoutées à la liste de +@w{@code{clip-regions}} présente dans le bloc @code{\layout}. + +Chaque fragment sera généré individuellement sous la forme d'un fichier +@code{EPS}, converti en @code{PDF} ou @code{PNG} selon le format que +vous aurez stipulé. La musique extraite est rendue comme si elle avait +été littéralement « découpée » dans la partition. Par voie de +conséquence, un fragment dépassant une ligne fera l'objet d'autant de +fichiers séparés que de lignes de la partition complète. -Cette fonctionnalité n'est toutefois effective que lorsque vous lancez -LilyPond avec l'option @w{@code{-dclip-systems}}. Les @qq{coupures} -seront générées sous la forme de fichiers EPS, convertis en PDF ou PNG -selon le format que vous aurez stipulé. +@seealso +Manuel de notation : +@ref{Le bloc layout}. -Pour de plus amples informations quant au format des résultats, -consultez le chapitre @rprogram{Lancement de LilyPond}. +Manuel d'utilisation : +@rprogram{Utilisation en ligne de commande}. @node Ignorer des passages de la partition @@ -2812,495 +2822,222 @@ 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. - -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}. +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 ! -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:: +* 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 - -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é. +@cindex MIDI, éléments pris en compte -@example -\score @{ - @var{@dots{}musique@dots{}} - \midi @{ @} -@} -@end example +LilyPond retranscrit par défaut dans un fichier MIDI les éléments de +notation suivant : -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. +@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 -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 appogiatures -- 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. - -@cindex MIDI, définition de contexte - -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 +le do (noté @code{c}) prendra la valeur d'une noire. -@example -\score @{ - @var{@dots{}music@dots{}} - \midi @{ - \context @{ - \Voice - \remove "Dynamic_performer" - @} - @} -@} -@end example +@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 @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. - -@snippets -@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] -{changing-midi-output-to-one-channel-per-voice.ly} +Voir @ref{Amélioration du rendu MIDI}. -@seealso -Manuel d'initiation : -@rlearning{Autres sources de documentation}. -Manuel de notation : -@ref{Signes d'interprétation}, -@ref{Mise en forme de la partition}. +@node Notation non prise en compte dans le MIDI +@subsection Notation non prise en compte dans le MIDI +@translationof Unsupported notation for MIDI -Fichiers d'initialisation : -@file{ly/performer-init.ly}. +@cindex MIDI, éléments non pris en comte -Morceaux choisis : -@rlsr{MIDI}. +Certains éléments de notation ne peuvent être retranscits dans un +fichier MIDI : -Référence des propriétés internes : -@rinternals{Dynamic_performer}. +@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 -@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} : -@example -#(ly:set-option 'midi-extension "mid") -@end example +@node Le bloc MIDI +@subsection Le bloc MIDI +@translationof The MIDI block -Cette ligne déterminera @code{.midi} comme extension par défaut pour les -fichiers MIDI. +@cindex MIDI, le bloc -Vous pouvez aussi le faire en ligne de commande : +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 -lilypond … -dmidi-extension=mid MonFichier.ly +\score @{ + @var{@dots{}musique@dots{}} + \layout @{ @} + \midi @{ @} +@} @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}. +@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é.} -@example -\new Staff @{ - \set Staff.midiInstrument = #"glockenspiel" - @var{@dots{}notes@dots{}} -@} -@end example +L'extension par défaut des fichiers MIDI générés (@code{.midi}) peut se +modifier en ligne de commadne : @example -\new Staff \with @{midiInstrument = #"cello"@} @{ - @var{@dots{}notes@dots{}} -@} +lilypond -dmidi-extension=mid MonFichier.ly @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"}). - -@seealso -Manuel de notation : -@ref{Instruments MIDI}. - -Référence des propriétés internes : -@rinternals{Dynamic_performer}. - - -@node Contenu de la sortie MIDI -@subsection Contenu de la sortie MIDI -@translationof What goes into the MIDI output? - -@c TODO Check grace notes - timing is suspect? - -@menu -* Éléments pris en compte dans le MIDI:: -* Éléments non pris en compte dans le 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 : - -@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 ; - -@item -les accords nommés ; - -@item -le rythme en tant que durée de note, y compris les n-olets ; - -@item -les trémolos, exceptés ceux utilisant la syntaxe -@qq{@code{:}[@var{nombre}]} ; - -@item -les liaisons de prolongation ; - -@item -les indications de nuance ; - -@item -les crescendos et decrescendos s'étalant sur plusieurs notes ; - -@item -les changements de tempo indiqués par un @code{\tempo} ; - -@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 - -@c TODO index as above - -LilyPond ne peut générer d'événement MIDI pour les éléments suivant, -même avec @ref{Le script Articulate} : - -@itemize -@item -le rythme indiqué sous forme d'annotation (par ex. @emph{swing}) ; - -@item -les changements de tempo indiqués sous forme d'annotation (sans -@code{\tempo}) ; - -@item -les points d'orgue ; - -@item -les autres articulations ; - -@item -les liaisons d'articulation et de phrasé ; - -@item -les crescendos ou decrescendos sur une seule note ; - -@item -les trémolos indiqués par la syntaxe @qq{@code{:}[@var{nombre}]} ; - -@item -la basse chiffrée ; - -@item -les accords en microtonalité. - -@item -les glissandos, chutes et sauts. -@end itemize - -@seealso -Fichiers d'initialisation : -@file{ly/articulate.ly}. - - -@node Répétitions et MIDI -@subsection Répétitions et MIDI -@translationof Repeats in MIDI - -@cindex reprises développées -@cindex MIDI et reprises -@funindex \unfoldRepeats - -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}. - - -@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 - -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. - -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 +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 -\score @{ - @var{@dots{}musique@dots{}} - \layout @{ @dots{} @} -@} -\score @{ - \unfoldRepeats @var{@dots{}musique@dots{}} - \midi @{ @dots{} @} -@} +#(ly:set-option 'midi-extension "mid") @end example @seealso -Manuel de notation : -@ref{Mise en forme de la partition}. +Manuel de notation : +@ref{Structure de fichier}. -Fichiers d'initialisation : -@file{ly/articulate.ly}. +Fichiers d'initialisation : +@file{scm/midi.scm}. +@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é. @node Gestion des nuances en MIDI @subsection Gestion des nuances en MIDI @translationof Controlling MIDI dynamics -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. +@cindex MIDI, gestion des nuances + +Le volume général de la sortie MIDI peut se définir, ainsi que ses +modulations, en fonction des indications de nuance et les volumes +relatifs entre les différents instruments. + +Les indications de nuance se traduisent automatiquement en niveau de +volume dans l'amplitude disponible en MIDI alors que crescendos et +diminuendos auront une progression linéaire entre les extrêmes. @menu -* Indications de nuance:: -* Amplitude du volume en MIDI:: -* Égalisation de plusieurs instruments (i):: -* Égalisation de plusieurs instruments (ii):: +* Indication des nuances en MIDI:: +* Réglage du volume en MIDI:: +* Réglage de propriétés dans le bloc MIDI:: @end menu -@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. +@node Indication des nuances en MIDI +@unnumberedsubsubsec Indication des nuances en MIDI +@translationof Dynamic marks in MIDI -@lilypond[verbatim,quote] -#(define (myDynamics dynamic) - (if (equal? dynamic "rfz") - 0.9 - (default-dynamic-absolute-volume dynamic))) +@cindex MIDI, indications de nuance -\score { - \new Staff { - \set Staff.midiInstrument = #"cello" - \set Score.dynamicAbsoluteVolumeFunction = #myDynamics - \new Voice { - \relative c'' { - a4\pp b c-\rfz - } - } - } - \layout {} - \midi {} -} -@end lilypond +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}. -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. +@snippets +@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] +{creating-custom-dynamics-in-midi-output.ly} @seealso -Manuel de notation : -@ref{Signes d'interprétation}, -@ref{Mise en forme de la partition}. - Fichiers d'initialisation : +@file{ly/script-init.ly}, @file{scm/midi.scm}. +Morceaux choisis : +@rlsr{MIDI}. + Référence des propriétés internes : @rinternals{Dynamic_performer}. +@node Réglage du volume en MIDI +@unnumberedsubsubsec Réglage du volume en MIDI +@translationof Setting MIDI volume -@node Amplitude du volume en MIDI -@unnumberedsubsubsec Amplitude du volume en MIDI -@translationof Overall MIDI volume +@cindex MIDI, réglage du 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 @@ -3317,301 +3054,356 @@ midiMinimumVolume + (midiMaximumVolume - midiMinimumVolume) * fraction Voici comment ajuster les nuances tout en limitant l'amplitude du volume entre 0,2 et 0,5 : -@lilypond[verbatim,quote] -\score { +@example +\score @{ << - \new Staff { - \key g \major - \time 2/2 + \new Staff @{ \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 + @var{@dots{} music @dots{}} + @} + \new Staff @{ \set Staff.midiInstrument = #"clarinet" - \new Voice \relative c'' { - b1\p a2. b8 a - g2. fis8 e - fis2 r - } - } + @var{@dots{} music @dots{}} + @} >> - \layout {} - \midi { - \tempo 2 = 72 - \context { + \midi @{ + \context @{ \Score midiMinimumVolume = #0.2 midiMaximumVolume = #0.5 - } - } -} -@end lilypond - -@seealso -Manuel de notation : -@ref{Mise en forme de la partition}. - -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) + @} + @} +@} +@end example 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. +@code{Staff} -- grace aux propriétés @code{midiMinimumVolume} et +@code{midiMaximumVolume} -- permet en quelque sorte d'égaliser un +instrument MIDI. + +@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 -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. +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 : -@lilypond[verbatim,quote] -\score { +@example +\score @{ << - \new Staff { - \key g \major - \time 2/2 + \new Staff @{ \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 + @var{@dots{} music @dots{}} + @} + \new Staff @{ \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 - } - } + @var{@dots{} music @dots{}} + @} >> - \layout {} - \midi { - \tempo 2 = 72 - } -} -@end lilypond + \midi @{ @} +@} +@end example + +La clarinette de cet exemple jouera relativement moins fort que la +flûte. + +En l'absence de tout réglage des propriétés de volume, LilyPond +appliquera cependant un léger degré d'égalisation pour certains +instruments -- voir @file{scm/midi.scm}. + +@snippets +@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] +{replacing-default-midi-instrument-equalization.ly} @seealso +Fichiers d'initialisation : +@file{scm/midi.scm}. + Manuel de notation : @ref{Mise en forme de la partition}. +Référence des propriétés internes : +@rinternals{Dynamic_performer}. -@node Égalisation de plusieurs instruments (ii) -@unnumberedsubsubsec Égalisation de plusieurs instruments (ii) -@translationof Equalizing different instruments (ii) +@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. -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é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. +@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 -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. +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. -@lilypond[verbatim,quote] -#(define my-instrument-equalizer-alist '()) +@example +\score @{ + @var{@dots{} music @dots{}} + \midi @{ + \tempo 4 = 72 + @} +@} +@end example -#(set! my-instrument-equalizer-alist - (append - '( - ("flute" . (0.7 . 0.9)) - ("clarinet" . (0.3 . 0.6))) - my-instrument-equalizer-alist)) +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. -#(define (my-instrument-equalizer s) - (let ((entry (assoc s my-instrument-equalizer-alist))) - (if entry - (cdr entry)))) +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. -\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 +@cindex MIDI, 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} : + +@example +\score @{ + @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 ». + +@snippets +@lilypondfile[verbatim,quote,ragged-right,texidoc,doctitle] +{changing-midi-output-to-one-channel-per-voice.ly} @seealso -Fichiers d'initialisation : -@file{scm/midi.scm}. +Manuel d'initiation : +@rlearning{Autres sources de documentation}. -Référence des propriétés internes : -@rinternals{Dynamic_performer}. +Manuel de notation : +@ref{Signes d'interprétation}, +@ref{Mise en forme de la partition}. -@ignore -@c Delete when satisfied this is adequately covered elsewhere -td +Fichiers d'initialisation : +@file{ly/performer-init.ly}. -@n ode Microtones in MIDI -@s ubsection Microtones in MIDI +Morceaux choisis : +@rlsr{MIDI}. -@cindex microtones in MIDI +Référence des propriétés internes : +@rinternals{Dynamic_performer}. -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. +@knownissues +Certains lecteurs MIDI ne rendent pas correctement les changements de +tempo. -@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 +Les modifications de @code{midiInstrument} ou autres options MIDI en +début de portée pevuent se retrouver dédoublées dans la sortie MIDI. +@node Gestion des instruments MIDI +@subsection Gestion des instruments MIDI +@translationof Using MIDI Instruments -@node MIDI et percussions -@subsection MIDI et percussions -@translationof Percussion in MIDI +@cindex instrument, nom d' +@cindex MIDI, instruments +@funindex Staff.midiInstrument -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é. +L'instrument MIDI est déterminé par la propriété @code{midiInstrument}, +au sein d'un contexte @code{Staff}. -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. +@example +\score @{ + \new Staff @{ + \set Staff.midiInstrument = #"glockenspiel" + @var{@dots{} music @dots{}} + @} + \midi @{ @} +@} +@end example -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. +ou -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. +@example +\score @{ + \new Staff \with @{midiInstrument = #"cello"@} @{ + @var{@dots{} music @dots{}} + @} + \midi @{ @} +@} +@end example -@c TODO Expand with examples, and any other issues +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"}) -- voir @ref{Instruments MIDI}. @seealso +Manuel d'initiation : +@rlearning{Autres sources de documentation}. + Manuel de notation : -@ref{Percussions}, +@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}. + @knownissues -Le standard @emph{general MIDI} ne dispose pas du @emph{rim shot} ; -LilyPond lui substitue un @emph{sidestick}. +Les percussions gérées par un contexte @code{DrumStaff} sont d'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 ; leurs 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 Le script Articulate -@subsection Le script Articulate -@translationof The Articulate script +@node Gestion des répétitions en MIDI +@subsection Gestion des répétitions en MIDI +@translationof Using repeats with MIDI -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. +@cindex reprises développées +@cindex MIDI et reprises +@funindex \unfoldRepeats -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 +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 -\include "articulate.ly" +\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 -puis, dans le bloc @code{\score}, indiquer que toutes les répétitions -seront développées et appliquer la commande à votre musique : +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 @example -\unfoldRepeats \articulate << - tout le reste du bloc contenant la partition@dots{} ->> +\score @{ + @var{@dots{} musique @dots{}} + \layout @{ @} +@} +\score @{ + \unfoldRepeats @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é. +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{Répétitions et reprises}. -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. + +@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 +@unnumberedsubsubsec Le script @file{articulate} +@translationof The articulate script + +@cindex MIDI, instruments +@cindex articulate, script +@funindex Staff.midiInstrument + +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 + +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 +\score @{ + \articulate << + @var{@dots{} musique @dots{}} + >> + \midi @{ @} +@} +@end example + +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 @@ -3647,7 +3439,7 @@ terminal après avoir lancé LilyPond en ligne de commande. Par exemple, affichera @example -@{ a,4 cis e fis g @} +@{ a,4 cis4 e4 fis4 g4 @} @end example LilyPond affichera le résultat sous forme de message en console, au