Autor Thema: Style für Cajon  (Gelesen 4157 mal)

Tolotos

  • Gast
Style für Cajon
« am: Montag, 28. November 2011, 20:42 »
Hallo,

wie kann ich einen cajon-style erstellen?
 - eine Linie
 - bass = quadratischer Kopf unter der Linie
 - tone = runder Kopf auf der Linie
 - slap = diamond über der Linie
 - tip = cross über der Linie

evtl. den Abstand über bzw. unter der Linien einstellbar


Gruß Rüdiger


Tolotos

  • Gast
Re: Style für Cajon
« Antwort #1 am: Montag, 28. November 2011, 21:52 »
Das folgende habe ich schon ausprobiert. Allerdings ohne Erfolg.

#(define cajonset '(
  (bass default #f -2)
  (tone default #f  0)
  (slap diamond #f  2)
  (tip  cross   #f  2)
))

SystemFuerCajon = {
  \override Staff.StaffSymbol #'line-positions = #'(0)
  % Das ist notwendig. Wenn nicht angegeben, wird die Taktlinie zu kurz!
  \override Staff.BarLine #'bar-size = #5
}

\new DrumStaff \with {
  \consists "Parenthesis_engraver"
} <<
  \time 4/4
  \numericTimeSignature 
  \set DrumStaff.drumStyleTable = #(alist->hash-table cajonset)
  \SystemFuerCajon
  \drummode{
    \stemUp
    bass4 tone4 slap4 tip4 |
  }
>>

Die Instrumenten Bezeichnungen werden nicht erkannt. Außerdem sind die Taktstriche viel zu kurz.


Gruß Rüdiger


harm6

  • Gast
Re: Style für Cajon
« Antwort #2 am: Freitag, 2. Dezember 2011, 02:13 »
Hallo Rüdiger,

heute komme ich endlich dazu mich mit Deiner Frage zu beschäftigen.

Das größte Problem hast Du schon benannt:

Zitat
Die Instrumenten Bezeichnungen werden nicht erkannt.


Das liegt natürlich daran, daß Deine Bezeichnungen in drumpitch-init.ly nicht aufgeführt werden. Also muß man sie hinzufügen.

Ansonsten habe ich nur in cajonset die Verteilung auf den Linien geändert und einen speziellen Notenkopf für bass eingefügt.

\version "2.14.2"
drumPitchNames =
#(append  '(
  (bass . bass)
  (tone . tone)
  (slap . slap)
  (tip  . tip )
  )
drumPitchNames
)

#(define cajonset '(
  (bass la      #f -1)
  (tone default #f  0)
  (slap diamond #f  1)
  (tip  cross   #f  1)
))

SystemFuerCajon = {
  \override Staff.StaffSymbol #'line-positions = #'(0)
  % Das ist notwendig. Wenn nicht angegeben, wird die Taktlinie zu kurz!
  \override Staff.BarLine #'bar-extent = #'(-1 . 1)
  % in "2.12.3"
  %\override Staff.BarLine #'bar-size = #5
}

\new DrumStaff \with {
  \consists "Parenthesis_engraver"
} <<
  \time 4/4
  \numericTimeSignature
  \set DrumStaff.drumStyleTable = #(alist->hash-table cajonset)
  \SystemFuerCajon
  \drummode{
    \stemUp
     bass4 tone4 slap4 tip4 |

  }
>>


HTH,
  Harm

P.S. In SystemFuerCajon habe ich \override Staff.BarLine #'bar-extent = #'(-1 . 1) benutzt um den Taktstrich etwas zu vergrößern. Das ist der Befehl in "2.14.2". Falls Du noch "2.12.3" benutzt mußt Du erst wieder den anderen einkommentieren.
Deshalb: Immer die Version angeben!!!

trulli

  • Gast
Re: Style für Cajon
« Antwort #3 am: Freitag, 2. Dezember 2011, 09:13 »
Klasse, harm!

Wieder ein neuer Beitrag von dir zu unserem Lieblingskapitel "Lily kann alles".   :)

Tolotos

  • Gast
Re: Style für Cajon
« Antwort #4 am: Freitag, 2. Dezember 2011, 09:46 »
Super! Danke!

Wo kann ich denn die erforderlichen Informationen selbst finden?
Dass es ein Mapping der Instrumentennamen geben muss habe ich mir gedacht,
aber wo und wie wusste ich nicht. Was bedeuten denn die Einträge in den "drumPitchNames" ?


Gruß Rüdiger
« Letzte Änderung: Freitag, 2. Dezember 2011, 10:39 von Tolotos »

harm6

  • Gast
Re: Style für Cajon
« Antwort #5 am: Samstag, 3. Dezember 2011, 00:23 »
@trulli:

Zitat
Klasse, harm!

Wieder ein neuer Beitrag von dir zu unserem Lieblingskapitel "Lily kann alles".

Danke für die Blumen, aber mein einziger Verdienst besteht darin gefunden zu haben was ich wo abkupfern muß. ;)
Ansonsten hast Du natürlich recht: "Lily kann alles!!!"

