Re: Combining chord durations

2013-10-22 Thread Jim Long
On Tue, Oct 22, 2013 at 11:37:56PM +0200, Johan Vromans wrote:
> 
> It's too late here to continue experimenting, but your example works
> with 2.16. 
> 
> My intuition tells me it has something to do with the "q". Could it be
> that it's duration is compile time static, and not dynamic?

When you have the time, try implementing my 'rptChord'
pseudo-code in Scheme, and then test the construct:

harmonies = \chordmode {
  \rptChord ees8 6 \rptChord bes8 2 |
  \rptChord ees8 4 \rptChord bes8 4
}

... or something similar.


Jim

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Combining chord durations

2013-10-22 Thread Johan Vromans
Jim Long  writes:

> But the attached example does work in 2.17.26.  Curious.

It's too late here to continue experimenting, but your example works
with 2.16. 

My intuition tells me it has something to do with the "q". Could it be
that it's duration is compile time static, and not dynamic?

-- Johan

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Combining chord durations

2013-10-22 Thread Jim Long
On Tue, Oct 22, 2013 at 09:56:12AM +0200, Johan Vromans wrote:
> 
> I tried the following approach:
> 
>   qeight = \chordmode {
> \override ChordName #'stencil = ##f
> q8 q q q q q q
> \revert ChordName #'stencil
>   }
>   ...etc...
> 
>   harmonies = \new ChordNames \chordmode {
> \set chordChanges = ##f
> ees8 \qeight |
> ees8 \qfour  bes8 \qfour |
> ees8 \qsix   bes8 \qtwo  |
> ees8 \qeight |
>   } % harmoniesC

That seems reasonable, and I am puzzled that it didn't work.  It doesn't
work here under 2.17.26, either.

But the attached example does work in 2.17.26.  Curious.

Jim

\version "2.16.0"

melody = \new Staff \relative c' {
  \repeat unfold 16 ees8
  \bar "|."
}

chordsA = \chordmode {
\repeat unfold 2 {
ees8:7
q q q q q 
bes8:7
q
}
} % chordsA

chordsB = \chordmode {
\repeat unfold 2 {
ees8:7
\override ChordName #'stencil = ##f
q q q q q 
\revert ChordName #'stencil
bes8:7
\override ChordName #'stencil = ##f
q
\revert ChordName #'stencil
}
} % chordsB

\markup "Stretched spacing due to repeated, unsuppressed chords"
\score {
  <<
\new ChordNames \chordmode {
  \chordsA
}
\melody
  >>
  \layout {}
} % score

\markup "Stretched spacing due to repeated chords, even with \\set chordChanges = ##t"
\score {
  <<
\new ChordNames \chordmode {
  \set chordChanges = ##t
  \chordsA
} % ChordNames
\melody
  >>
  \layout {}
} % score

\markup "Stretched spacing eliminated by de-activating stencil"
\score {
  <<
\new ChordNames \chordmode {
  \chordsB
} % ChordNames
\melody
  >>
  \layout {}
} % score
<>___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Combining chord durations

2013-10-22 Thread Johan Vromans
Jim Long  writes:

> Does the MIDI output come out correct when you do this?  It's ugly,
> but I think it will work, both visually and aurally:
>
> \pata ees  ->  
> \override ChordName #'stencil = ##t
> ees8
> \override ChordName #'stencil = ##f
> q q q q q q q

Yes, it does. The midi is okay.

I tried the following approach:

  qeight = \chordmode {
\override ChordName #'stencil = ##f
q8 q q q q q q
\revert ChordName #'stencil
  }
  ...etc...

  harmonies = \new ChordNames \chordmode {
\set chordChanges = ##f
ees8 \qeight |
ees8 \qfour  bes8 \qfour |
ees8 \qsix   bes8 \qtwo  |
ees8 \qeight |
  } % harmoniesC

  \score {
<<
  \harmonies
  \melody
>>
\layout {}
\midi {}
  } % score

The midi comes out okay but the score is still twice as wide as it could
be. See the attached program.

-- Johan



t.ly
Description: Chord spacing suppression with stencils
<>___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Combining chord durations

2013-10-21 Thread Jim Long
On Mon, Oct 21, 2013 at 11:30:57PM +0200, Johan Vromans wrote:
> [Quoting Jim Long, on October 21 2013, 11:42, in "Re: Combining chord "]
> > 3) Instead of #2, and again I haven't tested this (much), could
> > tremoli help you?
> 
> No, they do not render as individual notes in the midi.
> E.g.
> 
>   \repeat tremolo 6 ees8  \repeat tremolo 2 bes8  |
> 
> is rendered in the midi as
> 
>   ees2. bes4

This is over my head, but my feeble understanding of LilyPond is
that on the layout side, one writes "engravers" that transform
the music stream into grobs and/or postscript output.  On the
MIDI side, the equivalent entity is called a "performer," and it
takes the music stream and produces MIDI output that will
playback the music as scored.

It seems then, that by writing a better tremolo performer, one
could make LilyPond perform the chords with 8th-note tremoli as
indicated in the score.  I have no idea what the effort required
to do that would be, however.

> > ... if you are fluent in Scheme, perhaps you can write a function
> > 'wrapChord' which accepts a chordmode chord identifier x and wraps
> > it in:
> 
> Actually, this was something I've been thinking of.
> 
> I didn't mention that in my .ly templates, I always have two tags,
> scoreOnly and midiOnly that do just that: filter the music depending
> on whether paper score or midi is generated.

