<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!-- header_tag --> <html lang="en"> <head> <title>Creating MIDI files - GNU LilyPond Notation Reference</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="description" content="GNU LilyPond Notation Reference"> <meta name="generator" content="makeinfo 4.11"> <link title="Top" rel="start" href="index.de.html#Top"> <link rel="up" href="MIDI-output.de.html#MIDI-output" title="MIDI output"> <link rel="next" href="MIDI-block.de.html#MIDI-block" title="MIDI block"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> <!-- Copyright (C) 1999--2007 by the authors Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections. A copy of the license is included in the section entitled ``GNU Free Documentation License''. --> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"><!-- pre.display { font-family:inherit } pre.format { font-family:inherit } pre.smalldisplay { font-family:inherit; font-size:smaller } pre.smallformat { font-family:inherit; font-size:smaller } pre.smallexample { font-size:smaller } pre.smalllisp { font-size:smaller } span.sc { font-variant:small-caps } span.roman { font-family:serif; font-weight:normal; } span.sansserif { font-family:sans-serif; font-weight:normal; } hr { border:0; height:1; color: #000000; background-color: #000000; } /* hr { border: none; height: 1px; color: #666666; background-color: #666666; } body { border-left: 1px solid #666666; border-right: 1px solid #666666; color: #332d28; margin-right: auto; margin-left: auto; width: 60em; list-style-type: square; font-family: Arial,Helvetica,sans-serif; padding-right: 1em; padding-left: 1em; } a { border-bottom: 1px dashed #344242; text-decoration: none; color: #344242; } a:link { text-decoration: none; } a:visited { border-bottom: 1px dashed #666666; color: #666666; } a:active { border-bottom: 1px solid #00cccc; color: #00cccc; } a:hover { border-bottom: 1px solid #1d7b85; color: #1d7b85; } blockquote { border: 1px solid #cccccc; padding: 3px; width: 40em; } .node { border-left: 1px solid #666666; margin: -0.5em 0px 1em; padding: 2px 1px 0px; font-style: italic; } .node a { border: none; text-decoration: underline; font-style: normal; font-weight: bold; } .verbatim { font-family: "Courier New",Courier,monospace; } .unnumberedsubsubsec { font-size: large; color: #1d7b85; } .subsubheading { font-size: large; color: #3b220d; } .contents { border: 1px dashed #339999; margin: 3px 2em; list-style-type: square; padding-right: 1em; width: 40em; background-color: #fcfff9; } .contents a { border-bottom: 1px dashed #423d34; text-decoration: none; color: #423d34; } .contents a:visited { border-bottom: 1px dashed #666666; color: #666666; } .contents a:active { border-bottom: 1px solid #f0d86d; color: #f0d86d; } .contents a:hover { border-bottom: 1px solid #3b220d; color: #3b220d; } .menu { border-left: 1px dashed #339999; margin: 3px 2em 1em; list-style-type: square; padding-left: 1.4em; width: 40em; } .unnumbered { } h2 { font-size: x-large; color: #1d7b85; } */ --></style> </head> <BODY BGCOLOR=WHITE TEXT=BLACK> <div class="node"> <p> <a name="Creating-MIDI-files"></a> Next: <a rel="next" accesskey="n" href="MIDI-block.de.html#MIDI-block">MIDI block</a>, Up: <a rel="up" accesskey="u" href="MIDI-output.de.html#MIDI-output">MIDI output</a> <hr> </div> <h4 class="subsection">3.5.1 Creating MIDI files</h4> <p>To create a MIDI output file from a LilyPond input file, add a <code>\midi</code> block to a score, for example, <pre class="example">\score { <var>...music...</var> \midi { } } </pre> <p>If there is a <code>\midi</code> block in a <code>\score</code> with no <code>\layout</code> block, only MIDI output will be produced. When notation is needed too, a <code>\layout</code> block must be also be present. <pre class="example">\score { <var>...music...</var> \midi { } \layout { } } </pre> <p>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 <a href="MIDI-block.de.html#MIDI-block">MIDI block</a>. <p>The initial tempo and later tempo changes can be specified with the <code>\tempo</code> 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 <a href="Metronome-marks.de.html#Metronome-marks">Metronome marks</a>. An alternative way of specifying the inital or overall MIDI tempo is described below, see <a href="MIDI-block.de.html#MIDI-block">MIDI block</a>. <h5 class="unnumberedsubsubsec">Instrument names</h5> <p><a name="index-instrument-names-2442"></a><a name="index-Staff_002emidiInstrument-2443"></a><a name="index-Staff_002emidiInstrument-2444"></a> <p>The MIDI instrument to be used is specified by setting the <code>Staff.midiInstrument</code> property to the instrument name. The name should be chosen from the list in <a href="MIDI-instruments.de.html#MIDI-instruments">MIDI instruments</a>. <pre class="example">\new Staff { \set Staff.midiInstrument = "glockenspiel" <var>...notes...</var> } </pre> <pre class="example">\new Staff \with {midiInstrument = "cello"} { <var>...notes...</var> } </pre> <p>If the selected instrument does not exactly match an instrument from the list of MIDI instruments, the Grand Piano (<code>"acoustic grand"</code>) instrument is used. <p class="noindent"> <h5 class="subsubheading">Selected Snippets</h5> <p><em>Changing MIDI output to one channel per voice</em> <p>When outputting MIDI, the default behavior is for each staff to represent one MIDI channel, with all the voices on a staff amalgamated. This minimizes the risk of running out of MIDI channels, since there are only 16 available per track. <p>However, by moving the <code>Staff_performer</code> to the <code>Voice</code> context, each voice on a staff can have its own MIDI channel, as is demonstrated by the following example: despite being on the same staff, two MIDI channels are created, each with a different <code>midiInstrument</code>. <blockquote> <pre class="verbatim"> \score { \new Staff << \new Voice \relative c''' { \set midiInstrument = #"flute" \voiceOne \key g \major \time 2/2 r2 g-"Flute" ~ g fis ~ fis4 g8 fis e2 ~ e4 d8 cis d2 } \new Voice \relative c'' { \set midiInstrument = #"clarinet" \voiceTwo b1-"Clarinet" a2. b8 a g2. fis8 e fis2 r } >> \layout { } \midi { \context { \Staff \remove "Staff_performer" } \context { \Voice \consists "Staff_performer" } \context { \Score tempoWholesPerMinute = #(ly:make-moment 72 2) } } } </pre> <p> <a href="../e6/lily-b8d3cb71.ly"> <img align="middle" border="0" src="../e6/lily-b8d3cb71.png" alt="[image of music]"> </a> </p> </blockquote> <p class="noindent"> <h5 class="subsubheading">Known issues and warnings</h5> <!-- In 2.11 the following no longer seems to be a problem -td --> <p>Changes in the MIDI volume take place only on starting a note, so crescendi and decrescendi cannot affect the volume of a single note. <p>Not all midi players correctly handle tempo changes in the midi output. Players that are known to work include MS Windows Media Player and <a href="http://timidity.sourceforge.net/">timidity</a>. <!-- footer_tag --><br><hr> <div class="node"> <p> Next: <a rel="next" accesskey="n" href="MIDI-block.de.html#MIDI-block">MIDI block</a>, Up: <a rel="up" accesskey="u" href="MIDI-output.de.html#MIDI-output">MIDI output</a> </div> <div style="background-color: #e8ffe8; padding: 2; border: #c0ffc0 1px solid;"> <p> <font size="-1"> Diese Seite ist für LilyPond-2.11.57 (Entwicklungszweig). <br> <address> Fehler bitte an <a href="http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs">http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs</a> melden. </address> <br> Ihre <a href="http://lilypond.org/web/devel/participating/documentation-adding">Vorschläge für die Dokumentation</a> sind willkommen. </font> </p> </div> <P> Andere Sprachen: <a href="Creating-MIDI-files.es.html">español</a>. <BR> </P> </BODY></html>