Re: Chords in LilyPond

2017-05-28 Thread Carl Sorensen
On 5/28/17 5:53 PM, "Thomas Morley"  wrote:

>
>
>Though, why adding a Œsemantics entry to the EventChord?
>I'd suggest to write such an interpreter as a procedure which works on
>the pitchlist ignatzek-chord-names currently has to work with
>(including bass/inversion-info). Then write a printing-function which
>works on the result of the interpreter.
>Both public in guile, so that users can write different interpreters
>and printing-functions as they like.


There are three different problems in the Chords construct.

1) How to input chords.  We currently have two modes -- notemode and
chordmode.  Notemode has no semantics.  Chordmode has semantics, but
currently the semantics get largely tossed away (except for root, bass,
inversion, IIRC).

2) How to determine a chord name.  For this, we currently have
ignatzek-chord-names which interprets the pitches plus root, bass,
inversion into a chord name.

3) How to display a chord name. This is currently mixed up with the
determination of a chord name in ignatzek-chord-names.

Charles's project is not to solve all three of these.  In fact, his
project is not to completely solve any one of them.  Rather, his problem
is to determine how best to save the semantics, so that assuming the
semantics are properly entered in chordmode (probably including some
extensions to the current chordmode, or maybe even a start from scratch
rewrite, but that's out of scope for this project), the semantics will be
kept as part of the chord, and thus be available for the
chord_name_engraver to use when generating a chord name.

When Charles is done, I hope that we will have a good internal
representation for both the notes and the semantics.  The user will have
the ability to define the semantics (at first, maybe only with Scheme, but
eventually through good input).  And those semantics will lead to the
desired output.

Right now, we don't have control of the semantics; they're inferred from
the pitches.  And that causes problems.

Of course, we'll need to get good display routines (printing functions).
And we'll need to get good input routines (for both chordmode and note
mode).  And we'll need to get good infer-semantics-from-pitches routines
(which Harm calls interpreters, I believe).  But if each of these can be
separated from the others (which I hope Charles's project will do by
capturing semantics properly in the EventChord structure), then I believe
it will be easier to tackle all of the problems.

Thanks,

Carl


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


Re: Chords in LilyPond

2017-05-28 Thread Vaughan McAlley
On 29 May 2017 at 09:53, Thomas Morley  wrote:

> This sounds like you want to write a chord-analyser or probably a
> better wording would be chord-interpreter.
>

I think it’s impractical to use chord analysis on anything but anything but
simple chords. Power users like Kieren and Robert will want to tweak the
output, because, as Robert showed, one set of pitches can mean more than
one chord symbol.

Robert Schmaus:

> which of course doesn't sound nice in the midi output. I can live with
> that - the midi is secondary for me,
>

 At the moment the chord performer has no musicality to it:

%%
\version "2.18.2"

chrds-test = \chordmode {
c4 bes c bes }

<<
  \new ChordNames \chrds-test
  \new Staff \chrds-test
>>

Does anyone actually use MIDI from the chord performer? When I'm checking
choral music (ie. with well-defined lines), the MIDI output is of
acceptable quality for checking for mistakes and getting an impression of
the piece. Whenever I use chords, I turn them off because it's so annoying.
I check a lead sheet using my limited piano skills, where the chords are
voiced at least semi-acceptably. I had this issue too with Finale back in
the day.

Anyway, getting the chord performer to reference the previous chord when
"performing" could be possible. And a chord-bass performer could analyse a
chord, find a root either from the chord's notes or its attached properties
and play an acceptable bass line.

Robert Schmaus:

My point is, right now the only of distinguishing these chords is by using
> parts of the explicit scale in chord mode to distinguish them.
> I've chosen to use
>
> c : 7.5+ for C7(#5)
> c : 7.5+.2   for C+7
>

Maybe it would be nice to have something like (please excuse my
pseudoScheme):

\chordmode {
  \chord-modify #'(
(root . c) ; in case of ambiguity, used by the engraver for the letter
(suffix . "C+7") ; or whichever markup
(bass . e,)) ; used to engrave the bass note, and by the chord-bass
performer
  4 % how the chord performer would 'perform' it
}

All of these would be overriding sensibly chosen defaults that should work
fine in most use cases.

Kieren:

> How do you represent polychords?
>

Each chord is a list of chords, usually containing one item.

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


Re: How to generate a minimally sized pdf

2017-05-28 Thread David Wright
On Mon 29 May 2017 at 01:01:02 (+0300), Ivanov Dmitry wrote:
> In LaTeX I can use the paper only fitting the contents by using standalone
> class.

Sounds as if you want pdfcrop in the texlive distribution.

Cheers,
David.

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


Re: How to generate a minimally sized pdf

2017-05-28 Thread Jeffery Shivers
Hi Ivanov,

On Sun, May 28, 2017 at 6:01 PM, Ivanov Dmitry  wrote:
> In LaTeX I can use the paper only fitting the contents by using standalone
> class. Lilypond always creates an A4 document for me. I tried the following
> code:
>
> [...]

I believe other people have inquired about auto-cropping and
such in the past, too! Might be worth searching the archives (or just
googling to get there faster).