If you're okay with scheme, then use the stencil hack, it definitely
works.  I don't think you'll need to worry about tags, because the
same music expression will both engrave correctly and perform correctly.

Does the MIDI output come out correct when you do this?  It's ugly,
but I think it will work, both visually and aurally:

\pata ees  ->  
\override ChordName #'stencil = ##t
ees8
\override ChordName #'stencil = ##f
q q q q q q q

\patb ees bes  ->  
\override ChordName #'stencil = ##t
ees8
\override ChordName #'stencil = ##f
q q q
\override ChordName #'stencil = ##t
bes
\override ChordName #'stencil = ##f
q q q

\patc ees bes  ->  
\override ChordName #'stencil = ##t
ees8
\override ChordName #'stencil = ##f
q q q q q
\override ChordName #'stencil = ##t
bes
\override ChordName #'stencil = ##f
q


If so, write a function like this (I don't speak Scheme, so I can't
help):

function rptChord( chordEvent, N )
% play chordEvent N times, but stencil only the first one
{
  if (n > 0) {
\override ChordName #'stencil = ##t
chordEvent
\override ChordName #'stencil = ##f
while (--n > 0)
  chordEvent
  } % if
} % rptChord

and use it like so:

%   \pata ees  ->  ees8 q q q q q q q
%   \patb ees bes  ->  ees8 q q q bes q q q
%   \patc ees bes  ->  ees8 q q q q q bes q
\rptChord ees8 8 |
\rptChord ees8 4 \rptChord bes8 4 |
\rptChord ees8 6 \rptChord bes8 2 |

If you wish, you could improve rptChord to nicely revert the
value of ChordName.stencil so that it's easy to mix \rptChord
with normal, manual chordmode chord entry.  My code is lousy,
I'm just hoping to give you ideas.

> So I tried to write a function that would expand one or two chords
> according to a pattern. For example
> 
>   \pata ees  ->  ees8 q q q q q q q
>   \patb ees bes  ->  ees8 q q q bes q q q
>   \patc ees bes  ->  ees8 q q q q q bes q
> 
> (These patterns would cover 96% of the chords of my project.)

\rptChord should handle 100% of the chords, although with some 
tedium/overtyping:

% 12-bar blues, in whole notes:
\rptChord c1:7 1
\rptChord f1:7 1
\rptChord c1:7 2
\rptChord f1:7 2
\rptChord c1:7 2
\rptChord g1:7 1
\rptChord f1:7 1
\rptChord c1:7 2

% 12-bar blues, in eighth notes:
\rptChord c8:7 8
\rptChord f8:7 8
\rptChord c8:7 16
\rptChord f8:7 16
\rptChord c8:7 16
\rptChord g8:7 8
\rptChord f8:7 8
\rptChord c8:7 16

Not that you'd want to use it that way.  My point is, instead of
three 'pattern' functions, you'd have just one, and it would
create both correct engraving and an accurate performance.

Or at least, I think it would.  :)  Reality may vary.



___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Combining chord durations

2013-10-21 Thread Johan Vromans
[Quoting Jim Long, on October 21 2013, 11:42, in "Re: Combining chord "]
> The reason your layout gets stretched is roughly because
> LilyPond's chord-suppression logic for repeated chord markups
> effectively makes the chord markup "transparent" rather than
> eliminating it entirely.  Thus even the invisible chords still
> take up space in the layout.

Yes, that's what I guessed.

> I regret that I can offer only some informal, even ugly
> suggestions:

Don't take it personally ;)

You've got some interesting suggestions.

> 3) Instead of #2, and again I haven't tested this (much), could
> tremoli help you?

No, they do not render as individual notes in the midi.
E.g.

  \repeat tremolo 6 ees8  \repeat tremolo 2 bes8  |

is rendered in the midi as

  ees2. bes4

> ... if you are fluent in Scheme, perhaps you can write a function
> 'wrapChord' which accepts a chordmode chord identifier x and wraps
> it in:

Actually, this was something I've been thinking of.

I didn't mention that in my .ly templates, I always have two tags,
scoreOnly and midiOnly that do just that: filter the music depending
on whether paper score or midi is generated.

  allMusic = {
...
  }

  %% Generate the printed score.
  \score {
\removeWithTag #'midiOnly \allMusic
\layout {
  ...
}
  }

  %% Generate the MIDI.
  \score {
\removeWithTag #'scoreOnly \unfoldRepeats \allMusic
\midi {
  ...
}
  }

So I tried to write a function that would expand one or two chords
according to a pattern. For example

  \pata ees  ->  ees8 q q q q q q q
  \patb ees bes  ->  ees8 q q q bes q q q
  \patc ees bes  ->  ees8 q q q q q bes q

(These patterns would cover 96% of the chords of my project.)

However, the expansion is to depend on the tags, so to take the third
example, the expansion would become

  \patc ees bes  ->  \tag #'midiOnly  { ees8 q q q q q bes q }
 \tag #'scoreOnly { ees2. bes4 }

After some experimenting I gave up and used an external preprocessor
to produce two distinct harmonies, one for the score and one for the
midi. 

It would have been a nice experiment, though...

-- Johan

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Combining chord durations

