ANN: TransLily - A minimalist assistant for transcribing vocal and instrumental parts in LilyPond notation.

2014-11-06 Thread Michael Ellis
I've been using LilyPond for a number of years to transcribe individual
parts from choral and instrumental music.  Along the way, I've tried
various GUI's and editor macros but none have proved quite satisfactory ---
particularly when it comes to efficiently transcribing more than one part.

I coded a solution that's made a significant improvement in the time
required to transcribe multiple  parts (as individual part sheets) and
thought it worth sharing so I put it up on GitHub at

https://github.com/Michael-F-Ellis/TransLily

The README there is a comprehensive document, so I won't rehash it here.

Although I'm describing it as a 0.1 version, that's largely because I've
only tested it on OS X.  Otherwise, it's fairly complete and solid CLI
program written in Python and should run on on Linux and probably Windows.

I'd be interested in any constructive feedback either in this thread or on
GitHub.

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


MIDI and Volta repeats in parallel music

2014-11-19 Thread Michael Ellis
​
I find it advantageous when working with multiple voices to keep
'structural' information (meter, tempo, etc.) in a separate voice that gets
combined with the other voices as illustrated in the image and code below.
In this example, the pdf layout is correct and the MIDI output honors the
tempo change, but doesn't repeat the second measure despite using a
separate score block with \unfoldRepeats.



music = \relative c' { c4 d e | f g a b  }

structure = {
\time 3/4 \tempo 4=60 s2.
\time 4/4 \tempo 4=120 \repeat volta 2 { s1 }
 }

\score {
  \new Staff = "Music" {
  <<
\new Voice = "Music" { \voiceOne \music }
\new Voice = "Structure" { \voiceTwo \structure }
  >>
  }
}

\score {
\unfoldRepeats { << \structure \\ \music >> }
\midi {
}
}

I can get the MIDI to repeat by copying the \repeat into the music
variable, e.g.

music = \relative c' { c4 d e | \repeat volta 2 { f g a b } }

but that defeats the convenience of keeping the 'structural' info in a
separate voice.  Is there a way to get the repeats in MIDI without
resorting to copying them into the notation for every voice?


Thanks,
Mike Ellis

*TransLily -- a minimal
assistant for part transcription with LilyPond.*
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: would 'gn' for G-natural be useful in \language "english" ?

2014-11-20 Thread Michael Ellis
Also American, can't see the need for this because LP supports defining
your own pitch names in an include file.

For example, I once made an include file (attached) that supports both
English and Chromatic Fixed Do solfege, i.e. one can enter an E-flat major
scale as either

ef f g af bf c d ef

or

me fa sol le te do re me

or any mixture of the two systems (but that way lies madness.)


Cheers,
Mike

On Thu, Nov 20, 2014 at 12:50 AM, Paul Morris  wrote:

> Another American here, but I don't have a very strong opinion on this.  I
> can
> see arguments on both sides.
>
> -Paul
>
>
>
> --
> View this message in context:
> http://lilypond.1069038.n5.nabble.com/would-gn-for-G-natural-be-useful-in-language-english-tp165872p168834.html
> Sent from the User mailing list archive at Nabble.com.
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>


english-solfa.ly
Description: Binary data
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: MIDI and Volta repeats in parallel music

2014-11-22 Thread Michael Ellis
On Wed, Nov 19, 2014 at 10:54 AM, Michael Ellis 
wrote:

>
>
> ​
> I find it advantageous when working with multiple voices to keep
> 'structural' information (meter, tempo, etc.) in a separate voice that gets
> combined with the other voices as illustrated in the image and code below.
> In this example, the pdf layout is correct and the MIDI output honors the
> tempo change, but doesn't repeat the second measure despite using a
> separate score block with \unfoldRepeats.
>
>
After some further research, it appears that there is no general solution
(other than copying the volte into each voice) so I'm dropping the question.

I have another question that's somewhat related.  If my example  contained
notes above the middle line, you would notice that the stem directions
would still be up because I designated \music as \voiceOne and \structure
as \VoiceTwo.


> music = \relative c' { c4 d e | f g a b  }
>
> structure = {
> \time 3/4 \tempo 4=60 s2.
> \time 4/4 \tempo 4=120 \repeat volta 2 { s1 }
>  }
>
> \score {
>   \new Staff = "Music" {
>   <<
> \new Voice = "Music" { \voiceOne \music }
> \new Voice = "Structure" { \voiceTwo \structure }
>   >>
>   }
> }
>
>
Is there a way to tell LilyPond to apply the usual single voice rules for
stem direction to \music?
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: MIDI and Volta repeats in parallel music

2014-11-22 Thread Michael Ellis
On Sat, Nov 22, 2014 at 11:16 AM, Urs Liska  wrote:

>
>
> Well, in this case you don't have any conflicting music in the two Voice
> contexts (because the \structure isn't a printed music voice).
> So you can simply leave out the \voiceXXX commands and you're ready.
>
> using \voiceOne and \voiceTwo is not mandatory at all to manage two
> voices. These commands only give LilyPond the necessary clues how to deal
> with potential collision events and how to typeset the voices (e.g. the
> stem direction you noticed, but also which voice would move to which
> direction in case of collisions etc.).
>

Works beautifully. Thanks, Urs!

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


Re: MIDI and Volta repeats in parallel music

2014-11-23 Thread Michael Ellis
On Sun, Nov 23, 2014 at 4:46 PM,  wrote:

> What's more, is there a reason to have the structure in a different
> voice?
>
>
>


Good question. For me,  it's mostly about the DRY principle (don't repeat
yourself).  I'm in the process of writing a program that tries to maximize
one's opportunities to exploit the repetitive aspects of most compositions
when entering the notation for multiple voices.  It's a work in progress,
but if you're curious it lives at
https://github.com/Michael-F-Ellis/TransLily

As for the whole \repeat unfold business, I'd love to understand why LP can
merge repeats in the PDF but can't do it MIDI.  I know the developers are
really smart folks,  so it must be way more challenging than I'm imagining.
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: MIDI and Volta repeats in parallel music

2014-11-23 Thread Michael Ellis
On Sun, Nov 23, 2014 at 10:33 PM, Peter Chubb 
wrote:

> My point I think is that the structure is the structure of the voice,
> not the structure of the staff.  Which is why, BTW, the MIDI repeats
> don't unfold.
>
> Visibly the structure voice shows the repeats, but the repeats aren't
> actually in the music voice.
>

I do understand that and it makes sense for LP to support almost any crazy
thing a composer might do.  As practical matter, however,  having volte in
one voice and not another is extremely rare.  I don't think I've ever seen
that in a score.

I haven't looked at the LilyPond code for \repeat, so I'm just guessing
here, but it seems to me that  maybe \repeat unfold is wrong tool for job
since it operates at the level of music expressions.   Maybe what's needed
is lower level code that operates at the level of midi file timing.  I
think it's analogous to what LP has to do to put the repeat bars and other
staff-level annotations from one voice in the right spatial location to
relative to another voice's.  That's a non-trivial task in itself, without
even getting into what LP does to avoid vertical collisions.

So it if were up to me (and it certainly isn't), I'd like to see some
effort put into developing a new command to designated one voice as a
'master' in the midi block, so that one might write something like

\score {
  << \structure \\ voiceA \\ voiceB  ... >>
  \midi {
  \master \structure
  }
}

to tell LP "Keep track of the repeats in the master and copy/paste as
needed in the other voices to make it so."

This is a good discussion and I hope we can continue it.  I'm going to be
traveling for the next 2 days so if my responses aren't immediate it
doesn't mean I'm not interested.

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


Linnstrument tablature

2015-10-27 Thread Michael Ellis
I just acquired a Linnstrument.  It's a grid of 200 touchpads, each with
independent sensing of pressure and finger motion in both x and y.  More
about it here .

The pads are arranged in 8 rows of 25 pads.  The pitches are chromatic
along rows ( 1/2 step between adjacent pads) with user configurable
intervals between rows.  Typical row-to-row tuning is in 4ths, but other
intervals are possible.

I want to create some tablature for it.  Lilypond's custom tablature
capability is about 90% of what I need.  The only complication is that,
unlike a real stringed instrument, one can play multiple simultaneous
pitches within a row as well as across rows.  Is there a way to indicate
that in tab with LilyPond and, if so, how?

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


Linnstrument tablature

2015-10-28 Thread Michael Ellis
On Tue, Oct 27, 2015 at 4:21 PM, Urs Liska  wrote:

> Without trying to really understand the implications I would ask you: Is
> there a way to indicate that kind of two-dimensionality *in notation*
> and, if so, how?
> If you have an answer to that it will be easier to consider a LilyPond
> implementation.
>

Not sure if you mean the two-dimensionality of the grid layout or the two
(actually 3) dimensions of pad response.  I'll try to address both:

Because the rows are always monotonically chromatic,  they're analogous to
a fretted string so a linnstrument tuned in, say, fourths can be
represented in tab much like an 8 string guitar, e.g.

%%
-
linnstrument-fourths = \stringTuning 

first-two = \relative c,  {
  c4 e g c |
  e4 g  b c
}
next-two = \relative c' {
  2  g'4\4  c\3 |
  e4\2  g\2  b c
}

<<
  \new Staff {
\clef bass
\first-two
\clef treble
\next-two
  }
  \new TabStaff {
\set TabStaff.stringTunings = #linnstrument-fourths
  % No open strings on Linnstrument, first pad is fret 1
  \set TabStaff.minimumFret = #1
 \set TabStaff.restrainOpenStrings = ##t

\first-two \next-two
  }
>>
%%
-


The problem I alluded to in my previous post is that you might well want to
play the half-note chord in measure 3 on row 5 as 2 (frets 16,20),
but LP doesn't seem to support that yet.

There's also an issue if someone wants to arrange the row pitches ascending
from back to front.  I tried that in the string tuning list and LP didn't
do well at keeping the fret numbers low.


Concerning the 3-D pad responses,  the typical mapping is:

Z (pressure) --> loudness
X  --> pitch bend
Y  --> timbre

Those can be handled in standard notation with hairpins for loudness,
 vibrato, slurs, slides etc for pitch bend, and markup for timbre, e.g.
'sul ponte, sul tasto ...'.

Urs Liska  replied:

Your image shows it as I expected. But my question remains: if you want
> that c/e be pressed on one "string" how would you visualize that *at all*?
> Only with a clear idea about that it's possible to consider a *LilyPond*
> implementation.


That's a very good question.  Since a new convention is required I think
it's important to think carefully about what would be most readable and
cause the least conflict with existing conventions.  I'm leaning toward
something very simple, like

---16 20---  whitespace between pad numbers means play simultaneously.

For stemmed tablature, I'd say the stems should attach to the rightmost pad
number for up stems and the leftmost for downstems.

Slurs, I suppose, should extend from the leftmost pad that's musically part
of the slur to the rightmost.

For glissandi, it may be challenging to cover all possibilities.  The
Linnstrument permits a slide from any pad to any other in the same row, so
there's a need to cover cases like sliding from the center note of 3 pads
held down on a row to some other note.
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Linnstrument tablature

2015-10-28 Thread Michael Ellis
Marc Hohl mailto:m...@hohlart.de>> wrote:

Am 28.10.2015 um 01:36 schrieb Michael Ellis:

>
> On Tue, Oct 27, 2015 at 4:27 PM, Marc Hohl  <mailto:m...@hohlart.de>> wrote:
>
> Wow, looks like a futuristic Chapman stick ;-)
>
>
> Yes, it's been on the market less than a year.  Mine, which came 2
> weeks ago, is #437.  I usually stay away from the bleeding edge but I
> just couldn't resist.
>

Yes, this seems to be an interesting and inspirational tool to create music.

It's the electronic instrument I've always dreamed of designing only
> better thought out.  I also really like the fact that the maker has
> open-sourced the firmware and designed it around the Arduino Due.
>
>
> Are there any examples of how this should look like?
>
> See my reply to Urs


Marc, thanks for noticing I hadn't posted to the list.  Sorry, unfamiliar
email client ...
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Linnstrument tablature

2015-10-28 Thread Michael Ellis
On Wed, Oct 28, 2015 at 11:58 AM BB  wrote:

> Sounds interesting. Which midi synth do you use with it?
>
> I'm using Logic Pro X.  It supports Channel Per Note MIDI which is needed
for polyphonically varying control messages.

A list of recommended sound generators is maintained at
http://www.rogerlinndesign.com/linnstrument-recommended-sound-generators.html
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Linnstrument tablature

2015-10-28 Thread Michael Ellis
On Wed, Oct 28, 2015 at 3:11 PM David Kastrup  wrote:

> Michael Ellis  writes:
>
> > The problem I alluded to in my previous post is that you might well
> > want to play the half-note chord in measure 3 on row 5 as 2
> > (frets 16,20), but LP doesn't seem to support that yet.
>
> It seems to me that the main problem is that paper doesn't support it
> either.  Care for making a sketch how you imagine this should look like?
>
>
Here's what I wrote earlier in reply to Urs.

 I'm leaning toward something very simple, like

---16 20---  whitespace between pad numbers means play simultaneously.

For stemmed tablature, I'd say the stems should attach to the rightmost pad
number for up stems and the leftmost for downstems.

Slurs, I suppose, should extend from the leftmost pad that's musically part
of the slur to the rightmost.

For glissandi, it may be challenging to cover all possibilities.  The
Linnstrument permits a slide from any pad to any other in the same row, so
there's a need to cover cases like sliding from the center note of 3 pads
held down on a row to some other note.
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Sibelius 7 to LilyPond Conversion!

2015-10-28 Thread Michael Ellis
Just a thought: You might have some luck feeding the Sibelius XML to
music21 http://web.mit.edu/music21/doc/systemReference/faq.html and then
re-writing the XML file to feed to musicxml2ly.  Music21 is open source,
fairly powerful, and somewhat Lilypond aware.

On Wed, Oct 28, 2015 at 6:25 PM Jacques Menu  wrote:

> Hello Thomas,
>
> No luck:
> - exporting from Sibelius 7.1.3 to MusicXML produces a file, but
> music2xml crashes on it;
> - save after importing those exports into Finale 2014 and
> re-exporting as MusicXML.
>
> See below what I get. Things always end with:
> raise "More than 1 child", klass
>
> There are messages related to slurs, and it seems Sibelius mixes slurs and
> ties happily…
> Could there be such a problem in your Sibelius files?
>
> JM
>
>
>
> menu@macbookprojm:~/Desktop > ll *.xml
>  488 -rw-r--r--  1 menu  staff   246645 Oct 28 23:14:44 2015 Sleigh Ride
> Official - Trumpet in Bb 1 from Finale 2014.xml
>  472 -rw-r--r--  1 menu  staff   239577 Oct 28 23:00:40 2015 Sleigh Ride
> Official - Trumpet in Bb 1.xml
> 4016 -rw-r--r--  1 menu  staff  2052228 Oct 28 23:14:15 2015 Sleigh Ride
> Official from Finale 2014.xml
> 4184 -rw-r--r--  1 menu  staff  2140026 Oct 28 23:00:11 2015 Sleigh Ride
> Official.xml
>
>
>
> menu@macbookprojm:~/Desktop > musicxml2ly Sleigh\ Ride\ Official\ -\
> Trumpet\ in\ Bb\ 1.xml
> musicxml2ly: Reading MusicXML from Sleigh Ride Official - Trumpet in Bb
> 1.xml ...
> musicxml2ly: Converting to LilyPond expressions...
> Traceback (most recent call last):
>   File "/Applications/LilyPond.app/Contents/Resources/bin/musicxml2ly",
> line 2986, in 
> main()
>   File "/Applications/LilyPond.app/Contents/Resources/bin/musicxml2ly",
> line 2981, in main
> voices = convert (filename, options)
>   File "/Applications/LilyPond.app/Contents/Resources/bin/musicxml2ly",
> line 2892, in convert
> score = extract_score_structure (mxl_pl, staff_info)
>   File "/Applications/LilyPond.app/Contents/Resources/bin/musicxml2ly",
> line 430, in extract_score_structure
> staff = read_score_part (el)
>   File "/Applications/LilyPond.app/Contents/Resources/bin/musicxml2ly",
> line 383, in read_score_part
> staff.instrument_name = extract_display_text (partname)
>   File "/Applications/LilyPond.app/Contents/Resources/bin/musicxml2ly",
> line 907, in extract_display_text
> child = el.get_maybe_exist_named_child ("display-text")
>   File
> "/Applications/LilyPond.app/Contents/Resources/share/lilypond/current/python/musicxml.py",
> line 114, in get_maybe_exist_named_child
> return self.get_maybe_exist_typed_child (get_class (name))
>   File
> "/Applications/LilyPond.app/Contents/Resources/share/lilypond/current/python/musicxml.py",
> line 123, in get_maybe_exist_typed_child
> raise "More than 1 child", klass
> TypeError: exceptions must be old-style classes or derived from
> BaseException, not str
>
>
>
> menu@macbookprojm:~/Desktop > musicxml2ly Sleigh\ Ride\ Official.xml
> musicxml2ly: Reading MusicXML from Sleigh Ride Official.xml ...
> musicxml2ly: Converting to LilyPond expressions...
> musicxml2ly: Converting to LilyPond expressions...
> musicxml2ly: Converting to LilyPond expressions...
> musicxml2ly: Converting to LilyPond expressions...
> musicxml2ly: Converting to LilyPond expressions...
> musicxml2ly: warning: Cannot have a slur inside another slur
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
> musicxml2ly: warning: Cannot have a slur inside another slur
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
> musicxml2ly: warning: Cannot have a slur inside another slur
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
> musicxml2ly: warning: Cannot have a slur inside another slur
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
> musicxml2ly: Converting to LilyPond expressions...
> musicxml2ly: warning: Cannot have a slur inside another slur
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
> musicxml2ly: Converting to LilyPond expressions...
> musicxml2ly: warning: Cannot have a slur inside another slur
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
> musicxml2ly: Converting to LilyPond expressions...
> musicxml2ly: Converting to LilyPond expressions...
> musicxml2ly: warning: Cannot have two simultaneous slurs
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
> musicxml2ly: warning: Encountered closing slur, but no slur is open
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
> musicxml2ly: warning: Cannot have two simultaneous slurs
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
> musicxml2ly: warning: Encountered closing slur, but no slur is open
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
>   In: 
>
> musicxml2ly: Converting to LilyPond expressions...
> musicxml2ly: Converting to LilyPond expressions...
> musicxml2ly: Converting to LilyPond expressions...

Extracting pitch names from music

2010-12-07 Thread Michael Ellis
I use LilyPond to create practice scores and etudes. I've figured out how to
allow note entry in Moveable Do solfege notation and have a template (see
below) that supports displaying the solfege symbols as lyrics beneath the
notes.

At present, I have to manually extract the lyrics from the notation plus
markup that generates the music. I've been able to partially automate this
with some python and vim code (not shown here), but it is still somewhat
unsatisfactory.

It seems to me that the best solution would be to use LilyPond's built-in
Scheme interpreter to extract the pitch names while the file is being
processed. I've made some attempts to use map with ly:note-pitchname, but so
far no success. This is probably because I know squat about Scheme,
especially as used in LilyPond scripts.


% Moveable Do as lyrics template

% define some solfege pitchnames
% (in practice, the full set goes into "english.ly")
pitchnames = #`(
(do . ,(ly:make-pitch -1 0 NATURAL))
(re . ,(ly:make-pitch -1 1 NATURAL))
(mi . ,(ly:make-pitch -1 2 NATURAL))
)
#(ly:parser-set-note-names parser pitchnames)

% compose as though in C major
mynotes =  \relative do' {\key do \major do2 re4( mi4) }

% transpose to desired key
melody = \transpose do mi  { \mynotes }

% I WANT TO AUTOMATICALLY CREATE THE
% THE PITCHNAMES IN THIS BLOCK
% FROM THE CONTENTS OF \mynotes
solfa = \lyricmode {
\set ignoreMelismata = ##t  % one syllable per note
do re mi
\unset ignoreMelismata  % allow normal placement of other lyrics
}

% Produce score with solfege names as lyrics
\score {
<<
\new Voice = "myVoice" {
\melody
}
\new Lyrics \lyricsto "myVoice" \solfa
>>
}
\version "2.12.3"




Note: I've also posted this question at
StackOverflow
but
I'm not sure how many LilyPond gurus are active there, so it seems
worthwhile to ask the same question here.

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


Re: Extracting pitch names from music

2010-12-07 Thread Michael Ellis
Thanks Valentin, that's quite helpful.  I ended up taking an approach you
suggested in a previous
post<http://lists.gnu.org/archive/html/lilypond-user/2010-10/msg00687.html>to
this list.  Using the NoteNames context with alternative note names
seems
to be doing pretty much everything I want.

Here's a revised version of my script that works as desired:

% Moveable Do as lyrics example

% define solfege pitchnames
pitchnames = #`(
(do . ,(ly:make-pitch -1 0 NATURAL))
(re . ,(ly:make-pitch -1 1 NATURAL))
(mi . ,(ly:make-pitch -1 2 NATURAL))
)

#(ly:parser-set-note-names parser pitchnames)

% Apparently, LilyPond reverts to dutch names when
% using the NoteNames context. The following
% workaround was posted by V. Villenave at
% http://lists.gnu.org/archive/html/lilypond-user/2010-10/msg00687.html

newnames =
#`(("c" . "do")
   ("d" . "re")
   ("e" . "mi"))