By the way, how are you compiling this? (i.e. command line, frescobaldi, other?)

-- 

Jeffery Shivers
 jefferyshivers.com
 soundcloud.com/jefferyshivers

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


Re: How to generate a minimally sized pdf

2017-05-28 Thread karl
Ivanov Dmitry:
> In LaTeX I can use the paper only fitting the contents by using standalone
> class. Lilypond always creates an A4 document for me. I tried the following
> code:
...
> But it didn't help. How can I use something like
> "\documentclass{standalone}" from LaTeX in lilypond?

 There is no auto paper size, it's A4 or something you set, see:

http://lilypond.org/doc/v2.18/Documentation/notation/paper-size-and-automatic-scaling

Hälsningar,
/Karl Hammar

---
Aspö Data
Lilla Aspö 148
S-742 94 Östhammar
Sverige
0173 140 57



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


Re: Chords in LilyPond

2017-05-28 Thread Thomas Morley
)

2017-05-28 17:18 GMT+02:00 Charles Winston :
> Hi all,
>
> There have been some great discussions about new chord functionality you’d 
> like to see in LilyPond. The first step is defining the internal 
> representation. From there, I think all these issues can be much more easily 
> solved. We have the EventChord structure, which contains an ‘articulations 
> and ‘elements entry. The ‘elements entry contains some information about the 
> root and inversion, but otherwise it is a list of NoteEvents to be iterated 
> over. My plan is to add a ‘semantics entry whose elements will be semantic 
> aspects of the chord:
>
> -root
> -quality of the third (minor, major, none)
> -quality of the fifth (diminished, perfect, augmented, none)
> -extensions (7, 9, 11, etc.)
> my plan for this is to have a list of extensions, 
> each extension associated with a bool indicating its presence in the chord,   
> and associated with an alteration.
> -added notes (6, 9, etc.)
> implemented similarly to extensions above
> -suspensions (sus4, sus2, etc.)
> -added bass note
> -inversions
>
> Let me know what more should be added to this list.
>
> So after this is implemented, we have an internal representation of a chord, 
> EventChord, which contains both note information and semantic information, 
> and each of these can be utilized independently in different contexts.
>
> Let me know what you guys think.
>
> Thanks,
> Charles
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

This sounds like you want to write a chord-analyser or probably a
better wording would be chord-interpreter.
Disregarding the fact different people may interpret different,
LilyPond does this already _inside_ of the
chord-name-printing-function (ignatzek-chord-names).
The pitch-list which ignatzek-chord-names works on is splitted into
ROOT PREFIXES MAIN-NAME ALTERATIONS SUFFIXES ADDITIONS
(comment from chord-ignatzek-names.scm)
Attached an image where I tweaked ignatzek-chord-names to output
things colored, bold, boxed. The input-code:

chrds-test = \chordmode {
  \cadenzaOn
  \accidentalStyle forget
  
  
  
  
  \bar "" \break
  
  
  
  
  \bar "" \break
  \once \override NoteHead.color = #red
  _"ChordName is rubbish"
  c:5+.7.9.11/+bes
  
}

<<
  \new ChordNames \chrds-test
  \new Staff \chrds-test
>>

You will notice some strange things. And one naming is completely rubbish.


Doing this interpretation _inside_ of the printing function is one of
the big problems I have to state with current LilyPond.

Though, why adding a ‘semantics entry to the EventChord?
I'd suggest to write such an interpreter as a procedure which works on
the pitchlist ignatzek-chord-names currently has to work with
(including bass/inversion-info). Then write a printing-function which
works on the result of the interpreter.
Both public in guile, so that users can write different interpreters
and printing-functions as they like.

The other problem can be watched in my example above. (The rubbish chord-name)
If chords are entered as < ... > there's no nice way to specify bass/inversion.
Currently I've no good idea to solve this, though.

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


Re: Chords in LilyPond

2017-05-28 Thread Wols Lists
On 28/05/17 17:54, Kieren MacMillan wrote:
>> the contexts that need the semantic information shouldn’t need note 
>> information, and the contexts that need note information don’t need semantic 
>> information.

> As someone who uses chords both for their note and semantic information 
> simultaneously, I would disagree. David’s example
> 
And how does this cope with my guitar example? If I've got this right,
you need the semantic information to be able to print the chord name,
but you can't transpose the chord name without at least *some* (namely
the root) note information. So if the name and note information are
separated, it will be impossible to print "lead sheets" as I believe
they are called - very common in music for choirs!

Cheers,
Wol

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


How to generate a minimally sized pdf

2017-05-28 Thread Ivanov Dmitry
In LaTeX I can use the paper only fitting the contents by using standalone
class. Lilypond always creates an A4 document for me. I tried the following
code:

\version "2.16.0"  % necessary for upgrading to future LilyPond versions.
\paper {
  indent = 0\mm
  line-width = 110\mm
  oddHeaderMarkup = ""
  evenHeaderMarkup = ""
  oddFooterMarkup = ""
  evenFooterMarkup = ""
}

\relative c' {
  c d e f g a b c
}


But it didn't help. How can I use something like
"\documentclass{standalone}" from LaTeX in lilypond?
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


