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: Jonathan Kulp
Subject: Re: rolled chords in mulivoice classical guitar score
Date: Tue, 14 Oct 2008 21:37:56 -0500
User-agent: Thunderbird 2.0.0.17 (X11/20080925)

Hmm. These organizational things are a matter of preference, of course. Still, I don't see why you'd have to rewrite things so dramatically. I thought I saw in one of your posts here that you had all the notes in one variable. It seems like this \score block ought to work even when all the notes are held in one variable that has mostly one voice and only occasionally another. Could you attach the actual code of one of your scores (not abbreviated, but the whole score) so I can really see what you're working with? I bet this score block can be modified to work just how you want. The reason I spent so much time figuring out this problem of arpeggiation across voices is because I know that I'll want to do it myself at some point, and in fact have already added one to an existing score where I had just been too lazy to figure out how before (!).

Personally, I do break my guitar pieces into separate voices, each held in a different variable, then assemble them onto the staff in the \score block. I didn't do it this way originally but came to the conclusion eventually that it was the way to go, so as to avoid having to do lots of << { } \\ {} >> all over the place. In the orchestral piece I'm engraving right now, I have different variables for the voices of, say, flutes 1-2. Now, a lot of the time, the "fluteOneNotes" variable holds the music for *both* flutes 1 and 2 since they move together with the same rhythms often, so in those places the "fluteTwoNotes" just has full-measure skips ("s1*35" or something) while fluteOneNotes has lots of <chords>. At this moment I can't recall precisely why I decided to do it this way instead of just putting the occasional <<{}\\{}>> in there, but I think it had to do with the length of the multivoice passages. If they were any longer than about two or three bars, then I broke them up into different variables for each voice because I don't like having this construct <<{}\\{}>> spread over multiple lines in my text file--too hard to keep track of it.

Anyway please do send me a file, even off-list if you want, because I think the problem of making an arpeggio span different voices is solved now and it's gotten into matters of organization instead of technical problems. Best,

Jon


Tom Cloyd wrote:
Jonathan,

This looks interesting, and its structure is not hard to discern (for me), but it requires me to split my guitar scores into voices and write them separately from beginning to end. This is possible, but not exactly what one expects to do, except with true multi-voice scores (vocal, orchestral, etc.).

Further, I find that splitting a score into voices is at times a formalistic strategy but at other times a practical one. I have several scores which are simply quicker to notate in two voices, except for a few measures which make more sense in three voices. Your approach blows this way of working out of the water. It forces me to split things into a fixed number of voices from beginning to end.

I remain puzzled about how hard this is all is. It just seems awfully strained, and I don't yet see a graceful solution - although the formalistic elegance of your suggestion is appealing for certain types of scores. But...is this the best approach available for a guitarist?

If so, then I must, in effect, dissect my scores into horizontal layers, and their complexity instantly increases dramatically. I dread this.

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












--
Jonathan Kulp
http://www.jonathankulp.com




reply via email to

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