@Tolotos:

Zitat
Wo kann ich denn die erforderlichen Informationen selbst finden?

Da ich mich nur dann mit \drummode beschäftige, wenn hier im Forum eine Frage dazu auftaucht habe ich wie folgt gesucht:
Notationsreferenz: Dort habe ich den la-Notenkopf gefunden. NR 1.1.4 Notenköpfe -> Notenköpfe mit besonderen Formen
Hier im Forum: Das setup. https://archiv.lilypondforum.de/index.php?topic=884.msg4937#msg4937
(Es hilft natürlich, wenn man in diesem Thread mitgearbeitet hat.)
Wenn ich bis hier nicht fündig geworden wäre, dann hätte ich auf der englischen Liste gesucht. (Da stimmt in letzter Zeit aber öfter mal was mit der Such-Machine nicht.)
Wenn bis jetzt nichts zu finden war, dann allgemeine Google-Suche. (Es gibt viele Archive für lilypond-mailing-listen.)
Natürlich muß man den Such-Parameter sorgfältig auswählen. Recht häufig seh' ich auch per Zufall irgenwas und speichere es für spätere Verwendung ab.

Das ist jetzt leider recht allgemein, führt aber meistens zum Erfolg. Wenn nicht, kann man ja im Forum fragen. ;D

Zitat
Was bedeuten denn die Einträge in den "drumPitchNames" ?

In drumpitch-init.ly findest Du ganz am Anfang drumPitchNames = ...
Es handelt sich um eine (sehr) lange alist. Die erste Angabe eines jeden Paars ist diejenige, die auch in \drummode geschrieben wird. Der zweite Eintrag wird per default durch percussion-style, bongos-style, congas-style, timbales-style oder drums-style ausgelesen und das Erscheinungsbild nach den dortigen Vorgaben bestimmt.

Neu definierte drumPitchNames sind:

'(
  (bass . bass)
  (tone . tone)
  (slap . slap)
  (tip  . tip )
  )

Der scheme-Befehl append fügt diese neu definierte alist der bestehenden drumPitchNames-liste hinzu.

Durch (define cajonset ...) hast Du einen eigenen style definiert, der das Erscheinungsbild der Elemente obiger alist bestimmt und mit \set DrumStaff.drumStyleTable = #(alist->hash-table cajonset) hast Du es aufgerufen.

Zur Illustration habe ich mal folgendes definiert, man muß nur aufpassen das man nichts definiert, was es schon gibt (getestet mit "2.14.2" und "2.15.20"):

\version "2.14.2"

drumPitchNames =
#(append  '(
  (ac . agatha-christie)
  (dh . dashiell-hammet)
  (rc . raymond-chandler)
  (ph . patricia-highsmith)
  )
drumPitchNames
)

#(define cajonset '(
  (agatha-christie    la      #f -1)
  (dashiell-hammet    default #f  0)
  (raymond-chandler   diamond #f  1)
  (patricia-highsmith cross   #f  1)
))

SystemFuerCajon = {
  \override Staff.StaffSymbol #'line-positions = #'(0)
  % Das ist notwendig. Wenn nicht angegeben, wird die Taktlinie zu kurz!
  \override Staff.BarLine #'bar-extent = #'(-1 . 1)
  % in ".12.3"
  %\override Staff.BarLine #'bar-size = #5
}

\new DrumStaff \with {
  \consists "Parenthesis_engraver"
} <<
  \time 4/4
  \numericTimeSignature
  \set DrumStaff.drumStyleTable = #(alist->hash-table cajonset)
  \SystemFuerCajon
  \drummode{
    \stemUp
     ac4 dh4 rc ph |

  }
>>

Gruß,
  Harm