lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: rolled chords in mulivoice classical guitar score


From: Tom Cloyd
Subject: Re: rolled chords in mulivoice classical guitar score
Date: Tue, 14 Oct 2008 18:50:27 -0700
User-agent: Thunderbird 2.0.0.17 (X11/20080925)

Sorry. I spoke too soon. This is no solution. It messes up the VISIBLE voicing in the score - the direction of stems. It also cannot be used to arpeggiate across chords where different voices have different durations - unless one breaks notes up into tied groups. This a bad solution. Sigh. I still have no accessible solution.

t.

Tom Cloyd wrote:
Adjunct to my previous post -

I'll admit that my Ruby programming experience biases me in the direction of seeking simple, direct, comprehensible, heuristic solutions. I think I may have found one -

Building on my notion of using this construct to manage polyphonically structured scores -

<<
{} \\
{}
>>

it should be possible to restructure voicing so as to force structuring of chords into expressions which allow use of the simple < >|\arpeggio construct. This won't make sense formally, but THAT will not affect the output score, which, after all IS the point of this exercise.

I can employ this tactic with my score immediately, and it doesn't require me to completely restructure my scores, or insert all manner of (to me) incomprehensible code or hacks or whatever. I can just get on with notating my scores, which really is my objective.

I still hope for a more high level elegant solution, as, I believe, is your inclination as well. I will continue to watch this thread carefully, hoping to see something develop. In truth, if it comes from anyone, I think it's likely to be from you, so...I want to encourage you to keep thinking about it.

Thanks for your care and effort on this matter,

t.
|
Jonathan Kulp wrote:
Ok this is better. I put the \set Staff.connectArpeggios in the score block instead. This is more elegant:

% This shows how to use arpeggios that cross
% from one voice to another.

\version "2.11.62"

melody = \relative c'' {
   \voiceOne
   e4\arpeggio <d f> <d f>2
}

bass = \relative c' {
  \voiceTwo
  d2\arpeggio <g b>2
}


\score {
    \context Staff = "guitar" \with {
    \consists "Span_arpeggio_engraver"
    }
     <<
    \set Staff.connectArpeggios = ##t
    \context Voice = "melody" { \melody }
        \context Voice = "bass"   { \bass   }
     >>

    \layout { }

  \midi {
    \context {
      \Score
      tempoWholesPerMinute = #(ly:make-moment 160 4)
    }
  }
}



Tom Cloyd wrote:
Maybe. Probably. If I could get it to work.

The problem is that it start a new staff. I need arpeggios across voices
in arbitrary locations - of course.

Here's the structure of my file:

\header stuff

staffClassicalGuitar = { my music, in 2 & 3 part voicing}

\score {
 \new Staff {
   (staff definitions stuff)
   <<
     \staffClassicalGuitar
   >>
 }

 \layout...

 \midi...
}

\paper ....

I got this structure right from the Lilypond 2.11.60 documentation. But
I cannot find a place to put this stuff -

\new Staff \with {
 \consists "Span_arpeggio_engraver"
}

where it will be accepted. Starting a new staff in the middle of a
measure makes no sense. OR in the middle of a line. So, I assume the
"\with..." thing needs to go into the existing "\new Staff..." I already
have. But nothing I try works - it all causes prodigious errors. For
example, this is NOT accepted...

\score {
 \new Staff \with {
   \consists "Span_arpeggio_engraver"
   \clef treble
   \key e \minor
   \time 3/4
   \tempo "" 4 = 90
[...]

I've tried all the variations I can imagine, and I cannot find any
real-world examples that show me the solution, and I cannot make sense
of things logically. Why do I have to create a new staff to get a single
arpeggio? If I want to do this arbitrarily, why is the setup for it so
arcane? I must not be understanding something, but can't see what.

Any help would be appreciated (!).

t.

Can you suggest what I need to do?


Jonathan Kulp wrote:
This snippet appears to do what you're asking:

http://lilypond.org/doc/v2.11/input/lsr/lilypond-snippets/Expressive-marks

Go down to where it says "Creating arpeggios across notes in different voices."

Jon

% ****************************************************************
% Start cut-&-pastable-section
% ****************************************************************



\paper {
  #(define dump-extents #t)

  indent = 0\mm
  line-width = 160\mm
  force-assignment = #""
  line-width = #(- line-width (* mm  3.000000))
}

\layout {

}



% ****************************************************************
% ly snippet:
% ****************************************************************
\sourcefilename "creating-arpeggios-across-notes-in-different-voices.ly"
\sourcefileline 0
%% Do not edit this file; it is auto-generated from LSR http://lsr.dsi.unimi.it
%% This file is in the public domain.
\version "2.11.62"

\header {
  lsrtags = "expressive-marks"

  texidoces = "
Se puede trazar un símbolo de arpegio entre notas de distintas
voces que están sobre el mismo pentagrama si el grabador
@code{Span_arpeggio_engraver} se traslada al contexto de
@code{Staff} context:

"
  doctitlees = "Crear arpegios entre notas de voces distintas"

  texidoc = "
An arpeggio can be drawn across notes in different voices on the same
staff if the @code{Span_arpeggio_engraver} is moved to the @code{Staff}
context:

"
  doctitle = "Creating arpeggios across notes in different voices"
} % begin verbatim
\new Staff \with {
  \consists "Span_arpeggio_engraver"
}
\relative c' {
  \set Staff.connectArpeggios = ##t
  <<
    { <e' g>4\arpeggio <d f> <d f>2 } \\
    { <d, f>2\arpeggio <g b>2 }
  >>
}



% ****************************************************************
% end ly snippet
% ****************************************************************


Tom Cloyd wrote:
Greetings!

After digging around considerably in the excellent Lilypond documentation (am running 2.11.60 on Kubuntu Linux 8.04.1), and running a number of experiments, I'm defeated on this problem.

A simple test case: I have two voices in a single staff. Periodically, I want to indicate that the notea co-occuring at a given point are to be played as a "rolled" arpeggio. There is NO chord notated - just two voices with single notes. Please don't suggest I merge the voices. That's not the solution I'm looking for.

P. 90 of Lilypond Notation reference illustrates a rolled arpeggio across different notes in the same staff, but it involves notes in chord clusters. Besides, my Lilypond doesn't at all like this stuff (from the reference):

\new Staff \with {
 \consists "Span_arpeggio_engraver"
}
\relative c' {...

I get this error - "warning: cannot find file: `consists' "

So, even if I HAD chord clusters, I'd still have a problem.

This rolled arpeggio business is very common in classical guitar music. I'm a little surprised there isn't some simple way to indicate it, but...maybe I'm missing something.

Any help would be much appreciated!

Tom













--

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tom Cloyd, MS MA, LMHC - Private practice Psychotherapist
Bellingham, Washington, U.S.A: (360) 920-1226
<< address@hidden >> (email)
<< TomCloyd.com >> (website) << sleightmind.wordpress.com >> (mental health weblog)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~





reply via email to

[Prev in Thread] Current Thread [Next in Thread]