[SOLVED] Re: Problem with repeat

2017-05-28 Thread David Wright
Forgive me for not modifying the Subject: line earlier, but of the
three other replies, one illustrates my middle paragraph (thanks
for saving me the effort), one looks for a problem that's not there
and one suggests recomposing the music.

(I took the liberty of removing the motes from my previous posting!)

Date: Sun, 28 May 2017 13:32:51 -0500
From: David Wright 
Subject: Re: Problem with repeat
X-Original-To: lily...@lionunicorn.co.uk
Sender: lilypond-user 
Reply-To: lilypond-user@gnu.org

On Sun 28 May 2017 at 19:42:26 (+0200), Bernhard Kleine wrote:
> The attached excerpt has an errorneous repeat sign at measure five since
> the text starts there. However the repeat sign before measure three is
> also valid for the text which, however, starts as the vocal part in
> measure 5.
> 
> How to solve this? Is there a snippet which shows a solution?

Do you intend ever unfolding these repeats? Particularly, do you
want to do so in a manner that involves unfolding the lyrics?

If not, then just remove the repeat structures from the lyrics
and set them as normal. Fortunately, you don't have to worry
about edge effects like ties and hyphens crossing the repeat
measures.

If you want to be able to unfold the notes and lyrics, then
you have to use the tedious method of entering lyrics with
their individual durations: Sing8 Ju -- bi -- la4 -- te
and so on. Then specify the score with:
 \new Voice = vsoprano { \soprano }
 \new Lyrics \lyricmode { \set associatedVoice = vsoprano \sopranotext }
That way, it will Just Work™.

Cheers,
David.

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


RE: Problem with repeat

2017-05-28 Thread Mark Stephen Mrotek
Bernhard,

In measure 5 the voices have a "d8\rest" while the piano has a two beat chord.

Mark

-Original Message-
From: lilypond-user [mailto:lilypond-user-bounces+carsonmark=ca.rr@gnu.org] 
On Behalf Of Bernhard Kleine
Sent: Sunday, May 28, 2017 10:42 AM
To: lilypond-user@gnu.org
Subject: Problem with repeat

The attached excerpt has an errorneous repeat sign at measure five since the 
text starts there. However the repeat sign before measure three is also valid 
for the text which, however, starts as the vocal part in measure 5.

How to solve this? Is there a snippet which shows a solution?

Regards Bernhard

--
spitzhalde9
D-79853 lenzkirch
bernhard.kle...@gmx.net
www.b-kleine.com, www.urseetal.net
-
thunderbird mit enigmail
GPG schlüssel: D5257409
fingerprint:
08 B7 F8 70 22 7A FC C1 15 49 CA A6 C7 6F A0 2E D5 25 74 09



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


Re: Chords in LilyPond

2017-05-28 Thread Kieren MacMillan
Hi Charles,

> The first step is defining the internal representation. From there, I think 
> all these issues can be much more easily solved.

That seems (intuitively) correct to me.

> Let me know what more should be added to this list.

How do you represent polychords?
How do you represent chords not built by stacking thirds (e.g., quartals)?
Any thought towards non-equal-temperament or non-12-division scales and tunings?

Thanks,
Kieren.



Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info


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


Re: Problem with repeat

2017-05-28 Thread David Wright
On Sun 28 May 2017 at 19:42:26 (+0200), Bernhard Kleine wrote:
> The attached excerpt has an errorneous repeat sign at measure five since
> the text starts there. However the repeat sign before measure three is
> also valid for the text which, however, starts as the vocal part in
> measure 5.
> 
> How to solve this? Is there a snippet which shows a solution?

Do you intend ever unfolding these repeats? Particularly, do you
want to do so in a manner that involves unfolding the lyrics?

If not, then just remove the repeat structures from the lyrics
and set them as normal. Fortunately, you don't have to worry
about edge effects like ties and hyphens crossing the repeat
measures.

If you want to be able to unfold the motes and lyrics, then
you have to use the tedious method of entering lyrics with
their individual durations: Sing8 Ju -- bi -- la4 -- te
and so on. Then specify the score with:
 \new Voice = vsoprano { \soprano }
 \new Lyrics \lyricmode { \set associatedVoice = vsoprano \sopranotext }
That way, it will Just Work™.

Cheers,
David.

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


Re: Problem with repeat

2017-05-28 Thread Robert Blackstone
Hi Bernhard,

I played a liile bit with your example and I got a result that seems to be what 
you want.


Best regards,
Robert Blackstone



T-u-M-Jerry-Estes-Sing-Jubilate-Deo_test2.ly
Description: Binary data

 
On 28 May 2017, at 19:42 , Bernhard Kleine  wrote:

> The attached excerpt has an errorneous repeat sign at measure five since
> the text starts there. However the repeat sign before measure three is
> also valid for the text which, however, starts as the vocal part in
> measure 5.
> 
> How to solve this? Is there a snippet which shows a solution?
> 
> Regards Bernhard
> 
> -- 
> spitzhalde9
> D-79853 lenzkirch
> bernhard.kle...@gmx.net
> www.b-kleine.com, www.urseetal.net
> -
> thunderbird mit enigmail
> GPG schlüssel: D5257409
> fingerprint:
> 08 B7 F8 70 22 7A FC C1 15 49 CA A6 C7 6F A0 2E D5 25 74 09
> 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user

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