2013-10-21 Thread Jim Long
On Mon, Oct 21, 2013 at 01:59:11PM +0200, Johan Vromans wrote:
> I use a score to produce PDF and MIDI.
> 
> To obtain a rhythmic pattern in the MIDI, I write the chords as:
> 
>   ees8 ees ees ees ees ees bes bes |
>   c:m c:m c:m c:m aes aes aes aes  |
>   ees ees ees ees bes bes bes bes  |
>   ees ees ees ees ees ees ees ees  |
> 
> In the printed score, the chord changes are not shown, which is what I
> want, but it seems that the duration of the chords affects the amount of
> space that is allocated for the printed output.

>From the standpoint of the layout, this looks like Issue #3092:

https://code.google.com/p/lilypond/issues/detail?id=3092

But I gather that your question is somewhat different, especially
since the work-arounds given in that URL completely disregard
MIDI output and focus only on improving the spacing of chords in
the PDF output.

The reason your layout gets stretched is roughly because
LilyPond's chord-suppression logic for repeated chord markups
effectively makes the chord markup "transparent" rather than
eliminating it entirely.  Thus even the invisible chords still
take up space in the layout.

I regret that I can offer only some informal, even ugly
suggestions:

1) when writing multiple repetitions of chords, use LilyPond's
'q' shortcut.  This doesn't begin to address your problem, but it
might at least save you a little bit of typing, although you may
perceive a difference in readability:

\chordmode {
   ees8  q   q   q   q   q   bes q  |
   c:m   q   q   q   aes q   q   q  |
   ees   q   q   q   bes q   q   q  |  % obssessive-compulsive text
   ees   q   q   q   q   q   q   q  |  % alignment is optional
}

2) Once you have manually created the MIDI rhythms you want in
the LilyPond input file, you can fix some of the resulting layout
problems by de-activating the chord stencil during stretches of
repeated chords.  This re-introduces a lot of typing!  I haven't
tested this, but maybe you can create variables:

csOff = { \override ChordName #'stencil = ##f }
csOn  = { \revert   ChordName #'stencil }

and then do (something like):

\chordmode {
   \csOn ees8  \csOff q   q   q   q   q   \csOn bes \csOff q  |
   \csOn c:m   \csOff q   q   q   \csOn aes \csOff q   q   q  |
   \csOn ees   \csOff q   q   q   \csOn bes \csOff q   q   q  |  % 
obssessive-compulsive text
   \csOn ees   \csOff q   q   q   q   q   q   q  |  % alignment is futile
}

If that's not ugly enough -- and I have no idea whether this
could actually work -- if you are fluent in Scheme, perhaps you
can write a function 'wrapChord' which accepts a chordmode chord
identifier x and wraps it in:

\override ChordName #'stencil = ##t
x
\override ChordName #'stencil = ##f

And then (hypothetically) you could say:

\chordmode {
   \wrapChord ees8  q   q   q   q   q   \wrapChord bes q  |
   \wrapChord c:m   q   q   q   \wrapChord aes q   q   q  |
   \wrapChord ees   q   q   q   \wrapChord bes q   q   q  |
   \wrapChord ees   q   q   q   q   q   q   q |
}

3) Instead of #2, and again I haven't tested this (much), could
tremoli help you?

It seems you want a constant eighth-note pattern (ostenato?) to
your MIDI chords.  Perhaps (untested!) if you write:

\repeat tremolo N c8:m

where N is the duration in eighth notes, that might work?  Your
example:

  ees2. bes4  |
  c2:m  aes2  |
  ees2  bes2  |
  ees1|

would become:

  \repeat tremolo 6 ees8  \repeat tremolo 2 bes8  |
  \repeat tremolo 4 c8:m  \repeat tremolo 4 aes8  |
  \repeat tremolo 4 ees8  \repeat tremolo 4 bes8  |
  \repeat tremolo 8 ees8|

I never use LilyPond's MIDI output, so I don't know if that will
be useful to you or not.  The layout looked okay when I tested this 
method, though.

Again, I'm sorry that I don't have any definite suggestions, but
perhaps these topics will help you think of a workaround that
works for you.

Jim
\version "2.17.26"

harmoniesA = \new ChordNames \chordmode {
  \set chordChanges = ##t
  \repeat unfold 6 ees8  \repeat unfold 2 bes8  |
  \repeat unfold 4 c8:m  \repeat unfold 4 aes8  |
  \repeat unfold 4 ees8  \repeat unfold 4 bes8  |
  \repeat unfold 8 ees8|
} % harmoniesA


harmoniesB = \new ChordNames \chordmode {
  \set chordChanges = ##t
  \repeat tremolo 6 ees8  \repeat tremolo 2 bes8  |
  \repeat tremolo 4 c8:m  \repeat tremolo 4 aes8  |
  \repeat tremolo 4 ees8  \repeat tremolo 4 bes8  |
  \repeat tremolo 8 ees8|
} % harmoniesB

melody = \new Staff \new Voice { R1*4 }

\score {
  <<
\harmoniesA
\melody
  >>
} % score


\score {
  <<
\harmoniesB
\melody
  >>
} % score
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Combining chord durations

2013-10-21 Thread Johan Vromans
I use a score to produce PDF and MIDI.

To obtain a rhythmic pattern in the MIDI, I write the chords as:

  ees8 ees ees ees ees ees bes bes |
  c:m c:m c:m c:m aes aes aes aes  |
  ees ees ees ees bes bes bes bes  |
  ees ees ees ees ees ees ees ees  |

In the printed score, the chord changes are not shown, which is what I
want, but it seems that the duration of the chords affects the amount of
space that is allocated for the printed output. For example, the above
lines (with some notes) display as:

(See attachment 1, if it comes through, otherwise:)
http://www.squirrel.nl/pub/xfer/uploads/3CfG2SysM_z5gxpp0TStDP9w.png

while I would like to have:

(See attachment 2, if it comes through, otherwise:)
http://www.squirrel.nl/pub/xfer/uploads/3CHD2294iNixM0Vc3-1ZcBfA.png

(As if I had written:

  ees2. bes4  |
  c2:m  aes2  |
  ees2  bes2  |
  ees1|

)

Is there an easy way to get this behaviour? Something similar but
opposite to the chordChanges property?

-- Johan

<><>___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: chord durations

2009-09-03 Thread Tim McNamara


On Sep 3, 2009, at 10:21 AM, Christian Henning wrote:


Hi there, I'm at work and don't really have much time.I just wanna
state that I presented my problem with a reduced sheet. The problem
was regarding the chord durations and not with the melody. I'm a
software engineer and this is how I post questions to reduce the
chance of confusion.


At least in my case it increased confusion.  :-P  I may just be slow  
on the uptake...



I have posted my complete sheet in a different thread on this mailing
list. My subject was "Lilypond - chord progression".

Also, yes, this is my first project with lilypond. I think my goal is
to create sheets similar to what you have in books like this one:

http://www.amazon.com/Unplugged-New-York-Guitar-School/dp/ 
0793544130/ref=sr_1_3?ie=UTF8&s=books&qid=1251991185&sr=8-3


You can look inside here to see what I'm talking about. QQ, do you
think lilypond can produce that?


Yup, that's right up it's alley.  Maybe not exactly that page, but  
certainly with all of the elements shown there.




___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: chord durations

2009-09-03 Thread Carl Sorensen



On 9/3/09 9:21 AM, "Christian Henning"  wrote:

> Hi there, I'm at work and don't really have much time.I just wanna
> state that I presented my problem with a reduced sheet. The problem
> was regarding the chord durations and not with the melody. I'm a
> software engineer and this is how I post questions to reduce the
> chance of confusion.
> 
> I have posted my complete sheet in a different thread on this mailing
> list. My subject was "Lilypond - chord progression".
> 
> Also, yes, this is my first project with lilypond. I think my goal is
> to create sheets similar to what you have in books like this one:
> 
> http://www.amazon.com/Unplugged-New-York-Guitar-School/dp/0793544130/ref=sr_1_
> 3?ie=UTF8=books=1251991185=8-3
> <http://www.amazon.com/Unplugged-New-York-Guitar-School/dp/0793544130/ref=sr_1
> _3?ie=UTF8&s=books&qid=1251991185&sr=8-3>
> 
> You can look inside here to see what I'm talking about. QQ, do you
> think lilypond can produce that?

Yes, no question.  It may require some work to get it in that particular
form, because the music is not notated as a single piece, but as a
collection of various fragments that should be put together.  But LilyPond
clearly has the capapility of creating all that notation.

Personally, I don't like the look of that engraving, and I wouldn't do it
that way.  I'd just write the music out.  It would take more pages, but
would be easier for me to play.

At any rate, this is clearly within the capability of LilyPond, especially
now that Marc has added so much Tab capability.

Carl




___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: chord durations

2009-09-03 Thread Christian Henning
Hi there, I'm at work and don't really have much time.I just wanna
state that I presented my problem with a reduced sheet. The problem
was regarding the chord durations and not with the melody. I'm a
software engineer and this is how I post questions to reduce the
chance of confusion.

I have posted my complete sheet in a different thread on this mailing
list. My subject was "Lilypond - chord progression".

Also, yes, this is my first project with lilypond. I think my goal is
to create sheets similar to what you have in books like this one:

http://www.amazon.com/Unplugged-New-York-Guitar-School/dp/0793544130/ref=sr_1_3?ie=UTF8&s=books&qid=1251991185&sr=8-3

You can look inside here to see what I'm talking about. QQ, do you
think lilypond can produce that?

Regards,
Christian

On Thu, Sep 3, 2009 at 10:38 AM, Tim McNamara wrote:
>
> On Sep 2, 2009, at 7:56 PM, Patrick Horgan wrote:
>
>> Tim McNamara wrote:
>>>
>>> I am a guitarist.
>>>
>>> If all he wants is a chord chart, some paper and a pencil would be a
>>> better approach.  Or even a word processor two write out the chords like
>>> Ralph Patt did with the Vanilla Book.
>>>
>>> http://www.ralphpatt.com/VBook.html
>>>
>>> Christian's trying to do something LilyPond is not designed to do when
>>> what he really needs is a lead sheet, if he wants to use LilyPond without a
>>> lot of kerfuffling around.  I've sent him information about this
>>> back-channel.
>>
>> I agree it would be silly to use lilypond just to generate something like:
>>
>>
>> || C7/ / / | C / / / | C / / / | C / / / |
>> | F / / / | F / / / | C / / / | C / / / |
>> | G7 / / / | F / / / C / / / | C / / / ||
>>
>> But what if it was only one of the outputs from the music, which also
>> generated tab and sheet music, and midi?  While you're already using the
>> data to generate the other useful forms, what you be wrong with using it to
>> generate charts, which are a very commonly used thing in the jazz world?
>
> If there is a way to create a standard score for a jazz/rock/pop tune and
> from that to generate different outputs (lead sheet, tab, chord chart with
> lyrics, etc.), that's fine.  I don't know any way to do the last one.  I
> don't use tab- sheet music is easier to read by far- so I've never done
> anything with that in LilyPond, although I know the facility is there.
>
> I play jazz/blues/some rock on guitar and use LilyPond to create lead sheets
> (a.k.a. "charts").  I've never turned up to a jazz session or a gig and been
> presented with just a chord chart.  I am always given a lead sheet with the
> melody on the staff and the chords above (or sometimes written over the bass
> staff instead which is hard to read, usually in vocal books) and often with
> lyrics below the staff.  The only place I have seen jazz chord charts as
> such is on Ralph Patt's Web site.  Those are intended for reference to
> correct the Real Books (which frequently have erroneous changes) and not to
> be played from.
>
> My point was that LilyPond expects there to be notes on a staff in the
> input.  If you don't put them in, then you're going to have trouble getting
> LilyPond to do much of anything.  It is a *music engraving* application and
> by definition that is staves with notes (at least in Western music).  From
> Christian's questions and comments, it seemed to me that he did not
> understand the intended use of LilyPond and is trying to get it to do
> something that (1) it is not designed to do and (2) could be much more
> easily done with pencil and paper or a word processor.  I certainly could be
> misunderstanding his intent.
>
>
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> http://lists.gnu.org/mailman/listinfo/lilypond-user
>


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: chord durations

2009-09-03 Thread Tim McNamara


On Sep 2, 2009, at 7:56 PM, Patrick Horgan wrote:


Tim McNamara wrote:

I am a guitarist.

If all he wants is a chord chart, some paper and a pencil would be  
a better approach.  Or even a word processor two write out the  
chords like Ralph Patt did with the Vanilla Book.


http://www.ralphpatt.com/VBook.html

Christian's trying to do something LilyPond is not designed to do  
when what he really needs is a lead sheet, if he wants to use  
LilyPond without a lot of kerfuffling around.  I've sent him  
information about this back-channel.
I agree it would be silly to use lilypond just to generate  
something like:



|| C7/ / / | C / / / | C / / / | C / / / |
| F / / / | F / / / | C / / / | C / / / |
| G7 / / / | F / / / C / / / | C / / / ||

But what if it was only one of the outputs from the music, which  
also generated tab and sheet music, and midi?  While you're already  
using the data to generate the other useful forms, what you be  
wrong with using it to generate charts, which are a very commonly  
used thing in the jazz world?


If there is a way to create a standard score for a jazz/rock/pop tune  
and from that to generate different outputs (lead sheet, tab, chord  
chart with lyrics, etc.), that's fine.  I don't know any way to do  
the last one.  I don't use tab- sheet music is easier to read by far-  
so I've never done anything with that in LilyPond, although I know  
the facility is there.


I play jazz/blues/some rock on guitar and use LilyPond to create lead  
sheets (a.k.a. "charts").  I've never turned up to a jazz session or  
a gig and been presented with just a chord chart.  I am always given  
a lead sheet with the melody on the staff and the chords above (or  
sometimes written over the bass staff instead which is hard to read,  
usually in vocal books) and often with lyrics below the staff.  The  
only place I have seen jazz chord charts as such is on Ralph Patt's  
Web site.  Those are intended for reference to correct the Real Books  
(which frequently have erroneous changes) and not to be played from.


My point was that LilyPond expects there to be notes on a staff in  
the input.  If you don't put them in, then you're going to have  
trouble getting LilyPond to do much of anything.  It is a *music  
engraving* application and by definition that is staves with notes  
(at least in Western music).  From Christian's questions and  
comments, it seemed to me that he did not understand the intended use  
of LilyPond and is trying to get it to do something that (1) it is  
not designed to do and (2) could be much more easily done with pencil  
and paper or a word processor.  I certainly could be misunderstanding  
his intent.




___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: chord durations

2009-09-02 Thread David Rogers
On Wed, Sep 2, 2009 at 17:56, Patrick Horgan wrote:
> Tim McNamara wrote:
>>
>> I am a guitarist.
>>
>> If all he wants is a chord chart, some paper and a pencil would be a
>> better approach.  Or even a word processor two write out the chords like
>> Ralph Patt did with the Vanilla Book.
>>
>> http://www.ralphpatt.com/VBook.html
>>
>> Christian's trying to do something LilyPond is not designed to do when
>> what he really needs is a lead sheet, if he wants to use LilyPond without a
>> lot of kerfuffling around.  I've sent him information about this
>> back-channel.
>
> I agree it would be silly to use lilypond just to generate something like:
>
>
> || C7/ / / | C / / / | C / / / | C / / / |
> | F / / / | F / / / | C / / / | C / / / |
> | G7 / / / | F / / / C / / / | C / / / ||
>
> But what if it was only one of the outputs from the music, which also
> generated tab and sheet music, and midi?  While you're already using the
> data to generate the other useful forms, what you be wrong with using it to
> generate charts, which are a very commonly used thing in the jazz world?


...and if this is just Christian's first project in LIlypond, chosen
because he wanted to set something that he'll use right away, that
doesn't mean this is all he'll ever use LIlypond for. Everybody has to
start somewhere, and they might as well start on something that
matters to them.

I agree that just a bare chord chart is not exactly what Lilypond was
made for in the first place, but as a place to expand from, why not?
(Except that it's inconvenient I guess)

David


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: chord durations

2009-09-02 Thread Patrick Horgan

Tim McNamara wrote:

I am a guitarist.

If all he wants is a chord chart, some paper and a pencil would be a 
better approach.  Or even a word processor two write out the chords 
like Ralph Patt did with the Vanilla Book.


http://www.ralphpatt.com/VBook.html

Christian's trying to do something LilyPond is not designed to do when 
what he really needs is a lead sheet, if he wants to use LilyPond 
without a lot of kerfuffling around.  I've sent him information about 
this back-channel.

I agree it would be silly to use lilypond just to generate something like:


|| C7/ / / | C / / / | C / / / | C / / / |
| F / / / | F / / / | C / / / | C / / / |
| G7 / / / | F / / / C / / / | C / / / ||

But what if it was only one of the outputs from the music, which also 
generated tab and sheet music, and midi?  While you're already using the 
data to generate the other useful forms, what you be wrong with using it 
to generate charts, which are a very commonly used thing in the jazz world?


Patrick



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: chord durations

2009-09-02 Thread Tim McNamara

On Sep 2, 2009, at 3:59 PM, Patrick Horgan wrote:


Tim McNamara wrote:


On Sep 1, 2009, at 9:30 PM, Christian Henning wrote:


Am I right, that lilypond is rarely used for my type of notation?
Meaning rock/pop tunes for acoustic guitar.


No, the style of music makes no difference.  But LilyPond is  
intended for engraving music which is fundamentally based upon  
notes on the staff,  and you seem to be just writing out chord  
progressions without a melody.  LilyPond is really not designed  
for this.  If you were writing in the melody with the chords above  
the staff, many of your problems would be resolved.  I think that  
what you are trying to do is to write out lead sheets,

No he's writing chord charts--pretty common for guitarists.


I am a guitarist.

If all he wants is a chord chart, some paper and a pencil would be a  
better approach.  Or even a word processor two write out the chords  
like Ralph Patt did with the Vanilla Book.


http://www.ralphpatt.com/VBook.html

Christian's trying to do something LilyPond is not designed to do  
when what he really needs is a lead sheet, if he wants to use  
LilyPond without a lot of kerfuffling around.  I've sent him  
information about this back-channel.



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: chord durations

2009-09-02 Thread Patrick Horgan

Tim McNamara wrote:


On Sep 1, 2009, at 9:30 PM, Christian Henning wrote:


Am I right, that lilypond is rarely used for my type of notation?
Meaning rock/pop tunes for acoustic guitar.


No, the style of music makes no difference.  But LilyPond is intended 
for engraving music which is fundamentally based upon notes on the 
staff,  and you seem to be just writing out chord progressions without 
a melody.  LilyPond is really not designed for this.  If you were 
writing in the melody with the chords above the staff, many of your 
problems would be resolved.  I think that what you are trying to do is 
to write out lead sheets,

No he's writing chord charts--pretty common for guitarists.

Patrick



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: chord durations

2009-09-02 Thread Tim McNamara


On Sep 1, 2009, at 9:30 PM, Christian Henning wrote:


Am I right, that lilypond is rarely used for my type of notation?
Meaning rock/pop tunes for acoustic guitar.


No, the style of music makes no difference.  But LilyPond is intended  
for engraving music which is fundamentally based upon notes on the  
staff,  and you seem to be just writing out chord progressions  
without a melody.  LilyPond is really not designed for this.  If you  
were writing in the melody with the chords above the staff, many of  
your problems would be resolved.  I think that what you are trying to  
do is to write out lead sheets, but you don't seem to have the melody  
for the songs.  The other option, I suppose, would be to make the  
melody a bunch of rests (e.g., r1 for each bar) and write out the  
duration of the chords as the total beat count (g1:7 rather than  
g16:7 sixteen times in a bar).


I'll send you a sample lead sheet back-channel, since it's  
copyrighted and bad form to send an entire copyrighted song via the  
mailing list.  I don't have time to write up a fake song this morning.





___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: chord durations

2009-09-02 Thread Trevor Daniels


Christian Henning wrote Wednesday, September 02, 2009 3:30 AM



Cool, that worked. Though, in essence, I need to use the
ChordNames.chordChanges variable to surpress repeated chords. I 
wonder

where the current documentation mention this? googling for
"chordchanges" brings me to lilypond 2.9 documentation. There is 
the

chapter "7.2.3. Printing chord names" which I cannot find in 2.12.


It's in section 2.7.2 Displaying chords.

Most things to do with chords are indexed,
but not this :(  I'll put it on my TODO list.

Trevor



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: chord durations

2009-09-01 Thread Christian Henning
Cool, that worked. Though, in essence, I need to use the
ChordNames.chordChanges variable to surpress repeated chords. I wonder
where the current documentation mention this? googling for
"chordchanges" brings me to lilypond 2.9 documentation. There is the
chapter "7.2.3. Printing chord names" which I cannot find in 2.12.

Am I right, that lilypond is rarely used for my type of notation?
Meaning rock/pop tunes for acoustic guitar.

On Tue, Sep 1, 2009 at 1:28 AM, Andrew Tucker wrote:
>
> On Aug 31, 2009, at 10:19 PM, Christian Henning wrote:
>
>>
>>   \chordmode {
>>     g1 | g4..:sus4 g2 | \break bes1 | b4..:sus4 bes2
>>   }
>>
>
> Both your second and fourth bars are short one 16th note - maybe you meant
>
>   \set chordChanges = ##t  %only show chord changes (ie. not repeated
> chords)
>   g1 | g4..:sus4 g16 ~ g2 | \break bes1 | b4..:sus4 bes16 ~ bes2
>
> Double-dotted notes are rare, especially in pop music - more typically you
> might write this rhythm out (provided this is the rhythm you want) as
>
>   g1 | g4:sus4 ~ g8.:sus4 g16 ~ g2 | \break bes1 | b4:sus4 ~ b8.:sus4 bes16
> ~ bes2
>
> -Tucker
>


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: chord durations

2009-08-31 Thread Andrew Tucker


On Aug 31, 2009, at 10:19 PM, Christian Henning wrote:



   \chordmode {
 g1 | g4..:sus4 g2 | \break bes1 | b4..:sus4 bes2
   }



Both your second and fourth bars are short one 16th note - maybe you  
meant


   \set chordChanges = ##t  %only show chord changes (ie. not  
repeated chords)

   g1 | g4..:sus4 g16 ~ g2 | \break bes1 | b4..:sus4 bes16 ~ bes2

Double-dotted notes are rare, especially in pop music - more typically  
you might write this rhythm out (provided this is the rhythm you want)  
as


   g1 | g4:sus4 ~ g8.:sus4 g16 ~ g2 | \break bes1 | b4:sus4 ~  
b8.:sus4 bes16 ~ bes2


-Tucker


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: chord durations

2009-08-31 Thread James E. Bailey


On 01.09.2009, at 04:19, Christian Henning wrote:

\chordmode {
  g1 | g4..:sus4 g2 |


Here is your problem. Another way of writing this would be:
g1 | g4~ g8~ g16 g2

The second measure is missing a 16th note.

James E. Bailey



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: chord durations

2009-08-31 Thread Christian Henning
Hi there, first of all thanks to everyone who replied. I really
appreciate every reply.

For a start, I would like to describe what I'm really after. I have
some songs, mostly transcribed by my guitar teacher, which I like to
transform into sheet music. I have every songs on a piece of paper
written by a pencil. Though, I know what lilypond is suppose to
produce. All songs are mostly chord progression with an accompanying
rhythm. There is nothing fancy about the songs. They are mostly
Pixies, or Radiohead songs.

I have read most of the documentation on chords, duration, and rhythm.
Also, I'm a very beginner in writing sheet music and in being a
lilypond user.

Now, I use \chordmode to describe the chord progression with their
duration. For the rhythm I use \voice. See the next example:

\version "2.12.2"

#(ly:set-option 'delete-intermediate-files #t)  % deletes the .ps file
automatically

<<
  \new ChordNames {
\chordmode {
  g1 | g4..:sus4 g2 | \break bes1 | b4..:sus4 bes2
}
  }

  \new Voice \with {
\consists Pitch_squash_engraver
  } \relative c'' {
\improvisationOn
g16 g g g g g g g g g g g g g g g
g16 g g g g g g g g g g g g g g g
g16 g g g g g g g g g g g g g g g
g16 g g g g g g g g g g g g g g g
  }
>>

After rendering it, the chords are off by a 16th note. The first line
is mostly correct, except that the first b_flat is suppose to start on
the second line ( 3rd measure ). Though, there is something wrong with
the second G chord's duration in the second measure. Fixing that would
help me a lot.

I hope things are more clear now with my real intention.

Thanks again for the great support.

Christian


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: chord durations

2009-08-31 Thread Leonardo Herrera
On Mon, Aug 31, 2009 at 10:17 AM, Tim McNamara wrote:
[...]
> You appear to be trying to learn sheet music and LilyPond simultaneously.
>  It would go faster to learn the rules of Western sheet music first- the
> fundamentals are actually pretty easy and you can readily find most of the
> information online- and then LilyPond.

Or, try to learn lilypond first, then tackle an absurdly complex piece
of music (Debussy's Clair of Lune, for example) and dive head-first on
it, just to be stuck on the first measure (*), and go to your wife who
happens to be a music teacher and start asking her for help. It does a
lot to improve communication...

Wait, what were we talking about?
-- 
Leonardo Herrera
mailto:leonardo.herr...@gmail.com
http://leus.epublish.cl

(*): Just for keeping things on-topic-ish, this is what I'm talking about:


\version "2.12.0"

blanknotes = { \override NoteHead  #'transparent = ##t
   \override Stem  #'transparent = ##t }
unblanknotes = { \revert NoteHead #'transparent
 \revert Stem #'transparent }

upper = \relative c'' {
\clef treble
\key des \major
\time 9/8
\override Staff.NoteCollision #'merge-differently-dotted = ##t
\override Score.RehearsalMark #'Y-offset = #0.1
\mark \markup { \upright Andante \italic \concat{t r \char ##x00E9 s
} ¬"expressif" }

r8 \pp r8 \blanknotes 8\(  ~ \unblanknotes \stemDown 4.
4. ~
8[8 8] 2. ~
}

lower = \relative c' {
\key des \major
\time 9/8
\override Staff.NoteCollision #'merge-differently-dotted = ##t

% 1
<<
{ s8  8 \change Staff = upper \relative c''{ \stemDown 
8 } }
\\
% trick to make legatto...
{ r8 \blanknotes 4 ~ \unblanknotes 2. }
>>

% 2
2. ~ 4.
}

\score {
\new PianoStaff <<
\context Staff = "upper" {
% \set PianoStaff.instrumentName = "Piano  "
#(set-accidental-style 'piano)

\upper
}
\context Staff = "lower" {
#(set-accidental-style 'piano)
\lower
}
>>
\layout { }
\midi { }
}
<>___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: chord durations

2009-08-31 Thread Tim McNamara


On Aug 30, 2009, at 10:23 PM, Christian Henning wrote:


Hi there, adding a dot to a chord duration prolongs it by 50%. "g4.",
for instance, is 1.5 beats or three 8th notes. "g4.." is 1.75 beats, I
believe. Which would translate into seven 16th notes. But what is
"g4..."? Here, with 3 dots.


Two dots are rarely used and I have never seen three dots used.


Also, how can I describe a duration that lasts for 2.25 beats?


For a 2.25 beat duration, do a half note and a tied 16th note:  g2~ g16


I realize that I don't really ask lilypond related things but more
general music theory questions. I'm hoping this community is still
kind enough helping me out.


You appear to be trying to learn sheet music and LilyPond  
simultaneously.  It would go faster to learn the rules of Western  
sheet music first- the fundamentals are actually pretty easy and you  
can readily find most of the information online- and then LilyPond.


http://www.notationmachine.com/how_to_read_sheetmusic/readingmusic.htm

migbht be a good place to start.


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


chord durations

2009-08-31 Thread David Rogers
-- Forwarded message --
From: David Rogers 
Date: Mon, Aug 31, 2009 at 00:34
Subject: Re: chord durations
To: Christian Henning 


Even more important - just try stuff from the manual and see for
yourself how it works.

Unlike a lot of software, Lilypond's learning manual is EXTREMELY
important to read, and luckily very good too. Using Lilypond without
reading the manual is like eating soup with a fork. You could do it,
but it would be really frustrating and take far too long.

All the answers people are going to give to questions like this, are
already answered better in the manual.


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: chord durations

2009-08-31 Thread David Rogers
On Sun, Aug 30, 2009 at 20:23, Christian Henning wrote:

> Also, how can I describe a duration that lasts for 2.25 beats?



The easy way is to make a half note tied to a sixteenth note  - like this:

c2~c16


But the real question is, why do you want a 2.25 beat duration? If you
explain what you really want to do with Lilypond, it will be easier to
help. (What I mean is, show the lilypond code you made that isn't
working right, or describe the music you're trying to print, instead
of asking a confusing question about one weird note.)

Hope it helps
David


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: chord durations

2009-08-30 Thread James E. Bailey


On 31.08.2009, at 05:51, Federico Bruni wrote:


Christian Henning wrote:

Hi there, adding a dot to a chord duration prolongs it by 50%. "g4.",
for instance, is 1.5 beats or three 8th notes. "g4.." is 1.75  
beats, I

believe. Which would translate into seven 16th notes. But what is
"g4..."? Here, with 3 dots.


g4... = 15/32
so 1,875 beats


Also, how can I describe a duration that lasts for 2.25 beats?


I've never thought in beats..
Anyway, it should be something like this maybe (lilypond code):

g2 ~ g16

assuming that
g4= 1 beat
g8= 0.5
g16= 0.25
g32= 0.125

and so on...



NO.

Wow, Kieren, I understand now.
A dot increases rhythmic value of each preceeding note by 50%. With  
double-and triple dots, the later dots increase the value of the  
previous dots.


so:

c4. = c4~ c8
c4.. = c4~ c8~ c16
c4... = c4~ c8~ c16~ c32

James E. Bailey



___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: chord durations

2009-08-30 Thread Federico Bruni

Christian Henning wrote:

Hi there, adding a dot to a chord duration prolongs it by 50%. "g4.",
for instance, is 1.5 beats or three 8th notes. "g4.." is 1.75 beats, I
believe. Which would translate into seven 16th notes. But what is
"g4..."? Here, with 3 dots.



g4... = 15/32
so 1,875 beats


Also, how can I describe a duration that lasts for 2.25 beats?



I've never thought in beats..
Anyway, it should be something like this maybe (lilypond code):

g2 ~ g16

assuming that
g4= 1 beat
g8= 0.5
g16= 0.25
g32= 0.125

and so on...


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


chord durations

2009-08-30 Thread Christian Henning
Hi there, adding a dot to a chord duration prolongs it by 50%. "g4.",
for instance, is 1.5 beats or three 8th notes. "g4.." is 1.75 beats, I
believe. Which would translate into seven 16th notes. But what is
"g4..."? Here, with 3 dots.

Also, how can I describe a duration that lasts for 2.25 beats?

I realize that I don't really ask lilypond related things but more
general music theory questions. I'm hoping this community is still
kind enough helping me out.

Thanks,
Christian


___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user