Deutsches Lilypond Forum (Archiv)

Allgemein => Fragen zu Funktionen => Thema gestartet von: aboegi am Donnerstag, 25. Oktober 2007, 15:21

Titel: Midi Output
Beitrag von: aboegi am Donnerstag, 25. Oktober 2007, 15:21
Hallo zusammen!

trotz ausgiebigem studium des handbuches bekomme ich meine .ly datei nicht dazu, mir ein .midi auszuspucken. Hat jemand ne Idee woran das hier liegen könnte?

#(set-default-paper-size "a5")
#(set-global-staff-size 14)
\score {
  \header {
    title = "G 068 Ich du wir tanzen"
    tagline = ##f
  }
  <<
    \chords { r4 c1:m69 f:m7 g:47 aes:7+ bes:6 ees:6 f g c:m69 }
    \new staff {
      \clef treble
      \time 4/4
      \key ees \major
      \partial 4
      \relative c'' {
        g4 \repeat volta 2 {
          c^\markup { 3 mal } c c g8 aes~ aes aes r4 aes aes g2 g4 f8 ees~ | ees c r4 r g' f f ees f g f8 g r4 g8 g f4 g8 a8~ a4 f g a8 b~ b4 g
          }
        c r r2
        }
      }
    \addlyrics {
      komm bring uns auf die Bei-  ne tanz mit uns aus der Rei- he be- weg uns auf ein- an- der zu mach aus
      fern und nah aus ich und du ein wir
      }
  >>
    \layout { } 
    \midi { \tempo 4=60 }
}
\version "2.10.33"
Titel: Re: Midi Output
Beitrag von: etilli33 am Donnerstag, 25. Oktober 2007, 20:48
Hallo aboegi!

mir sieht diese Datei etwas seltsam aus? Du benutzt sicher nicht das Handbuch der Version 2.10? Die Syntax unterscheidet sich stark von Version zu Version. Im Handbuch zu 2.10 findet sich die midi-Tempobestimmung durch \tempo nicht mehr!

siehe auch hier: http://lilypond.org/doc/v2.10/Documentation/user/lilypond/Creating-MIDI-files#Creating-MIDI-files

versuch mal diese Datei:


\version "2.10.33"
#(set-default-paper-size "a5")
#(set-global-staff-size 14)
\header {
    title = "G 068 Ich du wir tanzen"
    tagline = ##f
  }
\score {
 
  <<
    \chords { r4 c1:m69 f:m7 g:47 aes:7+ bes:6 ees:6 f g c:m69 }
    \new Staff = staff {
      \clef treble
      \time 4/4
      \key ees \major
      \partial 4
      \relative c'' {
        g4 \repeat volta 2 {
          c^\markup { 3 mal } c c g8 aes~ aes aes r4 aes aes g2 g4 f8 ees~ | ees c r4 r g' f f ees f g f8 g r4 g8 g f4 g8 a8~ a4 f g a8 b~ b4 g
          }
        c r r2
        }
      }
    \addlyrics {
      komm bring uns auf die Bei-  ne tanz mit uns aus der Rei- he be- weg uns auf ein- an- der zu mach aus
      fern und nah aus ich und du ein wir
      }
  >>
    \layout { }
    \midi {
     \context {
       \Score
       tempoWholesPerMinute = #(ly:make-moment 72 4)
       }
   }
}


Version sollte man immer an den Anfang stellen!
Du hattest auch noch einen Schreibfehler drin: Staff muss groß geschrieben werden! Da ist Lilypond pingelig! Bei dir aht es nichts ausgemacht, weil immer ein System (staff) erstellt wird, wenn man Layout anfängt. Aber wenn du etwa zwei gewollt hättest, hättest du dich gewundert, dass nur einer kommt.
Immer, wenn etwas ungewöhnlich erscheint, die log-Datei anschauen, da stehen dann die Fehler drin. In deinem Fall muss da auftauchen: keine neues »staff« gefunden noch erstellt (oder so ähnlich), und du findest auch keine Information zu der Erstellung einer Midi. Wenn du die neue Version übersetzt, findet sich im Log-File dagegen: Ausgabe von »Datei.midi«... o.Ä.
Viel weiteren Erfolg! Und immer nur kräftig fragen. :-)

Gruß
Till
Titel: Re: Midi Output
Beitrag von: aboegi am Donnerstag, 25. Oktober 2007, 21:02
Wow, vielen dank! funktioniert einwandfrei. Das erklärt tatsächlich die Fehler in der log-datei. Der etwas plumpe code entstand einfach aus meinen ersten etwas linken gehversuchen mit lilypond, aber mit derart prompter hilfe wirds sicher bald besser ;D