Re: Chords in LilyPond

2017-05-28 Thread Kieren MacMillan
Hi Charles,

> My intention is definitely not to create a representation where the notes and 
> semantics cannot be passed together into different contexts

Good! That’s important.

It’s also likely critical (as David brought up) to either completely disallow 
the entry of notes and semantics which differ, or at least have a 
well-considered and -documented mechanism for how to handle the inevitable 
situation where notes and semantics differ.

> I was just trying to make a point that it makes sense to keep the information 
> separate within EventChord.

In terms of representation, I agree… But let’s remember that David has an 
*immense* grasp of Lilypond’s current (and, to some extent, future/possible) 
workings — arguably more than anyone, including the founding developers — so I 
would suggest getting his OK on whatever structure/mechanism you end up with.

> even though they will be separate entries in EventChord, that doesn't stop 
> the possibility of using them together, does it?

No, as long as the “note-semantic difference” issue has been addressed.

Thanks!
Kieren.


Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info


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


Re: Chords in LilyPond

2017-05-28 Thread Winston, Charles R.


> On May 28, 2017, at 12:55 PM, Kieren MacMillan 
>  wrote:
> 
> Hi Charles (et al.),
> 
>> Storing this information in the NoteEvents is clunky in my opinion
> 
> Possibly…
> 
>> and defeats the purpose of this project
> 
> I don’t see how that necessarily/logically follows…?
> 
>> the numerous benefits of an internal representation which understands the 
>> semantics of a chord beyond its notes.
> 
> This would clearly be a great and useful step forward from what we currently 
> have.
> 
>> the contexts that need the semantic information shouldn’t need note 
>> information, and the contexts that need note information don’t need semantic 
>> information.
> 
> As someone who uses chords both for their note and semantic information 
> simultaneously, I would disagree. David’s example
> 
>> \new ChordNames \fixed c' { }
> 
> perfectly illustrates how note and semantic information should be seamlessly 
> swapped back and forth across any and all possible contexts. I tried to hint 
> at this when I posted (earlier in this thread) about storing voicing 
> information in the chord code — if I write
> 
>   explicitChords = \fixed c’ { }
> 
> and then use
> 
> <<
>  \new ChordNames \explicitChords
>  \new Staff \explicitChords
>>> 
> 
> what I see (in both contexts) should be what I expect: the ChordNames output 
> according to my settings/preferences, and the Staff showing the notes *with 
> the voicings I coded*.
> 
> The difficult part, of course, is figuring out how to provide this 
> functionality with a reasonably consistent, compact, and intuitive input 
> method and throughput (internal) representation. But that’s what your GSoC 
> project is all about, right?  =)

I see your points. My intention is definitely not to create a representation 
where the notes and semantics cannot be passed together into different 
contexts--I was just trying to make a point that it makes sense to keep the 
information separate within EventChord. Though, even though they will be 
separate entries in EventChord, that doesn't stop the possibility of using them 
together, does it?

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


Re: Problem with repeat

2017-05-28 Thread Robert Schmaus
My advice: go over your file (I only looked at it superficially) and 
pepper it with bar checks and - in this case probably more importantly - 
bar *number* checks. Then you should find your misplaced repeat block ...


Here's the manual:

http://lilypond.org/doc/v2.19/Documentation/notation/bars.en.html#bar-and-bar-number-checks

Best,
Robert



Am 28.05.17 um 19:42 schrieb Bernhard Kleine:

The attached excerpt has an errorneous repeat sign at measure five since
the text starts there. However the repeat sign before measure three is
also valid for the text which, however, starts as the vocal part in
measure 5.

How to solve this? Is there a snippet which shows a solution?

Regards Bernhard



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



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


Problem with repeat

2017-05-28 Thread Bernhard Kleine
The attached excerpt has an errorneous repeat sign at measure five since
the text starts there. However the repeat sign before measure three is
also valid for the text which, however, starts as the vocal part in
measure 5.

How to solve this? Is there a snippet which shows a solution?

Regards Bernhard

-- 
spitzhalde9
D-79853 lenzkirch
bernhard.kle...@gmx.net
www.b-kleine.com, www.urseetal.net
-
thunderbird mit enigmail
GPG schlüssel: D5257409
fingerprint:
08 B7 F8 70 22 7A FC C1 15 49 CA A6 C7 6F A0 2E D5 25 74 09

\version "2.19.49"
\language "deutsch"

\header {
  title = "Sing Jubilate Deo"
  composer = "T. u. M. Jerry Estes"
  tagline = "gesetzt von Bernhard Kleine 2017"
}

\layout {
  \context {
\Voice
\consists "Melody_engraver"
\override Stem #'neutral-direction = #'()
  }
}

global = {
  \key b \major
  \time 4/4
  \tempo "With excitement" 4 = 138-144
}

