[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Three voices plus tie in RH - notation best practice?
From: |
Jan-Peter Voigt |
Subject: |
Re: Three voices plus tie in RH - notation best practice? |
Date: |
Wed, 19 Oct 2011 14:26:13 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.23) Gecko/20110921 Lightning/1.0b2 Thunderbird/3.1.15 |
Hello James,
this is a question, that really can take hours, nights or whatever ...
Elaine Gould says, Ties shall almost touch the note head and they shall
not fall onto a stave-line (pp. 60)
Here are two techniques I usally use to solve such problems. First it is
a scheme-destillation to shape ties (and slurs) with 8 numbers (4 times
x y offset), wich moves the control points.
The other one is an override of the staff-position. The first technique
I only use for more difficult pieces: I shortend the a-tie, pushed it
downwards and flattened it a little bit.
Most times an override of the staff-position does it: I placed the
cis-tie so that it doesn't lies on the stave-line and nearer to the
note-heads.
For this shape-thing I sometimes use a shortcut that only takes one
number to move the two middle-control-points horizontal.
HTH.
Cheers,
Jan-Peter
--snip--
\version "2.14.2"
\include "english.ly"
%%% take care ... some scheme is on the way ...
#(define ((alter-tie offsets) grob)
;; get default control-points
(let ((coords (ly:tie::calc-control-points grob))
(n 0))
;; add offsets to default coordinates
(define loop (lambda (n)
(set-car! (list-ref coords n)
(+ (list-ref offsets (* 2 n))
(car (list-ref coords n))))
(set-cdr! (list-ref coords n)
(+ (list-ref offsets (1+ (* 2 n)))
(cdr (list-ref coords n))))
(if (< n 3)
(loop (1+ n)))))
;; return altered coordinates
(loop n)
coords))
%%% shape slurs, phrasing slurs and ties
shapeSlur = #(define-music-function (parser location offsets) (list?)
#{
\once \override Slur #'control-points = #(alter-curve $offsets)
#})
shapePhSlur = #(define-music-function (parser location offsets) (list?)
#{
\once \override PhrasingSlur #'control-points = #(alter-curve $offsets)
#})
shapeTie = #(define-music-function (parser location offsets) (list?)
#{
\once \override Tie #'control-points = #(alter-tie $offsets)
#})
%%% OK, back to normal
\score {
\new PianoStaff <<
\new Staff {
\key d \major
\numericTimeSignature
<<
\new Voice \relative c'' {
\voiceOne
%%% try staff-position
r2 r8 \once \override Tie #'staff-position = #1.8 cs?4.~ cs2
}
\new Voice \relative c'' {
\voiceTwo
a16 fs e fs \repeat tremolo 2 { e fs } \repeat tremolo 2 { e
fs } a16 fs e fs
\repeat tremolo 4 { e fs }
}
\new Voice \relative c'' {
\voiceThree
%%% try to shape the tie a little bit
a2. \shapeTie #'(0 -0.5 0 -0.7 -1 -0.7 -1.5 -0.5) a4^~ a2
}
>>
r2
}
\new Staff {
\key d \major \clef bass
\numericTimeSignature
<<
\new Voice \relative c' {
\voiceOne
g16 b c b \repeat tremolo 2 { c b } \repeat tremolo 2 { c b }
g16 b c b
\repeat tremolo 4 { c b }
}
\new Voice \relative c' {
\voiceTwo
g2.\sustainOn g4~\sustainOn g2
}
>>
r2\sustainOff
}
>>
}
--snip--
Am 19.10.2011 10:27, schrieb James Harkins:
Hi, a "notational correctness" question rather than a lilypond technical
question, hope that's okay.
A student brought in some work today, some of which calls for three voices in
the right hand of a PianoStaff. Minus expressive marks, the lilypond example
below gets the point across, but I wonder if there's a better way? The
collision at the beginning of bar 2, between the a4~ a2 tie and the c# in voice
1, seems inevitable but it isn't pretty. (\tieDown looks even worse.)
So, those of you with a notation reference or two in your library, how would
you handle this?
Thanks!
James
PS Sorry for the non-tiny example. In this case, the voicing is complex enough
that I wanted to be explicit about all the new voices.
\version "2.14.2"
\include "english.ly"
\score {
\new PianoStaff<<
\new Staff {
\key d \major
\numericTimeSignature
<<
\new Voice \relative c'' {
\voiceOne
r2 r8 cs?4.~ cs2
}
\new Voice \relative c'' {
\voiceTwo
a16 fs e fs \repeat tremolo 2 { e fs } \repeat tremolo 2 { e fs } a16
fs e fs
\repeat tremolo 4 { e fs }
}
\new Voice \relative c'' {
\voiceThree
a2. a4~ a2
}
>>
r2
}
\new Staff {
\key d \major \clef bass
\numericTimeSignature
<<
\new Voice \relative c' {
\voiceOne
g16 b c b \repeat tremolo 2 { c b } \repeat tremolo 2 { c b } g16 b c
b
\repeat tremolo 4 { c b }
}
\new Voice \relative c' {
\voiceTwo
g2.\sustainOn g4~\sustainOn g2
}
>>
r2\sustainOff
}
>>
}
--
James Harkins /// dewdrop world
address@hidden
http://www.dewdrop-world.net
"Come said the Muse,
Sing me a song no poet has yet chanted,
Sing me the universal." -- Whitman
blog: http://www.dewdrop-world.net/words
audio clips: http://www.dewdrop-world.net/audio
more audio: http://soundcloud.com/dewdrop_world/tracks
_______________________________________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user