]> git.donarmstrong.com Git - lilypond.git/commitdiff
Doc: NR - Tidy up of 3.5.1 and 3.5.3 - MIDI
authorJames Lowe <pkx166h@gmail.com>
Tue, 24 Dec 2013 18:56:29 +0000 (18:56 +0000)
committerJames Lowe <pkx166h@gmail.com>
Tue, 31 Dec 2013 07:09:23 +0000 (07:09 +0000)
Seemed some of this information was repeeated (and so redundant)
with additional grammar and sentence structure changes and more consistent
@examples.

No new technical information added.

Documentation/notation/input.itely

index b00045230f640e2a3eeeb5dec3881b907c19d5eb..22835d26b10a070490d27dd0907b0a21d4322018 100644 (file)
@@ -2646,7 +2646,6 @@ score contains more than 15 staves, MIDI channels will be reused.
 @menu
 * Creating MIDI files::
 * MIDI Instruments::
-* MIDI block::
 * What goes into the MIDI output?::
 * Repeats in MIDI::
 * Controlling MIDI dynamics::
@@ -2657,64 +2656,78 @@ score contains more than 15 staves, MIDI channels will be reused.
 @node Creating MIDI files
 @subsection Creating MIDI files
 
-To create a MIDI output file from a LilyPond input file, add a
-@code{\midi} block to a score, for example,
+@cindex MIDI block
+To create a MIDI output file from a LilyPond file, insert a @code{\midi}
+block inside a @code{\score} block;
 
 @example
 \score @{
   @var{@dots{}music@dots{}}
+  \layout @{ @}
   \midi @{ @}
 @}
 @end example
 
-If there is a @code{\midi} block in a @code{\score} with no
-@code{\layout} block, only MIDI output will be produced.  When
-notation is needed too, a @code{\layout} block must also be
-present.
+If there is @emph{only} a @code{\midi} block in a @code{\score} (i.e.
+without any @code{\layout} block), then @emph{only} MIDI output will be
+produced.  No musical notation will be typeset.
 
 @example
 \score @{
   @var{@dots{}music@dots{}}
   \midi @{ @}
-  \layout @{ @}
 @}
 @end example
 
-Pitches, rhythms, ties, dynamics, and tempo changes are interpreted
-and translated correctly to the MIDI output.  Dynamic marks,
-crescendi and decrescendi translate into MIDI volume levels.
-Dynamic marks translate to a fixed fraction of the available MIDI
-volume range.  Crescendi and decrescendi make the volume vary
-linearly between their two extremes.  The effect of dynamic markings
-on the MIDI output can be removed completely, see @ref{MIDI block}.
-
-The initial tempo and later tempo changes can be specified
-with the @code{\tempo} command within the music notation.  These
-are reflected in tempo changes in the MIDI output.  This command
-will normally result in the metronome mark being printed, but this
-can be suppressed, see @ref{Metronome marks}.  An alternative way
-of specifying the initial or overall MIDI tempo is described below,
-see @ref{MIDI block}.
-
-Due to some limitations on Windows, the default extension for
-MIDI files on Windows is @code{.mid}.  Other operating systems still
-use the extension @code{.midi}.  If a different extension is preferred,
-insert the following line at the top-level of the input file,
-before the start of any @code{\book}, @code{\bookpart} or @code{\score} blocks:
+Dynamics, pitches, rhythms, tempo changes and ties are all interpreted
+and translated correctly.  Dynamic @q{marks} translate into volume
+levels with a @q{fixed fraction} of the available MIDI volume range;
+crescendi and decrescendi make the volume vary linearly between their
+two extremes.
+
+All @code{\tempo} indications, including all subsequent tempo changes,
+specified within the music notation will be reflected in the MIDI
+output.
+
+Usually it is enough to leave the @code{\midi} block empty, but it
+can contain context rearrangements, new context definitions or code
+to set the values of properties.  Here the tempo is set to 72
+quarter-note beats per minute, but @emph{only} for the MIDI's
+audio playback.
 
 @example
-#(ly:set-option 'midi-extension "midi")
+\score @{
+  @var{@dots{}music@dots{}}
+  \midi @{
+    \tempo 4 = 72
+  @}
+@}
 @end example
 
-The line above will set the default extension for MIDI files to
-@code{.midi}.
+Note that @code{\tempo} is actually a command for setting properties
+during the interpretation of the music and in the context of output definitions, like a @code{\midi} block, is reinterpreted as if it
+were a context modification.
 