soprano = \relative c'' {
  \global \autoBeamOff
  % Die Noten folgen hier.
  s1 s1 \repeat volta 2 {
s1 s1  h8\rest f8 \autoBeamOn f b b4 f | g8 (f es) f~ f2 |
\autoBeamOff b8\rest  es, \autoBeamOn es f f4 d | e8 (f g) a~ a4 h\rest |
h8\rest \autoBeamOff f8 \autoBeamOn f b b4 f | g8 (f es) f~ f2 |
h8\rest \autoBeamOff es,8 \autoBeamOn f g f4 a
  }
  \alternative  {
{
  b1~ | b2. h4\rest
}
{
  b1~ |
}
  } b2 h2\rest
}


alto = \relative c' {
  \global \autoBeamOff
  % Die Noten folgen hier.
  s1 s1 \repeat volta 2 {
s1 s1 h8\rest d8 \autoBeamOn d f f4 d | es8 (d c) d~ d2 |
\autoBeamOff s8  c \autoBeamOn c c f4 d | e8 (d e) f~ f4 s4 |
h8\rest \autoBeamOff d,8 \autoBeamOn d f f4 d | es8 (d c) d~ d2 |
s8 \autoBeamOff es8 \autoBeamOn f g f4 a
  }
  \alternative  {
{
  b1~ | b2. s4
}
{
  b1~
}
  } b2 s2
}

tenor = \relative c' {
  \global
  % Die Noten folgen hier.

}

bass = \relative c' {
  \global \autoBeamOff
  % Die Noten folgen hier.
  s1 s1 \repeat volta 2 {
s1 s1 h8\rest b8 \autoBeamOn b c c4 b | b4. b8~ b2 |
\autoBeamOff d,8\rest  g \autoBeamOn g a b4 b | c4. c8~ c2 |
h8\rest \autoBeamOff b8 \autoBeamOn b c c4 b | b4. b8~ b2 |
d,8\rest \autoBeamOff g8 \autoBeamOn a b a4 a
  }
  \alternative  {
{
  b1~ | b2. d,4\rest
}
{
  b'1~
}
  } b2 d,2\rest
}

sopranoVerse = \lyricmode {
  % Liedtext folgt hier.
  \repeat volta 2 { Sing Ju -- bi -- la -- te de -- o come and re -- joice with glad -- ness
  Sing Ju -- bi -- la -- te de -- o come sing a joy -- ful }
  \alternative { { song } { song } }
}

altoVerse = \lyricmode {
  % Liedtext folgt hier.

}

tenorVerse = \lyricmode {
  % Liedtext folgt hier.

}

bassVerse = \lyricmode {
  % Liedtext folgt hier.
 \repeat volta 2 { Sing Ju -- bi -- la -- te de -- o come and re -- joice with glad -- ness
  Sing Ju -- bi -- la -- te de -- o come sing a joy -- ful }
  \alternative { { song } { song } }
}

%
rightOne = \relative c' {
  \global \tiny
  % Die Noten folgen hier.
  8_>\f   _>| _>   
  \repeat volta 2 {
8_>\f   _>| _>\break
2 4 4 | 4. 8 \autoBeamOn  d f b | b4. a8 4 f |
e8 f g   c, f a |
2 4 4 | 4. 8 \autoBeamOn  d f b |
2 
  }
  \alternative {
{
  8_>   _>| _>   
}
{
  8_>   _> |
}
  }
  _>  
}

rightTwo = \relative c' {
  \global \tiny
  s1 s1
  \repeat volta 2 {
s1 s1 s1 s1 2 b2 | c4. s8 s2| s1 s1 s1 |
  }
  \alternative  {
{ s1 s1
}
{ s1
}
  }
}
left = \relative c {
  \global \tiny
  % Die Noten folgen hier.
  8_> d\rest d\rest _> d2\rest 8_> d\rest d\rest _> d4\rest d8\rest f,8
  \repeat volta 2 {
8_> d\rest d\rest _> d2\rest 8_> d\rest d\rest _> d4\rest d8\rest f,8
2 2 | 4. 8 2 | 2  |
c,8 d e f~ f4 a |
2 2 | 4. 8 2 | 2 f, 
 }
  \alternative  {
{ 8_> d\rest d\rest _> d2\rest 8_> d\rest d\rest _> d4\rest d8\rest f,8
}
{ 8_> d\rest d\rest _> d2\rest
}
  }
}

choirPart = \new ChoirStaff <<
  \new Staff = "sa" \with {
midiInstrument = "choir aahs"
instrumentName = \markup \center-column { "S" "A" }
  } <<
\new Voice = "soprano" { \voiceOne \soprano }
\new Voice = "alto" { \voiceTwo \alto }
  >>
  \new Lyrics \with {
alignBelowContext = "sa"
\override VerticalAxisGroup #'staff-affinity = #DOWN
  } \lyricsto "soprano" \sopranoVerse

  \new Staff = "tb" \with {
midiInstrument = "choir aahs"
instrumentName = \markup \center-column { "M" }
  } <<
\clef bass

\new Voice = "bass" { \voiceTwo \bass }
  >>

  \new Lyrics \with {
alignBelowContext = "tb"
\override VerticalAxisGroup #'staff-affinity = #DOWN
  }
  \lyricsto "bass" \bassVerse
>>

