Vertical slurs

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Vertical slurs

Claire Meyer-2
Hi everyone,

I'm trying to write vertical slurs on a score, like the highlighted ones on the image joined I can't seem to find the relevant page in the documentation, though :(

Anyone can send me the link / tell me how to do it ?

Thanks in advance,
Claire

20200914_102530.jpg (5M) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Vertical slurs

David Nalesnik
Hi Claire,

On Mon, Sep 14, 2020 at 10:19 AM Claire Meyer
<[hidden email]> wrote:
>
> Hi everyone,
>
> I'm trying to write vertical slurs on a score, like the highlighted ones on the image joined I can't seem to find the relevant page in the documentation, though :(
>
> Anyone can send me the link / tell me how to do it ?
>
> Thanks in advance,
> Claire

You'd want to use \arpeggioParenthesis for this. See
https://lilypond.org/doc/v2.20/Documentation/notation/expressive-marks-as-lines

Hope this helps.
David

Reply | Threaded
Open this post in threaded view
|

Re: Vertical slurs

Claire Meyer-2
Hi David,

Sorry for replying so late, things happened this week and I got caught up. Thanks for your answer, it does help some. I'm still stuck, though :
image.png
Either it's a "normal looking" arpeggio across the voices, or it's a "parenthesis-looking" one, but I don't know how to have the separate voices. My code looks like :

\version "2.20.0"

upperHighB = \relative c''' {
aes4 \arpeggioParenthesis bes8. \arpeggio c16 |
aes4 \arpeggioParenthesis <bes aes,>8. \arpeggio c16 |
}

upperLowB = \relative c'' {
c8. bes16 \arpeggioParenthesis aes4 \arpeggio |
}

upper =  {
\time 2/4
\key aes \major
\clef "treble"
\set Staff.connectArpeggios = ##t

<<
\new Voice { \voiceOne \upperHighB }
\new Voice { \voiceTwo \upperLowB }
>>
}

\score {
\new Staff = "piano upper" \with {
\consists "Span_arpeggio_engraver"
} \upper
}

Would someone happen to know how to solve my case ?

Thanks,
Claire

On Mon, Sep 14, 2020 at 6:34 PM David Nalesnik <[hidden email]> wrote:
Hi Claire,

On Mon, Sep 14, 2020 at 10:19 AM Claire Meyer
<[hidden email]> wrote:
>
> Hi everyone,
>
> I'm trying to write vertical slurs on a score, like the highlighted ones on the image joined I can't seem to find the relevant page in the documentation, though :(
>
> Anyone can send me the link / tell me how to do it ?
>
> Thanks in advance,
> Claire

You'd want to use \arpeggioParenthesis for this. See
https://lilypond.org/doc/v2.20/Documentation/notation/expressive-marks-as-lines

Hope this helps.
David
Reply | Threaded
Open this post in threaded view
|

Re: Vertical slurs

Lukas-Fabian Moser

Hi Claire,

Am 17.09.20 um 12:35 schrieb Claire Meyer:
Hi David,

Sorry for replying so late, things happened this week and I got caught up. Thanks for your answer, it does help some. I'm still stuck, though :
image.png
Either it's a "normal looking" arpeggio across the voices, or it's a "parenthesis-looking" one, but I don't know how to have the separate voices.

\arpeggioParenthesis is a \override Arpeggio.xxx, which seems to work on Voice level. We need to move make it work at Staff level; for example, you might add at the beginning of your file:

\layout {
  \context {
    \Staff
    \arpeggioParenthesis
  }
}

This has the drawback of changing the arpeggio style globally for your file (enabling you to omit the occurrences in your music definitions). If that's not okay with you, maybe one of the gurus knows a way to apply \arpeggioParenthesis locally but let it work at staff level.

Lukas

Reply | Threaded
Open this post in threaded view
|

Re: Vertical slurs

Claire Meyer-2
Hi Lukas,

Oh, yes, unfortunately, I need a normal (cross-staff) arpeggio as well. I need something like a mix between the two following things :
Screenshot_20200917_131526.png
Screenshot_20200917_131709.png
My code looks like :

\version "2.20.0"

upperHighB = \relative c''' {
s8 r8 ees8. des16 |
c4 c8. bes16 |
aes4 bes8. \arpeggio c16 |
des2~ \arpeggio |
des4 c8. bes16 |
}

upperLowB = \relative c' {
\arpeggioNormal <ees g bes>8 \arpeggio s4. |
ees'8. des16 c4 |
c8. bes16 aes4 \arpeggio |
bes8. \arpeggio c16 des4~ |
des2 |
}

lowerVoiceB = \relative c {
\arpeggioNormal <ees bes'>8 \arpeggio r r4 |
<aes, aes,>16 c'[ aes ees] ees'8 ees, |
<c c,>16 c'[ aes ees] ees'8 ees, |
<bes bes,>16 des'[ aes ees] ees'8 ees, |
ees,16 des''[ g, ees] ees'8 ees, |
}

global = {
\time 2/4
\key aes \major
}

upper = {
\global
\clef "treble"

<<
\new Voice { \voiceOne \upperHighB }
\new Voice { \voiceTwo \upperLowB }
>>
}

lower = {
\global
\clef "bass"

\lowerVoiceB
}

\score {
\new PianoStaff
<<
\set PianoStaff.connectArpeggios = ##t
\new Staff = "piano upper" \upper
\new Staff = "piano lower" \lower
>>
% \layout {
% \context {
% \PianoStaff
% \arpeggioParenthesis
% }
% }
}

So yeah, I guess I'd be grateful for a guru. Thanks for your answer though, I'll remember it for when the case arises, cause it works as you said.

Claire

On Thu, Sep 17, 2020 at 12:45 PM Lukas-Fabian Moser <[hidden email]> wrote:

Hi Claire,

Am 17.09.20 um 12:35 schrieb Claire Meyer:
Hi David,

Sorry for replying so late, things happened this week and I got caught up. Thanks for your answer, it does help some. I'm still stuck, though :
image.png
Either it's a "normal looking" arpeggio across the voices, or it's a "parenthesis-looking" one, but I don't know how to have the separate voices.

\arpeggioParenthesis is a \override Arpeggio.xxx, which seems to work on Voice level. We need to move make it work at Staff level; for example, you might add at the beginning of your file:

\layout {
  \context {
    \Staff
    \arpeggioParenthesis
  }
}

This has the drawback of changing the arpeggio style globally for your file (enabling you to omit the occurrences in your music definitions). If that's not okay with you, maybe one of the gurus knows a way to apply \arpeggioParenthesis locally but let it work at staff level.

Lukas

Reply | Threaded
Open this post in threaded view
|

Re: Vertical slurs

Xavier Scheuer
On Thu, 17 Sep 2020 at 13:23, Claire Meyer <[hidden email]> wrote:
>
> Hi Lukas,
>
> Oh, yes, unfortunately, I need a normal (cross-staff) arpeggio as well. I need something like a mix between the two following things :
>
> My code looks like :
>
> [...]
>
> So yeah, I guess I'd be grateful for a guru. Thanks for your answer though, I'll remember it for when the case arises, cause it works as you said.

Hi Claire,

Since you are using cross-pianostaff arpeggio, change the definition of arpeggioNormal and arpeggioParenthesis to apply to PianoStaff.

arpeggioNormal = {
  \revert PianoStaff.Arpeggio.stencil
  \revert PianoStaff.Arpeggio.X-extent
  \revert PianoStaff.Arpeggio.arpeggio-direction
  \revert PianoStaff.Arpeggio.dash-definition
}

arpeggioParenthesis = {
  \override PianoStaff.Arpeggio.stencil = #ly:arpeggio::brew-chord-slur
  \override PianoStaff.Arpeggio.X-extent = #ly:grob::stencil-width
  \revert PianoStaff.Arpeggio.dash-definition
}

upperHighB = \relative c''' {
s8 r8 ees8. des16 |
c4 c8. bes16 |
\arpeggioParenthesis
aes4 bes8. \arpeggio c16 |
des2~ \arpeggio |
des4 c8. bes16 |
}

upperLowB = \relative c' {
\arpeggioNormal
<ees g bes>8 \arpeggio s4. |
ees'8. des16 c4 |
\arpeggioParenthesis
c8. bes16 aes4 \arpeggio |
bes8. \arpeggio c16 des4~ |
des2 |
}

lowerVoiceB = \relative c {
\arpeggioNormal
<ees bes'>8 \arpeggio r r4 |
<aes, aes,>16 c'[ aes ees] ees'8 ees, |
<c c,>16 c'[ aes ees] ees'8 ees, |
<bes bes,>16 des'[ aes ees] ees'8 ees, |
ees,16 des''[ g, ees] ees'8 ees, |
}

global = {
\time 2/4
\key aes \major
}

upper = {
\global
\clef "treble"

<<
\new Voice { \voiceOne \upperHighB }
\new Voice { \voiceTwo \upperLowB }
>>
}

lower = {
\global
\clef "bass"

\lowerVoiceB
}

\score {
\new PianoStaff
<<
\set PianoStaff.connectArpeggios = ##t
\new Staff = "piano upper" \upper
\new Staff = "piano lower" \lower
>>
% \layout {
% \context {
% \PianoStaff
% \arpeggioParenthesis
% }
% }
}

Cheers,
Xavier

--
Xavier Scheuer <[hidden email]>

Reply | Threaded
Open this post in threaded view
|

Re: Vertical slurs

Claire Meyer-2
Thank you very much !

Claire

On Thu, Sep 17, 2020 at 2:16 PM Xavier Scheuer <[hidden email]> wrote:
On Thu, 17 Sep 2020 at 13:23, Claire Meyer <[hidden email]> wrote:
>
> Hi Lukas,
>
> Oh, yes, unfortunately, I need a normal (cross-staff) arpeggio as well. I need something like a mix between the two following things :
>
> My code looks like :
>
> [...]
>
> So yeah, I guess I'd be grateful for a guru. Thanks for your answer though, I'll remember it for when the case arises, cause it works as you said.

Hi Claire,

Since you are using cross-pianostaff arpeggio, change the definition of arpeggioNormal and arpeggioParenthesis to apply to PianoStaff.

arpeggioNormal = {
  \revert PianoStaff.Arpeggio.stencil
  \revert PianoStaff.Arpeggio.X-extent
  \revert PianoStaff.Arpeggio.arpeggio-direction
  \revert PianoStaff.Arpeggio.dash-definition
}

arpeggioParenthesis = {
  \override PianoStaff.Arpeggio.stencil = #ly:arpeggio::brew-chord-slur
  \override PianoStaff.Arpeggio.X-extent = #ly:grob::stencil-width
  \revert PianoStaff.Arpeggio.dash-definition
}

upperHighB = \relative c''' {
s8 r8 ees8. des16 |
c4 c8. bes16 |
\arpeggioParenthesis
aes4 bes8. \arpeggio c16 |
des2~ \arpeggio |
des4 c8. bes16 |
}

upperLowB = \relative c' {
\arpeggioNormal
<ees g bes>8 \arpeggio s4. |
ees'8. des16 c4 |
\arpeggioParenthesis
c8. bes16 aes4 \arpeggio |
bes8. \arpeggio c16 des4~ |
des2 |
}

lowerVoiceB = \relative c {
\arpeggioNormal
<ees bes'>8 \arpeggio r r4 |
<aes, aes,>16 c'[ aes ees] ees'8 ees, |
<c c,>16 c'[ aes ees] ees'8 ees, |
<bes bes,>16 des'[ aes ees] ees'8 ees, |
ees,16 des''[ g, ees] ees'8 ees, |
}

global = {
\time 2/4
\key aes \major
}

upper = {
\global
\clef "treble"

<<
\new Voice { \voiceOne \upperHighB }
\new Voice { \voiceTwo \upperLowB }
>>
}

lower = {
\global
\clef "bass"

\lowerVoiceB
}

\score {
\new PianoStaff
<<
\set PianoStaff.connectArpeggios = ##t
\new Staff = "piano upper" \upper
\new Staff = "piano lower" \lower
>>
% \layout {
% \context {
% \PianoStaff
% \arpeggioParenthesis
% }
% }
}

Cheers,
Xavier

--
Xavier Scheuer <[hidden email]>