[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Zapateado in Lilypond
From: |
Thomas Morley |
Subject: |
Re: Zapateado in Lilypond |
Date: |
Thu, 20 Oct 2016 23:11:57 +0200 |
2016-10-20 19:52 GMT+02:00 Francisco Vila <address@hidden>:
> 2016-10-20 10:51 GMT+02:00 Peter Nærum <address@hidden>:
>>
>> I am trying to use Lilypond to notate Zapateado (footwork in flamenco). In
>> the system I use, left foot is marked by a stem going down, while right foot
>> has no downward stem. Notes have meanings like: f: flat tap, a: strait tap,
>> c: heel tap, e: toe tap. Besides there are two ways of using the heel: With
>> the front foot on the flour and with the foot clear of the flour. The first
>> case is marked with a dot in the a-position in the staff. I have included
>> three small examples. Do any body have a clue if it is polible write these
>> markings in Lilypond?
>>
>
> Here are some (incomplete) ideas you can use and adapt.
>
> upprA={ \tuplet 3/2{ a8 e c }
> \tuplet 3/2{ a e c }
> \tuplet 3/2{ a e c }
> \tuplet 3/2{ a e c }
> }
>
> lowrA={ \tuplet 3/2{ s8 e s }
> \tuplet 3/2{ a s c }
> \tuplet 3/2{ s e s }
> \tuplet 3/2{ a s c } }
>
> \score{
> { \clef bass << \upprA \\ \lowrA >> }
> }
>
> upprB={ c8 c c c <<c4 c>> <<c c>> }
> lowrB={ s8 c s c s4 s }
>
>
> \score{
> { \clef bass << \upprB \\ \lowrB >> }
> }
>
> upprC={ f8 c c c c c e c e c e c }
> lowrC={ s8 s s c s c s c s c s c }
>
> \score{
> { \clef bass << \upprC \\ \lowrC >> }
> }
>
>
> doo={ \override NoteHead.stencil = #ly:text-interface::print
> \override NoteHead.text = #(markup #:musicglyph "dots.dot")
> \omit Flag
> \omit Stem
> a' c'' e'' }
>
> \score{
> { \doo }
> }
>
>
> --
> Francisco Vila. Badajoz (Spain)
> www.paconet.org , www.csmbadajoz.com
I'd go for drummode. Feels more appropriate, leading to:
\version "2.19.48"
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Drum-definitions
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
drumPitchNames.flattap = #'flattap
drumPitchNames.ft = #'flattap
drumPitchNames.straittap = #'straittap
drumPitchNames.st = #'straittap
drumPitchNames.heeltap = #'heeltap
drumPitchNames.ht = #'heeltap
drumPitchNames.heeltapfront = #'heeltapfront
drumPitchNames.htf = #'heeltapfront
drumPitchNames.heeltapclear = #'heeltapclear
drumPitchNames.htc = #'heeltapclear
drumPitchNames.toetap = #'toetap
drumPitchNames.ttp = #'toetap % tt is in use already
#(define zapateado
'((flattap default #f -3)
(straittap default #f -1)
(heeltap default #f 1)
(heeltapfront default "staccato" 1)
(heeltapclear default #f 1)
(toetap default #f 3)))
midiDrumPitches.flattap = f
midiDrumPitches.straittap = a
midiDrumPitches.heeltap = c
midiDrumPitches.heeltapfront = c
midiDrumPitches.heeltapclear = c
midiDrumPitches.toetap = e
#(define setHeeltapfrontDot
(lambda (grob)
(let* ((nh (ly:grob-parent grob X))
(drum-type
(ly:prob-property (ly:grob-property nh 'cause) 'drum-type))
(dir (ly:grob-property grob 'direction)))
(if (eq? drum-type 'heeltapfront)
(begin
(ly:grob-set-property! grob 'Y-offset -1)
(ly:grob-translate-axis! grob (if (positive? dir) -2 -1) X))))))
\layout {
\context {
\DrumStaff
drumStyleTable = #(alist->hash-table zapateado)
drumPitchTable = #(alist->hash-table midiDrumPitches)
\omit Clef
}
\context {
\DrumVoice
\override Script.after-line-breaking = #setHeeltapfrontDot
}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Example 1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
one =
\drummode {
\time 2/4
\tuplet 3/2 4 \repeat unfold 2 { st8 ttp htf st ttp htf }
}
two =
\drummode {
\omit TupletNumber
\tuplet 3/2 4 \repeat unfold 2 { s8 ttp s st[ s ht] }
}
\score {
\new DrumStaff \with { instrumentName = "Zapateo " }
<<
\new DrumVoice = "right foot" { \voiceOne \one }
\new DrumVoice = "left foot" { \voiceTwo \two }
>>
\layout {}
%\midi {}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Example 2 ??
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Example 3
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
one =
\drummode {
\time 6/4
\unset Timing.beamExceptions
\set Timing.beatStructure = 1,1,1,1,1,1
s4 ht8 ht ht ht ttp ht ttp ht ttp ht
}
two =
\drummode {
ft8 htf \repeat unfold 5 { s htf }
}
\score {
\new DrumStaff \with { instrumentName = "Zapateo " }
<<
\new DrumVoice = "right foot" { \voiceOne \one }
\new DrumVoice = "left foot" { \voiceTwo \two }
>>
\layout {}
%\midi {}
}
Though, Peter, I have to admit I don't understand your second example.
If I'm not mistaken, it has nothing to do with anything in your
desriptions. So ...??
Anyway, whether you follow Franciso's proposal or my own, LilyPond can.
Cheers,
Harm