pianoPart = \new PianoStaff
<<
  \new Staff = "right" << \rightOne \\ \rightTwo  >>
  \new Staff = "left"  { \clef bass \left }
>>

\score {
  <<
\choirPart
\pianoPart
  >>
  \layout { }

}



signature.asc
Description: OpenPGP digital signature
___

Re: Tweak horizontal spacing between two gracenotes

2017-05-28 Thread Sven Axelsson
On 28 May 2017 at 18:46, Urs Liska  wrote:
>
>
> Am 28. Mai 2017 18:18:31 MESZ schrieb Sven Axelsson :
>>Hello list.
>>
>>Most of the time Lilypond does a terrific job with my bagpipe music,
>>but occasionally the optical spacing between notes does not work out. I
>>would like to increase the spacing between the d-g gracenotes a little so
>>they look more like the preceeding g-f pair. What is the best way of doing
>>this?
>
> Maybe
> \once \override NoteColumn.X-offset = 0.5

Yup, that did the trick. Thanks a lot.

-- 
Sven Axelsson
++[>++>+++>++>++
><-]>.+..>+.>+.<<-.>>+.>.<<.
+++.>-.<<++.>>.<++.>>>++..>>.<.

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


Re: Chords in LilyPond

2017-05-28 Thread Kieren MacMillan
Hi Charles (et al.),

> Storing this information in the NoteEvents is clunky in my opinion

Possibly…

> and defeats the purpose of this project

I don’t see how that necessarily/logically follows…?

> the numerous benefits of an internal representation which understands the 
> semantics of a chord beyond its notes.

This would clearly be a great and useful step forward from what we currently 
have.

> the contexts that need the semantic information shouldn’t need note 
> information, and the contexts that need note information don’t need semantic 
> information.

As someone who uses chords both for their note and semantic information 
simultaneously, I would disagree. David’s example

> \new ChordNames \fixed c' { }

perfectly illustrates how note and semantic information should be seamlessly 
swapped back and forth across any and all possible contexts. I tried to hint at 
this when I posted (earlier in this thread) about storing voicing information 
in the chord code — if I write

   explicitChords = \fixed c’ { }

and then use

<<
  \new ChordNames \explicitChords
  \new Staff \explicitChords
>>

what I see (in both contexts) should be what I expect: the ChordNames output 
according to my settings/preferences, and the Staff showing the notes *with the 
voicings I coded*.

The difficult part, of course, is figuring out how to provide this 
functionality with a reasonably consistent, compact, and intuitive input method 
and throughput (internal) representation. But that’s what your GSoC project is 
all about, right?  =)

Best,
Kieren.


Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info


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


Re: Tweak horizontal spacing between two gracenotes

2017-05-28 Thread Urs Liska


Am 28. Mai 2017 18:18:31 MESZ schrieb Sven Axelsson :
>Hello list.
>
>Most of the time Lilypond does a terrific job with my bagpipe music,
>but
>occasionally the optical spacing between notes does not work out. I
>would
>like to increase the spacing between the d-g gracenotes a little so
>they
>look more like the preceeding g-f pair. What is the best way of doing
>this?

Maybe 
\once \override NoteColumn.X-offset = 0.5

HTH
Urs
>
>
>​​
>Thanks,

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


Re: Chords in LilyPond

2017-05-28 Thread Robert Schmaus

Hi Charles,

how good of you to send a summary of this thread. I was very interested 
in it as you wrote the first mail but couldn't reply right away. And 
when I could, the thread had already grown so huge, I just could not 
keep up all posts.
So it might well be that what I write has already been discussed. And it 
is quite possible that what I write is already covered by your plans 
without me realising it ... If so - sorry for the noise!



