These snippets illustrate the Notation Reference, section MIDI output.
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.
However, by moving the Staff_performer
to the Voice
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
midiInstrument
.
\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) } } }
Problem: How to know which midiInstrument
would be best for your
composition? Solution: A LilyPond demo file.
\header { title = "Demo of all midi sounds" arranger = "Myself " } basemelodie = \relative c' { c4. \mf g c16 b' c d e16 d e f g4 g'4 r R1 } melodie = { \tempo 4 = 150 \basemelodie } \score { \new Staff << \new Voice { \melodie } >> \layout { } } \score { \new Staff << %\set Staff.instrumentName= #"S/A" %\set Staff.midiMinimumVolume = #0.2 %\set Staff.midiMaximumVolume = #0.4 %\set Voice.dynamicAbsoluteVolumeFunction = #0.6 \new Voice { r \mf \set Staff.midiInstrument = #"acoustic grand" \melodie \set Staff.midiInstrument = #"bright acoustic" \melodie \set Staff.midiInstrument = #"electric grand" \melodie \set Staff.midiInstrument = #"honky-tonk" \melodie \set Staff.midiInstrument = #"electric piano 1" \melodie \set Staff.midiInstrument = #"electric piano 2" \melodie \set Staff.midiInstrument = #"harpsichord" \melodie \set Staff.midiInstrument = #"clav" \melodie \set Staff.midiInstrument = #"celesta" \melodie \set Staff.midiInstrument = #"glockenspiel" \melodie \set Staff.midiInstrument = #"music box" \melodie \set Staff.midiInstrument = #"vibraphone" \melodie \set Staff.midiInstrument = #"marimba" \melodie \set Staff.midiInstrument = #"xylophone" \melodie \set Staff.midiInstrument = #"tubular bells" \melodie \set Staff.midiInstrument = #"dulcimer" \melodie \set Staff.midiInstrument = #"drawbar organ" \melodie \set Staff.midiInstrument = #"percussive organ" \melodie \set Staff.midiInstrument = #"rock organ" \melodie \set Staff.midiInstrument = #"church organ" \melodie \set Staff.midiInstrument = #"reed organ" \melodie \set Staff.midiInstrument = #"accordion" \melodie \set Staff.midiInstrument = #"harmonica" \melodie \set Staff.midiInstrument = #"concertina" \melodie \set Staff.midiInstrument = #"acoustic guitar (nylon)" \melodie \set Staff.midiInstrument = #"acoustic guitar (steel)" \melodie \set Staff.midiInstrument = #"electric guitar (jazz)" \melodie \set Staff.midiInstrument = #"electric guitar (clean)" \melodie \set Staff.midiInstrument = #"electric guitar (muted)" \melodie \set Staff.midiInstrument = #"overdriven guitar" \melodie \set Staff.midiInstrument = #"distorted guitar" \melodie \set Staff.midiInstrument = #"acoustic bass" \melodie \set Staff.midiInstrument = #"electric bass (finger)" \melodie \set Staff.midiInstrument = #"electric bass (pick)" \melodie \set Staff.midiInstrument = #"fretless bass" \melodie \set Staff.midiInstrument = #"slap bass 1" \melodie \set Staff.midiInstrument = #"slap bass 2" \melodie \set Staff.midiInstrument = #"synth bass 1" \melodie \set Staff.midiInstrument = #"synth bass 2" \melodie \set Staff.midiInstrument = #"violin" \melodie \set Staff.midiInstrument = #"viola" \melodie \set Staff.midiInstrument = #"cello" \melodie \set Staff.midiInstrument = #"contrabass" \melodie \set Staff.midiInstrument = #"tremolo strings" \melodie \set Staff.midiInstrument = #"pizzicato strings" \melodie \set Staff.midiInstrument = #"orchestral strings" \melodie \set Staff.midiInstrument = #"timpani" \melodie \set Staff.midiInstrument = #"string ensemble 1" \melodie \set Staff.midiInstrument = #"string ensemble 2" \melodie \set Staff.midiInstrument = #"synthstrings 1" \melodie \set Staff.midiInstrument = #"synthstrings 2" \melodie \set Staff.midiInstrument = #"choir aahs" \melodie \set Staff.midiInstrument = #"voice oohs" \melodie \set Staff.midiInstrument = #"synth voice" \melodie \set Staff.midiInstrument = #"orchestra hit" \melodie \set Staff.midiInstrument = #"trumpet" \melodie \set Staff.midiInstrument = #"trombone" \melodie \set Staff.midiInstrument = #"tuba" \melodie \set Staff.midiInstrument = #"muted trumpet" \melodie \set Staff.midiInstrument = #"french horn" \melodie \set Staff.midiInstrument = #"brass section" \melodie \set Staff.midiInstrument = #"synthbrass 1" \melodie \set Staff.midiInstrument = #"synthbrass 2" \melodie \set Staff.midiInstrument = #"soprano sax" \melodie \set Staff.midiInstrument = #"alto sax" \melodie \set Staff.midiInstrument = #"tenor sax" \melodie \set Staff.midiInstrument = #"baritone sax" \melodie \set Staff.midiInstrument = #"oboe" \melodie \set Staff.midiInstrument = #"english horn" \melodie \set Staff.midiInstrument = #"bassoon" \melodie \set Staff.midiInstrument = #"clarinet" \melodie \set Staff.midiInstrument = #"piccolo" \melodie \set Staff.midiInstrument = #"flute" \melodie \set Staff.midiInstrument = #"recorder" \melodie \set Staff.midiInstrument = #"pan flute" \melodie \set Staff.midiInstrument = #"blown bottle" \melodie \set Staff.midiInstrument = #"shakuhachi" \melodie \set Staff.midiInstrument = #"whistle" \melodie \set Staff.midiInstrument = #"ocarina" \melodie \set Staff.midiInstrument = #"lead 1 (square)" \melodie \set Staff.midiInstrument = #"lead 2 (sawtooth)" \melodie \set Staff.midiInstrument = #"lead 3 (calliope)" \melodie \set Staff.midiInstrument = #"lead 4 (chiff)" \melodie \set Staff.midiInstrument = #"lead 5 (charang)" \melodie \set Staff.midiInstrument = #"lead 6 (voice)" \melodie \set Staff.midiInstrument = #"lead 7 (fifths)" \melodie \set Staff.midiInstrument = #"lead 8 (bass+lead)" \melodie \set Staff.midiInstrument = #"pad 1 (new age)" \melodie \set Staff.midiInstrument = #"pad 2 (warm)" \melodie \set Staff.midiInstrument = #"pad 3 (polysynth)" \melodie \set Staff.midiInstrument = #"pad 4 (choir)" \melodie \set Staff.midiInstrument = #"pad 5 (bowed)" \melodie \set Staff.midiInstrument = #"pad 6 (metallic)" \melodie \set Staff.midiInstrument = #"pad 7 (halo)" \melodie \set Staff.midiInstrument = #"pad 8 (sweep)" \melodie \set Staff.midiInstrument = #"fx 1 (rain)" \melodie \set Staff.midiInstrument = #"fx 2 (soundtrack)" \melodie \set Staff.midiInstrument = #"fx 3 (crystal)" \melodie \set Staff.midiInstrument = #"fx 4 (atmosphere)" \melodie \set Staff.midiInstrument = #"fx 5 (brightness)" \melodie \set Staff.midiInstrument = #"fx 6 (goblins)" \melodie \set Staff.midiInstrument = #"fx 7 (echoes)" \melodie \set Staff.midiInstrument = #"fx 8 (sci-fi)" \melodie \set Staff.midiInstrument = #"sitar" \melodie \set Staff.midiInstrument = #"banjo" \melodie \set Staff.midiInstrument = #"shamisen" \melodie \set Staff.midiInstrument = #"koto" \melodie \set Staff.midiInstrument = #"kalimba" \melodie \set Staff.midiInstrument = #"bagpipe" \melodie \set Staff.midiInstrument = #"fiddle" \melodie \set Staff.midiInstrument = #"shanai" \melodie \set Staff.midiInstrument = #"tinkle bell" \melodie \set Staff.midiInstrument = #"agogo" \melodie \set Staff.midiInstrument = #"steel drums" \melodie \set Staff.midiInstrument = #"woodblock" \melodie \set Staff.midiInstrument = #"taiko drum" \melodie \set Staff.midiInstrument = #"melodic tom" \melodie \set Staff.midiInstrument = #"synth drum" \melodie \set Staff.midiInstrument = #"reverse cymbal" \melodie \set Staff.midiInstrument = #"guitar fret noise" \melodie \set Staff.midiInstrument = #"breath noise" \melodie \set Staff.midiInstrument = #"seashore" \melodie \set Staff.midiInstrument = #"bird tweet" \melodie \set Staff.midiInstrument = #"telephone ring" \melodie \set Staff.midiInstrument = #"helicopter" \melodie \set Staff.midiInstrument = #"applause" \melodie \set Staff.midiInstrument = #"gunshot" \melodie } >> \midi { } }
This page is for LilyPond-2.11.58 (development-branch).
Report errors to http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs.
Your suggestions for the documentation are welcome.