Autor Thema: "General Midi Drum Kits" - Befehl vorhanden?  (Gelesen 4520 mal)

Salix Alba

  • Gast
"General Midi Drum Kits" - Befehl vorhanden?
« am: Montag, 17. Mai 2010, 16:22 »
Hallo Lilypondbenutzer!

In eimem graphischen Notensatzprogramm(Forte) habe ich herausgefunden,
dass beim Schlagzeug zwischen mehreren Arten ausgewählt werden kann.

Auf der Suche nach weiteren Informationen, bin ich auf diese Webseite gestoßen,
auf der sie "Kits" genannt werden und die wiederum von einem sogenannten "patch" bestimmt werden.

Jetzt stellt sich mir natürlich die Frage, ob Lilypond einen Befehl besitzt,
mit der für die MIDI-Ausgabe eines \drumStaff-Kontexts eine solche Einstellung vorgenommen kann.

Wisst ihr vielleicht, wie dieser Befehl lautet, beziehungsweise ob er überhaupt existiert?

RobUr

  • Gast
Re:"General Midi Drum Kits" - Befehl vorhanden?
« Antwort #1 am: Montag, 17. Mai 2010, 19:03 »
Hallo und herzlich willkommen!

Lily unterstützt diese Kits, aber das ist nicht dokumentiert. Die Definition befindet sich in scm/midi.scm.
Normalerweise wird für einen DrumStaff-Context automatisch das Standardkit als MIDI-Instrument ausgewählt. Das kannst du folgendermaßen ändern:
\set Staff.midiInstrument = #"jazz kit"Die verfügbaren Kits heißen in Lily:
"standard kit" / "standard drums" / "drums"
"room kit" / "room drums"
"power kit" / "power drums" / "rock drums"
"electronic kit" / "electronic drums"
"tr-808 kit" / "tr-808 drums"
"jazz kit" / "jazz drums"
"brush kit" / "brush drums"
"orchestra kit" / "orchestra drums" / "classical drums"
"sfx kit" / "sfx drums"
"mt-32 kit" / "mt-32 drums" / "cm-64 kit" / "cm-64 drums"


Siehe auch NR 2.5 Percussion, NR 3.5 MIDI output und NR B.4 MIDI instruments.

Grüße, Robert

Salix Alba

  • Gast
Re:"General Midi Drum Kits" - Befehl vorhanden?
« Antwort #2 am: Montag, 17. Mai 2010, 20:12 »
Danke!
Das dachte ich mir doch, dass soetwas in LilyPond integriert ist.

Ich hab' auch gleich die ersten Praxistests vollzogen,
doch es scheint mir leider nicht recht zu gelingen...

\score {
<<
\new DrumStaff
\set Staff.midiInstrument = #"brush kit"
\new DrumVoice
{ \voiceOne \drummode { bd4 sne bd sna } }
>>
\midi { } }
In meiner MIDI-Ausgabe erscheinen nämlich statt einer gleich drei Notenzeilen:
Eine mit den eingegebenen Schlagzeug-Noten und zwei leere,
wobei das verwendete Instrument der ersten bei jedem Kit ein Kalvier
und das der zweiten dem Patch-Wert entspricht.  ???

RobUr

  • Gast
Re:"General Midi Drum Kits" - Befehl vorhanden?
« Antwort #3 am: Dienstag, 18. Mai 2010, 05:06 »
Zitat
In meiner MIDI-Ausgabe erscheinen nämlich statt einer gleich drei Notenzeilen
Ja, es entspricht auch dem, was du notiert hast! Du musst es schon richtig klammern:
\version "2.12.3"

\score {
\new DrumStaff \with {
midiInstrument = #"brush kit"
}
<<
\new DrumVoice {
\voiceOne \drummode { bd4 sne bd sna }
}
>>

\midi { }
}
Der control track wird immer mit erzeugt.

Ich kann wirklich empfehlen, das Learning Manual (Handbuch zum Lernen) durchzulesen: darin sind auch Klammerung und Verschachtelung gut beschrieben!

Grüße, Robert

Salix Alba

  • Gast