-Alternatively, this option can also be supplied on the command line:
+@cindex MIDI context definitions
+
+Context definitions follow the same syntax as those in a @code{\layout}
+block;
 
 @example
-lilypond … -dmidi-extension=midi lilyFile.ly
+\score @{
+  @var{@dots{}music@dots{}}
+  \midi @{
+    \context @{
+      \Voice
+      \remove "Dynamic_performer"
+    @}
+  @}
+@}
 @end example
 
+removes the effect of dynamics from the MIDI output.  Translation
+modules for sound are called @q{performers}.
+
 
 @snippets
 
@@ -2723,34 +2736,36 @@ lilypond … -dmidi-extension=midi lilyFile.ly
 
 @knownissues
 
-@c In 2.11 the following no longer seems to be a problem -td
-@ignore
-Unterminated (de)crescendos will not render properly in the midi file,
-resulting in silent passages of music.  The workaround is to explicitly
-terminate the (de)crescendo.  For example,
+Some operating systems require a @emph{specific} file extension for
+MIDI files.  If a different extension is preferred insert the following
+line at the top-level of the input file, before the start of any
+@code{\book}, @code{\bookpart} or @code{\score} blocks;
 
 @example
-@{ a4\< b c d\f @}
+#(ly:set-option 'midi-extension "mid")
 @end example
 
-@noindent
-will not work properly but
+This will set the default extension for MIDI files to @code{.mid}.
+
+Alternatively, an option can be supplied on the command line:
 
 @example
-@{ a4\< b c d\!\f @}
+lilypond -dmidi-extension=mid MyFile.ly
 @end example
 
-@noindent
-will.
-@end ignore
-
 Changes in the MIDI volume take place only on starting a note, so
-crescendi and decrescendi cannot affect the volume of a
-single note.
+crescendi and decrescendi cannot affect the volume of a single note.
+
+Some MIDI players may not always correctly handle tempo changes in the
+midi output.
+
+@seealso
+Installed Files:
+@file{../ly/performer-init.ly}.
+
+Learning Manual:
+@rlearning{Other sources of information}.
 
-Not all midi players correctly handle tempo changes in the midi
-output.  Players that are known to work include MS Windows Media
-Player and @uref{http://@/timidity@/.sourceforge@/.net/,timidity}.
 
 @node MIDI Instruments
 @subsection MIDI Instruments
@@ -2780,63 +2795,6 @@ If the selected instrument does not exactly match an instrument from
 the list of MIDI instruments, the Grand Piano (@code{"acoustic grand"})
 instrument is used.
 
-@node MIDI block
-@subsection MIDI block
-@cindex MIDI block
-
-A @code{\midi} block must appear within a score block if MIDI output
-is required.  It is analogous to the layout block, but somewhat
-simpler.  Often, the @code{\midi} block is left empty, but it
-can contain context rearrangements, new context definitions or code
-to set the values of properties.  For example, the following will
-set the initial tempo exported to a MIDI file without causing a tempo
-indication to be printed:
-
-@example
-\score @{
-  @var{@dots{}music@dots{}}
-  \midi @{
-    \tempo 4 = 72
-  @}
-@}
-@end example
-
-In this example the tempo is set to 72 quarter note
-beats per minute.  @code{\tempo} is actually a music command for
-setting properties during the interpretation of music: in the
-context of output definitions like a @code{\midi} block, as a matter of
-courtesy those are reinterpreted as if they were context modifications.
-
-@cindex MIDI context definitions
-
-Context definitions follow precisely the same syntax as those
-within a @code{\layout} block.  Translation modules for sound are
-called performers.  The contexts for MIDI output are defined in
-@file{../ly/performer-init.ly},
-see @rlearning{Other sources of information}.
-For example, to remove the effect of dynamics
-from the MIDI output, insert the following lines in the
-@code{\midi@{ @}} block.
-
-@example
-\midi @{
-  @dots{}
-  \context @{
-    \Voice
-    \remove "Dynamic_performer"
-  @}
-@}
-@end example
-
-MIDI output is created only when a @code{\midi} block is included
-within a score block defined with a @code{\score} command.
-
-@example
-\score @{
-  @{ @dots{}notes@dots{} @}
-  \midi @{ @}
-@}
-@end example
 
 @node What goes into the MIDI output?
 @subsection What goes into the MIDI output?