Autor Thema: Einspurige MIDIs ?  (Gelesen 3032 mal)

stargazer

  • Member
Einspurige MIDIs ?
« am: Mittwoch, 9. April 2008, 20:33 »
Hallo *.*,

ich habe den Eindruck, dass Lilypond auch mehrstimmige Scores in einspurige MIDIs packt.

\score % Midi_Sopran_betont
{
\new Staff
<<
      \tempo 4 = 110
          \new Voice { \set Staff.midiInstrument = "trumpet" r\ff \SopIntro   r\ff \SopMusic }
          \new Voice { \set Staff.midiInstrument = "trombone" r\pp \AltIntro   r\pp \AltMusic }
          \new Voice { \set Staff.midiInstrument = "trombone" r\pp \TenorIntro r\pp \TenorMusic }
      \new Voice { \set Staff.midiInstrument = "trombone" r\pp \BassIntro  r\pp \BassMusic }
>>
  \midi { }
}

Dieser Code erzeugt ein vierstimmiges MIDI.

Betrachte ich das MIDI-File mit einem MIDI-Editor, so sehe ich nur eine Midispur mit allen vier Stimmen. Als MIDI-Instrument wird "tombone" angezeigt.

Auf eine MIDI-Spur kann natürlich nur ein MIDI-Instrument angewandt werden. Im oben gezeigten Code ist dies immer das letzte Instrument in der Folge.
\ff für die Sopranstimme schlägt auch nicht durch; auch hier wird die letzte Lautstärekeanweisung verwendet.

Lilypond kommt auch mit mehreren solcher MIDI-Score-Blöcken zurecht. So lassen sich auch gleichzeitig mehrere Einzelstimmen als diskrete MIDI-Files erzeugen.

#(define output-suffix "Sopran")Dieser Code greift leider nicht für die MIDI-Dateinamen (nur für "Layout"-Ausgaben).

schöne Grüße
Dieter   

ding-dong

  • Member
Re: Einspurige MIDIs ?
« Antwort #1 am: Donnerstag, 10. April 2008, 06:28 »
im manual steht:
Zitat
The midi output allocates a channel for each staff, and one for global settings.
es genügt also \context Voice mit \context Staff zu ersetzen, um eine midispur pro "stimme" zu erhalten - hdh

stargazer

  • Member
Re: Einspurige MIDIs ?
« Antwort #2 am: Donnerstag, 10. April 2008, 19:17 »
Merci,

mit einzelnen Staffs erhält man auch einzelne Spuren im MIDI.

So lassen sich zu einzelnen Stimmen verschiedene MIDI-Instrumente zuordnen, bzw. man kann einzelne Stimmen hervorheben.

Genau das wollte ich  ;D

Dieter