Anyway, there is one thing that I have trouble with in writing jazz lead 
sheets. It's about dominant 7th chords with #5. There are several 
versions of it (I'll use C as root): C7(#5), C7alt, C+7.


Seen solely as chord for comping, all of those could in principle be 
written as c : 7.5+ in chordmode, but the point is that they carry 
information about the underlying scale to be used in soloing (and of 
course melody). Basically, C7alt means that the underlying scale is the 
altered one, so


C Db Eb E Gb Ab Bb

whereas C+7 means that the underlying scale is the whole tone one

C D E F# G# A#

and I think that the notation C7(#5) might just be a variant of the 
altered chord. But I'm not sure right now - they both appear and might 
well have different implications about the underlying scale.



My point is, right now the only of distinguishing these chords is by 
using parts of the explicit scale in chord mode to distinguish them.

I've chosen to use

c : 7.5+ for C7(#5)
c : 7.5+.2   for C+7
c : 7.5+.2-  for C7aug

which of course doesn"t sound nice in the midi output. I can live with 
that - the midi is secondary for me, but it would of course be great to 
have some sort of interface to define "alt7 means to use 'alt7' in the 
ChordNames context of the layout but to use just (e.g.) < c e gis bes > 
in a Staff context or in midi".


I hope what I write makes some sort of sense ...


Another thing (which might have been discussed already on the thread) 
was: For reasons of clarity and brevity it sometimes is very helpful to 
write stuff like


Bb-7   /Ab/Gb/F

instead of having the root chord Bb-7 in each chord all the time. It 
would be great if there were an easy possiblity to suppress the chord 
and just leave the bass there. Right now that is not easily done ...



Anyway thanks for putting all that effort into this!
All the best,
Robert








Am 28.05.17 um 17:18 schrieb Charles Winston:

Hi all,

There have been some great discussions about new chord functionality you’d like 
to see in LilyPond. The first step is defining the internal representation. 
From there, I think all these issues can be much more easily solved. We have 
the EventChord structure, which contains an ‘articulations and ‘elements entry. 
The ‘elements entry contains some information about the root and inversion, but 
otherwise it is a list of NoteEvents to be iterated over. My plan is to add a 
‘semantics entry whose elements will be semantic aspects of the chord:

-root
-quality of the third (minor, major, none)
-quality of the fifth (diminished, perfect, augmented, none)
-extensions (7, 9, 11, etc.)
my plan for this is to have a list of extensions, each 
extension associated with a bool indicating its presence in the chord,  
 and associated with an alteration.
-added notes (6, 9, etc.)
implemented similarly to extensions above
-suspensions (sus4, sus2, etc.)
-added bass note
-inversions

Let me know what more should be added to this list.

So after this is implemented, we have an internal representation of a chord, 
EventChord, which contains both note information and semantic information, and 
each of these can be utilized independently in different contexts.

Let me know what you guys think.

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



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


Tweak horizontal spacing between two gracenotes

2017-05-28 Thread Sven Axelsson
Hello list.

Most of the time Lilypond does a terrific job with my bagpipe music, but
occasionally the optical spacing between notes does not work out. I would
like to increase the spacing between the d-g gracenotes a little so they
look more like the preceeding g-f pair. What is the best way of doing this?


​​
Thanks,

-- 
Sven Axelsson
++[>++>+++>++>++
><-]>.+..>+.>+.<<-.>>+.>.<<.
+++.>-.<<++.>>.<++.>>>++..>>.<.
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Chords in LilyPond

2017-05-28 Thread David Kastrup
Charles Winston  writes:

> Hi David,
>
>>> Hi all,
>>> 
>>> There have been some great discussions about new chord functionality you’d 
>>> like to see in LilyPond. The first step is defining the internal 
>>> representation. From there, I think all these issues can be much more 
>>> easily solved. We have the EventChord structure, which contains an 
>>> ‘articulations and ‘elements entry. The ‘elements entry contains some 
>>> information about the root and inversion, but otherwise it is a list of 
>>> NoteEvents to be iterated over. My plan is to add a ‘semantics entry whose 
>>> elements will be semantic aspects of the chord:
>>> 
>>> -root
>>> -quality of the third (minor, major, none)
>>> -quality of the fifth (diminished, perfect, augmented, none)
>>> -extensions (7, 9, 11, etc.)
>>> my plan for this is to have a list of extensions, each 
>>> extension associated with a bool indicating its presence in the chord,  
>>>  and associated with an alteration.
>>> -added notes (6, 9, etc.)
>>> implemented similarly to extensions above
>>> -suspensions (sus4, sus2, etc.)
>>> -added bass note
>>> -inversions
>>> 
>>> Let me know what more should be added to this list.
>> 
>> Any reason this information should not be stored in the NoteEvent events
>> actually carrying the pitch information like it is done right now?
>
> Storing this information in the NoteEvents is clunky in my opinion,
> and defeats the purpose of this project—the contexts that need the
> semantic information shouldn’t need note information, and the contexts
> that need note information don’t need semantic information.

So you think that LilyPond should not be able to identify chords, only
reproduce them as entered?

>> It sounds like you are planning to add a completely different and
>> orthogonal mechanism for specifying chords
>
> Yes, I am planning on adding a completely new mechanism for specifying
> chords which LilyPond currently doesn’t support. This thread has
> talked about the numerous benefits of an internal representation which
> understands the semantics of a chord beyond its notes.

s/beyond/instead/ if I understand correctly.

>> it is not clear to me what the results would or should be when the
>> respective information differs.
>
> I’m not exactly sure what you mean by the respective information
> differing? If you mean the note information differing from the
> semantic information, the goal is that that will not happen.

\new ChordNames \fixed c' { }

currently produces the "correct" result.  You would want it to fail
since the notes have not been entered in chord mode?

> Even if it does, it should not create too much trouble, because
> contexts will not use both forms of information, and it would be the
> user’s mistake in causing the information to differ.

-- 
David Kastrup

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


Re: Chords in LilyPond

2017-05-28 Thread Charles Winston
Hi David,

>> Hi all,
>> 
>> There have been some great discussions about new chord functionality you’d 
>> like to see in LilyPond. The first step is defining the internal 
>> representation. From there, I think all these issues can be much more easily 
>> solved. We have the EventChord structure, which contains an ‘articulations 
>> and ‘elements entry. The ‘elements entry contains some information about the 
>> root and inversion, but otherwise it is a list of NoteEvents to be iterated 
>> over. My plan is to add a ‘semantics entry whose elements will be semantic 
>> aspects of the chord:
>> 
>>  -root
>>  -quality of the third (minor, major, none)
>>  -quality of the fifth (diminished, perfect, augmented, none)
>>  -extensions (7, 9, 11, etc.)
>>  my plan for this is to have a list of extensions, each 
>> extension associated with a bool indicating its presence in the chord,   
>> and associated with an alteration.
>>  -added notes (6, 9, etc.)
>>  implemented similarly to extensions above
>>  -suspensions (sus4, sus2, etc.)
>>  -added bass note
>>  -inversions
>> 
>> Let me know what more should be added to this list.
> 
> Any reason this information should not be stored in the NoteEvent events
> actually carrying the pitch information like it is done right now?

Storing this information in the NoteEvents is clunky in my opinion, and defeats 
the purpose of this project—the contexts that need the semantic information 
shouldn’t need note information, and the contexts that need note information 
don’t need semantic information.

> It sounds like you are planning to add a completely different and
> orthogonal mechanism for specifying chords

Yes, I am planning on adding a completely new mechanism for specifying chords 
which LilyPond currently doesn’t support. This thread has talked about the 
numerous benefits of an internal representation which understands the semantics 
of a chord beyond its notes.

> it is not clear to me
> what the results would or should be when the respective information
> differs.

I’m not exactly sure what you mean by the respective information differing? If 
you mean the note information differing from the semantic information, the goal 
is that that will not happen. Even if it does, it should not create too much 
trouble, because contexts will not use both forms of information, and it would 
be the user’s mistake in causing the information to differ.

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


Re: Export to ?????

2017-05-28 Thread Nathan Ho

On 2017-05-25 00:45, Don Gingrich wrote:

I've been looking and looking and I cannot
find any useful references to export file
formats from LilyPond.

Now, I will agree that LilyPond's PDF output
is very good looking and is actually my preferred
sheet music, But the sad reality it that there are
people who do exist who use tools other than
LilyPond, and that occasionally it becomes
necessary to exchange files with these poor
benighted souls. ;-)


hi don,

if you'll forgive me for self-promotion, i'm a contributor to an open 
source project (https://ncodamusic.org/) which aims to support 
translation between a number of music formats, including lilypond import 
and export.


it's early in development, so definitely not helpful to you in its 
current state. but i know you're not the only person interested in this, 
so i just wanted to put this on the radar.



nathan

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


Re: Chords in LilyPond

2017-05-28 Thread David Kastrup
Charles Winston  writes:

> Hi all,
>
> There have been some great discussions about new chord functionality you’d 
> like to see in LilyPond. The first step is defining the internal 
> representation. From there, I think all these issues can be much more easily 
> solved. We have the EventChord structure, which contains an ‘articulations 
> and ‘elements entry. The ‘elements entry contains some information about the 
> root and inversion, but otherwise it is a list of NoteEvents to be iterated 
> over. My plan is to add a ‘semantics entry whose elements will be semantic 
> aspects of the chord:
>
>   -root
>   -quality of the third (minor, major, none)
>   -quality of the fifth (diminished, perfect, augmented, none)
>   -extensions (7, 9, 11, etc.)
>   my plan for this is to have a list of extensions, each 
> extension associated with a bool indicating its presence in the chord,
>and associated with an alteration.
>   -added notes (6, 9, etc.)
>   implemented similarly to extensions above
>   -suspensions (sus4, sus2, etc.)
>   -added bass note
>   -inversions
>
> Let me know what more should be added to this list.

Any reason this information should not be stored in the NoteEvent events
actually carrying the pitch information like it is done right now?  It
sounds like you are planning to add a completely different and
orthogonal mechanism for specifying chords and it is not clear to me
what the results would or should be when the respective information
differs.

> So after this is implemented, we have an internal representation of a
> chord, EventChord, which contains both note information and semantic
> information, and each of these can be utilized independently in
> different contexts.
>
> Let me know what you guys think.

An EventChord currently is a _container_.  It never even reaches a
stream event listener.  Instead it is unpacked and its contained
notes/events are played to whatever listener is interested in them.

-- 
David Kastrup

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


Re: Chords in LilyPond

2017-05-28 Thread Charles Winston
Hi all,

There have been some great discussions about new chord functionality you’d like 
to see in LilyPond. The first step is defining the internal representation. 
From there, I think all these issues can be much more easily solved. We have 
the EventChord structure, which contains an ‘articulations and ‘elements entry. 
The ‘elements entry contains some information about the root and inversion, but 
otherwise it is a list of NoteEvents to be iterated over. My plan is to add a 
‘semantics entry whose elements will be semantic aspects of the chord:

-root
-quality of the third (minor, major, none)
-quality of the fifth (diminished, perfect, augmented, none)
-extensions (7, 9, 11, etc.)
my plan for this is to have a list of extensions, each 
extension associated with a bool indicating its presence in the chord,  
 and associated with an alteration.
-added notes (6, 9, etc.)
implemented similarly to extensions above
-suspensions (sus4, sus2, etc.)
-added bass note
-inversions

Let me know what more should be added to this list.

So after this is implemented, we have an internal representation of a chord, 
EventChord, which contains both note information and semantic information, and 
each of these can be utilized independently in different contexts.

Let me know what you guys think.

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