myNoteNames =
#(lambda (grob)
   (let* ((default-name (ly:grob-property grob 'text))
  (new-name (assoc-get default-name newnames)))
 (ly:grob-set-property! grob 'text new-name)
   (ly:text-interface::print grob)))

% compose as though in C major
mynotes =  \relative do' {\key do \major do2 re4( mi4) }

% transpose to desired key
melody = \transpose do mi  { \mynotes }

% Produce score with solfege names as lyrics
\score {
<<
\new Voice = "myVoice" {
\melody
}
\context NoteNames \with {
   \override NoteName #'stencil = #myNoteNames
} { \mynotes }

>>
}
\version "2.12.3"


This approach seems to work ok with a larger example where I defined all the
chromatic solfege names.  The only issue I seem to be encountering in the
larger example is an unintended doubling of voices on the midi output. Does
the NoteNames engraver produce a midi stream by default?  If so, how can I
turn it off?

My midi section looks like

\midi {
%% voodoo that lets us specify instrument in melody
 \context {
   \Staff
   \remove "Staff_performer"
 }
 \context {
   \Voice
   \consists "Staff_performer"
}
}


Cheers,
Mike


On Tue, Dec 7, 2010 at 11:41 AM, Valentin Villenave
wrote:

> On Tue, Dec 7, 2010 at 4:35 PM, Michael Ellis 
> wrote:
> > It seems to me that the best solution would be to use LilyPond's built-in
> > Scheme interpreter to extract the pitch names while the file is being
> > processed. I've made some attempts to use map with ly:note-pitchname, but
> so
> > far no success. This is probably because I know squat about Scheme,
> > especially as used in LilyPond scripts.
>
> Here's an attempt of a patch I recently made, that might give you some
> pointers:
>
> diff --git a/scm/chord-name.scm b/scm/chord-name.scm
> index 7f5909b..2853102 100644
> --- a/scm/chord-name.scm
> +++ b/scm/chord-name.scm
> @@ -59,15 +59,38 @@
>   (make-hspace-markup (if (= alteration SHARP) 0.2 0.1))
>   
>
> +(define (note-names-vector alist)
> +  "Extract note names from a pitchnames ALIST."
> +  (let ((name-ls '()))
> +(map (lambda (x)
> +  (let* ((pitch (cdr x))
> + (alteration (ly:pitch-alteration pitch)))
> +(if (eq? alteration 0)
> +(set! name-ls (cons
> +   (string-capitalize (symbol->string (car
> x)))
> +   name-ls)
> + alist)
> +(list->vector (reverse name-ls
> +
> -(define-public (note-name->markup pitch lowercase?)
> +(define-public (note-name->markup pitch lowercase? . input-language)
>  "Return pitch markup for PITCH."
> -  (make-line-markup
> -   (list
> -(make-simple-markup
> - (conditional-string-downcase
> -  (vector-ref #("C" "D" "E" "F" "G" "A" "B") (ly:pitch-notename
> pitch))
> -  lowercase?))
> -(accidental->markup (ly:pitch-alteration pitch)
> +  (let* ((get-pitchnames (lambda (x)
> +  (ly:assoc-get (string->symbol x)
> +language-pitch-names)))
> +(alist (get-pitchnames default-language)))
> +(if input-language
> +   (cond ((string? input-language)
> +  (set! alist (get-pitchnames input-language)))
> + ((boolean? input-language))
> + (set! alist pitchnames)))
> +(make-line-markup
> + (list
> +  (make-simple-markup
> +   (conditional-string-downcase
> +   (vector-ref (note-names-vector alist)
> +   (ly:pitch-notename pitch))
> +   lowercase?))
> +  (accidental->markup (ly:pitch-alteration pitch))
>
> Sorry for not being more helpful, if there are things you don't
> understand I'll try and help you further.
>
> Cheers,
> Valentin.
>
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Extracting pitch names from music

2010-12-09 Thread Michael Ellis
Just found the markup macro in the docs.  Changing

(ly:grob-set-property! grob 'text new-name)

to

(ly:grob-set-property! grob 'text (markup #:italic #:smaller new-name))

does what I'm looking for.  Is this the "right" way to handle issues like
this? By that question, I think  I really mean "Is there any downside to
using Scheme to solve problems like this?"

Cheers,
Mike


On Thu, Dec 9, 2010 at 1:02 PM, Michael Ellis wrote:

> Putting the \midi block inside a separate \score block solved the audio
> doubling issue.  I could still use some suggestions regarding how to control
> the font properties of the NoteNames output.  With lyrics, I can do things
> like
>
> \context {
>  \Lyrics
> %% Pack stanzas a little closer vertically
> minimumVerticalExtent = #'(0 . 0)
>  %% decrease lyric font size by 1 increment
>  \override LyricText #'font-size = #-1
>}
>
> Thanks,
> Mike
>
>
>
> On Tue, Dec 7, 2010 at 3:40 PM, Michael Ellis 
> wrote:
>
>> Thanks Valentin, that's quite helpful.  I ended up taking an approach you
>> suggested in a previous 
>> post<http://lists.gnu.org/archive/html/lilypond-user/2010-10/msg00687.html>to
>>  this list.  Using the NoteNames context with alternative note names seems
>> to be doing pretty much everything I want.
>>
>> Here's a revised version of my script that works as desired:
>>
>> % Moveable Do as lyrics example
>>
>> % define solfege pitchnames
>> pitchnames = #`(
>> (do . ,(ly:make-pitch -1 0 NATURAL))
>>  (re . ,(ly:make-pitch -1 1 NATURAL))
>> (mi . ,(ly:make-pitch -1 2 NATURAL))
>> )
>>
>> #(ly:parser-set-note-names parser pitchnames)
>>
>> % Apparently, LilyPond reverts to dutch names when
>>  % using the NoteNames context. The following
>> % workaround was posted by V. Villenave at
>> % http://lists.gnu.org/archive/html/lilypond-user/2010-10/msg00687.html
>>
>> newnames =
>> #`(("c" . "do")
>>("d" . "re")
>>("e" . "mi"))
>>
>> myNoteNames =
>> #(lambda (grob)
>>(let* ((default-name (ly:grob-property grob 'text))
>>   (new-name (assoc-get default-name newnames)))
>>  (ly:grob-set-property! grob 'text new-name)
>>(ly:text-interface::print grob)))
>>
>> % compose as though in C major
>>  mynotes =  \relative do' {\key do \major do2 re4( mi4) }
>>
>> % transpose to desired key
>> melody = \transpose do mi  { \mynotes }
>>
>> % Produce score with solfege names as lyrics
>> \score {
>> <<
>> \new Voice = "myVoice" {
>>  \melody
>> }
>> \context NoteNames \with {
>>\override NoteName #'stencil = #myNoteNames
>> } { \mynotes }
>>
>> >>
>> }
>> \version "2.12.3"
>>
>>
>> This approach seems to work ok with a larger example where I defined all
>> the chromatic solfege names.  The only issue I seem to be encountering in
>> the larger example is an unintended doubling of voices on the midi output.
>> Does the NoteNames engraver produce a midi stream by default?  If so, how
>> can I turn it off?
>>
>> My midi section looks like
>>
>>  \midi {
>> %% voodoo that lets us specify instrument in melody
>>  \context {
>>\Staff
>>\remove "Staff_performer"
>>  }
>>  \context {
>>\Voice
>>\consists "Staff_performer"
>>  }
>> }
>>
>>
>> Cheers,
>> Mike
>>
>>
>>
>> On Tue, Dec 7, 2010 at 11:41 AM, Valentin Villenave <
>> valen...@villenave.net> wrote:
>>
>>> On Tue, Dec 7, 2010 at 4:35 PM, Michael Ellis 
>>> wrote:
>>> > It seems to me that the best solution would be to use LilyPond's
>>> built-in
>>> > Scheme interpreter to extract the pitch names while the file is being
>>> > processed. I've made some attempts to use map with ly:note-pitchname,
>>> but so
>>> > far no success. This is probably because I know squat about Scheme,
>>> > especially as used in LilyPond scripts.
>>>
>>> Here's an attempt of a patch I recently made, that might give you some
>>> pointers:
>>>
>>> diff --git a/scm/chord-name.scm b/scm/chord-name.scm
>>> index 7f5909b..2853102 100644
>>> ---

Re: Extracting pitch names from music

2010-12-09 Thread Michael Ellis
Putting the \midi block inside a separate \score block solved the audio
doubling issue.  I could still use some suggestions regarding how to control
the font properties of the NoteNames output.  With lyrics, I can do things
like

\context {
 \Lyrics
%% Pack stanzas a little closer vertically
minimumVerticalExtent = #'(0 . 0)
 %% decrease lyric font size by 1 increment
 \override LyricText #'font-size = #-1
   }

Thanks,
Mike


On Tue, Dec 7, 2010 at 3:40 PM, Michael Ellis wrote:

> Thanks Valentin, that's quite helpful.  I ended up taking an approach you
> suggested in a previous 
> post<http://lists.gnu.org/archive/html/lilypond-user/2010-10/msg00687.html>to 
> this list.  Using the NoteNames context with alternative note names seems
> to be doing pretty much everything I want.
>
> Here's a revised version of my script that works as desired:
>
> % Moveable Do as lyrics example
>
> % define solfege pitchnames
> pitchnames = #`(
> (do . ,(ly:make-pitch -1 0 NATURAL))
>  (re . ,(ly:make-pitch -1 1 NATURAL))
> (mi . ,(ly:make-pitch -1 2 NATURAL))
> )
>
> #(ly:parser-set-note-names parser pitchnames)
>
> % Apparently, LilyPond reverts to dutch names when
> % using the NoteNames context. The following
> % workaround was posted by V. Villenave at
> % http://lists.gnu.org/archive/html/lilypond-user/2010-10/msg00687.html
>
> newnames =
> #`(("c" . "do")
>("d" . "re")
>("e" . "mi"))
>
> myNoteNames =
> #(lambda (grob)
>(let* ((default-name (ly:grob-property grob 'text))
>   (new-name (assoc-get default-name newnames)))
>  (ly:grob-set-property! grob 'text new-name)
>(ly:text-interface::print grob)))
>
> % compose as though in C major
> mynotes =  \relative do' {\key do \major do2 re4( mi4) }
>
> % transpose to desired key
> melody = \transpose do mi  { \mynotes }
>
> % Produce score with solfege names as lyrics
> \score {
> <<
> \new Voice = "myVoice" {
>  \melody
> }
> \context NoteNames \with {
>\override NoteName #'stencil = #myNoteNames
> } { \mynotes }
>
> >>
> }
> \version "2.12.3"
>
>
> This approach seems to work ok with a larger example where I defined all
> the chromatic solfege names.  The only issue I seem to be encountering in
> the larger example is an unintended doubling of voices on the midi output.
> Does the NoteNames engraver produce a midi stream by default?  If so, how
> can I turn it off?
>
> My midi section looks like
>
>  \midi {
> %% voodoo that lets us specify instrument in melody
>  \context {
>\Staff
>\remove "Staff_performer"
>  }
>  \context {
>\Voice
>\consists "Staff_performer"
>  }
> }
>
>
> Cheers,
> Mike
>
>
>
> On Tue, Dec 7, 2010 at 11:41 AM, Valentin Villenave <
> valen...@villenave.net> wrote:
>
>> On Tue, Dec 7, 2010 at 4:35 PM, Michael Ellis 
>> wrote:
>> > It seems to me that the best solution would be to use LilyPond's
>> built-in
>> > Scheme interpreter to extract the pitch names while the file is being
>> > processed. I've made some attempts to use map with ly:note-pitchname,
>> but so
>> > far no success. This is probably because I know squat about Scheme,
>> > especially as used in LilyPond scripts.
>>
>> Here's an attempt of a patch I recently made, that might give you some
>> pointers:
>>
>> diff --git a/scm/chord-name.scm b/scm/chord-name.scm
>> index 7f5909b..2853102 100644
>> --- a/scm/chord-name.scm
>> +++ b/scm/chord-name.scm
>> @@ -59,15 +59,38 @@
>>   (make-hspace-markup (if (= alteration SHARP) 0.2 0.1))
>>   
>>
>> +(define (note-names-vector alist)
>> +  "Extract note names from a pitchnames ALIST."
>> +  (let ((name-ls '()))
>> +(map (lambda (x)
>> +  (let* ((pitch (cdr x))
>> + (alteration (ly:pitch-alteration pitch)))
>> +(if (eq? alteration 0)
>> +(set! name-ls (cons
>> +   (string-capitalize (symbol->string (car
>> x)))
>> +   name-ls)
>> + alist)
>> +(list->vector (reverse name-ls
>> +
>> -(define-public (note-name->markup pitch lowercase?)
>> +(define-public (note-name->markup pitch lowercase? . input-language)
>>  "Return pitch mar

Re: Odd output

2010-12-10 Thread Michael Ellis
Why not set one of the notes to a different enharmonic pitch?  It's
certainly much kinder to the musician who's trying to play the composition.

 \include "english.ly"
{
\clef treble
\time 4/4
<<
{ fs'4 }
\\
{ es'4 }
>>
}


Cheers,
Mike


On Fri, Dec 10, 2010 at 7:00 AM, Phil Holmes  wrote:

> Please reply to the user group as well.
>
> As is often pointed out, it's free software and the fixes depend on who is
> working for nothing on the code.
>
> I wouldn't think it would crop up frequently.
>
> I made a workaround with a combination of forcing the accidentals to be
> displayed, and then using force-hshift and extra-offset and a few other
> tweaks to make it work.
>
> My example is pretty complicated, because I also autogenerate the code, but
> you're welcome to a copy if you want.
>
> --
> Phil Holmes
>
>
>
> - Original Message - From: "Marco Correia" <
> marco.v.corr...@gmail.com>
> To: "Phil Holmes" 
> Sent: Friday, December 10, 2010 10:29 AM
> Subject: Re: Odd output
>
>
>  Thanks!
>>
>> I can't believe that this is seen as a low priority enhancement...! This
>> completely renders lilypond unusable for the task I need it, which is to
>> serve
>> as a printer for computer generated music. The output is not ugly - it is
>> plain wrong!
>>
>> Why doesn't the accidental_engraver looks into other voices as well?
>>
>> Maybe I can workaround it by doing an extra pass before writing the
>> lilypond
>> code to check if this kind of problem may occur... But now I wonder what
>> other
>> kind of potential problems may occur with this accidental_engraver
>> algorithm...
>>
>> Anyway, I just wanted to say that I think this problem deserves more
>> consideration.
>>
>> Thank you!
>> Marco
>>
>> On Friday 10 December 2010, you wrote:
>>
>>> - Original Message -
>>> From: "Marco Correia" 
>>> To: 
>>> Sent: Friday, December 10, 2010 12:35 AM
>>> Subject: Odd output
>>>
>>> > Hi,
>>> >
>>> > I just started using lilypond, so it is very possible that I'm making
>>> > some mistake.
>>> >
>>> > When compiling this example:
>>> >
>>> > \include "english.ly"
>>> > {
>>> > \clef treble
>>> > \time 4/4
>>> > <<
>>> > { fs'4 }
>>> > \\
>>> > { f'4 }
>>> >
>>> > }
>>> >
>>> > I see two notes on fs (occupying the same position but with stems up >
>>> and
>>> > down). There is no indication that f is there.
>>> >
>>> > Is this supposed to/ how do I fix it?
>>> >
>>> > Thanks!
>>> > Marco
>>>
>>> This was one of the first issues I raised, in June this year.  I think it
>>> was my first bug report:
>>>
>>> http://code.google.com/p/lilypond/issues/detail?id=1134
>>>
>>>
>>> --
>>> Phil Holmes
>>>
>>
>>
>> --
>> Marco Correia 
>>
>>
>
> ___
> 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: Odd output

2010-12-10 Thread Michael Ellis
Your friend is absolutely correct for that particular case.  Sullivan chose
the lesser of two evils. Misspelling the dominant chord would have been
confusing to the pianist and spelling the vocal line as A G Gb G would have
looked weird to the singer.  My response was directed to the original
example which doesn't give enough context to justify the F#/Fnat relation
musically.

Cheers,
Mike


On Fri, Dec 10, 2010 at 12:36 PM, Phil Holmes  wrote:

>  As I replied in my direct reply - because it's not right.  I asked a
> friend who teaches music about the Mikado problem I had and he said:
>
> "Key- C major
>
> Bass note pedals - C-G C-G etc.
>
> Chord in Bar 1 G7 (G B D Fnat = dominant 7th); Chord in Bar 2 C major (CEG)
>
> Each bar has a melody which uses AGF# G with the F# as a chromatical
> altered
> note (lower auxiliary between the 2 Gs) and therefore clashes (to create
> interest) with both chords.
>
> Each sounds fine on their own but looks illogical as a whole.
>
> If you can convince LilyPond that the accidentals are in different voices
> in
> the piano part then I would hope it would work.   You could but shouldn't
> use a Gb not a F# as the first chordsis a G chord."
>
> Note his final comment - could use a Gb but shouldn't.
>
> --
> Phil Holmes
>
>
>
> - Original Message -
> *From:* Michael Ellis 
> *To:* LilyPond User Group 
> *Sent:* Friday, December 10, 2010 5:18 PM
> *Subject:* Re: Odd output
>
> Why not set one of the notes to a different enharmonic pitch?  It's
> certainly much kinder to the musician who's trying to play the composition.
>
>  \include "english.ly"
> {
> \clef treble
> \time 4/4
> <<
> { fs'4 }
> \\
> { es'4 }
> >>
> }
>
>
> Cheers,
> Mike
>
>
> On Fri, Dec 10, 2010 at 7:00 AM, Phil Holmes  wrote:
>
>> Please reply to the user group as well.
>>
>> As is often pointed out, it's free software and the fixes depend on who is
>> working for nothing on the code.
>>
>> I wouldn't think it would crop up frequently.
>>
>> I made a workaround with a combination of forcing the accidentals to be
>> displayed, and then using force-hshift and extra-offset and a few other
>> tweaks to make it work.
>>
>> My example is pretty complicated, because I also autogenerate the code,
>> but you're welcome to a copy if you want.
>>
>> --
>> Phil Holmes
>>
>>
>>
>> - Original Message - From: "Marco Correia" <
>> marco.v.corr...@gmail.com>
>> To: "Phil Holmes" 
>> Sent: Friday, December 10, 2010 10:29 AM
>> Subject: Re: Odd output
>>
>>
>>  Thanks!
>>>
>>> I can't believe that this is seen as a low priority enhancement...! This
>>> completely renders lilypond unusable for the task I need it, which is to
>>> serve
>>> as a printer for computer generated music. The output is not ugly - it is
>>> plain wrong!
>>>
>>> Why doesn't the accidental_engraver looks into other voices as well?
>>>
>>> Maybe I can workaround it by doing an extra pass before writing the
>>> lilypond
>>> code to check if this kind of problem may occur... But now I wonder what
>>> other
>>> kind of potential problems may occur with this accidental_engraver
>>> algorithm...
>>>
>>> Anyway, I just wanted to say that I think this problem deserves more
>>> consideration.
>>>
>>> Thank you!
>>> Marco
>>>
>>> On Friday 10 December 2010, you wrote:
>>>
>>>> - Original Message -
>>>> From: "Marco Correia" 
>>>> To: 
>>>> Sent: Friday, December 10, 2010 12:35 AM
>>>> Subject: Odd output
>>>>
>>>> > Hi,
>>>> >
>>>> > I just started using lilypond, so it is very possible that I'm making
>>>> > some mistake.
>>>> >
>>>> > When compiling this example:
>>>> >
>>>> > \include "english.ly"
>>>> > {
>>>> > \clef treble
>>>> > \time 4/4
>>>> > <<
>>>> > { fs'4 }
>>>> > \\
>>>> > { f'4 }
>>>> >
>>>> > }
>>>> >
>>>> > I see two notes on fs (occupying the same position but with stems up >
>>>> and
>>>> > down). There is no indication that f is there.
>>>> >
>>>> > Is this supposed to/ how do I fix it?
>>>> >
>>>> > Thanks!
>>>> > Marco
>>>>
>>>> This was one of the first issues I raised, in June this year.  I think
>>>> it
>>>> was my first bug report:
>>>>
>>>> http://code.google.com/p/lilypond/issues/detail?id=1134
>>>>
>>>>
>>>> --
>>>> Phil Holmes
>>>>
>>>
>>>
>>> --
>>> Marco Correia 
>>>
>>>
>>
>> ___
>> 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
>
>
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Odd output

2010-12-10 Thread Michael Ellis
Yes! Spelling does count because poorly spelled music is much harder to
read. I'm somewhat less convinced regarding sonic differences on untempered
instruments because the matter is more complicated than that, e.g G# as the
leading tone to A is different from G# as the third of E. In practice, it
comes down to the performer's ear to make those distinctions.  So, for me at
least, readability is the primary consideration.   For those who care about
such things, here's a link to the best article I've seen on the subject.
It's by Bert Ligon, head of the Jazz Studies department at the University of
South CarolinaCollege of Music.

MUSIC SPELL CHECK? PURPOSEFUL
ACCIDENTALS<https://docs.google.com/viewer?url=http%3A%2F%2Fwww.music.sc.edu%2Fea%2FJazz%2FPURPOSEFULACCIDENTALS3.pdf>

Cheers,
Mike


On Fri, Dec 10, 2010 at 12:55 PM, James Bailey
wrote:

> Because spelling counts! D# and E♭may* sound* the same (on a tempered
> instrument) but they are two very different notes. And an performer playing
> an instrument that can distinguish between the two, should.
>
>
> On Dec 10, 2010, at 6:18 PM, Michael Ellis wrote:
>
> Why not set one of the notes to a different enharmonic pitch?  It's
> certainly much kinder to the musician who's trying to play the composition.
>
>  \include "english.ly"
> {
> \clef treble
> \time 4/4
> <<
> { fs'4 }
> \\
> { es'4 }
> >>
> }
>
>
> Cheers,
> Mike
>
>
> On Fri, Dec 10, 2010 at 7:00 AM, Phil Holmes  wrote:
>
>> Please reply to the user group as well.
>>
>> As is often pointed out, it's free software and the fixes depend on who is
>> working for nothing on the code.
>>
>> I wouldn't think it would crop up frequently.
>>
>> I made a workaround with a combination of forcing the accidentals to be
>> displayed, and then using force-hshift and extra-offset and a few other
>> tweaks to make it work.
>>
>> My example is pretty complicated, because I also autogenerate the code,
>> but you're welcome to a copy if you want.
>>
>> --
>> Phil Holmes
>>
>>
>>
>> - Original Message - From: "Marco Correia" <
>> marco.v.corr...@gmail.com>
>> To: "Phil Holmes" 
>> Sent: Friday, December 10, 2010 10:29 AM
>> Subject: Re: Odd output
>>
>>
>>  Thanks!
>>>
>>> I can't believe that this is seen as a low priority enhancement...! This
>>> completely renders lilypond unusable for the task I need it, which is to
>>> serve
>>> as a printer for computer generated music. The output is not ugly - it is
>>> plain wrong!
>>>
>>> Why doesn't the accidental_engraver looks into other voices as well?
>>>
>>> Maybe I can workaround it by doing an extra pass before writing the
>>> lilypond
>>> code to check if this kind of problem may occur... But now I wonder what
>>> other
>>> kind of potential problems may occur with this accidental_engraver
>>> algorithm...
>>>
>>> Anyway, I just wanted to say that I think this problem deserves more
>>> consideration.
>>>
>>> Thank you!
>>> Marco
>>>
>>> On Friday 10 December 2010, you wrote:
>>>
>>>> - Original Message -
>>>> From: "Marco Correia" 
>>>> To: 
>>>> Sent: Friday, December 10, 2010 12:35 AM
>>>> Subject: Odd output
>>>>
>>>> > Hi,
>>>> >
>>>> > I just started using lilypond, so it is very possible that I'm making
>>>> > some mistake.
>>>> >
>>>> > When compiling this example:
>>>> >
>>>> > \include "english.ly"
>>>> > {
>>>> > \clef treble
>>>> > \time 4/4
>>>> > <<
>>>> > { fs'4 }
>>>> > \\
>>>> > { f'4 }
>>>> >
>>>> > }
>>>> >
>>>> > I see two notes on fs (occupying the same position but with stems up >
>>>> and
>>>> > down). There is no indication that f is there.
>>>> >
>>>> > Is this supposed to/ how do I fix it?
>>>> >
>>>> > Thanks!
>>>> > Marco
>>>>
>>>> This was one of the first issues I raised, in June this year.  I think
>>>> it
>>>> was my first bug report:
>>>>
>>>> http://code.google.com/p/lilypond/issues/detail?id=1134
>>>>
>>>>
>>>> --
>>>> Phil Holmes
>>>>
>>>
>>>
>>> --
>>> Marco Correia 
>>>
>>>
>>
>> ___
>> 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
>
>
>
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Unknown final note shape / object. What it is?

2010-12-10 Thread Michael Ellis
It appears to be the opening Kyrie of the Josquin's Missa Beata Virgine, ca
1510.

http://en.wikipedia.org/wiki/File:Josquin_Missa_BV_Kyrie.jpg

I believe music printing was a thriving enterprise by then, so it's unlikely
to be (completely) hand scribed.

Cheers,
Mike


On Fri, Dec 10, 2010 at 4:46 PM, Nils Gey  wrote:

> On Fri, 10 Dec 2010 21:40:15 +
> Owain Sutton  wrote:
>
> > On 21:32, Fri, 10 Dec 2010, Nils Gey wrote:
> > > I stumbled upon this picture of notation and I've never seen the final
> note (in each voice, the right page voices have a slightly different
> version)
> > > http://anaigeon.free.fr/mes_facs/fsjosq.jpg
> > >
> > > From the position it must be a longa, the fermata over it indictates
> the same. Best visible on the top left version is that there is indeed the
> right-handed stem from a longa at the end of this symbol.
> > >
> > > Has anyone seen this in a different context? I would like to see more
> pictures or versions.
> > >
> > > Btw. if you know any other strange or seldom used notation symbols
> please let me know :)
> > >
> > > Greetings,
> > >
> > > Nils
> >
> >
> > Probably just a scribal quirk - the incomplete illuminations give some
> idea of how prestigious this volume was (or was intended to be).  Which
> source is it?
>
> If going to the root of this URL does not help I don't know. Google image
> search. I searched through mensural music (and medieval) for exactly these
> things. Strange looking or nice looking things in notation (without the
> usual Ars Subtilior Heart-Shape Notation)
>
> Nils
>
> ___
> 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: issue classification was: Odd output

2010-12-12 Thread Michael Ellis
FWIW, Finale 2010 *does* support this if you put the notes in separate
layers (voices), add a courtesy accidental to the natural note, and fiddle
with the Accidental Mover and Note Position gui tools.  It doesn't do the
right thing by default, though. Image attached.

So if pride in LilyPond's capabilities is a motivator, this may help bump
the issue's priority :-)

Cheers,
Mike


On Sun, Dec 12, 2010 at 3:19 AM, Jan Warchoł <
lemniskata.bernoulli...@gmail.com> wrote:

> Hi all,
>
> 2010/12/10 Marco Correia :
> > Thanks!
> >
> > I can't believe that this is seen as a low priority enhancement...! This
> > completely renders lilypond unusable for the task I need it, which is to
> serve
> > as a printer for computer generated music. The output is not ugly - it is
> > plain wrong!
>
> I agree with Marco, in my opinion this issue should be medium priority
> defect.
> Or even a high priority one (i took a look at current high priority
> defects and they don't look much grave than this one).
>
> Actually, i'd like to discuss issue classification in general, because
> in my opinion it could use a lot of improvement. Should i do this now
> on developers list, or maybe wait until 2.14 is out? Or wait for GOP?
> I don't want to disrupt current development process too much.
>
> cheers,
> Janek
>
> ___
> 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


Mixing notation and lyric entry

2010-12-14 Thread Michael Ellis
Is there a clean way to enter a phrase followed by the corresponding notes
in a \relative block?  The example given in the docs,

{
  \time 3/4
  \relative c' { c2 e4 g2. }
  \addlyrics { play the game }
}

is fine for a small example, but it gets messy for longer music.   I
do a lot of transcribing choral parts out of printed scores and would
like to be able to keep the lyrics together with the music in chunks
of a few bars, e.g. something like

themusic = \relative do {

   

\withlyrics { Stir- ring be- yond your watch- ful eye. } {
do2 do4 do |
do4 re do la |
\time 3/4 re2. |
}


\withlyrics { Though they may not flow- er, flow- er, } {
\time 2/4 sol,4 do |
\time 2/2 fa,2 mi2 |
re4( mi) fa( la) |
\time 3/4 te2 la4 |

   }



}

I'm finding that I make fewer errors and can fix the ones I do make
faster if the lyrics are close to the notation.  As it is now, I have
to re-enter (cut, paste & edit)  the lyrics in a separate \lyricmode
block.  Any suggestions for how to write the \withLyrics function?  Or
is there an existing clean solution I haven't found yet?

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


Re: Mixing notation and lyric entry

2010-12-15 Thread Michael Ellis
Jan Warchol wrote "I don't know how it could be done, and i strongly
recommend not doing
this. Separating different types of content is in my opinion very
beneficial"

I agree that separating content is useful.  As you point out, it allows one
to easily recombine it in various formats.  It's just that I prefer to have
the computer do the work whenever possible.  Let me see if I can clarify
what I mean by that.

Conceptually, I could write a preprocessor that would use special comment
prefixes '%!T' and '%!!T' to take input like

%!T  These are lyr- rics
%!!T do8  re mi fa

%!T  and a few more.
%!!T sol la ti do

and output the music and the lyrics in separate variable assignments

\tenormelody = \relative do { do8 re mi fa sol la ti do }
\tenorlyric   =  \lyricmode  { These are ly-rics and a few more }

and then use these in your template, right?  I can code that up in Python in
a heartbeat, but it's an unappealing solution for obvious reasons.   Hence
the query about how to do it with LilyPond and Scheme.

Cheers,
Mike


On Wed, Dec 15, 2010 at 1:52 AM, Jan Warchoł <
lemniskata.bernoulli...@gmail.com> wrote:

> Hi,
>
> 2010/12/14 Michael Ellis :
> > Is there a clean way to enter a phrase followed by the corresponding
> notes
> > in a \relative block?  The example given in the docs,
> >
> > {
> >   \time 3/4
> >   \relative c' { c2 e4 g2. }
> >   \addlyrics { play the game }
> > }
> >
> > is fine for a small example, but it gets messy for longer music.   I do a
> > lot of transcribing choral parts out of printed scores and would like to
> be
> > able to keep the lyrics together with the music in chunks of a few bars
>
> I don't know how it could be done, and i strongly recommend not doing
> this. Separating different types of content is in my opinion very
> beneficial, for example i use the following template for choral music
> and i find it very logically structured, clear to read and easy to
> maintain (for example i can easily change an existing piece to be
> written on two staves instead of four just by changing structure in
> "choir" block):
>
> \version "2.12.3"
> \pointAndClickOff
> \header {
>title = ""
>subtitle = ""
>poet = "słowa: "
>composer = "muzyka: "
>arranger = "opracowanie: "
> }
> global = {
>\autoBeamOff
>\key
>\time
> }
> scoretempomarker = {
>\tempo
>\set Score.tempoHideNote = ##t
> }
> %MUSIC
> sopranomelody = \relative c'' {
>
>\bar "|."
> }
> altomelody = \relative f' {
>
>\bar "|."
> }
> tenormelody = \relative c' {
>
>\bar "|."
> }
> bassmelody = \relative f {
>
>\bar "|."
> }
> akordy = \chordmode {
>
> }
> %LYRICS
> sopranotext =  \lyricmode { \set stanza = "1. "
>
> }
> altotext =  \lyricmode { \set stanza = "1. "
>
> }
> tenortext =  \lyricmode { \set stanza = "1. "
>
> }
> basstext =  \lyricmode { \set stanza = "1. "
>
> }
> stanzas = \markup {
> }
> %THE BIG STRUCTURE
> VARIABLE
>
> choirpart = {
>\new ChoirStaff <<
>\scoretempomarker
>\new ChordNames { \germanChords \akordy }
>\new Staff = soprano {
>\clef treble
>\set Staff.instrumentName = "S "
>\set Staff.shortInstrumentName = "S "
>\new Voice = soprano {
>\global
>\set Voice.midiInstrument = "clarinet"
>\sopranomelody
>}
>}
>\new Lyrics = sopranolyrics \lyricsto soprano \sopranotext
>
>\new Staff = alto {
>\clef treble
>\set Staff.instrumentName = "A "
>\set Staff.shortInstrumentName = "A "
>\new Voice = alto {
>\global
>\set Voice.midiInstrument = "english horn"
>\altomelody
>}
>}
>\new Lyrics = altolyri

Re: Mixing notation and lyric entry

2010-12-15 Thread Michael Ellis
The following does what I want but requires explicit variables that have to
be manually concatenated.  There's got to be a way to reduce the overhead.
After all, Scheme is the most powerful language in the known universe,
right?


\include "english-solfa.ly" % english.ly modified to include solfa syllables

lyrfirst = \lyricmode { first two three four }
musfirst = \relative do' { do8 re mi fa }

lyrnext = \lyricmode { five six sev eight }
musnext = \relative do'' { sol la ti do }

% ...

sopmelody = \relative do {
\musfirst \musnext  % ...
}

soplyrics = \lyricmode {
\lyrfirst \lyrnext  % ...
}

\score {
<<
\new Voice = "Sop" {
\autoBeamOn
\sopmelody
}
\new Lyrics \lyricsto "Sop" { \soplyrics }
>>
}


Cheers,
Mike


On Wed, Dec 15, 2010 at 10:41 AM, Jan Warchoł <
lemniskata.bernoulli...@gmail.com> wrote:

> 2010/12/15 Michael Ellis >
> > Jan Warchol wrote "I don't know how it could be done, and i strongly
> recommend not doing
> > this. Separating different types of content is in my opinion very
> > beneficial"
> > I agree that separating content is useful.  As you point out, it allows
> one to easily recombine it in various formats.  It's just that I prefer to
> have the computer do the work whenever possible.  Let me see if I can
> clarify what I mean by that.
> > Conceptually, I could write a preprocessor that would use special comment
> prefixes '%!T' and '%!!T' to take input like
> > %!T  These are lyr- rics
> > %!!T do8  re mi fa
> > %!T  and a few more.
> > %!!T sol la ti do
> > and output the music and the lyrics in separate variable assignments
> > \tenormelody = \relative do { do8 re mi fa sol la ti do }
> > \tenorlyric   =  \lyricmode  { These are ly-rics and a few more }
> > and then use these in your template, right?  I can code that up in Python
> in a heartbeat, but it's an unappealing solution for obvious reasons.
> Hence the query about how to do it with LilyPond and Scheme.
>
> Ah, i understand. Yeah, this is a good idea. wish i could help with that :/
>
> cheers,
> Janek
>
<>___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Mixing notation and lyric entry

2010-12-15 Thread Michael Ellis
Thanks, Eluze. The spreadsheet idea is clever!

Since my last post, I've been playing with a python template substitution
approach that, I think, will meet most of my needs.  Here's a trivial
example

from mixlyrics import *

## --
## Enter lyrics and notation here. Begin
## lyric lines with @@
soply = """
@@ Twink- le, twink- le lit- le star.
do4 do sol' sol |
la la sol2 |

@@ How I won- der what you are.
fa4 fa mi mi |
re re do2 \\bar "|."
"""
## ---

sml = MixLyrics()
sml.parse(soply)
soplyrics = sml.emitlyrics()
sopmelody = sml.emitmelody()

## Finally, process the Lilypond code
runlily(template()%locals())


where mixlyrics.py is a module containing the MixLyrics class and the
template() and runlily() functions.

import sys
from os.path import basename, splitext, join as pjoin
from subprocess import Popen

class MixLyrics (object):
""" Class for interleaving lyrics and notation """
def __init__(self, delim="@@"):
self.lyrics = []
self.melody = []
self.delim = delim

def parse(self,s):
for line in s.split('\n'):
line=line.strip()
if line.startswith(self.delim):
self.lyrics.append(line[len(self.delim):])
else:
self.melody.append(line)

def emitlyrics(self):
return " ".join(self.lyrics)
def emitmelody(self):
return " ".join(self.melody)

def template():
return """
\include "english-solfa.ly" %% english.ly modified to include solfa
syllables
\score {
<<
\\new Voice = "Sop" {
\\autoBeamOn
\\relative do' { %(sopmelody)s }
}
\\new Lyrics \lyricsto "Sop" { %(soplyrics)s }
>>
}
"""

def runlily(lymusic, lilyscript="lily"):
"""
Write and process an .ly file with the same
name as this script.
Args:
'lymusic' is the lilypond code to process
'lilyscript' is the name of your script
that processes .ly files.
"""
pyname = basename(sys.argv[0])
lyname = pjoin(splitext(pyname)[0] + '.ly')
print >>file(lyname,'w'), lymusic
cmd = "%(lilyscript)s %(lyname)s"%locals()
p = Popen(cmd, shell=True)
p.wait()


To try it out, put the attached .py files into any convenient directory and
run

python template_example.py

This should create and process a file named "template_example.ly".  Note
that you need have a lilypond script named 'lily' or else change the call to
runlily().

I developed this on OS X and it should run as is on Linux.  On Windows you
may have to muck with the definition of runlily().

For me, this was a lot easier than outsmarting LilyPond's internals since I
can program in Python at least 10 times faster than in Scheme.  Only
downsides so far are having to double backslash some lilypond commands and
the loss of syntax highlighting.  The latter could be fixed by changing the
extension on input file to something like '.lyp' and telling my editor to
use lilypond syntax for that extension.

Hope someone finds this useful.

Cheers,
Mike


On Wed, Dec 15, 2010 at 3:40 PM, -Eluze  wrote:

>
>
> Michael Ellis wrote:
> >
> > Is there a clean way to enter a phrase followed by the corresponding
> notes
> > in a \relative block?  The example given in the docs,
> >
> > {
> >   \time 3/4
> >   \relative c' { c2 e4 g2. }
> >   \addlyrics { play the game }
> > }
> >
> > is fine for a small example, but it gets messy for longer music.   I
> > do a lot of transcribing choral parts out of printed scores and would
> > like to be able to keep the lyrics together with the music in chunks
> > of a few bars, e.g. something like
> >
> > themusic = \relative do {
> >
> >
> >
> > \withlyrics { Stir- ring be- yond your watch- ful eye. } {
> > do2 do4 do |
> > do4 re do la |
> > \time 3/4 re2. |
> > }
> >
> >
> > \withlyrics { Though they may not flow- er, flow- er, } {
> > \time 2/4 sol,4 do |
> > \time 2/2 fa,2 mi2 |
> > re4( mi) fa( la) |
> > \time 3/4 te2 la4 |
> >
> >}
> >
> > 
> >
> > }
> >
> > I'm finding that I make fewer errors and can fix the ones I do make
> > faster if the lyrics are close to the notation.  As it is now, I have
> > to re-enter (cut, paste & edit)  the lyrics in a separate \lyricmode
> &g

Re: Mixing notation and lyric entry

2010-12-15 Thread Michael Ellis
Oops! You'll also need my english-solfa.ly file (attached) to run the
example as is.

Cheers,
Mike


On Wed, Dec 15, 2010 at 5:09 PM, Michael Ellis wrote:

> Thanks, Eluze. The spreadsheet idea is clever!
>
> Since my last post, I've been playing with a python template substitution
> approach that, I think, will meet most of my needs.  Here's a trivial
> example
>
> from mixlyrics import *
>
> ## --
> ## Enter lyrics and notation here. Begin
> ## lyric lines with @@
> soply = """
> @@ Twink- le, twink- le lit- le star.
> do4 do sol' sol |
> la la sol2 |
>
> @@ How I won- der what you are.
> fa4 fa mi mi |
> re re do2 \\bar "|."
> """
> ## ---
>
> sml = MixLyrics()
> sml.parse(soply)
> soplyrics = sml.emitlyrics()
> sopmelody = sml.emitmelody()
>
> ## Finally, process the Lilypond code
> runlily(template()%locals())
>
>
> where mixlyrics.py is a module containing the MixLyrics class and the
> template() and runlily() functions.
>
> import sys
> from os.path import basename, splitext, join as pjoin
> from subprocess import Popen
>
> class MixLyrics (object):
> """ Class for interleaving lyrics and notation """
> def __init__(self, delim="@@"):
> self.lyrics = []
> self.melody = []
> self.delim = delim
>
> def parse(self,s):
> for line in s.split('\n'):
> line=line.strip()
> if line.startswith(self.delim):
> self.lyrics.append(line[len(self.delim):])
> else:
> self.melody.append(line)
>
> def emitlyrics(self):
> return " ".join(self.lyrics)
> def emitmelody(self):
> return " ".join(self.melody)
>
> def template():
> return """
> \include "english-solfa.ly" %% english.ly modified to include solfa
> syllables
> \score {
> <<
> \\new Voice = "Sop" {
> \\autoBeamOn
> \\relative do' { %(sopmelody)s }
> }
> \\new Lyrics \lyricsto "Sop" { %(soplyrics)s }
> >>
> }
> """
>
> def runlily(lymusic, lilyscript="lily"):
> """
> Write and process an .ly file with the same
> name as this script.
> Args:
> 'lymusic' is the lilypond code to process
> 'lilyscript' is the name of your script
> that processes .ly files.
> """
> pyname = basename(sys.argv[0])
> lyname = pjoin(splitext(pyname)[0] + '.ly')
> print >>file(lyname,'w'), lymusic
> cmd = "%(lilyscript)s %(lyname)s"%locals()
> p = Popen(cmd, shell=True)
> p.wait()
>
>
> To try it out, put the attached .py files into any convenient directory and
> run
>
> python template_example.py
>
> This should create and process a file named "template_example.ly".  Note
> that you need have a lilypond script named 'lily' or else change the call to
> runlily().
>
> I developed this on OS X and it should run as is on Linux.  On Windows you
> may have to muck with the definition of runlily().
>
> For me, this was a lot easier than outsmarting LilyPond's internals since I
> can program in Python at least 10 times faster than in Scheme.  Only
> downsides so far are having to double backslash some lilypond commands and
> the loss of syntax highlighting.  The latter could be fixed by changing the
> extension on input file to something like '.lyp' and telling my editor to
> use lilypond syntax for that extension.
>
> Hope someone finds this useful.
>
> Cheers,
> Mike
>
>
>
> On Wed, Dec 15, 2010 at 3:40 PM, -Eluze  wrote:
>
>>
>>
>> Michael Ellis wrote:
>> >
>> > Is there a clean way to enter a phrase followed by the corresponding
>> notes
>> > in a \relative block?  The example given in the docs,
>> >
>> > {
>> >   \time 3/4
>> >   \relative c' { c2 e4 g2. }
>> >   \addlyrics { play the game }
>> > }
>> >
>> > is fine for a small example, but it gets messy for longer music.   I
>> > do a lot of transcribing choral parts out of printed scores and would
>> > like to be able to keep the lyrics together with the music in chunks
>> > of a few bars, e.g. something like
>> >
>&g

Re: Odd output

2010-12-17 Thread Michael Ellis
+1 for option C
Cheers,
Mike


On Fri, Dec 17, 2010 at 4:43 PM, Keith OHara  wrote:

> On Fri, 17 Dec 2010 04:09:10 -0800, Phil Holmes 
> wrote:
>
>>
>> The version that Chappell uses in the Mikado is attached.
>>
>>  Nice.
> It does break the usual rules about horizontal placement, and about when to
> cancel accidentals in another voice. But, with the beaming to clarify the
> timing and linking the voices, I did not notice any rules were broken
> --until I tried to produce it with Lilypond.
>
> It would be reasonable to ask Lilypond to produce 'A' below on her own, and
> even better if she would offset the notes as in 'B' (which she does do for
> chords in one voice).  Probably a human should decide when to bend the rules
> to produce 'C'.
>
> I think it helps to show the desired behavior in the tracker, and plan to
> put what is below in a comment to 1134, unless somebody either beats me to
> it or has second thoughts.
> -Keith
>
>
> \relative c' { \time 2/8
>  << s1*0^wrong
>{ fis8 g } \\ { f f } >>
>  << s1*0^A
>{ fis8 g } \\ { f! f } >>
>  << s1*0^B
>{ fis8 g } \\
>{ \once\override NoteColumn #'force-hshift = #1
>  f! f } >>
>  << s1*0^C
>#(set-accidental-style 'voice)
>{ fis8[ g] } \\ {
>  s64 f!8*7/8[ f] } >>
> }
> ___
> 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: Odd output

2010-12-17 Thread Michael Ellis
Hi James,
To beam or not to beam should be about rhythmic grouping.  Stem direction
tells which note heads go with which voice.  I think C is better for both
vocalists and pianists. With or without beaming, it's clearer what's going
on, especially with regard to which voices have the sharped or natural
notes.  Slurs, AFAIK, come lower in the hierarchy of which marks have to
make way for what.

 As to the second natural, if given I think it should be a parenthesized
courtesy accidental.  At least that's my understanding of what they tried,
and perhaps failed, to teach me in music school.

Be that as it may, if I were composing for a particular instrument and ran
into this situation I'd be inclined to consult some expert players and ask
them which they find easier to read.

Cheers,
Mike


On Fri, Dec 17, 2010 at 6:09 PM, James Lowe  wrote:

> Hello,
>
>
> -Original Message-
> From: lilypond-user-bounces+james.lowe=datacore....@gnu.org on behalf of
> Michael Ellis
> Sent: Fri 12/17/2010 21:50
> To: Keith OHara
> Cc: lilypond-user@gnu.org
> Subject: Re: Odd output
>
> +1 for option C
> Cheers,
> Mike
>
>
> On Fri, Dec 17, 2010 at 4:43 PM, Keith OHara  wrote:
>
> > On Fri, 17 Dec 2010 04:09:10 -0800, Phil Holmes 
> > wrote:
> >
> >>
> >> The version that Chappell uses in the Mikado is attached.
> >>
> >>  Nice.
> > It does break the usual rules about horizontal placement, and about when
> to
> > cancel accidentals in another voice. But, with the beaming to clarify the
> > timing and linking the voices, I did not notice any rules were broken
> > --until I tried to produce it with Lilypond.
> >
> > It would be reasonable to ask Lilypond to produce 'A' below on her own,
> and
> > even better if she would offset the notes as in 'B' (which she does do
> for
> > chords in one voice).  Probably a human should decide when to bend the
> rules
> > to produce 'C'.
> >
> > I think it helps to show the desired behavior in the tracker, and plan to
> > put what is below in a comment to 1134, unless somebody either beats me
> to
> > it or has second thoughts.
> > -Keith
> >
> >
> > \relative c' { \time 2/8
> >  << s1*0^wrong
> >{ fis8 g } \\ { f f } >>
> >  << s1*0^A
> >{ fis8 g } \\ { f! f } >>
> >  << s1*0^B
> >{ fis8 g } \\
> >{ \once\override NoteColumn #'force-hshift = #1
> >  f! f } >>
> >  << s1*0^C
> >#(set-accidental-style 'voice)
> >{ fis8[ g] } \\ {
> >  s64 f!8*7/8[ f] } >>
> > }
>
>
> ---
>
> What about when extra staff notation is needed?
>
> For example if you needed slurs or ties?
>
> Wouldn't A be preferable here? That is having an accidental either side of
> each note is far more clumsy than two accidentals to the left of the note
> then the slur doesn't interfere.
>
> Also what is the purpose in the case of A B or C of the second natural?
> Isn't that implied by standard notation where the note retains the
> 'sharp/flat' for the duration of the measure unless explicitly changed?
>
> Here is a simplified example of what Keith did above to illustrate the
> point.
>
> \relative c' {
> << s1*0
> #(set-accidental-style 'voice)
> { fis8[ g] } \\ { s64 f!8*7/8[ f] }
> >>
> << s1*0
> #(set-accidental-style 'voice)
> { fis!8([ g] } \\ { s64 f!8*7/8~[ f] }
> >><< s1*0
> #(set-accidental-style 'voice)
> { fis!8[ g]) } \\ { s64 f!8*7/8[ f] }
> >><< s1*0
> #(set-accidental-style 'voice)
> { fis!8[ g] } \\ { s64 f!8*7/8)[ f] }
> >>
> }
>
> I am not a vocal specialist but just using this one simplistic example of C
> seems erroneous. Isn't the idea of the notes printed at the same moment to
> show that they need to be sung at the same moment if you see what I mean?
> Yes I am sure that a vocalist can make their own mind up, but if that is the
> reasoning then it doesn't matter what we use then does it and you can
> provide instruction accordingly.
>
> I don't think that the beaming clarifies anything at all personally.
>
> Just my tuppence worth.
>
> james
>
>
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Odd output

2010-12-18 Thread Michael Ellis
Thanks Phil, I'm curious about the vocal part.  Why is the stemming
different than the piano reduction?  As written, it indicates SAA division
on the first chord and SSS  (no Alto!)  on the second.  This may seem
trivial and skilled singers will generally do the right thing. OTOH, I've
frequently seen rehearsals of a 100+ member chorus interrupted when notation
less confusing than this causes someone to ask which notes s/he should be
singing.

Cheers,
Mike


On Sat, Dec 18, 2010 at 6:21 AM, Phil Holmes  wrote:

> - Original Message - From: "Neil Puttock" 
> To: "James Lowe" 
> Cc: "Keith OHara" ; 
> Sent: Friday, December 17, 2010 11:37 PM
> Subject: Re: Odd output
>
>
> On 17 December 2010 23:09, James Lowe  wrote:
>
>  I am not a vocal specialist but just using this one simplistic example of
>> C seems erroneous. Isn't the idea of the notes printed at the same moment to
>> show that they need to be sung at the same moment if you see what I mean?
>> Yes I am sure that a vocalist can make their own mind up, but if that is the
>> reasoning then it doesn't matter what we use then does it and you can
>> provide instruction accordingly.
>>
>
> I've only seen this notation in piano music (I guess Phil's Mikado
> example is part of the piano reduction accompanying the voices),
> whereby the melodic line is kept separate from the accompaniment.
>
> Attached is another example from the Mikuli edition of Chopin's
> Impromptu in G flat major.
>
> Cheers,
> Neil
>
>
>
>
> 
>
>
> The beamed version is indeed the piano reduction.  I've put some extra info
> about this in the tracker, but for the record, here's the vocal and piano
> parts.
>
> --
> Phil Holmes
>
>
> ___
> 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: ways of using Lilypond?

2010-12-18 Thread Michael Ellis
Vim, also with some custom mappings and some python scripts that allow me to
mix lyrics conveniently with notation.
Cheers,
Mike


On Sat, Dec 18, 2010 at 6:09 PM, Jethro Van Thuyne
wrote:

> Ludo Beckers:
>
> > Just wondering, has there ever been a poll about how many Lilypond users
> > work with a certain specific tool.
> > Is the majority in this group using denemo, frescobaldi, lilypondtool or
> > other tools?
>
> Vim, with custom mappings (or without), has been the most practical
> tool for me so far.
>
> Jethro.
>
> ___
> 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: ways of using Lilypond?

2010-12-18 Thread Michael Ellis
Sure. I'll send them out tomorrow afternoon. Need to clean them up a bit.

Cheers,
Mike

On Dec 18, 2010, at 10:18 PM, Michael Webster  wrote:

> @mike - would you be willing to share your Python scripts? I'd love to see 
> them... tia
>
> ___
> 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: ways of using Lilypond?

2010-12-19 Thread Michael Ellis
On Sun, Dec 19, 2010 at 6:29 AM, Jan-Peter Voigt  wrote:

> Yes, Frescobaldi is a great tool! Also for advanced users!
> It made me change my main working system from Mac to Ubuntu.
> On my netbook, I sometimes use vim.
>
> My wishlist this christmas would be ;-)
> Frescobaldi or something comparable on Mac

+1 (Even though I have VMWare Fusion and Ubuntu)


Also,  ly2musicxml, even though it's difficult to do (and perhaps impossible
to do completely).  I sometimes collaborate with a wonderful
composer/arranger who uses Finale.  She can send MusicXML to me that I can
convert to LilyPond, but it doesn't work in the other direction.


>
>

> ___
> 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: ways of using Lilypond?

2010-12-20 Thread Michael Ellis
Oops forgot to attach one of the files to prior message.  Here it is.
Cheers,
Mike


On Mon, Dec 20, 2010 at 11:01 AM, Michael Ellis
wrote:

> Hi Michael,
> Took me a day longer than I thought to get around to this.  Here are the
> main scripts I'm currently using.  They are heavily tailored toward the ways
> I use LilyPond, namely transcribing songs and choral parts in movable do
> solfege and constructing violin exercises in 12 keys.
>
> The files included are:
>
> *mixlyrics.py *-- defines the MixLyrics class that knows how to parse out
> lines beginning with '@@' as lyrics lines beginning with '@H' as chord
> names.
>
> *songtemplate.py* -- The all-purpose template I use for anything that has
> one voice with (optionally) lyrics and/or chord symbols.  When I want to
> transcribe something, I open an empty .py file in vim and read this template
> in.  There are two variables that take triple-quoted strings containing
> LilyPond notation. One is named 'header' and contains title, composer, etc.
>  The other is named 'songly'. This is where you enter the music, e.g.
>
> songly = r"""
> \tempo "Moderato" 4 = 105
> \time 3/4
> \set midiInstrument = #"violin"
> \clef treble
> \key do \major  %% Needed, don't change
>
> @@ A -- las, my love you do me wrong to
> @H r4 la2.:min  do2. sol2. mi2.:min
> \partial 4
> la4 | do2 re4 |
> mi4.( fi8) mi4 |
> re2 ti4 |
> sol4.( la8) ti4 |
>
> @@ cast me out dis -- cour -- teous -- ly.
> @H la2.:min  fa2.  mi2. mi2
> do2 la4 |
> la4.( si8) la4 |
> ti2 si4  |
> mi2
>
> \bar "||"
> """
>
> There are also two list variables, 'keys' and 'octaves'  than control how
> many which keys and octaves are output.
>
> *english-solfa.ly* -- a version of english.ly with solfege syllables
> added.
>
> *lily *-- the shell script that ultimately gets called to process the
> lilypond file created by song template.py. You may need to alter this to
> match your lilypond installation.
>
> *songtemplate.pdf* -- what you should get from running "python
> songtemplate.py" if everything is installed correctly.
>
>
> Even if these aren't useful as is,  they may give you some ideas for using
> python to automate your own tasks.
>
> Cheers,
> Mike
>
>
> On Sat, Dec 18, 2010 at 10:25 PM, Michael Ellis  > wrote:
>
>> Sure. I'll send them out tomorrow afternoon. Need to clean them up a bit.
>>
>> Cheers,
>> Mike
>>
>> On Dec 18, 2010, at 10:18 PM, Michael Webster  wrote:
>>
>> > @mike - would you be willing to share your Python scripts? I'd love to
>> see them... tia
>> >
>> > ___
>> > lilypond-user mailing list
>> > lilypond-user@gnu.org
>> > http://lists.gnu.org/mailman/listinfo/lilypond-user
>>
>
>


english-solfa.ly
Description: Binary data
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Can't use NoteNames twice in score block ??

2010-12-21 Thread Michael Ellis
While working with a much larger version of the score below  (BWV 206
chorale in 4 voices),  I tried using the NoteNames engraver to put note
names under each voice.  For some reason,  invoking it twice causes the clef
and instrument name to change on the top staff.  The notes (and the note
names) are correct, but the Soprano line gets a bass clef and the bass
instrument name.   Is this a known problem?

Thanks,
Mike

\version "2.12.3"

ASvoiceAA = \relative c'{
\set Staff.instrumentName = #"Soprano"
\clef treble
\key f \major
\time 4/4
\partial 4
a'4 bes a g d'  | % 1
}% end of last bar in partorvoice


ABvoiceDA = \relative c{
\set Staff.instrumentName = #"Bass"
\clef bass
\key f \major
\time 4/4
\partial 4
d4 g a bes a8 g  | % 1
}% end of last bar in partorvoice


\score {
<<
\context Voice = ASvoiceAA  { \ASvoiceAA }
\context NoteNames = NNS  \ASvoiceAA

\context Voice = ABvoiceDA \ABvoiceDA
%% ok.png when line below commented out.  withbug.png if
left in.
\context NoteNames = NNB \ABvoiceDA

>>
}%% end of score-block
<><>___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Can't use NoteNames twice in score block ??

2010-12-21 Thread Michael Ellis
Oops wrong image for ok.png in previous msg.
Cheers,
Mike


On Tue, Dec 21, 2010 at 7:12 PM, Michael Ellis wrote:

> While working with a much larger version of the score below  (BWV 206
> chorale in 4 voices),  I tried using the NoteNames engraver to put note
> names under each voice.  For some reason,  invoking it twice causes the clef
> and instrument name to change on the top staff.  The notes (and the note
> names) are correct, but the Soprano line gets a bass clef and the bass
> instrument name.   Is this a known problem?
>
> Thanks,
> Mike
>
> \version "2.12.3"
>
> ASvoiceAA = \relative c'{
> \set Staff.instrumentName = #"Soprano"
> \clef treble
> \key f \major
> \time 4/4
> \partial 4
> a'4 bes a g d'  | % 1
> }% end of last bar in partorvoice
>
>
> ABvoiceDA = \relative c{
> \set Staff.instrumentName = #"Bass"
> \clef bass
> \key f \major
> \time 4/4
> \partial 4
> d4 g a bes a8 g  | % 1
> }% end of last bar in partorvoice
>
>
> \score {
> <<
> \context Voice = ASvoiceAA  { \ASvoiceAA }
> \context NoteNames = NNS  \ASvoiceAA
>
> \context Voice = ABvoiceDA \ABvoiceDA
> %% ok.png when line below commented out.  withbug.png if
> left in.
> \context NoteNames = NNB \ABvoiceDA
>
> >>
> }%% end of score-block
>
>
>
<>___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Can't use NoteNames twice in score block ??

2010-12-22 Thread Michael Ellis
Carl, thanks for taking the time to figure it out!  I really appreciate the
help. It's good to know there's a workaround.

I'm undertaking a project to produce files containing all the Bach Chorales
with solfege syllables (movable Do, La-based minor) under each part.  I'm
starting with the MusicXML files created by Margaret Greentree at
www.jsbchorales.net.  It turns out that MusesScore can be run in batch modes
to produce LilyPond files.  I was able to convert all 400 of them in about
10 minutes of run time.

The mechanism for producing the solfege syllables is fairly well resolved.
 I adapted an example from Valentin ( see
http://stackoverflow.com/questions/4378228/lilypond-extracting-pitch-names-from-music)
that uses a scheme function to work around another NoteNames problem:
default reversion to dutch pitch names.

To apply it to the chorale files, I just need to put the dutch to solfa
mapping and the scheme function at the top of each file and in the score
block, call the NoteNames engraver like so:

\context NoteNames = NNS \with {
   \override NoteName #'stencil = #solfaNames
} { transpose fa do \Snotes }

where the transposition is from the original key signature back to C major
to produce movable Do solfa.

Putting this together with your workaround produces the code and output
shown below.  This works quite well.  So the issue I'm wrestling with now is
whether it's feasible to automate the editing of 400+ files to separate the
clef and instrument names from the notation, detect the original key, and
rewrite the score block to produce the desired results.

Thanks again for your help and any suggestions for how proceed with the
automation are more than welcome.

Cheers,
Mike

\version "2.12.3"
dutchtosolfa =
#`(("ces" . "de")
   ("c" . "do")
   ("cis" . "di")
   ("des" . "ra")
   ("d" . "re")
   ("dis" . "ri")
   ("ees" . "me")
   ("e" . "mi")
   ("f" . "fa")
   ("fis" . "fi")
   ("ges" . "se")
   ("g" . "sol")
   ("gis" . "si")
   ("aes" . "le")
   ("a"  . "la")
   ("ais" . "li")
   ("bes" . "te")
   ("b"   . "ti")
   )

solfaNames =
#(lambda (grob)
   (let* ((default-name (ly:grob-property grob 'text))
  (new-name (assoc-get default-name dutchtosolfa)))
 (ly:grob-set-property! grob 'text (markup #:italic #:smaller
new-name))
 (ly:text-interface::print grob)))

Snotes = \relative c' {
 \time 4/4
 \partial 4
 a'4 |
 bes4 a g d' |
}

Bnotes = \relative c {
 \time 4/4
 \partial 4
 d4 |
 g4 a bes a8 g |
}

ASvoiceAA = {
 \set Staff.instrumentName = #"Soprano"
 \clef treble
 \key f \major
 \Snotes
}


ABvoiceDA = {
 \set Staff.instrumentName = #"Bass"
 \clef bass
 \key f \major
 \Bnotes
}


\score {
 <<
   \new Voice = ASVoiceAA  { \ASvoiceAA }
   \new NoteNames = NNS  \with {
   \override NoteName #'stencil = #solfaNames
} {\transpose f c \Snotes}

   \new Voice = ABvoiceDA {\ABvoiceDA}
   \new NoteNames = NNB \with {
   \override NoteName #'stencil = #solfaNames
} {\transpose f c \Bnotes}
 >>
}%% end of score-block

On Tue, Dec 21, 2010 at 10:17 PM, Carl Sorensen  wrote:

>
>
>
> On 12/21/10 5:14 PM, "Michael Ellis"  wrote:
>
> > On Tue, Dec 21, 2010 at 7:12 PM, Michael Ellis <
> michael.f.el...@gmail.com>
> > wrote:
> >> While working with a much larger version of the score below  (BWV 206
> chorale
> >> in 4 voices),  I tried using the NoteNames engraver to put note names
> under
> >> each voice.  For some reason,  invoking it twice causes the clef and
> >> instrument name to change on the top staff.  The notes (and the note
> names)
> >> are correct, but the Soprano line gets a bass clef and the bass
> instrument
> >> name.   Is this a known problem?
>
> Mike,
>
> The problem is apparently that the \clef command implicitly creates some
> kind of staff context if it's in a NoteNames context.
>
> If you take the \clef commands out of the music passed to the NoteNames
> context, then things seem to work right.  (I haven't fully tested the
> instrumentName to see if it can be part of the NoteNames context or not).
>
> Here's some code that works:
>
> \version "2.12.3"
>
> Snotes = \relative c' {
>   \time 4/4
>  \partial 4
>  a'4 |
>   bes4 a g d' |
> }
>
> Bnotes = \relative c {
>   \time 4/4
>  \partial 4
>  d4 |
>   g4 a bes a8 g |
> }
>
> ASvoiceAA = {
>   \set Staff.instrumentName = #"Soprano"
>  \clef treble
>  \key f \major
>   \Snotes
> }
>
>
> ABvoiceDA = {
>   \set Staff.instrumentName = #"Bass"
>  \clef bass
>  \key f \major
>   \Bnotes
> }
>
>
> \score {
>  <<
>\new Voice = ASVoiceAA  { \ASvoiceAA }
>\new NoteNames = NNS  {\Snotes}
>
>\new Voice = ABvoiceDA {\ABvoiceDA}
>\new NoteNames = NNB {\Bnotes}
>  >>
> }%% end of score-block
>
>
> HTH,
>
> Carl
>
>
<>___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Can't use NoteNames twice in score block ??

2010-12-22 Thread Michael Ellis
Thanks, Carl.  This looks promising ...
Cheers,
Mike


On Wed, Dec 22, 2010 at 10:46 AM, Carl Sorensen  wrote:

> On 12/22/10 8:08 AM, "Michael Ellis"  wrote:
> >
> >
> > Putting this together with your workaround produces the code and output
> shown
> > below.  This works quite well.  So the issue I'm wrestling with now is
> whether
> > it's feasible to automate the editing of 400+ files to separate the clef
> and
> > instrument names from the notation, detect the original key, and rewrite
> the
> > score block to produce the desired results.
> >
> > Thanks again for your help and any suggestions for how proceed with the
> > automation are more than welcome.
>
> You might try using music-filter to help you.  Since you already have
> blocks
> by voice, you could filter the full block to keep only EventChords (every
> note, whether or not it's in a chord, is in an EventChord) and used the
> filtered music for your NoteNames context.
>
> Note that I haven't tried this, and won't have time to try it today.
>
> You can see an example of how Valentin has done this here:
>
> http://repo.or.cz/w/opus_libre.git/blob/HEAD:/lib/libdynamic.scm#l58
>
> HTH,
>
> Carl
>
>
>
>
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Can't use NoteNames twice in score block ??

2010-12-22 Thread Michael Ellis
I'm clearly Scheme challenged. I've spent several hours trying different
variations of the following.

#(define (note? x)
 (eq? 'EventChord (ly:music-property x 'name)))

#(define notesOnly
;; Remove anything that is not a note.
  (define-music-function (parser location music) (ly:music?)
(music-filter (lambda (x)  (if (note? x) x #f) )  music)))

If I run different versions \notesOnly  on music containing notes plus other
things, I get either everything passing through unchanged or everything
removed.  What's the right way to construct  a music filter that returns
only the pitch-carrying elements?



Cheers,
Mike


On Wed, Dec 22, 2010 at 2:14 PM, Michael Ellis wrote:

> Thanks, Carl.  This looks promising ...
> Cheers,
> Mike
>
>
>
> On Wed, Dec 22, 2010 at 10:46 AM, Carl Sorensen wrote:
>
>> On 12/22/10 8:08 AM, "Michael Ellis"  wrote:
>> >
>> >
>> > Putting this together with your workaround produces the code and output
>> shown
>> > below.  This works quite well.  So the issue I'm wrestling with now is
>> whether
>> > it's feasible to automate the editing of 400+ files to separate the clef
>> and
>> > instrument names from the notation, detect the original key, and rewrite
>> the
>> > score block to produce the desired results.
>> >
>> > Thanks again for your help and any suggestions for how proceed with the
>> > automation are more than welcome.
>>
>> You might try using music-filter to help you.  Since you already have
>> blocks
>> by voice, you could filter the full block to keep only EventChords (every
>> note, whether or not it's in a chord, is in an EventChord) and used the
>> filtered music for your NoteNames context.
>>
>> Note that I haven't tried this, and won't have time to try it today.
>>
>> You can see an example of how Valentin has done this here:
>>
>> http://repo.or.cz/w/opus_libre.git/blob/HEAD:/lib/libdynamic.scm#l58
>>
>> HTH,
>>
>> Carl
>>
>>
>>
>>
>
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Can't use NoteNames twice in score block ??

2010-12-23 Thread Michael Ellis
Thanks, Jakob! I didn't understand that a music-filter acts recursively on
containers and their contents.  I had some vague notion that it simply
passed or rejected elements at the top  level of a list.  Your example is
what I needed.  For my purposes I needed to add RestEvent and
TransposedMusic to the list of types but that was a logical extension once I
saw the pattern.

#(define (filterEvent event)
(let ((name (ly:music-property event 'name)))
 (or
   (eq? name 'EventChord)
   (eq? name 'NoteEvent)
   (eq? name 'RestEvent)
   (eq? name 'RelativeOctaveMusic)
   (eq? name 'TransposedMusic)
   (eq? name 'SequentialMusic

With this, I can now create multiple staff scores with solfege symbols under
each staff.  The only problem remaining is that the page layout is
apparently not taking into account the extra vertical space needed for the
solfege text, so I get incomplete systems at the bottom of the page. The
layout has no problems if I remove the NoteNames contexts that generate the
solfege.

Do I need to add some other types to my filter or is this another problem
altogether?

Cheers,
Mike


On Thu, Dec 23, 2010 at 5:15 AM, jakob lund  wrote:

> #(define (filterEvent event)
> (let ((name (ly:music-property event 'name)))
>  (or
>(eq? name 'EventChord)
>(eq? name 'NoteEvent)
>(eq? name 'RelativeOctaveMusic)
>(eq? name 'SequentialMusic
>
> onlynotes = #(define-music-function (P L M) (ly:music?)
>(music-filter filterEvent M))
>
> { %\displayMusic
>  \onlynotes
>  \relative c'' { \key a \major cis d16 } }
> -
>
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Can't use NoteNames twice in score block ??

2010-12-23 Thread Michael Ellis
Hi Phil! Thanks for the encouragement. I'll try to respond to all your
questions later,  but for now here's the python script I used to invoke
MuseScore (command line name is "mscore") on the files I downloaded from
Margaret Greentree's site. I'm running on a Mac with OS 10.6 so this should
work on Linux, too and possibly on Windows with appropriate changes to
accommodate the differences in path specs.

> cat xml2ly.py
#!/usr/bin/env python
"""
Script that invokes mscore to convert MusicXml files in current directory
to Lilypond files.
"""
import os, sys
from subprocess import Popen
import glob
xmlfiles = glob.glob("*.xml")

## Replace with path to mscore on your system
mscore = "/Applications/MuseScore.app/Contents/MacOS/mscore"

for x in xmlfiles:
print "Converting %s ..."%x
ly = os.path.splitext(x)[0] + ".ly"
cmd = "%(mscore)s %(x)s -o %(ly)s"%locals()
print cmd
p = Popen(cmd,shell=True)
p.wait()
print "Done"



Cheers,
Mike


On Thu, Dec 23, 2010 at 10:28 AM, Phil Hézaine wrote:

> Le 22/12/2010 16:08, Michael Ellis a écrit :
> > Carl, thanks for taking the time to figure it out!  I really appreciate
> the
> > help. It's good to know there's a workaround.
> >
> > I'm undertaking a project to produce files containing all the Bach
> Chorales
> > with solfege syllables (movable Do, La-based minor) under each part.  I'm
> > starting with the MusicXML files created by Margaret Greentree at
> > www.jsbchorales.net.  It turns out that MusesScore can be run in batch
> modes
> > to produce LilyPond files.  I was able to convert all 400 of them in
> about
> > 10 minutes of run time.
> >
>
> Hi,
>
> Welcome to the club! Thanks to Frescobaldi which saves me a lot of time,
> I'm currently typesetting a bunch of Bach Chorales
> from a Breitkopf & Härtel's edition. At this time I use the BWV
> references of jsbchorales.net. but not the sources which are different
> from mine.
> It seems there are a lot of corrections but I don't know if it's allowed
> to use them with the aim of a copyleft *publishing*. (Probably under a
> Free Art license). More exactly whose sources are coming from? Are they
> all authentified? No copyright editor behind the hood?  Has anyone more
> informations?
> My idea is to publish in a book different versions of a chorale one
> after the other. I join 2 examples. And later, I'd like to upload the
> voices as dictations in GNU Solfege.
> I'm very curious of your batch modes. More about this? May be it could
> be useful for a diff beetween my old reference and this new rather than
> checking PDFs.
>
> Regards.
> Phil.
>
>
>
> ___
> 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: Can't use NoteNames twice in score block ??

2010-12-24 Thread Michael Ellis
Hi Jakob,

I'm not having much luck reducing it down to a minimal example.   I have
family visiting for the next few days, so I'll try to pick it back up after
Christmas.

Cheers and happy holidays to all!,
Mike


On Thu, Dec 23, 2010 at 4:28 PM, jakob lund  wrote:

> 2010/12/23 Michael Ellis :
> > Thanks, Jakob! I didn't understand that a music-filter acts recursively
> on
> > containers and their contents.  I had some vague notion that it simply
> > passed or rejected elements at the top  level of a list.  Your example is
> > what I needed.  For my purposes I needed to add RestEvent and
> > TransposedMusic to the list of types but that was a logical extension
> once I
> > saw the pattern.
> > #(define (filterEvent event)
> > (let ((name (ly:music-property event 'name)))
> >  (or
> >(eq? name 'EventChord)
> >(eq? name 'NoteEvent)
> >(eq? name 'RestEvent)
> >(eq? name 'RelativeOctaveMusic)
> >(eq? name 'TransposedMusic)
> >(eq? name 'SequentialMusic
> > With this, I can now create multiple staff scores with solfege symbols
> under
> > each staff.  The only problem remaining is that the page layout is
> > apparently not taking into account the extra vertical space needed for
> the
> > solfege text, so I get incomplete systems at the bottom of the page. The
> > layout has no problems if I remove the NoteNames contexts that generate
> the
> > solfege.
>
> that sounds strange -- from what you write, it sounds like a problem
> with the NoteNames context rather than with what you feed into it...
> Can you give a simple example where that happens? Have you tried if
> something simple like
>  \context NoteNames { \repeat unfold 40 c'4 }
> can provoke the same problem?
>
> > Do I need to add some other types to my filter or is this another problem
> > altogether?
> > Cheers,
> > Mike
> >
> >
> > On Thu, Dec 23, 2010 at 5:15 AM, jakob lund 
> wrote:
> >>
> >> #(define (filterEvent event)
> >> (let ((name (ly:music-property event 'name)))
> >>  (or
> >>(eq? name 'EventChord)
> >>(eq? name 'NoteEvent)
> >>(eq? name 'RelativeOctaveMusic)
> >>(eq? name 'SequentialMusic
> >>
> >> onlynotes = #(define-music-function (P L M) (ly:music?)
> >>(music-filter filterEvent M))
> >>
> >> { %\displayMusic
> >>  \onlynotes
> >>  \relative c'' { \key a \major cis d16 } }
> >> -
> >
>
> ___
> 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: Accidental and clef change issue

2010-12-28 Thread Michael Ellis
The Dover Edition of the Beethoven Sonatas, a reproduction of the 1923
Universal Edition (H. Schenker, ed.) has the attached in opus 27, no 2,
second movement (Presto Agitato) mm 54,55.

In the left hand of mm 54, the clef changes 4 times (bass, treble, bass,
treble).  The movement is in E major. There is a natural sign on the A
immediately after the clef change.  It's not clear, though, whether it's
there to cancel the sharp on the space (implied by the preceding C-sharp in
the bass clef) or whether it's simply a courtesy accidental that corresponds
to the one in the right hand.  I think it's most likely the latter.

Not sure how relevant this is to the original question.

Cheers,
Mike


On Tue, Dec 28, 2010 at 9:44 AM, Reinhold Kainhofer
wrote:

> Am Dienstag, 28. Dezember 2010, um 15:14:05 schrieb David Kastrup:
> > Reinhold Kainhofer  writes:
> > > I would be great, though, if anyone can find a published example of
> such
> > > a situation (most likely in e.g. cello/bassoon parts/scores, which
> > > frequently switch between bass and tenor clef).
> >
> > Edition Peters, piano excerpt by Brissler from Mozart Requiem,
> > "Confutatis".  The g in the corni di bassotto entry is not even in the
> > same octave, and still gets a natural.
>
> Also, in the Bärenreiter piano reduction of Bach's Christmas oratorio,
> measure
> 7 of the Choral Nr. 23 ("Wir singen dir"), p.72 of Bärenreiter BA 5014a.
>
>
> There is a dis' in treble clef, followed by a d in bass clef. That d gets a
> natural cancellation.
>
> Cheers,
> Reinhold
>
> --
> --
> Reinhold Kainhofer, reinh...@kainhofer.com, http://reinhold.kainhofer.com/
>  * Financial & Actuarial Math., Vienna Univ. of Technology, Austria
>  * http://www.fam.tuwien.ac.at/, DVR: 0005886
>  * LilyPond, Music typesetting, http://www.lilypond.org
>
> ___
> 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: Staff change in piano music - a general approach?

2010-12-30 Thread Michael Ellis
Hi Tobias,
This topic is also of interest to me, so I googled for "lilypond piano
reduction" and eventual found the vocal template with automatic piano
reduction, from which I derived the example below.  It uses \partcombine
which, perhaps unfortunately, takes only two arguments.  However, I found
that I could put two rhythmically similar parts in <<  >> and get the
desired effect.

HTH,
Mike

sopMusic = \relative c'' {
  e4 e e8[( d)] e4
}
mezzoMusic = \relative c'' {
  c4 c c8[( b)] c4
}

altoMusic = \relative c' {
  e4 f d e
}

tenorMusic = \relative c' {
  g4 a f g
}

bassMusic = \relative c {
  c4 c g c
}

\score {
  <<
\new PianoStaff <<
  \new Staff <<
\set Staff.printPartCombineTexts = ##f
\partcombine << \sopMusic \mezzoMusic >> \altoMusic
  >>
  \new Staff <<
\clef bass
\set Staff.printPartCombineTexts = ##f
\partcombine  \tenorMusic  \bassMusic
  >>
>>
  >>
}



On Thu, Dec 30, 2010 at 5:21 AM, Phil Holmes  wrote:

> Just checking - you can obviously do what you want from a presentation
> perspective, since you've provided an example that looks like it came from
> LilyPond.  I presume you did this using chords, but you want to avoid using
> chords in your application?
>
> The way I would do this would be to use:
>
> \override NoteColumn #'ignore-collision = ##t
>
> and then set the alto and soprano parts in voiceOne, and the tenor part in
> voiceTwo.  You do not need to set these for the duration of the piece, so
> when you cross the tenor part to the other stave, you can put the command
> \voiceTwo in the alto part and it will now be set into the second voice. You
> can also set \voiceOne for the tenor part.  You may also want to do:
>
> \override NoteColumn #'ignore-collision = ##f
>
> at the same point.
>
> Let us know how you get on.
>
> --
> Phil Holmes
>
>
> - Original Message - From: "Tobias Braun" <
> tob...@braun-oberkochen.de>
> To: "Phil Holmes" 
> Cc: ; "LilyPond User Group" <
> lilypond-user@gnu.org>
> Sent: Thursday, December 30, 2010 1:50 AM
> Subject: Re: Staff change in piano music - a general approach?
>
>
>
> Sorry about the "reply all" thing, I forgot that.
>
> I wasn't aware I was sending an HTML e-mail, sorry. That must have been my
> webmail client.
>
> What I actually want to achieve is to have it look as uncluttered as
> possible. It should be easy to read when playing it on the piano. I'd
> basically like to merge all three voices into as few stems as possible. E.g.
> the notes of the first beat in measure 1 which basically form a chord
> consisting of three notes of the same duration played at the same time
> should appear as "stacked", not next to each other. There is no need to be
> able to distinguish the individual voices.
>
> As this is kind of hard to describe, please have a look at the attached
> PDF. I guess I'd prefer the first measure to look like "Variant 1", but
> "Variant 2" would be acceptable as well. (I achieved this sample PDF through
> <> chord syntax, which is not of much use to me as I already have the
> individual voices in continuous form.)
>
> Regards,
> Tobias
>
> ___
> 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: \underline in lyrics

2010-12-30 Thread Michael Ellis
Just a thought. Nikolay, does it make sense to add the underlines after the
fact with a PDF editor? Or do you hav e hundreds of items to underline?
Cheers,
Mike


On Thu, Dec 30, 2010 at 1:37 PM, Nikolay Kirov  wrote:

> Yes,
> Reinhold explained more precisely the problem -
> I want to underline several syllables of several notes, but all in one
> go, i.e. the underline line should not be broken, but span several
> syllables.
> Unfortunately, it seems this is not possible in the current version of
> LilyPond.
>
> Thanks for answers,
> Nikolay
>
> On Thu, Dec 30, 2010 at 7:22 PM, Reinhold Kainhofer
>  wrote:
> > Am Donnerstag, 30. Dezember 2010, um 18:02:25 schrieb Federico Bruni:
> >> If you want a continuous line you should put the text inside "".
> >
> > I don't think that's what Nikolay actually wants. I think he wants the
> exact
> > opposite: He wants to underline several consecutive syllables (assigned
> to
> > several consecutive notes), without having to wrap each of the syllables
> in
> > \markup{\underline ...}.
> >
> > AFAICS, that's currently not possible in LilyPond, since the \underline
> > command does not set some font property, but rather explicitly constructs
> a
> > line with the extents of the given markup.
> >
> > Cheers.
> > Reinhold
> >
> > PS: Actually, re-reading his request again, I think what he really wants
> is to
> > underline several syllables of several notes, but all in one go, i.e. the
> > underline line should not be broken, but span several syllables.
> >
> > As each syllable is a markup on its own, this could only be properly
> > implemented by a spanner, so one would need to write a dedicated engraver
> for
> > underlined lyrics...
> >
> >
> >> Il giorno 30/dic/2010 11.55, "Nikolay Kirov"  ha
> scritto:
> >> > Hello all,
> >> >
> >> > I have a task to underline a part of the text in \addlyrics block.
> >> > I found
> >> > \addlyrics{ aa- \markup { \underline bb- } cc- dd }
> >> > and it works but underline only one item.
> >> > Repeating this pattern does not solve the task because I need a
> >> > continuous
> >>
> >> line.
> >>
> >> > The syntax
> >> > \addlyrics{ aa- \markup { \underline bb- cc- dd } ee }
> >> > does not work.
> >> >
> >> > Cheers,
> >> > Nikolay
> >> >
> >> > --
> >> > Nikolay Kirov Kirov
> >> > http://www.math.bas.bg/~nkirov/
> >> > http://nikolay.kirov.be/
> >> > Office: (+359) 2 979 2850, 2 811 0611
> >> > Home: (+359) 2 856 8627, 0887 198 221
> >> > nki...@nbu.bg
> >> > nki...@math.bas.bg
> >> >
> >> > ___
> >> > lilypond-user mailing list
> >> > lilypond-user@gnu.org
> >> > http://lists.gnu.org/mailman/listinfo/lilypond-user
> >
> >
> > --
> > --
> > Reinhold Kainhofer, reinh...@kainhofer.com,
> http://reinhold.kainhofer.com/
> >  * Financial & Actuarial Math., Vienna Univ. of Technology, Austria
> >  * http://www.fam.tuwien.ac.at/, DVR: 0005886
> >  * LilyPond, Music typesetting, http://www.lilypond.org
> >
>
>
>
> --
> Nikolay Kirov Kirov
> http://www.math.bas.bg/~nkirov/
> http://nikolay.kirov.be/
> Office: (+359) 2 979 2850, 2 811 0611
> Home: (+359) 2 856 8627, 0887 198 221
> nki...@nbu.bg
> nki...@math.bas.bg
>
> ___
> 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


A small but vexing problem

2010-12-30 Thread Michael Ellis
I think I mentioned in a prior post that I'm creating LilyPond versions of
400 Bach chorales with moveable do solfege beneath the notes.  I've now got
workable versions for the chorales with all parts together and hope to have
them up on a website soon with pdf and midi files available also.  I'd also
like to include individual part versions of the file, so a user can see and
hear a single part.  The one stumbling block I'm hitting is the fermatas at
phrase ends.  The source I'm using for the notes in each parts has the
fermatas only in the soprano line.

Does anyone have a clever idea for automating the process of creating
corresponding fermatas for the other parts?

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


Re: \underline in lyrics

2010-12-30 Thread Michael Ellis
Definitely worth automating if at all possible!
Cheers,
Mike


On Thu, Dec 30, 2010 at 3:21 PM, Nikolay Kirov  wrote:

> Yes, Mike,
>
> I have about a thousand Bulgarian folk songs in LilyPond format
>
> http://nikolay.kirov.be/2010/folk/FOLK_en.html
>
> A most of them have a refrain, which must be underlined following the
> tradition from the books.
> So, I need a tool (special engraver) to underline several syllables of
> several notes.
>
> Cheers,
> Nikolay
>
> On Thu, Dec 30, 2010 at 8:58 PM, Michael Ellis
>  wrote:
> > Just a thought. Nikolay, does it make sense to add the underlines after
> the
> > fact with a PDF editor? Or do you hav e hundreds of items to underline?
> > Cheers,
> > Mike
> >
> >
> > On Thu, Dec 30, 2010 at 1:37 PM, Nikolay Kirov 
> wrote:
> >>
> >> Yes,
> >> Reinhold explained more precisely the problem -
> >> I want to underline several syllables of several notes, but all in one
> >> go, i.e. the underline line should not be broken, but span several
> >> syllables.
> >> Unfortunately, it seems this is not possible in the current version of
> >> LilyPond.
> >>
> >> Thanks for answers,
> >> Nikolay
> >>
> >> On Thu, Dec 30, 2010 at 7:22 PM, Reinhold Kainhofer
> >>  wrote:
> >> > Am Donnerstag, 30. Dezember 2010, um 18:02:25 schrieb Federico Bruni:
> >> >> If you want a continuous line you should put the text inside "".
> >> >
> >> > I don't think that's what Nikolay actually wants. I think he wants the
> >> > exact
> >> > opposite: He wants to underline several consecutive syllables
> (assigned
> >> > to
> >> > several consecutive notes), without having to wrap each of the
> syllables
> >> > in
> >> > \markup{\underline ...}.
> >> >
> >> > AFAICS, that's currently not possible in LilyPond, since the
> \underline
> >> > command does not set some font property, but rather explicitly
> >> > constructs a
> >> > line with the extents of the given markup.
> >> >
> >> > Cheers.
> >> > Reinhold
> >> >
> >> > PS: Actually, re-reading his request again, I think what he really
> wants
> >> > is to
> >> > underline several syllables of several notes, but all in one go, i.e.
> >> > the
> >> > underline line should not be broken, but span several syllables.
> >> >
> >> > As each syllable is a markup on its own, this could only be properly
> >> > implemented by a spanner, so one would need to write a dedicated
> >> > engraver for
> >> > underlined lyrics...
> >> >
> >> >
> >> >> Il giorno 30/dic/2010 11.55, "Nikolay Kirov"  ha
> >> >> scritto:
> >> >> > Hello all,
> >> >> >
> >> >> > I have a task to underline a part of the text in \addlyrics block.
> >> >> > I found
> >> >> > \addlyrics{ aa- \markup { \underline bb- } cc- dd }
> >> >> > and it works but underline only one item.
> >> >> > Repeating this pattern does not solve the task because I need a
> >> >> > continuous
> >> >>
> >> >> line.
> >> >>
> >> >> > The syntax
> >> >> > \addlyrics{ aa- \markup { \underline bb- cc- dd } ee }
> >> >> > does not work.
> >> >> >
> >> >> > Cheers,
> >> >> > Nikolay
> >> >> >
> >> >> > --
> >> >> > Nikolay Kirov Kirov
> >> >> > http://www.math.bas.bg/~nkirov/
> >> >> > http://nikolay.kirov.be/
> >> >> > Office: (+359) 2 979 2850, 2 811 0611
> >> >> > Home: (+359) 2 856 8627, 0887 198 221
> >> >> > nki...@nbu.bg
> >> >> > nki...@math.bas.bg
> >> >> >
> >> >> > ___
> >> >> > lilypond-user mailing list
> >> >> > lilypond-user@gnu.org
> >> >> > http://lists.gnu.org/mailman/listinfo/lilypond-user
> >> >
> >> >
> >> > --
> >> > --
> >> > Reinhold Kainhofer, reinh...@kainhofer.com,
> >> > http://reinhold.kainhofer.com/
> >> >  * Financial & Actuarial Math., Vienna Univ. of Technology, Austria
> >> >  * http://www.fam.tuwien.ac.at/, DVR: 0005886
> >> >  * LilyPond, Music typesetting, http://www.lilypond.org
> >> >
> >>
> >>
> >>
> >> --
> >> Nikolay Kirov Kirov
> >> http://www.math.bas.bg/~nkirov/
> >> http://nikolay.kirov.be/
> >> Office: (+359) 2 979 2850, 2 811 0611
> >> Home: (+359) 2 856 8627, 0887 198 221
> >> nki...@nbu.bg
> >> nki...@math.bas.bg
> >>
> >> ___
> >> 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: A small but vexing problem

2010-12-30 Thread Michael Ellis
Thanks, James. It's not quite what I need but you have the right idea.

Since posting the problem, I've worked out the following that seems to
give me most of what I want:

if I have, say, voices ASvoiceAA with the fermatas and AAvoiceBA
without as shown below

---
ASvoiceAA = \relative c'{
\set Staff.instrumentName = #"Soprano"
\clef treble
\key f \major
\time 4/4
\partial 4
d4 f g a\fermata  bes  | % 1
a g c bes  | % 2
a2\fermata  r4 d  | % 3
}% end of last bar in partorvoice


AAvoiceBA = \relative c'{
\set Staff.instrumentName = #"Alto"
\clef treble
\key f \major
\time 4/4
\partial 4
{ d4 a8 f'4 e8 f4 d8 e  | % 1
fis4 g~ g8 a~ a g  | % 2
fis2 r4 bes~  | % 3
}
}% end of last bar in partorvoice
---

then,  I can use quoting like so

---
\addQuote "articulations"   { \ASvoiceAA }
AAquoteBA = {
\set Score.quotedEventTypes = #'(articulation-event)
<<
{\quoteDuring #"articulations" { s1*3 } }
\AAvoiceBA
>>
}
---

and use \AAquoteBA in my score to produce the result shown in the
attachment.  Now I think it's a matter of automating that in my script
that generates all the files from the sources.

One small problem remains: how to automatically determine the value of
the spacer rests in the final argument to \quoteDuring.  Is there an
existing music function that will do that or, if not, how might I go
about writing one?

Cheers,
Mike


On Thu, Dec 30, 2010 at 3:10 PM, James Lowe  wrote:
>
> Mike,
> 
> From: lilypond-user-bounces+james.lowe=datacore....@gnu.org 
> [lilypond-user-bounces+james.lowe=datacore@gnu.org] on behalf of Michael 
> Ellis [michael.f.el...@gmail.com]
> Sent: 30 December 2010 19:11
> To: LilyPond User Group
> Subject: A small but vexing problem
>
> I think I mentioned in a prior post that I'm creating LilyPond versions of 
> 400 Bach chorales with moveable do solfege beneath the notes.  I've now got 
> workable versions for the chorales with all parts together and hope to have 
> them up on a website soon with pdf and midi files available also.  I'd also 
> like to include individual part versions of the file, so a user can see and 
> hear a single part.  The one stumbling block I'm hitting is the fermatas at 
> phrase ends.  The source I'm using for the notes in each parts has the 
> fermatas only in the soprano line.
>
> Does anyone have a clever idea for automating the process of creating 
> corresponding fermatas for the other parts?
>
> 
>
> Thinking laterally, I wondered if perhaps you could use
>
> http://lilypond.org/doc/v2.13/Documentation/notation/different-editions-from-one-source#using-tags
>
> and have another voice with spacers and a fermata in it so that you can could 
> simply 'keep' the tag when you wanted the fermata and then remove the tag 
> when you didn't?
>
> I have no experience with multiple parts, so I apologise is this isn't what 
> you wanted.
>
> James
<>___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: A small but vexing problem (fermatas in several voices)

2010-12-30 Thread Michael Ellis
Hi Michael,
That's a good idea and I'd do exactly that if I were transcribing the
chorales by hand.  Fortunately, Margaret Greentree (jsbchorales.net)
has already done the hard work of entering all the notes for 404
chorales, but she did it in Finale, so I'm starting from LilyPond
converted from her exported MusicXML.

I think I've now got a solution for the final argument to \quoteDuring
using music-map (adapted from "notes-to-skip" example in LilyPond
regression tests.


#(define (replace-with-spacers m)
  "Converts all stuff with duration (notes, lyrics, bass figures,
etc.) to spacer rests. Scripts and dynamics are maintained.
"
  (if (memq 'rhythmic-event (ly:music-property m 'types))
  (let* ((newmus (make-music 'SpacingSectionEvent)))
(map
(lambda (x) (ly:music-set-property! newmus (car x) (cdr x)))
(ly:music-mutable-properties m))
newmus
  )
   m)
)

quoteduration = {
\applyMusic #(lambda (x) (music-map replace-with-spacers x))
\ASvoiceAA
}

AAquoteBA = {
\set Score.quotedEventTypes = #'(articulation-event)
<<
{\quoteDuring #"articulations" { \quoteduration } }
\AAvoiceBA

>>
}
--

I'm totally open to a less messy solution :-)

Cheers,
Mike



On Thu, Dec 30, 2010 at 4:44 PM, Michael J. O'Donnell
 wrote:
> In similar situations, I like to create LilyPond variables whose values are
> the notes only for each part, and a separate variable whose value is the
> expressive marks that go on all parts together, including fermatas, dynamic
> markings, ...
>
> Then, I can create a full score with the expressive marks presented only
> once, and individual parts with the expressive marks.
>
> Annoyance: the expressive part needs skips of the durations corresponding to
> the notes in between the expressive marks. Someday, I hope that LilyPond
> will have the facility to mark temporal points in various parts so that they
> can be aligned without counting out the beats correctly in each one. This
> would be structurally analogous to the use of TABs in a single line of typed
> material, but it would not be associated with lines of music, rather with
> entire scores.
>
> Cheers,
>
> Mike O'D.
>
> On 12/30/2010 02:41 PM, Michael Ellis wrote:
>>
>> From: Michael Ellis
>> Subject: A small but vexing problem
>> To: LilyPond User Group
>> Message-ID:
>>        
>> Content-Type: text/plain; charset="iso-8859-1"
>>
>> I think I mentioned in a prior post that I'm creating LilyPond versions of
>> 400 Bach chorales with moveable do solfege beneath the notes.  I've now
>> got
>> workable versions for the chorales with all parts together and hope to
>> have
>> them up on a website soon with pdf and midi files available also.  I'd
>> also
>> like to include individual part versions of the file, so a user can see
>> and
>> hear a single part.  The one stumbling block I'm hitting is the fermatas
>> at
>> phrase ends.  The source I'm using for the notes in each parts has the
>> fermatas only in the soprano line.
>>
>> Does anyone have a clever idea for automating the process of creating
>> corresponding fermatas for the other parts?
>>
>> Thanks,
>> Mike
>
> ___
> 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: A small but vexing problem (fermatas in several voices)

2010-12-31 Thread Michael Ellis
Hi Phil,
The problem is pretty well solved. I'm just cleaning up a few things
in my scripts today.

 I don't have all the answers yet regarding copyrights.  Margaret
Greentree's site seems to claim copyrights only to the PDF images and
those are freely shared for non-commercial use.  So I'm not quite sure
how that might apply to works derived from the MusicXML files.

My thought was to release my versions with attribution to her and a
Creative Commons license with similar conditions -- free use for
non-commercial purposes with attribution and share-alike.

Initially, I'm going to put the files into a googlecode site so it's
easy to allow more than one person to edit them.  I'll be happy to add
your name to the list of "developers" for the site.  Later on, I want
to put up a free site that can serve PDF, midi, and mp3 files.

Looking forward to working with you!

Cheers,
Mike



On Fri, Dec 31, 2010 at 1:48 PM, Phil Hézaine  wrote:
> Le 31/12/2010 00:26, Alexander Kobel a écrit :
>> On 2010-12-30 22:44, Michael J. O'Donnell wrote:
>>> Annoyance: the expressive part needs skips of the durations
>>> corresponding to the notes in between the expressive marks. Someday, I
>>> hope that LilyPond will have the facility to mark temporal points in
>>> various parts so that they can be aligned without counting out the beats
>>> correctly in each one. This would be structurally analogous to the use
>>> of TABs in a single line of typed material, but it would not be
>>> associated with lines of music, rather with entire scores.
>>
>> This idea of defining "anchors" or "targets" in the music is a
>> long-standing [*], much-awaited request for enhancement.  See
>> , and be sure to
>> check out Gilles' workaround (comment #2).  I never tested Gilles' code,
>> though, and I'm not sure whether it will work in the upcoming 2.14.
>>
>> [*] I think this idea is much older than the report filed in the tracker.
>>
>> Unfortunately IIUC this amounts to a quite invasive change in the whole
>> LilyPond structure of parsing and handling input, and is unlikely to
>> appear in the not-so-near future.  Especially since it does not increase
>> overall functionality or output quality, and it's easy to overcome for
>> freshly written LilyPond scores with reasonably clever variable definitions.
>>
>>
>> Cheers,
>> Alexander
>
> Hi Michael,
>
> If you are stopped with this issue I think I could change my files to
> integrate one more variable with only the fermatas and rests. Would be
> usefull for you? Anyway if I want to edit the 'breakpoints' in GNU
> Solfege and avoid headaches, I need it later. However I work from the
> Breitkopf's edition. It seems, at a rough guess, there aren't different
> for that point but are containing only 371 chorals which are written on
> 2 Staffs. I've typed around 300 Chorals and I'm finally going to type
> the whole thing. (ISMLP could be happy.) With a template and Frescobaldi
> it isn't so difficult. Your work is very interesting for me because if i
> have the ansvers about the use of a free license and the sources of
> jsbchorales for a book, updating the files will be much easier. I'm
> confident each of us are near the end of it, in a complementary way.
> By the way, we also are near the end of 2010.
> Happy New Year.
> Phil.
>
> ___
> 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


ANN: Solfege Resources -- 404 bach chorales in Lilypond format with Movable Do solfege.

2010-12-31 Thread Michael Ellis
I've just committed a first version of LilyPond sources for 404 Bach
chorales at  https://solfege-resources.googlecode.com.

The voice notation is extracted from Margaret Greentree's musicXML
files of the chorales at jsbchorales.net.  Each file creates PDF and
midi for the full score (typically SATB but some files also have
instrument voices) and each individual voice.  The LilyPond NoteNames
engraver is used to generate the solfege symbols as lyrics.  The files
are intended for non-commercial use and are licensed under a Creative
Commons Attribution + NonCommercial + ShareAlike license.

The layouts are somewhat sparse as these files are intended for
educational use.  There is a single include file, "common.ly" that can
be modified to change the layout, etc.  I've attached an example file
to this message.

I don't yet have a zipped package of all files, but you can get them
by cloning from the repository if you have Mercurial installed.

>$ hg clone https://solfege-resources.googlecode.com/hg/ solfege-resources

I have not yet processed and inspected all the files, so you may find
problems.  Two files are already known to have problems that appear to
be caused by multi-measure rests in instrumental parts. I've submitted
an issue in the repository.

I'd welcome anyone who wants to collaborate.

Enjoy!

Happy New Year,
Mike






Cheers,
Mike


000106B.ly
Description: Binary data


common.ly
Description: Binary data
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: ANN: Solfege Resources -- 404 bach chorales in Lilypond format with Movable Do solfege.

2011-01-01 Thread Michael Ellis
Apologies for the sloppy cut and paste on the URL.   BTW, thanks to
all of you who helped me during the past couple weeks.  I'm not sure
I'd have kept with it otherwise.  And, of course, thanks to Jan and
Han-wen and the development team  for LilyPond!  There's no way this
could have been done so quickly (if at all) in Finale or Sibelius.

Cheers,
Mike



On Sat, Jan 1, 2011 at 10:31 AM, Xavier Scheuer  wrote:
> On 1 January 2011 16:25, Music Teacher  wrote:
>>
>> What i forgot: I owrk with cygwin
>
> Apparently mercurial is also available on Windows.
> http://mercurial.selenic.com/downloads/
>
> Maybe this link is worth a look too:
> http://mercurial.selenic.com/wiki/WindowsInstall
>
> Cheers,
> Xavier
>
> --
> Xavier Scheuer 
>

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


Re: A small but vexing problem (fermatas in several voices)

2011-01-01 Thread Michael Ellis
Thanks very much, Phil.  Your appreciation means a lot!   My head is
still a bit fuzzy, too.  I'm looking forward to to those deeper
thoughts and working with you to make solfege-resources useful to as
many people as possible.
Cheers,
Mike



On Sat, Jan 1, 2011 at 8:35 AM, Phil Hézaine  wrote:
> Le 31/12/2010 20:33, Michael Ellis a écrit :
>> Hi Phil,
>> The problem is pretty well solved. I'm just cleaning up a few things
>> in my scripts today.
>>
>>  I don't have all the answers yet regarding copyrights.  Margaret
>> Greentree's site seems to claim copyrights only to the PDF images and
>> those are freely shared for non-commercial use.  So I'm not quite sure
>> how that might apply to works derived from the MusicXML files.
>>
>> My thought was to release my versions with attribution to her and a
>> Creative Commons license with similar conditions -- free use for
>> non-commercial purposes with attribution and share-alike.
>>
>> Initially, I'm going to put the files into a googlecode site so it's
>> easy to allow more than one person to edit them.  I'll be happy to add
>> your name to the list of "developers" for the site.  Later on, I want
>> to put up a free site that can serve PDF, midi, and mp3 files.
>>
>> Looking forward to working with you!
>>
>> Cheers,
>> Mike
>
> Hi Mike,
>
> Formidable work! Really! You have burst the 'starting blocks' of 2011!
> More deeper thoughts and decisions to this new thread:
>
> ANN: Solfege Resources -- 404 bach chorales in Lilypond format with
> Movable Do solfege.
>
> when my head is clever, a bit later.
> Happy New Year for all.
> Phil.
>
> ___
> 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: Solfege Resources -- 404 bach chorales in Lilypond format with Movable Do solfege.

2011-01-01 Thread Michael Ellis
Hi Phil,
Thanks for the input.  I've sent email to Margaret (whom I don't know
personally)  asking her thoughts about the licensing.  I've not yet heard
back from her.

I confess I went with a strong non-commercial clause largely in deference to
her work and the claims on her website.  It's a lot easier to loosen a
license later than to tighten it after the work is "in the wild".   I have
to say that the whole copyright issue here is quite confusing.  As you point
out, the author of the works is long dead and published editions exist that
were never under copyright or have lapsed into the public domain.

I'm certainly not trying to assert any copyright to Bach's work or
Margaret's for that matter.  I do claim some right to the LilyPond files
themselves, or perhaps better to say, the organization of the files to
produce the solfege, etc, but I'm not sure how to properly express that or,
to be truthful, whether it's even worth the bother.  I suspect you may have
more experience than I in these areas.

I really want to find out how Margaret feels about this before changing the
license.  My primary intent here is to provide a useful resource for
students of music and I don't want to get into a copyright dispute with
anyone.  As the Chinese proverb says "In death avoid hell, in life avoid the
law courts!"

I have not encountered the Free Art license before.  From a quick glance at
the wikipedia description, it sounds almost identical to the Creative
Commons license with only the Attribution and ShareAlike clauses but without
the Non-commercial clause.  Is that correct?

Finally, however the copyright on my work sorts itself out, I'll be happy to
include your work on my site under whatever copyright terms you like.
Still, since we're working on the same chorales it would be great if we can
find a way to combine our efforts to produce the best possible editions.


Cheers,
Mike


On Sat, Jan 1, 2011 at 4:08 PM, Phil Hézaine wrote:

> Hi Michael and all,
>
> Copy from the previous discussion:
> Le 31/12/2010 20:33, Michael Ellis a écrit :
> > Hi Phil,
> > The problem is pretty well solved. I'm just cleaning up a few things
> > in my scripts today.
> >
> >  I don't have all the answers yet regarding copyrights.  Margaret
> > Greentree's site seems to claim copyrights only to the PDF images > >
> > and those are freely shared for non-commercial use.  So I'm not quite
> > sure how that might apply to works derived from the MusicXML files.
> >
> > My thought was to release my versions with attribution to her and a
> > Creative Commons license with similar conditions -- free use for
> > non-commercial purposes with attribution and share-alike.
> >
> > Initially, I'm going to put the files into a googlecode site so it's
> > easy to allow more than one person to edit them.  I'll be happy to add
> > your name to the list of "developers" for the site.  Later on, I want
> > to put up a free site that can serve PDF, midi, and mp3 files.
> >
> > Looking forward to working with you!
> >
> > Cheers,
> > Mike
>
> It's not my goal to begin a troll or flames war but i'm a bit stumpled
> with the licence. I have great respect for your choice and Margaret
> Greentree who is a passionate artist but I want to explain my thoughts.
> I have no problem with a Creative Commons - non-commercial license when
> the copyright is 'alive'. I have even used it for one of my own work
> for the main reason that I want to impose a percentage of redistribution
> for Free Software or humanitarians goals in case of a commercial
> product, even for one song. If you agree to this clause you get an
> authorization and all is right. It's the rules of the game. Not
> completely closed but...  Anyway, this clause didn't suit me very well
> with a virtual band from linux-audio on internet. At this time they were
> Free like zealots.
> But in the case under discussion the copyright is 'dead', and i don't
> see a valuable explanation on the site for the non-commercial use. Hence
> my questions.
> Moreover, there are chorals which aren't changed from the Public Domain.
> I've checked some of it against my sources. Well, only a little bit.
> And i'm not sure of the data integrity of her typesetting.
> Then, why to claim a clause of copyright non-commercial without arguments?
> What a shame that Margaret Gentree is not on this list. We could have a
> better understanding. Are Barenreiter or Musica Budapest's sources
> closed? I don't know for now. Is there a special wish with the license?
> We don't know.
> Could we use her work in a GNU app li

Re: Solfege Resources -- 404 bach chorales in Lilypond format with Movable Do solfege.

2011-01-01 Thread Michael Ellis
Project site now has downloadable archives of PDF and MIDI files at

http://code.google.com/p/solfege-resources/downloads/list

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


Re: Solfege Resources -- 404 bach chorales in Lilypond format with Movable Do solfege.

2011-01-02 Thread Michael Ellis
Hi Phil & Graham,
Thanks very much for the information and discussion.  It's all
extremely useful.  Let me see if I can paraphrase a few points that
are influencing my thinking:

We all seems to agree that:

   1. The "music" of the chorales (the sequences of pitches and
rhythms notated in the Breitkopf edition) is public domain.
   2. The Breitkopf edition itself is also in the public domain.
   3. Margaret Greentree's XML files do not contain any copyright
assertions other than for the PDF output.
   4. Her site has the following text in the footer of each page:
" © 1996-2010 by Margaret Greentree, some rights reserved.
Free midi files and sets, ongoing corrections.
 This site may be browsed, referenced or linked. Download the
ftp files, but do not use images or music for financial profit.
Commercial use of material without permission from me or the artists
is an infringement of rights reserved."

Given the above, it seems that an important question is whether her
reservation of rights applies to distributing material created by
applying LilyPond to the notation sequences embodied in her XML.   I
don't mean to sound like a lawyer here (and I'm most assuredly not
one), but to the extent that her notes match those in public domain
editions, one could argue that no copyright is possible.

On the other hand, I'm not sure that failing to declare a copyright to
the XML files necessarily invalidates a copyright to the digital
representation she created and one could argue that the translation
produced by MuseScore (via xml2ly, I think) is a purely mechanical
re-representation of her work.

As to my own contributions to this work, I am ok with dropping
commercial clause and issuing it with either the CC license or the
Free Art license or both.  So I think we need to wait for a response
from Margaret.  Hopefully she will be amenable to what we would like
to do.

Needless to say, another alternative would be to replace her work with
yours, Phil.  I think you said you've got about 300 of the chorales
already transcribed.  Is that right?  Would it be difficult to plug
your note sequences into the format I'm using?


Cheers,
Mike


On Sun, Jan 2, 2011 at 6:44 AM, Phil Hézaine  wrote:
>
> Le 01/01/2011 23:30, Graham Percival a écrit :
> > On Sat, Jan 01, 2011 at 10:08:38PM +0100, Phil Hézaine wrote:
> >> Moreover, there are chorals which aren't changed from the Public Domain.
> >> I've checked some of it against my sources. Well, only a little bit.
> >> And i'm not sure of the data integrity of her typesetting.
> >
> > Interesting.
> >
> >> Then, why to claim a clause of copyright non-commercial without arguments?
> >
> > Well, if she made any editorial changes, the result is not in the
> > public domain.  Arguably, even simply making unintentional "data
> > entry" changes could be enough for the result to be under
> > copyright.
> >
> >> What a shame that Margaret Gentree is not on this list. We could have a
> >> better understanding. Are Barenreiter or Musica Budapest's sources
> >> closed?
> >
> > Unless they created an "urtext" edition, then yes, the notes and
> > markings are under copyright.  Even if they created an "urtext"
> > edition, the actual layout of music on the page is under
> > copyright.  In the latter case, typing the notes into a text file
> > (for processing with lilypond) does not infringe copyright,
> > whereas making a photocopy would infringe.
> >
> >> Could we use her work in a GNU app like GNU Solfege without
> >> infringements between the GPL and her license?
> >
> > No.  GPL does not allow you to play additional restrictions on the
> > distribution of material; the CC-NC has an extra restriction ("no
> > commercial use").
> >
> >> For now I plan to publish the 371 chorals from Breitkopf with a Free Art
> >> license,
> >
> > Have you checked that the Breitkopf edition is free from
> > copyright?  Mutopia has a good short discussion about this:
> > http://www.mutopiaproject.org/contribute.html
> >
> > Cheers,
> > - Graham
>
> Thanks for the informations, Graham, it's always useful.
> The handy sources i have are exactly the same you find on ISMLP:
>
>
> > http://imslp.org/wiki/Chorale_Harmonisations,_BWV_1-438_%28Bach,_Johann_Sebastian%29
>
> Rédacteur:
> Johann Philipp Kirnberger
> Carl Philipp Emanuel Bach
>
> Édition:
> Leipzig: Breitkopf und Härtel, n.d.[1878]. Plate V.A. 10
> Droit d'auteur: Public Domain
>
> Notes:
> Based on 1st edition (Leipzig: Breitkopf, 1784–1788)
> 2 staves, without lyrics
>
>
> I think I'm right.
> However I add in my typesetting the BWV references and the corrected
> titles (there are a lot) from jsbchorales, and i point out the chorales
> in duplicate.
> Yes, in fact there are not 371 chorales in this edition!
> Off course, I'll mention the origin of my references in my final work. I
> think there is no copyright issue about their catalogue.
> Am i wrong?
>
> If you check the second chorale from the Breitkopf's edition against the
> jsb sources

Re: Solfege Resources -- 404 bach chorales in Lilypond format with Movable Do solfege.

2011-01-02 Thread Michael Ellis
Thanks Graham, it's good to get the straight story!  I must say there are
certainly some confusing aspects to copyright law.  So If I'm understanding
you correctly, if I were to transcribe a fugue from an out of copyright
source, I have a copyright if I make a mistake and none if I copy it
perfectly!  What if I transcribe from a copyrighted source and make a
mistake (or a lot of mistakes)?  Or copy from a copyrighted source only
those aspects that exist verbatim in a non-copyrighted version, e.g. notes
and rhythms as Bach wrote them but no dynamics or layout added by the
editor?

Anyway, I do appreciate the insights.  For the time being I'm interpreting
her publicly granted rights according to the notice on her web site, i.e
free use for purposes other than financial profit.

Cheers,
Mike


On Sun, Jan 2, 2011 at 6:51 PM, Graham Percival wrote:

> On Sun, Jan 02, 2011 at 12:59:39PM -0500, Michael Ellis wrote:
> > We all seems to agree that:
> >1. The "music" of the chorales (the sequences of pitches and
> > rhythms notated in the Breitkopf edition) is public domain.
> >2. The Breitkopf edition itself is also in the public domain.
>
> I haven't checked it myself, but if this Breitkopf edition is on
> IMSLP, then yes.
>
> >3. Margaret Greentree's XML files do not contain any copyright
> > assertions other than for the PDF output.
>
> "Assertion" is completely irrelevant to the status of being under
> copyright or not.  If something would normally be under copyright,
> then it is under copyright the instant that it is produced in
> fixed form.  (i.e. as soon as I type each letter of this
> paragraph, it is under copyright -- even though I am not going to
> append "Copyright (c) 2011 Graham Percival" to this email)
>
> > Given the above, it seems that an important question is whether her
> > reservation of rights applies to distributing material created by
> > applying LilyPond to the notation sequences embodied in her XML.
>
> No.  The question is whether her particular rendition of the Bach
> chorales in XML can be under copyright.  If it is -- and I believe
> it can be, especially since somebody noted that her rendition was
> not completely accurate -- then all the XML files are under
> copyright, and you cannot do (legally) anything with them without
> her express permission (with certain exeptions that vary from
> country to country).
>
> > On the other hand, I'm not sure that failing to declare a copyright to
>
> "Failing to declare a copyright" has no meaning since 1970 or so.
> In the first half of the 20th century, that had a legal meaning,
> but after one particular major rewrite of copyright law, any "idea
> in fixed form" (paraphrased) was under copyright.
>
> Cheers,
> - Graham
>
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Solfege Resources -- 404 bach chorales in Lilypond format with Movable Do solfege.

2011-01-02 Thread Michael Ellis
A few excerpts from the Wikipedia article on derivative works.  Highlighting
and italics added by me.

17 U.S.C. <http://en.wikipedia.org/wiki/Title_17_of_the_United_States_Code>
§ 103(b) <http://www.law.cornell.edu/uscode/17/103(b).html> provides:

The copyright in a compilation or derivative work extends only to the
material contributed by the author of such work, as distinguished from the
preexisting material employed in the work, and does not imply any exclusive
right in the preexisting material. The copyright in such work is independent
of, and does not affect or enlarge the scope, duration, ownership, or
subsistence of, any copyright protection in the preexisting material.


US Copyright Office Circular 14: Derivative
Works<https://docs.google.com/viewer?url=http%3A%2F%2Fwww.copyright.gov%2Fcircs%2Fcirc14.pdf>
notes
that:

A typical example of a derivative work received for registration in the
Copyright Office is one that is primarily a new work but incorporates some
previously published material. This previously published material makes the
work a derivative work under the copyright law. To be copyrightable, a
derivative work must be different enough from the original to be regarded as
a "new work" or must contain a substantial amount of new material. *Making
minor changes or additions of little substance to a preexisting work will
not qualify the work as a new version for copyright purposes. The new
material must be original and copyrightable in itself. Titles, short
phrases, and format, for example, are not copyrightable.*


When does derivative-work copyright exist?

For copyright protection to attach to a later, allegedly derivative work, it
must display some originality of its own. It cannot be a rote, uncreative
variation on the earlier, underlying work. The latter work must contain
sufficient new expression, over and above that embodied in the earlier work
for the latter work to satisfy copyright law’s requirement of
originality<http://en.wikipedia.org/wiki/Originality>
.

Although serious emphasis on originality, at least so designated, began with
the Supreme Court’s 1991 decision in *Feist v.
Rural<http://en.wikipedia.org/wiki/Feist_v._Rural>
*, some pre-*Feist* lower court decisions addressed this requirement in
relation to derivative works. In *Durham Industries, Inc. v. Tomy
Corp.*[1]<http://en.wikipedia.org/wiki/Derivative_work#cite_note-0>
and
earlier in *L. Batlin & Son, Inc. v.
Snyder*,.[2]<http://en.wikipedia.org/wiki/Derivative_work#cite_note-1>the
Second Circuit held that a derivative work must be original relative to the
underlying work on which it is based. Otherwise, it cannot enjoy copyright
protection and copying it will not be copyright infringement.

In the *Batlin* case, one maker of "Uncle Sam" toy banks sued another for
copying its coin-operated bank, which was based on toy banks sold in the
United States[3]
<http://en.wikipedia.org/wiki/Derivative_work#cite_note-2> since
at least the 1880s. (These toys have Uncle Sam's extended arm and
outstretched hand adapted to receive a coin; when the user presses a lever,
Uncle Sam appears to put the coin into a carpet bag.) The plaintiff's bank
was so similar to the 19th Century toys, differing from them only in the
changes needed to permit a plastic molding to be made, that it lacked any
original expression. Therefore, even though the defendant's bank was very
similar to the 
plaintiff's,[4]<http://en.wikipedia.org/wiki/Derivative_work#cite_note-3>
the
plaintiff's was not entitled to any copyright protection. "To extend
copyrightability to minuscule variations would simply put a weapon for
harassment in the hands of mischievous copiers intent on appropriating and
monopolizing public domain work."

--


Obviously, laws vary from country to country, but to me this suggests that
it would be very hard to assert a copyright claim to any set of of rhythms
and pitches that are already available in the public domain.  I think that's
why I was having trouble with the concept that a copy of a chorale with a
mistake is a copyrighted work.

Cheers,
Mike


On Sun, Jan 2, 2011 at 8:09 PM, Michael Ellis wrote:

> Thanks Graham, it's good to get the straight story!  I must say there are
> certainly some confusing aspects to copyright law.  So If I'm understanding
> you correctly, if I were to transcribe a fugue from an out of copyright
> source, I have a copyright if I make a mistake and none if I copy it
> perfectly!  What if I transcribe from a copyrighted source and make a
> mistake (or a lot of mistakes)?  Or copy from a copyrighted source only
> those aspects that exist verbatim in a non-copyrighted version, e.g. notes
> and rhythms as Bach wrote them but no dynamics or layout added by the
> editor?
>
> Anyway, I do appreciate the insights.  F

Re: Solfege Resources -- 404 bach chorales in Lilypond format with Movable Do solfege.

2011-01-03 Thread Michael Ellis
Mike, Graham, Henning,

Thanks again, it's all good discussion.  For the time being, I've altered
the home page on the solfege-resources site to offer two choices of License,
namely Free Art license in addition to CC BY-NC-AS.  I've also added a
couple paragraphs explaining my understanding of U.S. copyright law and
urging users to accept the CC license with commercial restriction in honor
of Margaret GreenTree's patient labor while acknowledging that patient labor
in itself may not create copyrightable work and therefore offering also the
Free Art option.   I realize that it may all be legally meaningless,  but it
seems as I close as I can come for the moment to balancing the various legal
and ethical  considerations.

I've still not heard from her.  Hopefully she's just on vacation and will
eventually reply.

I'm still open to replacing the notation in the Bach Chorales with Phil's
work and offering those under Free Art license only.  (Phil, if you will
send me a gmail address (needed by googlecode.com), I will authorize it for
commit privileges on the site).   But please hold off from making extensive
changes as I'd like to revise the lilypond files to achieve even greater
separation between the notation and the output.  I'd like to get to the
point where the notation files look like:

\include "common.ly"
\header { ... }
voiceFoo =  { ... music ... }
voiceBar = { ... music ... }
...
\output

where \output is a scheme function defined in common.ly that (somehow)
detects the voicenames and creates all the \book { \score   { ... } } blocks
needed to create the PDF and MIDI files for the full score and individual
parts.

If that is possible in LilyPond it would make it very simple for folks who
want to contribute transcriptions of other works to put their files in a
simple format and, at the same time, allow all the output to have a
consistent look.  It also could allow for the use of command line defines to
control what gets generated.

I'm going to start a separate thread on that topic, so lets not discuss it
here.

Cheers,
Mike


On Mon, Jan 3, 2011 at 6:03 AM, Graham Percival wrote:

> On Mon, Jan 03, 2011 at 02:16:44AM -0800, Mike Blackstock wrote:
> >Just to clarify: anything is copyrightable of course
>
> That is false.
>
> > - there's no laws
> >that I'm aware of that
> >prevent people from asserting a copyright; question is, can it/has it
> a
> >chance of standing up?
>
> You are confusing things.  Somebody may claim to possess copyright
> on something, but "asserting a copyright" does not mean that it
> is, in fact, under copyright.  Whether something is under
> copyright is a question of the written law and case histories (in
> countries which recognize precedence), not mere opinion.
>
> Granted, a pessimist may point out that certain highly-paid
> lawyers are more successful in having judges agree with their
> opinions than non-highly-paid lawyers.  I am not claiming that the
> case history is a perfect record of objective judgements, but (for
> better or worse) those judgements *are* the precedence.
>
>
> Moreover, there are in fact laws against abusing the system.
> Various jursidictions have laws against "malicious prosecution".
> The (in)famous DMCA of the USA requires a copyright claimant to
> swear under perjury that they do, in fact, own the copyright in
> question.
>
> Admittedly, this does not appear to be enforced -- there have been
> a few cases wherein the MPAA, RIAA, or actors on their behalf,
> have claimed copyright when they did not in fact own the
> copyright.  But that's a problem of enforcement, not the written
> law.
>
>
> >  I spent an hour or so doing various searches looking for court
> decisions
> >  and came up blank; I'm wondering if we're making a "mountain out of
> a
> >  mole-hill"? Can somebody find an instance of a music publisher suing
> >  somebody over such things?
>
> I believe that it is more common to issue a "cease and desist"
> letter first; if the offending party complies with it, there is
> generally no lawsuit.  These definitely happen; for example,
> recent action against guitar tab notation for pop songs:
> http://www.wired.com/listening_post/2007/03/music_publisher/
>
> I've heard that publishers of "Christian pop/rock" songs are
> particularly active in this regard.  There's good money in selling
> sheet music to church groups!
>
> And don't forget about the German kindergarden that was recently
> sued for infringing copyright on sheet music:
>
> http://www.dw-world.de/dw/article/0,,14741186,00.html?maca=en-rss-en-all-1573-rdf
>
>
> > Like I say I couldn't find any with my
> >  average search skills; it would certainly be illuminating to see how
> the
> >  courts have ruled however.
>
> Sadly, these stories are a dime a dozen these days.  In many
> cases, they never go to court because any lawyer will tell their
> client that they don't have a hope of defending against the
> charge.
>
> For example, if your am

Completely separating notation from output logic

2011-01-03 Thread Michael Ellis
I'm trying to develop an include file with Scheme functions that will
allow notation files to contain nothing more than a header block and
music for one or more voices.   Below is what I've got so far.  What
I'm finding is that I can easily define a music function that appends
voices to a list and a corresponding function that retrieves them in
order within the context of  a \score block.   What doesn't work so
far  is trying to generate the score block itself.  I get an error
complaining about "Unexpected \score".  I'm assuming that's because a
\score isn't a music type.  Is that right?  Also, what I'm doing now
feels a bit hackish.  Is there a more elegant approach?

Thanks,
Mike

%% To go into an include file, e.g. "myinclude.ly" ...
\version "2.12.3"
%% Append music for one voice to a list.
appendVoice = #(define-music-function (P L ml m) (list? ly:music?)
(append! ml m))

%% Insert a voice in a score block
newvoice = #(define-music-function (P L M) (ly:music?)
#{
\new Voice $M
#})

%% Insert list of voices to a score block
allvoices = #(define-music-function (P L  mlist) (list?)
(if (eq? mlist '())
#{  #}
(let ((v (car mlist)))
#{
\newvoice  $v
#}
(allvoices (cdr mlist)

%% Generate a score block containing voices from a list.
thescore = #(define-music-function (P L mlist) (list?)
#{
\score {
<<
\allvoices \myvoices
>>
}
#})


%% ---
%% To go into a notation file

%\include "myinclude.ly"

#(define myvoices '())

\appendVoice \myvoices \relative c' { e f g a }
\appendVoice \myvoices \relative c' { c d e f }

%% THIS WORKS
\score {
<<
\allvoices \myvoices
>>
}

%% THIS DOES NOT
\thescore \myvoices


Cheers,
Mike

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


Re: Completely separating notation from output logic

2011-01-03 Thread Michael Ellis
Thanks, Carl.  I probably should have included some background
information.  If I had only one piece of music to worry about, I'd do
it exactly as you suggest.  Problem is I've got 404 Bach Chorales on
the Solfege Resources site and expect to eventually have hundreds or
even thousands more from other composers whose work is public domain.
  Each one has a separate \book { \score {} \score{} } block to
generate pdf + midi files for all parts together plus each part
individually.  There are also some mildly hairy Scheme functions that
invoke the NoteNames engraver and use quoteDuring to add fermatas from
the Soprano part to individual parts.

Having all the output logic in a single include file would:
1.  Allow me to define a dead-simple format for contributions of
other public domain transcriptions, e.g
  \include "common.ly"
  \head { }
  #(define voices '())
  \appendVoice \voices { ... }  % e.g. Soprano
  \appendVoice \voices { ... )   % e.g. Alto
  ...
  \theOutput  \voices  % all the files for all the voices

2.  Make it easy to improve who wanted a to change the formatting
by only requiring them to modify the "common.ly"

3.  Eliminate the need for (or at least greatly simplify) external
scripts to rebuild the world after changes.

I'm not sure how I could do all that by including named files in score files.

Cheers,
Mike



On Mon, Jan 3, 2011 at 5:04 PM, Carl Sorensen  wrote:
> Personally, I think you're going about this exactly backwards.  Rather than
> including the score in a notation file, I think you should include the
> notation in a score file.  That way, you can easily reuse the notation in
> multiple places.

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


Re: Completely separating notation from output logic

2011-01-03 Thread Michael Ellis
On Mon, Jan 3, 2011 at 5:41 PM, Michael Ellis  wrote:
>    2.  Make it easy to improve who wanted a to change the formatting
> by only requiring them to modify the "common.ly"
>

Meant to say:
 2.  Make it easy for myself or users to improve the formatting ...

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


Re: Completely separating notation from output logic

2011-01-03 Thread Michael Ellis
Thanks Graham, I did use python to generate the first set of files
and, being fairly expert with it, python is always my weapon of
choice.  The limitation I see in this case is trying to support a
minimal input format for contributors to use. I was able to make it
work for the Greentree files because MuseScore emitted voice name
variables with a recognizable pattern e.g.  "AAvoiceBA = \relative c''
{" and always ended the music with a closing "}"  on a line by itself,
and so forth.

I don't want to burden contributors with anything that rigid and I
don't want to write a python parser for LilyPond syntax or even adapt
the one that comes with Frescobaldi.  That would feel like hunting
flies with an elephant gun.

Hence the reluctant decision to handle it in Scheme.  I did find a
thread from 2008 between Reinhold K., Han-Wen, and Nicolas S, but they
are operating with pretty high-level knowledge of Lily internals.  It
would be nice to find a well-documented solution that didn't require
combing through the Lily sources.  I'll keep looking.  This can't be
that hard to do, right?

Cheers,
Mike



On Mon, Jan 3, 2011 at 9:44 PM, Graham Percival
 wrote:
> On Mon, Jan 03, 2011 at 05:41:48PM -0500, Michael Ellis wrote:
>> Thanks, Carl.  I probably should have included some background
>> information.  If I had only one piece of music to worry about, I'd do
>> it exactly as you suggest.  Problem is I've got 404 Bach Chorales on
>> the Solfege Resources site and expect to eventually have hundreds or
>> even thousands more from other composers whose work is public domain.
>
> This has been solved a few times.  Look in the mailing list
> archives, and/or look at Reinhold's orchestralily, etc.
>
> Personally, I'd just reinvent the wheel and generate score files
> with python, using some naming scheme for directories and files.
> But I'd do so knowing that this solution was stupidly reinventing
> the wheel.
>
> Cheers,
> - Graham
>

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


Re: Solfege Resources -- 404 bach chorales in Lilypond format with Movable Do solfege.

2011-01-04 Thread Michael Ellis
On Tue, Jan 4, 2011 at 4:17 AM, Graham Percival
 wrote:
> I think you are wrong.  I think that this Margaret person has
> created works that are under copyright, and you are taking those
> works and claiming to offer them under a license that she did not
> consent to.
>

Actually no.  A license is (in part) a promise that the licensor will
not sue the licensee so long as s/he adheres to the terms of the
license.  The licenses I offer, by law, can apply only to whatever
portions of the work are my original contributions.  Margaret's rights
are not abrogated in any way by a license between me and someone who
downloads one of the files from Solfege Resources.   She or her heirs
and assigns could still go after someone anyone who uses the files for
financial profit.  I'm merely promising that I won't go after them
with regard to my work. Moreover, I have diligently acknowledged
Margaret's work and urged users to respect her terms of use despite
that fact that there is, under U.S. law as I understand it, reason to
doubt that what's in my files (sequences of pitches and rhythms) are
anything other than minor alterations of music already in the public
domain.

Cheers,
Mike

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


Re: Suppress chord names from MIDI output

2011-01-18 Thread Michael Ellis
+1  Having two score blocks in a book block is working very nicely for me.
Cheers,
Mike


On Tue, Jan 18, 2011 at 1:12 PM, James Bailey
wrote:

> Have two \score blocks, one without \ChordName, but including \midi, and
> one with \layout, that includes the \ChordName context.
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Using the input-tag music property

2011-01-20 Thread Michael Ellis
On Thu, Jan 20, 2011 at 2:22 AM, Johan Vromans  wrote:

>> Attached is some scheme code that's probably too long for a snippet,
>
> I don't mind long snippets. Please put it on LSR.
>

Thanks, Johan. I think it needs some clean-up first, e.g. making the
procedures properly tail-recursive.  BTW, can you point me to some
particularly well-written snippets in the LSR?  I've read the style
guide, but  I'd also like to have some good models to imitate :-)

Cheers,
Mike

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


Re: Using the input-tag music property

2011-01-20 Thread Michael Ellis
On Thu, Jan 20, 2011 at 11:02 AM, Johan Vromans  wrote:
> I seldom look at the style... If it work I copy and use it :).

Cleaned up and submitted to LSR.  Awaiting approval.
Cheers,
Mike

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


Re: Pentatonic Diatonic Transposition?

2011-01-21 Thread Michael Ellis
On Fri, Jan 21, 2011 at 4:41 AM, Daniel  wrote:
> Any other ideas?
>

Hi Daniel,

Here's a partial, but very general solution that will modally
transpose within any scale (or any ordered set of pitches) of any
length using modulo arithmetic.  To make it usable in LilyPond, you'll
need to wrap it in one or music functions that can

1. Extract pitch names from  music as strings or, better yet as symbols.
2. Run the pitch names through a transposer created with the scheme
function below
3. Deal with octave issues so that your melodic outline is preserved.
This is probably the trickiest part.
4. Insert the modified pitches back into the music stream.

Cheers,
Mike

#(use-modules (srfi srfi-1))  %needed for list-index and list-ref

#(define (make-modal-transposer scale)
;; Returns a transposer  for the specified scale
;; Usage example:
;;Create a transposer for C major pentatonic
;;(define c-pent (make-modal-transposer '(c d e g a)))
;;
;;Apply to sequence of pitch names,
;;specifying the starting pitch of the desired mode as
;;the first argument to the transposer.
;;(c-pent  'd   '(c c e d a))==> '(d d g e c)

(define (index item lis)
(list-index (lambda (x) (equal? item x)) lis))

(lambda (mode-pitch pitch-sequence)
(if (not (member mode-pitch scale))
(error "Transposition target pitch not in scale!"))
(map
(lambda (p)
(if (not (member p scale))
(error "Sequence pitch not in scale!"))
(list-ref scale
(modulo (+ (index p scale) (index mode-pitch scale))
(length scale

pitch-sequence)))

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


Re: Pentatonic Diatonic Transposition?

2011-01-23 Thread Michael Ellis
On Sun, Jan 23, 2011 at 7:21 AM, Patrick Schmidt  wrote:
> Hi Michael,
>
> nice work! I just think that the name modal transposition is a little
> misleading in this case.

Thanks, Patrick! I agree that the name may be confusing.  I considered
calling it something like \scalarImitation, since that's also
musically correct description of what it does.

FWIW, if you wanted to recast a passage in C-major to c-minor
(aeolian) you could use it this way:

cAeolian = { a b c d e f g }
\transpose a c \modalTranspose c a \cAeolian \somemusic

provided, of course, that \somemusic contained only notes in the key of C.

I'm pressed for time today, but will try to give a more thoughtful
reply to the other points in your message this evening.  Perhaps some
others on the list will weigh in with more suggestions in the
meantime.


Cheers,
Mike

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


Re: Understanding herd of curly braces

2011-01-24 Thread Michael Ellis
Hi Seth,

It sounds as though you've not had previous exposure to programming
languages where nested braces (curly and otherwise) are common.  The
short answer to your question is that the braces identify which pieces
of text go with which command.   The indentation levels are only
significant in the sense that they make the file easier for humans to
read.  The computer doesn't care as long as the opening and closing
braces are matched.

Most programmers use special text editors with features that help you
see which opening and closing braces belong with each other, e.g.  if
you put the cursor on a particular brace, the editor will highlight
its mate.  I won't presume to recommend a particular editor to you --
better to find a friend who's a programmer and get him/her to help you
choose one and get started using it.

I know this probably isn't much help, but at least it may point you in
the right direction.

Cheers,
Mike


On Mon, Jan 24, 2011 at 4:07 PM, Seth Williamson  wrote:
>
> I have turned out a few simple jobs with LilyPond, mainly simple copying jobs 
> just for practice and -- as a practical matter -- a few pieces that I needed 
> to transpose into another key.
> However, as I look at LilyPond code generated by others, it's not obvious to 
> me (usually near the end of a document) what each closing curly brace refers 
> to.
> Am I even SUPPOSED to be able to figure that out by looking at all the closed 
> curly braces, usually at different indentations on different lines?  Are you 
> supposed to see these things and know to what they apply in the code above?  
> Is there a logic here that I'm missing?
> I am trying to figure out the logic of why the close braces (in particular) 
> appear where they are and at a given indentation.  So far there's nothing 
> intuitive about it.
> Such documentation as I've been able to find at the LilyPond site and 
> elsewhere has been of limited utility in this regard.
> Is this something you just learn by doing?  Or can anybody help me out?
> Seth Williamson
> ___
> 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: exercise notation

2011-01-25 Thread Michael Ellis
Hello Jose,

I've found the simplest thing is to generate them all at once.  It
doesn't take that much time for normal sized choral pieces and you get
all the files at once.  If you have the music for each voice in
separate variables,  say \soprano, \alto, \tenor, \bass,  then a \book
block like the one below will produce 5 pdfs and 5 midi files -- one
for each of the parts plus one containing them all.

\book {
\score {
  \new Voice  \soprano
  \new Voice  \alto
  \new Voice  \tenor
  \new Voice  \bass

  \layout { }
  \midi  {}
 }
#(define output-suffix "Soprano")
\score {
  \new Voice  \soprano
  \layout { }
  \midi  {}
 }
#(define output-suffix "Alto")
\score {
  \new Voice  \alto
  \layout { }
  \midi  {}
 }
#(define output-suffix "Tenor")
\score {
  \new Voice  \tenor
  \layout { }
  \midi  {}
 }

#(define output-suffix "Bass")
\score {
  \new Voice  \bass
  \layout { }
  \midi  {}
 }

} %% end of book


Cheers,
Mike



On Tue, Jan 25, 2011 at 3:25 PM,   wrote:
> Hello,
>
> Singing in a coral I would like to exercise the different parts (soprano,
> alto, bass).
> So I would like to generate from a single .ly-file, multiple midi-files:
> - all parts together (which is allready working)
> - only soprano part
> - only alto part
> - only bass part
> With a small kind of switch.
>
> My preference would be using boulean variables for example:
> * midi-soprano = true/false
> * midi-alto = true/false
> * midi-bass = true/false
>
> How can I implement something like this, in the attached example?
>
> Thanks a lot in advance!!
>
> Regards, Jose
>
>
>
> ___
> 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


Automatic metronome track?

2011-01-28 Thread Michael Ellis
I want to automate the process of generating a midi metronome track
for rehearsal purposes.  It's trivial if the piece is in the same
meter throughout,  e.g. if the piece has 97 measures in 4/4 you can
do:

\new Voice = "Click" {
\set midiInstrument = #"woodblock"
\repeat unfold 97 \drums {wbh4 wbl wbl wbl}
}

but what if the meter is frequently changing? I'm transcribing the
baritone part out of a large new work that, no exaggeration, seldom
goes more than a few bars without changing meter.   I googled various
combinations "LilyPond", "metronome", "click", & "measure" but didn't
find anything.  Is there a scheme function I can use to detect the
start of a measure and the current meter?  Or some other way to
accomplish the same thing.  I want to end up with a music function
that looks like

 \clickTrack \mymusic

that will scan through a music variable, \mymusic,  and return a
"wbh" on each downbeat and a "wbl" on the remainder.


Cheers,
Mike

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


Re: error in predefined chord diagram?

2011-01-29 Thread Michael Ellis
Hi Bart,
Sounds like it's giving you a C#dim7, typically spelled C# E G A# .
Cheers,
Mike



On Sat, Jan 29, 2011 at 2:02 PM, bart deruyter  wrote:
> Hi all,
>
> I've noticed something strange in the predefined chord diagrams for guitar.
> While writing on my book for teaching guitar, I noticed the chord C#
> diminished is weird to say at the least. The fret diagram is very wrong I'm
> afraid :
> http://lilypond.org/doc/v2.13/Documentation/notation/predefined-fretboard-diagrams
> To be more precise, it shows the use of the third fret on the g-string. Last
> time I checked, this is A# or Bb. What does this do in C# diminished? Or am
> I so very mistaken?
>
> What should I do to fix this in my code?
>
> Grtz,
> Bart
> http://www.bartart3d.be/
>
> ___
> 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: error in predefined chord diagram?

2011-01-29 Thread Michael Ellis
On Sat, Jan 29, 2011 at 2:57 PM, David Kastrup  wrote:
>
> Uh, why wouldn't it be in C# diminuished?  It's a minor third below C#,
> or three minor thirds above it.
>
>> Or am I so very mistaken?
>>
>> What should I do to fix this in my code?
>
> What's to fix?

Just looked at the doc.  Bart's right.  The staff shows C# E G.
Either the diagram or the staff notation should be changed.  FWIW,
this is one of those cases where jazz chord naming is often sloppy.
Most classical theory books use the degree symbol alone to indicate a
diminished triad and add the numeral seven when a fully-diminished 7th
is to be indicated.

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


Re: error in predefined chord diagram?

2011-01-29 Thread Michael Ellis
As long as I'm on my soapbox :-),  it occurs to me that it would be a
service to any student guitarist looking at that chart if the staff
notation showed the actual voicing of the chords, perhaps in
parentheses, alongside the root position close voicings, e.g

g,  c  e  bes c' e'

for the C7 chord.

Cheers,
Mike

On Sat, Jan 29, 2011 at 3:19 PM, bart deruyter  wrote:
> Would be very nice to add these too indeed :-).
> So, in other words, I'll have to create my own fretboards to be able to
> continue for now?
>
> grtz,
> Bart
> http://www.bartart3d.be/
>
>
> 2011/1/29 Michael Ellis 
>>
>> I agree.  Changing the diagrams to match the names and notation will
>> make it right.  For completeness, it might be nice to add the °7
>> forms.  OTOH, there are an awful lot of fakebooks out there that use °
>> when they really intend °7.
>> Cheers,
>> Mike
>>
>>
>>
>> On Sat, Jan 29, 2011 at 3:07 PM, bart deruyter 
>> wrote:
>> > The score is correct, the diagrams are wrong, of all diminished chords I
>> > think. C diminished and D diminished are wrong too, the diagrams at
>> > least.
>
>

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


Re: Problem with barcheck

2011-01-29 Thread Michael Ellis
As Jay pointed out,  \times 2/3 {d8 g a } will occupy the time of two
eighth-notes, not three.  Hence the barcheck fails because there is an
eighth-note's worth of time remaining in your first measure (and 2
1/8's missing in the second.)

Cheers,
Mike



On Sat, Jan 29, 2011 at 3:01 PM, Martin Chicoine
 wrote:
> The following example gives me barcheck errors. Could someone explain why?
>
> %%%
> \version "2.12.3"
>
> \header {
>        title = ""
> }
>
> staffViolon = \new Staff {
>    \time 6/8
>    \set Staff.instrumentName = "Violon"
>    \set Staff.midiInstrument = "violin"
>    \key g \major
>    \clef treble
>    \relative c' {
>          b'4 d,8 ~ \times 2/3 {d8 g a } |
>          \times 2/3 {b8 d c} \times 2/3 {b a g} |
>    }
>
> }
>
> \score {
>        <<
>                \staffViolon
>        >>
>
>        \midi {
>        }
>
>        \layout {
>        }
> }
>
>
>
> ___
> 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: engraving rules question - voices with merged heads

2011-01-29 Thread Michael Ellis
I agree with James.  As I think I've commented in another thread, I've
seen many rehearsals interrupted when singers needed to ask a question
because of confusing notation.  Think of it this way: as a composer
you want to give the performers every possible chance to get it right
the first time so they can spend more time working on bringing your
music to life in performance.

Cheers,
Mike



2011/1/29 James Bailey :
>
> On Jan 29, 2011, at 9:40 PM, Janek Warchoł wrote:
>
>> W dniu 29 stycznia 2011 12:00:50 UTC+1 użytkownik James Bailey
>>  napisał:
>>>
>>> On Jan 29, 2011, at 11:25 AM, Janek Warchoł wrote:
>>>
 2011/1/29 James Bailey :
>
> On Jan 29, 2011, at 12:17 AM, Janek Warchoł wrote:
>
>> Hi,
>>
>> recently i was told that this notation
>>
>>  { \mergeDifferentlyHeadedOn << b'2 \\ { b'8 a' g' f' } >> }
>>
>> is not allowed in vocal music (i.e., the noteheads shouldn't be
>> merged). Is that true?
>
> correct. you shouldn't merge heads in vocal music.

 Interesting. Is that true also when both voices have filled noteheads,
 i.e.

  { << { b'4 g' } \\ { b'8 a' g' f' } >> }

 ?
 Here LilyPond merges noteheads automatically, and i don't remember any
 simple means to switch that off.

 Thanks,
 Janek
>>>
>>> This is different. One voice has a beam, while the other doesn't. There
>>> isn't any way to mistake a half note for a quarter note in this case, as is
>>> the case in the other.
>>
>> Sorry, but it doesn't make sense to me. In both examples one voice has
>> a beam and the other doesn't.
>> Please look at the attachments:
>> A - everything is clear. notes in upper voice must be quarters because
>> they have filled heads and no beams, while notes in lower voice must
>> be eights because they have filled heads and beams. Here we agree.
>> B - note in upper voice must be a half because it has a hollow
>> notehead and no beam. First note in lower voice has a hollow notehead,
>> but it cannot be a half because it has a beam. Therefore, it must be
>> an eight note. I don't see any way in which a half note could be
>> mistaken for a quarter note in this example.
>
> This is not normal vocal music engraving. This is more typical of piano 
> music. I've seen this in piano music, and never in vocal music. Were I 
> singing this, I'd understand what it meant, but it seems an unnecessary 
> complication. Vocal music engraving traditions stem from everything being 
> sight read. I'd have to read this twice, or at least stumble over it once 
> before I realized that it wasn't a half note for the lower voice.
>
>> The only case in which a half note could be mistaken for a quarter
>> note would be in C. I agree that merging heads in C would be totally
>> unacceptable.
>>
>> thanks,
>> Janek
>> 
>
>
> ___
> 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: Nesting ly:music-property error

2011-01-29 Thread Michael Ellis
Hi Scott,

I think the problem is that the music in your example doesn't have an
'elements property.  You can eliminate the error by changing the third
line in your code to

#(display-scheme-music (ly:music-property $myx 'pitch))

but what gets displayed is an empty list '().  Probably not what you
want, right?

Some of the more experienced Schemers on the list may be able to offer
better help.

Cheers,
Mike



On Sat, Jan 29, 2011 at 6:28 PM,   wrote:
> myN = #(define-music-function (parser location myx ) (ly:music?)
> #{
> #(display-scheme-music (ly:music-property (ly:music-property $myx 'elements)
> 'pitch))
> #})
>
>     \myN c

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


Re: Nesting ly:music-property error

2011-01-29 Thread Michael Ellis
Sorry, my previous answer was rubbish.  The following runs without
error and prints the pitch object.

myN = #(define-music-function (parser location myx ) (ly:music?)
(display-scheme-music
(ly:music-property
(car (ly:music-property myx 'elements))
'pitch))
myx)

\myN c

Cheers,
Mike



On Sat, Jan 29, 2011 at 6:46 PM, Michael Ellis
 wrote:
> Hi Scott,
>
> I think the problem is that the music in your example doesn't have an
> 'elements property.  You can eliminate the error by changing the third
> line in your code to
>
> #(display-scheme-music (ly:music-property $myx 'pitch))
>
> but what gets displayed is an empty list '().  Probably not what you
> want, right?
>
> Some of the more experienced Schemers on the list may be able to offer
> better help.
>
> Cheers,
> Mike
>
>
>
> On Sat, Jan 29, 2011 at 6:28 PM,   wrote:
>> myN = #(define-music-function (parser location myx ) (ly:music?)
>> #{
>> #(display-scheme-music (ly:music-property (ly:music-property $myx 'elements)
>> 'pitch))
>> #})
>>
>>     \myN c
>

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


Re: Nesting ly:music-property error

2011-01-29 Thread Michael Ellis
Right. In the general case, you need to recurse through 'elements and
'element similar to the following:

(define-public (change-pitches music converter)
;; Recurse through music, applying converter to pitches.
;; The converter function must take a single pitch as its
;; argument and return a new pitch.  These are LilyPond
;; scheme pitches, e.g. (ly:make-pitch 0 2 0)

(let ((es (ly:music-property music 'elements))
  (e (ly:music-property music 'element))
  (p (ly:music-property music 'pitch)))

(cond
((ly:pitch? p)
(ly:music-set-property! music 'pitch (converter p)))

((pair? es)
(map (lambda (x) (change-pitches x converter)) es))

((ly:music? e)
(change-pitches e converter)


Cheers,
Mike



On Sat, Jan 29, 2011 at 8:22 PM,   wrote:
> Thanks
>
> (car ) was the trick I would have been looking for a long time to come up
> with that one.
>
> (car (...))- returns the first member of a list.
>
> I'm assuming that if that member is a function it returns the functions
> result, which is why we get the solution?
>
> Scott
>
>
> -Original Message-
> From: Michael Ellis [mailto:michael.f.el...@gmail.com]
> Sent: Saturday, January 29, 2011 07:01 PM
> To: banners...@ccacompanies.com
> Cc: lilypond-user@gnu.org
> Subject: Re: Nesting ly:music-property error
>
> Sorry, my previous answer was rubbish. The following runs without error and
> prints the pitch object. myN = #(define-music-function (parser location myx
> ) (ly:music?) (display-scheme-music (ly:music-property (car
> (ly:music-property myx 'elements)) 'pitch)) myx) \myN c Cheers, Mike On Sat,
> Jan 29, 2011 at 6:46 PM, Michael Ellis wrote: > Hi Scott, > > I think the
> problem is that the music in your example doesn't have an > 'elements
> property.  You can eliminate the error by changing the third > line in your
> code to > > #(display-scheme-music (ly:music-property $myx 'pitch)) > > but
> what gets displayed is an empty list '().  Probably not what you > want,
> right? > > Some of the more experienced Schemers on the list may be able to
> offer > better help. > > Cheers, > Mike > > > > On Sat, Jan 29, 2011 at 6:28
> PM,   wrote: >> myN = #(define-music-function (parser location myx )
> (ly:music?) >> #{ >> #(display-scheme-music (ly:music-property
> (ly:music-property $myx 'elements) >> 'pitch)) >> #}) >> >>     \myN c >

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


Re: How do you tell tempo for indications in English

2011-02-02 Thread Michael Ellis
Hi Patrick,

Short of conducting extensive field research in Ireland's pubs, you might
try asking the question here.

http://www.thesession.org/discussions/

Cheers,
Mike


On Wed, Feb 2, 2011 at 6:59 AM, James Lowe  wrote:

> Hello,
>
> -Original Message-
> From: lilypond-user-bounces+james.lowe=datacore@gnu.org [mailto:
> lilypond-user-bounces+james.lowe =
> datacore@gnu.org] On Behalf Of Patrick Horgan
> Sent: 02 February 2011 04:05
> To: Mailinglist lilypond-user
> Subject: How do you tell tempo for indications in English
>
> I'm setting some of O'Neill's Irish tunes, and the tempo indications are (a
> selection):
>
> Animated, Boldly, Cheerful, Cheerfully, Gaily, Gracefully, Moderate,
> Plaintive, Plaintively, Playful, Playfully, Rather slow, Slow, Slow and
> distinctly, Slow and mournful, Slow and tenderly, Slow and with feeling,
> Slow with expression, Slow and feeling, Spirited, Tenderly, Very slow, With
> animation, With expression, With feeling, With spirit
>
> What do you do with that?  I can find tables of usual tempo ranges for
> italian tempo indications, but I have no idea what to do with these.
> I'd like them to be authentic, in that the midi file would be about as fast
> as the tune would usually be played in an Irish pub.  Does anyone have any
> ideas?
>
> ---
>
> I don’t think there is such a thing a 'authentic' tempo range if you are
> referring to setting crotchet/quaver/minim tempo speeds.
>
> What you are asking, it seems is, 'what speed is 'cheerful''?
>
> Which doesn't makes much sense.
>
> I expect it was simply played 'cheerfully' and that would depend on who was
> doing the playing. Also can you be sure that the same tune played in one
> 'Irish pub' is any different from a 'non-Irish pub' or that other 'Irish
> pub' down the road? The music is probably played as fast or slow as the
> musicians play it and that can depend on how many times they have played
> together, the smell of the crowd or simply the number of pints  of the
> 'black stuff' they have put away before/during the gig. ;) 110201-63
>
> Sorry if that sounds a bit flippant, but I am not sure what kind of answer
> you are going to get other than someone else's guestimation of which you
> could do yourself.
>
> Tempo in terms of words (rather than beat numbers) is more about feeling
> than speed.
>
> James
>
>
>
>
> ___
> 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
>
>
___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Can't use NoteNames twice in score block ??

2011-02-11 Thread Michael Ellis
On Fri, Feb 11, 2011 at 8:53 AM, Phil Holmes  wrote:
>
> Michael,
>
> Did you make any progress with creating a Tiny example of this issue?
>

No.  I tried for a while and then decided to let it sleep.  It's not
impacting the things I'm currently doing with LilyPond.  Thanks for
asking! If it's a real bug I'm sure it will come back to bite me again
and I'll pursue it then.

Cheers,
Mike

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


Re: Error in running Lilypond

2011-02-13 Thread Michael Ellis
Hi Father,

It certainly looks like a path problem or maybe two problems.   "/python"
seems unlikely,  as does  "?usr/".

Try opening up the Jedit Plugins/Plugin Options window and navigate to
LilyPondTool Commands.   Check the entry for python.   If it says "/python"
as shown in your error message, try removing the "/".   Also check to see if
any of the other paths look suspicious.   Hope this helps.

Cheers,
Mike


On Sun, Feb 13, 2011 at 8:23 AM, Father Gordon Gilbert  wrote:

> Hi List,
>
> I just finally installed Lilypond and jEdit with LilyPondTool on my PC-BSD
> box, and I'm having a bit of trouble.
>
> I downloaded a piece from Mutopia, and when I tried to convert-ly, got the
> following message:
>
> Error running external command.
> See the activity log about the problem.
> Cannot run probram"/python" (in directory
> "?usr/home/gord/Documents/songs/LilypondSets"): java.io.IOException:
> error=2, No such file or directory
>
> Same result when I tried to compile the file.
>
> It's probably a path thing, but I'm not a geek, so I don't necessarily know
> how to fix these things.
>
> Help?
>
> Gordon+
>
>
> --
> Fr. Gordon Gilbert
> Penetanguishene, ON
>
> ___
> 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: Error in running Lilypond

2011-02-13 Thread Michael Ellis
On Sun, Feb 13, 2011 at 6:05 PM, Father Gordon Gilbert  wrote:

> /usr/local/bin/python: can't open file '/usr/local/bin/convert-ly.py'


Is convert.ly present in /usr/local/bin?  The error is claiming otherwise.

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


Shorthand notation for multi-measure rests in music with frequent meter changes ?

2011-02-16 Thread Michael Ellis
I'm currently transcribing parts from music with frequently changing
meters and segments where a part is resting.  The sequence below is
typical.

    \time 3/4 R1*3/4 |
    \time 3/8 R1*3/8 |
    \time 4/4 R1*8/4 |  % 2 bars
    \time 3/8 R1*3/8 |

Does anyone know how to write a music function that will support a
more compact notation? Being able specify the time signature changes
and rests shown above with a syntax like the following would be a nice
timesaver.

mmr = #(define-music-function )

\mmr  3/4  3/8  2*4/4  3/8  ...

The best I've been able to cobble together is too messy to be useful
because of the need to use the # sign before arguments, etc.  In
particular, I haven't found any way to pass a bare fraction like 3/4
into a music function.


Thanks,
Mike

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


Re: Shorthand notation for multi-measure rests in music with frequent meter changes ?

2011-02-16 Thread Michael Ellis
Thanks Neil, those are good tips.  I'm a long time vim user so
shortcuts are certainly a possibility.  OTOH, I've recently found that
JEdit + LilyPondTool makes a real difference in my productivity
compared to vim + some helper scripts I had put together.

I know JEdit has its own Java-based macro language but if I'm going to
let coding distract me from music (happens waaayyy too often) I might
as well put the time into getter better at Scheme.

Anyway, I do appreciate the suggestions and may put them to use if
creating a music-function looks like too big a time-sink.

Cheers,
Mike



On Wed, Feb 16, 2011 at 2:24 PM, Neil Thornock  wrote:
> I can't answer your question, but I have two responses to the dilemma.
>  First, R2. is more compact than R1*3/4, and R1*2 is better than
> R1*8/4.  Same with R4*5 vs R1*5/4.
>
> Also, if you happen to use Vim -- I keep all my time signatures in a
> separate file from the notes.  It's then simple to map time signatures
> to keystrokes; entering time signatures can be very very fast.  So I
> hit the letter "A" and I get "\time 1/4 s4".
>
> Quick and maybe not helpful answer, but there you go.
>
> On Wed, Feb 16, 2011 at 11:53 AM, Michael Ellis
>  wrote:
>> I'm currently transcribing parts from music with frequently changing
>> meters and segments where a part is resting.  The sequence below is
>> typical.
>>
>>     \time 3/4 R1*3/4 |
>>     \time 3/8 R1*3/8 |
>>     \time 4/4 R1*8/4 |  % 2 bars
>>     \time 3/8 R1*3/8 |
>>
>> Does anyone know how to write a music function that will support a
>> more compact notation? Being able specify the time signature changes
>> and rests shown above with a syntax like the following would be a nice
>> timesaver.
>>
>> mmr = #(define-music-function )
>>
>> \mmr  3/4  3/8  2*4/4  3/8  ...
>>
>> The best I've been able to cobble together is too messy to be useful
>> because of the need to use the # sign before arguments, etc.  In
>> particular, I haven't found any way to pass a bare fraction like 3/4
>> into a music function.
>>
>>
>> Thanks,
>> Mike
>>
>> ___
>> lilypond-user mailing list
>> lilypond-user@gnu.org
>> http://lists.gnu.org/mailman/listinfo/lilypond-user
>>
>
>
>
> --
> Neil Thornock, D.M.
> The recent BYU Symphony Orchestra performance of Plutoids:
> http://neilthornock.net/mp3s/plutoids.mp3
> Assistant Professor of Music
> Composition/Theory
> Brigham Young University
>

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


Re: Why LilyPond?

2011-02-19 Thread Michael Ellis
On Sat, Feb 19, 2011 at 12:41 PM, Francisco Vila wrote:

> > On 2/19/11 9:47 AM, "Phil Holmes"  wrote:
> >
> >> My wife has just asked and I don't know the answer.  Why is LilyPond
> called
> >> LilyPond?
> >>
> >
> > http://lilypond.org/web/about/name
>


Telling your wife such a romantic story could be risky -- unless you've
already created something equally wonderful and named it for her!

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


Re: 99 bottles of beer on the wall

2011-02-19 Thread Michael Ellis
On Sat, Feb 19, 2011 at 6:24 PM, Graham Percival
 wrote:
>
> Wow.  Brilliant work here:
> http://99-bottles-of-beer.net/language-lilypond-1351.html

Pretty cool!  I wonder if the number lookups could be simplified with
the  'r' format spec?

(use-modules (ice-9 format))

(string-split (format #f "~r" 99) #\-)   ==> ("ninety" "nine")

The syllabification alist would still be needed, of course.

Cheers,
Mike

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


Re: function argument computation

2011-02-25 Thread Michael Ellis
On Fri, Feb 25, 2011 at 9:20 AM, Peter Buhr  wrote:

> specialB = #(define-music-function (parser location suffix) (string?)
> #{
>\base (concat "XXX" $suffix) #$suffix   % DOES NOT WORK
> #})
>

Hi Peter,
I think the following does what you're looking for.

specialB =
 #(define-music-function (parser location suffix) (string?)
(define combined (string-append "XXX" suffix))
   #{
   \base $combined $suffix
   #})

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


Re: Learning Scheme

2011-03-03 Thread Michael Ellis
Hi Tim,
I've been walking down this path during the past few months.  So far,
the tutorial that helped me most is the online book at

http://icem-www.folkwang-hochschule.de/~finnendahl/cm_kurse/doc/schintro/schintro_4.html#SEC3

It's rather old, but the informal yet very concrete approach was just
perfect for my background and experience.

Cheers,
Mike



On Thu, Mar 3, 2011 at 1:14 PM, Tim Sheasby  wrote:
> Wanting to get more involved in LilyPond. Would like to learn Scheme. What is 
> the best tutorial to get going? Thanks
>
> Tim Sheasby
> t...@sheafpublishing.co.za
>
>
>
>
>
>
> ___
> 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: [OT] Vivi, the Virtual Violinist, plays LilyPond music

2011-03-03 Thread Michael Ellis
On Thu, Mar 3, 2011 at 2:53 PM, Graham Percival
 wrote:
> Hi all,
>
> My PhD research has swept me into the direction of automatic music
> performance. �In particular, generating realistic-sounding audio
> from sheet music.

Thanks for sharing this, Graham.  Vivi seems like nice work and the
rhythm test was fun.  FWIW, your post seems to me not so off-topic.
I've been thinking for a while about broaching the subject of
LilyPond's midi output on this forum -- I feel  that this is one area
where Lily is rather behind the curve compared to her commercial
sisters. I wonder if some of your work could be applicable to helping
LilyPond generate sound that's as beautiful as the sheet music.

Cheers,
Mike

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


Re: [OT] Vivi, the Virtual Violinist, plays LilyPond music

2011-03-04 Thread Michael Ellis
Thanks Graham,
I just downloaded and looked at Dr. Chubb's script.  It looks nicely
coded  and seems to address a number of issues that bother me about
LilyPond's midi output.
Cheers,
Mike



On Fri, Mar 4, 2011 at 2:48 PM, Graham Percival
 wrote:
> On Thu, Mar 03, 2011 at 03:50:37PM -0500, Michael Ellis wrote:
>> I've been thinking for a while about broaching the subject of
>> LilyPond's midi output on this forum -- I feel  that this is one area
>> where Lily is rather behind the curve compared to her commercial
>> sisters. I wonder if some of your work could be applicable to helping
>> LilyPond generate sound that's as beautiful as the sheet music.
>
> Unfortunately, Vivi isn't applicable to lilypond directly --
> redistributing all the audio feature extraction and machine
> learning code would be a monumental task, as well as probably
> quadrupling the download size.  The kind of audio performance by
> Vivi is not at all related to MIDI.
>
> A first place to look at improving the MIDI output would be
> integrating Dr. Peter Chubb's work on articulate.ly:
> http://www.nicta.com.au/people/chubbp/articulate
>
> Cheers,
> - Graham
>

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


Re: Tonic Sol-Fa

2011-03-07 Thread Michael Ellis
On Mon, Mar 7, 2011 at 10:10 AM, Tim Sheasby  wrote:
> I know that LilyPond does not currently support Tonic Sol-Fa notation. 
> However, in my work on African Hymn I found that many Africans are familiar 
> with this form of notation. Most of my source material was originally set 
> using this format. I devised a spreadsheet with formulas to convert bars of 
> tonic sol-fa into lilypond notation. Actually it just converts the d, m, r, f 
> etc to the appropriate a, b, c etc based on the key of the song. I added 
> shortcuts for adding rests and skips as well - simply using SS instead of s 
> and RR instead of r. Once I have entered the notes simply copy the converted 
> columns into LilyPond and voila!

Hi Tim,
Not quite sure if your work is similar to what I've been doing with
solfege-based part transcriptions but, on the chance it might be
useful,  I've adapted some music function templates that let you write
music in solfege, like so

\lacc \lyricmode { Mun -- gu ni pen -- doh }
do8\f do re mi do4. r8 |

\lacc \lyricmode { Ba -- ba weh tu, }
do8 do re4 do4. r8 |

\lacc \lyricmode { Mun -- gu weh tuh, }
do8 do ti4 la4. r8 |

\lacc \lyricmode { Ah tu pen -- dah. }
sol8 do re4 do4. r8 |

to produce the attached example with the solfege syllables in smaller
italic beneath lyrics.

Some earlier versions are available in LSR and on StackOverflow.com,
but I've been refining the templates since then.  I'll be happy to
share them it if seems useful.

Cheers,
Mike
<>___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: what about simplifying music notation?

2011-03-14 Thread Michael Ellis
On Mon, Mar 14, 2011 at 1:43 AM, David Rogers
wrote:

> * Marc Weber  [2011-03-14 04:01]:
>
>
>  -- O -- (O is the body of a note here)
>> -- O --
>>
>> the interval between both pitches depends on the location.
>> Why?
>>
>> Why should e-g be different from g - h ?
>>
>> Wouldn't it be easier to assign notes (c,d,e,..) natural numbers?
>> then define
>>
>> could be:
>> ---O- nr 16
>> ---O- nr 12
>> ---O- nr 8
>> ---O- nr 4
>> ---O- nr 0
>>
>> to be always 4 semitones?
>>
>> Then many tasks such as transposing music to a different key would
>> become a simple math operation: simply add a number.
>>
>> Many musicians who play occasionally only would benefit a lot.
>>
>> Has anyone else thought about this before?
>>
>
>
>
> Sure, various people have come up with several interesting and
> useful (at least potentially useful) systems. I think in the end the
> trick is not so much coming up with a good system as getting people to
> adopt it. The "installed base" (to mis-use a term) of traditional
> notation is very large, and people who already know any system at all
> are reluctant to learn another unless it will bring them large and
> immediate benefits.
>
> In other words, your system is good but everybody will ignore you
> anyway. Sad, and not ideal, but I think it's true.
>
>
@Marc The website below may be of interest. It has a number of alternative
music notation systems that have been proposed as replacements for
traditional notation.

http://musicnotation.org/musicnotations/index.html

Many of them are quite clever but I think David's comment is correct.  It's
extremely difficult to get people to abandon what they've spent years
learning.

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


Re: what about simplifying music notation?

2011-03-14 Thread Michael Ellis
On Mon, Mar 14, 2011 at 11:06 AM, Francisco Vila  wrote:
>
> 2011/3/14 David Kastrup :
> > Francisco Vila  writes:
> >> Frets in a guitar are absolutely chromatic.  I did not mention
> >> fretless instruments.
> >
> > So please explain how you are would sort frets into a diatonic scale
> > arrangement corresponding to white keys on a piano, with the frets
> > corresponding to black keys put someplace else.
>
> I a sense, frets behave like buttons.
>
> > The frets in a guitar are not _deliberately_ designed around a chromatic
> > scale, but because their positioning is dictated by physics.
>
> Still, frets behave somewhat like buttons.
>
> > Contrast that with a flute or a saxophone or anything else with a
> > _deliberate_ design of controls.
>
> That's why I mentioned Stanley Jordan who percutes strings against the
> fretboard only, thus allowing complex two-hand polyphony and making
> frets look as if they were buttons :-))
>
I'm not familiar with Stanley Jordan's music but a guitar tuned by
fifths,  like a cello or violin, has a very convenient relationship to
diatonic scales because the first 3 modes (ionian, dorian, and
phrygian)  have symmetric tetrachords starting on the 1st and 5th
degrees of each mode.   See the diagram below.

  HEAD
---
.  .   .  .   .  .
c g  d a  e b
.  .   .  .   f  c
d a  e b  .  .
.  .   f  c  g d
e b  .  .   .  .
f  c  g d  a b



So the major scale patterns are very easy to visualize.  Of course you
need to have huge hands or play high on the neck to execute them
without shifting.

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


Re: what about simplifying music notation?

2011-03-14 Thread Michael Ellis
On Mon, Mar 14, 2011 at 11:38 AM, Michael Ellis
 wrote:
> On Mon, Mar 14, 2011 at 11:06 AM, Francisco Vila  
> wrote:
>>
>> 2011/3/14 David Kastrup :
>> > Francisco Vila  writes:
>> >> Frets in a guitar are absolutely chromatic.  I did not mention
>> >> fretless instruments.
>> >
>> > So please explain how you are would sort frets into a diatonic scale
>> > arrangement corresponding to white keys on a piano, with the frets
>> > corresponding to black keys put someplace else.
>>
>> I a sense, frets behave like buttons.
>>
>> > The frets in a guitar are not _deliberately_ designed around a chromatic
>> > scale, but because their positioning is dictated by physics.
>>
>> Still, frets behave somewhat like buttons.
>>
>> > Contrast that with a flute or a saxophone or anything else with a
>> > _deliberate_ design of controls.
>>
>> That's why I mentioned Stanley Jordan who percutes strings against the
>> fretboard only, thus allowing complex two-hand polyphony and making
>> frets look as if they were buttons :-))
>>
> I'm not familiar with Stanley Jordan's music but a guitar tuned by
> fifths,  like a cello or violin, has a very convenient relationship to
> diatonic scales because the first 3 modes (ionian, dorian, and
> phrygian)  have symmetric tetrachords starting on the 1st and 5th
> degrees of each mode.   See the diagram below.
>
>  HEAD
> ---
> .  .   .  .   .  .
> c g  d a  e b
> .  .   .  .   f  c
> d a  e b  .  .
> .  .   f  c  g d
> e b  .  .   .  .
> f  c  g d  a b
>
>
>
> So the major scale patterns are very easy to visualize.  Of course you
> need to have huge hands or play high on the neck to execute them
> without shifting.
>

Oops! Typo in last line of diagram.  Highest note is, of course, "e"
instead of "b".

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


Re: what about simplifying music notation?

2011-03-14 Thread Michael Ellis
On Mon, Mar 14, 2011 at 2:03 PM,   wrote:
>
> On Mon, March 14, 2011 6:57 pm, Bernardo Barros wrote:
>> we have a decimal system and you want to represent a numeral system
>> based on 12 or 24 like [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B].
>> You should propose a system base on 12 or 24 then.
>>
>> In computer science they use the hexadecimal system because it fits
>> computer's bytes representation, if your object is the 12-tone scale,
>> be consistent with your system :-)
>>
>
> in practice, most computer programmers think in midi notes: 60 being
> middle C, 72 the C above that, ...
> as an extension, some software allows 'factional midi notes' (although
> they are not in the midi standard, and hardware synths won't understand
> them). so 62.33 is on third of a semitone higher then D. this is not as
> far fetched as it may seem. i use it e.g. to present overtone scales in
> just intonation..
>

@Marc
I think we're offering too much discouragement here instead of helping
you figure out how to use LilyPond to experiment with your ideas.  So
here's an adaptation of a script I use to generate solfege syllables
using the NoteNames engraver.  By mapping numbers to the Dutch
notenames,  you can print them under the notes.  It's probably not the
complete solution you have in mind and you may want to use a different
numbering scheme but at least you can use it to enter some real music
and see if having the chromatic note numbers under the notes is truly
helpful.

Cheers,
Mike

%
dutchtonumbers =
#`(("ceses" . "10")
   ("ces" . "11")
   ("c" . "0")
   ("cis" . "1")
   ("cisis" . "2")
   ("deses" . "0")
   ("des" . "1")
   ("d" . "2")
   ("dis" . "3")
   ("disis" . "4")
   ("eeses" . "2")
   ("ees" . "3")
   ("e" . "4")
   ("eis" . "5")
   ("eisis" . "6")
   ("feses" . "7")
   ("fes" . "4")
   ("f" . "5")
   ("fis" . "6")
   ("fisis" . "7")
   ("geses" . "5")
   ("ges" . "6")
   ("g" . "7")
   ("gis" . "8")
   ("gisis" . "9")
   ("aeses" . "7")
   ("aes" . "8")
   ("a"  . "9")
   ("ais" . "10")
   ("aisis" . "11")
   ("beses" . "9")
   ("bes" . "10")
   ("b"   . "11")
   ("bis"   . "0")
   ("bisis" . "1")
   )

noteNumbers =
#(lambda (grob)
   (let* ((default-name (ly:grob-property grob 'text))
  (new-name (assoc-get default-name dutchtonumbers)))
 (ly:grob-set-property!
   grob
   'text
   (markup #:italic #:smaller new-name))
 (ly:text-interface::print grob)))

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

\score {
<<
\new Voice {
\mymusic
}

\context NoteNames \with {
\override NoteName #'stencil = #noteNumbers
} {  \mymusic }

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


Suppress NoteNames output on ties ?

2011-03-17 Thread Michael Ellis
Is it possible to tell  the NoteNames engraver to print the name for
only the first note of a sequence of tied notes?

    mymusic = { c'4 c' ~ c'2 }
    \score {
        <<
        \new Voice  \mymusic
        \context NoteNames \mymusic
        >>
    }



Thanks,
Mike
<>___
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user


Re: [OT] Vivi, the Virtual Violinist, plays LilyPond music

2011-03-17 Thread Michael Ellis
"I, for one, welcome our new computer overlords." -- Ken Jennings
:-&,
Mike

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


Re: Suppress NoteNames output on ties ?

2011-03-18 Thread Michael Ellis
On Thu, Mar 17, 2011 at 10:23 AM, Michael Ellis
 wrote:
> Is it possible to tell  the NoteNames engraver to print the name for
> only the first note of a sequence of tied notes?
>
>     mymusic = { c'4 c' ~ c'2 }
>     \score {
>         <<
>         \new Voice  \mymusic
>         \context NoteNames \mymusic
>         >>
>     }
>

Didn't get any replies. Does anyone know the answer to this?

Thanks,
Mike

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


  1   2   >