Re:"General Midi Drum Kits" - Befehl vorhanden?
« Antwort #4 am: Dienstag, 18. Mai 2010, 20:35 »
Zitat
Ja, es entspricht auch dem, was du notiert hast! Du musst es schon richtig klammern:

Ah, ich glaube, jetzt kann ich das Ganze nachvollziehen;
Weil ich mit << bzw. >> \new DrumStaff, \new DrumVoice und \voiceOne
eigeklammert habe, werden sie wohl als gleichzeitig dargestellt, oder?

Zitat
Der control track wird immer mit erzeugt.

Bei mir erscheint er (in den MIDI-Dateien) eigentlich immer nur als Titel des Stückes.

Zitat
Ich kann wirklich empfehlen, das Learning Manual (Handbuch zum Lernen) durchzulesen: darin sind auch Klammerung und Verschachtelung gut beschrieben!

Stimmt! Darin steht im Grunde fast alles nötige Wissen.
Ich habe das Handbuch und die Notationsreferenz auch schon
im Großen und Ganzen gelesen und benutze sie auch noch des öfteren,
aber solche Fehler passieren mir leider immer wieder...

So passt jetzt auf jeden Fall alles:
Eine Spur, ein ausgewähltes Kit.

Danke vielmals!

RobUr

  • Gast
Re:"General Midi Drum Kits" - Befehl vorhanden?
« Antwort #5 am: Mittwoch, 19. Mai 2010, 04:28 »
Zitat
Weil ich mit << bzw. >> \new DrumStaff, \new DrumVoice und \voiceOne
eigeklammert habe, werden sie wohl als gleichzeitig dargestellt, oder?
Bingo! Alles innerhalb der doppelten, spitzen Klammern << >> passiert gleichzeitig/parallel. Du hast also innerhalb der „Gleichzeitigkeit“ separat einen DrumStaff-Context, einen DrumVoice-Context und per \drummode einen zusätzlichen DrumStaff-Context erzeugt ;)

Zur Erinnerung: innerhalb eines Staff-Contexts können nur noch Voices vorkommen. Wird eine Voice ohne Staff notiert, wird automatisch im Hintergrund ein Staff-Context dafür angelegt. Eine Ebene höher wird zusätzlich ohne explizite Deklaration der Score-Context stillschweigend hinzugefügt.

Dies bedeutet eigentlich nur, dass uns Lily die Deklaration „fehlender“ Contexte unterwegs abnimmt. Das muss man aber wissen, und es sei deshalb anfänglich verziehen. Die „innerbetriebliche“ Struktur eines score ist:

[group] {
  staff {
    voice {
    }
  }
}

Mit den spitzen Klammern definiert man parallel stattfindende musikalische Ereignisse. Fehlen diese Klammern, geht Lily von nacheinander, zusammengesetzten Ereignissen aus. Verschachtelungen sind unbegrenzt möglich. Falls dieser Hierarchie eine Ebene fehlt, wird diese automatisch ergänzt.
\voiceOne würde jedenfalls einen neuen Voice-Context erzeugen, wenn es einen anderen Voice-Context noch nicht gäbe. In deinem Beispiel war er bereits angelegt, aber die DrumVoice hatte bereits einen Staff-Context zusätzlich zu dem vorher definierten DrumStaff angelegt.

Wenn man den Empfehlungen des LM folgte, sollte man spitze und runde Klammern – auch wenn sie für Einzelstimmen etc. redundant sind – immer mit notieren. Ansonsten muss man stets im Hinterkopf behalten, was genau gleichzeitig und was nacheinander passieren soll.

Beste Grüße, Robert

Salix Alba

  • Gast
Re:"General Midi Drum Kits" - Befehl vorhanden?
« Antwort #6 am: Donnerstag, 20. Mai 2010, 20:43 »
Zitat
Wenn man den Empfehlungen des LM folgte, sollte man spitze und runde Klammern – auch wenn sie für Einzelstimmen etc. redundant sind – immer mit notieren. Ansonsten muss man stets im Hinterkopf behalten, was genau gleichzeitig und was nacheinander passieren soll.

Ich werde versuchen, mich daran zu halten.