Re: feasibilty question: simple GUI for web-based Lilypond instance

2020-10-23 Thread Kieren MacMillan
Hi Karlin,

> I'm understanding this use case wants...
> * No-code GUI music entry
> * Runs in a web browser
> * Allows collaborative editing

Right.

> I'm having trouble imagining what "collaborative editing" would look like in 
> a "No-code GUI." Something like PDF commenting? Has anything like that ever 
> been seen in the LilyPond ecosystem? Paolo Prete's Spontini-Editor might be 
> the closest thing I can remember.

I’m thinking of Spontini+Lilybin: there’s a basic Javascript UI to add/delete 
elements (notes, rests, etc.), on top of a server-based Lilypond instance where 
the code is saved in successive versions (cf. Lilybin).

1. The student works on the file for a while by themselves.
2. They send me a link to the current version (e.g., 
guilily.com/wpeouryckjhg/7).
3. I log in and edit the file, and sent them back the "current" link (e.g., 
guilily.com/wpeouryckjhg/9).
4. We can both see the current version, and one of us can edit and save a new 
"current" version.

To my mind, lilybin already solves the "collaborative editing" part 
sufficiently for my needs (and, I’m guessing, the needs of most music educators 
I know). The only real gap right now is the GUI. I’m trying to figure out how 
much work would be required to make a Javascript (or something better?) "app" 
that edits Lily code.

Thanks,
Kieren.


Kieren MacMillan, composer (he/him/his)
‣ website: www.kierenmacmillan.info
‣ email: kie...@kierenmacmillan.info




Re: feasibilty question: simple GUI for web-based Lilypond instance

2020-10-23 Thread Karlin High
On Fri, Oct 23, 2020 at 3:36 PM Kieren MacMillan <
kieren_macmil...@sympatico.ca> wrote:

> The app/site *must* allow entry of notes using either a MIDI keyboard or a
> "Quick Entry" (mouse-click) type UI; drag-and-drop would obviously be a
> bonus, but is hardly necessary.
>


> in a “perfect” world, the students wouldn’t even see the .ly code.
>

I'm understanding this use case wants...

* No-code GUI music entry
* Runs in a web browser
* Allows collaborative editing

Many of the Git websites would have ways to collaboratively edit LilyPond
code, without needing to know very much about Git.

The Denemo project has lots of efforts for entering music without much
LilyPond coding.

LilyBin and Hacklily are the leaders for in-browser LilyPond work.

Combining all of this, though... I'm having trouble imagining what
"collaborative editing" would look like in a "No-code GUI." Something like
PDF commenting? Has anything like that ever been seen in the LilyPond
ecosystem? Paolo Prete's Spontini-Editor might be the closest thing I can
remember.
-- 
Karlin High
Missouri, USA


Re: feasibilty question: simple GUI for web-based Lilypond instance

2020-10-23 Thread Jahrme Risner
On Fri, Oct 23, 2020 at 13:35, Kieren MacMillan  
wrote:

> Hi Jonas,
>
>> Proper collaboration tools aren't easy either, but there are solutions
>> like Etherpad. It's open and can be enhanced with plugins, so would a
>> collaborative text editor with a (possibly autorefreshing) preview from
>> LilyPond constitute as a GUI for your scenario?
>
> The app/site *must* allow entry of notes using either a MIDI keyboard or a 
> "Quick Entry" (mouse-click) type UI; drag-and-drop would obviously be a 
> bonus, but is hardly necessary.
>
>> No autocompletion though
>
> Don’t need that. In fact, in a “perfect” world, the students wouldn’t even 
> see the .ly code. ;)

Depending on the level of concurrency your students need when editing, a 
relatively low-tech option might be students using Frescobaldi locally on their 
computers with the LilyPond files saved to a shared destination (e.g., an sftp 
server or some DropBox-like service) so that students could collaborate. This 
wouldn’t really work for completely simultaneous editing, but I’ve known 
colleagues who took a similar approach when collaborating on LaTeX documents 
and they didn’t have too many problems.

> Cheers,
> Kieren.
> 
>
> Kieren MacMillan, composer (he/him/his)
> ‣ website: www.kierenmacmillan.info
> ‣ email: kie...@kierenmacmillan.info

Re: ! Please answer interesting functionality question for PhD Diss

2020-10-23 Thread Michael Blankenship
I've been busy working today, but Guy seems to have proven his own point by
saying for me that which I could not have said better myself.

Thanks a million. I am, there's no other word for it: buoyed. My only
regret is it took me so long to have this idea.

It will take me a little while to get up to speed enough to know what
questions to ask, but I'm sure you'll hear from me again soon.

Thanks again,
Michael

On Fri, Oct 23, 2020 at 3:30 PM Carl Sorensen 
wrote:

>
>
> On Fri, Oct 23, 2020 at 12:48 PM Jean Abou Samra 
> wrote:
>
>>
>> Le 23/10/2020 à 19:21, Michael Blankenship a écrit :
>>
>> Dear Lilypond Power-users,
>>
>> I have a question in the form “can lilypond do this?” And I’m desperate
>> for a clear answer. I know nothing about using LilyPond, but I do have some
>> experience with Music21. I have a very complex (but super interesting!)
>> notation workflow producing graphics for my PhD thesis in Music Theory at
>> Eastman that I would love to be able to automate as much of as possible.
>> I’m a Sibelius user, and I just don’t know what LilyPond is capable of, and
>> while I’m willing to put in the work for a solution, I’m on a deadline and
>> don’t have time to learn a whole new workflow only to discover that it
>> doesn’t work. So I'm really just looking for a "yeah, you could totally
>> streamline your transcription process with LilyPond" or "no, it does not
>> have the functionality you're looking for."
>>
>> Basically, I've worked out a way to represent the sounds of words as
>> music using a system of notation I developed that maps vowels onto a staff
>> and puts little colored brackets (I call them headphones) around notes to
>> represent clusters of consonants. I made an enormous Illustrator doc with
>> rows of noteheads with every possible combination of consonant headphones
>> available in English (there are only about 10 categories of consonants,
>> represented by 6 colors and some changes in shape). The way I have been
>> doing transcription is initially in Sibelius, where I've made a custom
>> 12-line staff with proportional note spacing and horizontal beaming,
>> exporting from Sib as an .svg to Illustrator, and then I go in and replace
>> every notehead by hand with the correct bracketed notehead from my big
>> Illustrator collection.
>>
>> But the system is actually designed to be easy to work into an algorithm.
>> It's pretty easy to automatically produce a phonemic transcription of
>> lyrics (which would always have to be hand checked, but is still a lot
>> faster). There are only 46 phonemes in the Standard English, so from the
>> phonemic transcript and the rhythmic transcript, it shouldn't be that hard
>> to write a process for placing the note in the correct staff space and
>> attaching the correct headphones to it. But there's another complication,
>> which is the staff has a subtle graphic design as well (which I've been
>> doing by hand in Illustrator). The lines vary in thickness, so the thickest
>> lines are at the top and bottom, and the thinnest are in the middle; and
>> the lines follow a stepped gradient of greyscale, so the top line is the
>> lightest grey, and the bottom line is black. I've attached an image of the
>> staff with every vowel note represented. Most of them don't have
>> headphones, but the r-colored vowels have a light blue headphone on the
>> right side, indicating the /r/ sound after the vowel.
>>
>> So, can LilyPond help me with any of this? Or is it too much?
>>
>> Thanks so much,
>> Michael Blankenship
>>
>> Hello,
>>
>> The attached source file (a quick hack), with PDF result, should
>> demonstrate that this kind of things is completely possible using LilyPond.
>>
>>
>>
> This is a beautiful quick hack!
>
> To avoid the semicircles on the the end of each staff line, you'd likely
> want to change the definition of the staffline being printed.  This is
> defined in the file lily/staff-symbol.cc as a horizontal line (see lines 92
> and 93) of a given thickness, which is drawn with a pen having a blot
> diameter of the thickness.  It's probably possible to rewrite this print
> function in Scheme and draw the staff line as a round-filled-box (see
> lily/lookup.cc).  If I were trying to do this in the minimum effort way
> possible, I'd hardcode a blot diameter, and draw a round-filled box of the
> given thickness using the hardcoded blot diameter.  This would be a hack,
> but would get the job done.
>
> To be less of a hack, you'd need to figure out how to add an extra
> parameter to the staff-symbol interface (you need both a blot diameter and
> a line thickness).  And then you'd still draw staff lines as a round filled
> box with the blot diameter and the thickness, but you wouldn't need the
> hard-coded value.
>
> Both of these approaches would require you to build lilypond.
> Fortunately, we have lots of support for building lilypond on linux
> systems, so it's not too bad.  Unfortunately, if you want to build on
> WIndows systems, it's a bit 

Re: feasibilty question: simple GUI for web-based Lilypond instance

2020-10-23 Thread Kieren MacMillan
Hi Jonas,

> Proper collaboration tools aren't easy either, but there are solutions
> like Etherpad. It's open and can be enhanced with plugins, so would a
> collaborative text editor with a (possibly autorefreshing) preview from
> LilyPond constitute as a GUI for your scenario?

The app/site *must* allow entry of notes using either a MIDI keyboard or a 
"Quick Entry" (mouse-click) type UI; drag-and-drop would obviously be a bonus, 
but is hardly necessary.

> No autocompletion though

Don’t need that. In fact, in a “perfect” world, the students wouldn’t even see 
the .ly code.  ;)

Cheers,
Kieren.


Kieren MacMillan, composer (he/him/his)
‣ website: www.kierenmacmillan.info
‣ email: kie...@kierenmacmillan.info




Re: feasibilty question: simple GUI for web-based Lilypond instance

2020-10-23 Thread Jonas Hahnfeld
Am Freitag, den 23.10.2020, 10:34 +0200 schrieb Jean Abou Samra:
> Le 23/10/2020 à 02:45, Kieren MacMillan a écrit :
> > Hi all,
> > 
> > I’m teaching a musical theatre creation course at a college. I’ve been 
> > teaching the course for about 4 years, but the philosophy recently changed 
> > from one where I was a co-creator with the students (and hence did all of 
> > the engraving for our collaborative songs) to a more traditional 
> > instructor-student setup (where the students are now expected to generate 
> > their own scores).
> > 
> > The ~25 students in the class need to engrave their own music; but they’re 
> > starving students/artists, and we aren’t going to ask them to buy licenses 
> > for any engraving app. (Of course, if they already have something, or 
> > evolve to the point they need to buy one, that would be up to them!)
> > 
> > Looking at the ecosystem of “free” music engraving applications (e.g., 
> > NoteFlight, MuseScore, Dorico SE), I realise that what is really lacking is 
> > a web-accessible engraving application with a [Javascript?] GUI, capable of 
> > generating reasonably simple but attractive scores of relatively limited 
> > complexity (e.g., piano-vocal scores with chords) and supporting 
> > collaborative editing over the network — think lilybin.com with a GUI. 
> > Especially given how much education has moved — and will likely now remain 
> > — online, I see this gap as a real opportunity to potentially promote 
> > Lilypond in education.
> > 
> > How difficult would it be to build a “Quick Note Entry” GUI that could work 
> > on a served copy of Lilypond?
> > 
> > Thanks,
> > Kieren.
> > 
> > 
> > Kieren MacMillan, composer (he/him/his)
> > ‣ website: www.kierenmacmillan.info
> > ‣ email: kie...@kierenmacmillan.info
> 
> Hi Kieren,
> 
> As far as I know, this would be rather hard. However, you could have
> a look at https://hacklily.org/. It's text-based, but there's a note
> entry mode with a little GUI. If you ask the author very kindly,
> you might obtain some functionality for collaborative editing.

Proper collaboration tools aren't easy either, but there are solutions
like Etherpad. It's open and can be enhanced with plugins, so would a
collaborative text editor with a (possibly autorefreshing) preview from
LilyPond constitute as a GUI for your scenario? No autocompletion
though and no GUI like hacklily.org...

Jonas


> If that aspect is more important than GUI note entry, another option
> would be to host an OverLeaf instance on your college's server
> (see https://github.com/overleaf/overleaf), install LilyPond
> and the lyLuaTeX package there, and use with LuaLaTeX.
> 
> Best,
> Jean


signature.asc
Description: This is a digitally signed message part


Re: ! Please answer interesting functionality question for PhD Diss

2020-10-23 Thread Carl Sorensen
On Fri, Oct 23, 2020 at 12:48 PM Jean Abou Samra  wrote:

>
> Le 23/10/2020 à 19:21, Michael Blankenship a écrit :
>
> Dear Lilypond Power-users,
>
> I have a question in the form “can lilypond do this?” And I’m desperate
> for a clear answer. I know nothing about using LilyPond, but I do have some
> experience with Music21. I have a very complex (but super interesting!)
> notation workflow producing graphics for my PhD thesis in Music Theory at
> Eastman that I would love to be able to automate as much of as possible.
> I’m a Sibelius user, and I just don’t know what LilyPond is capable of, and
> while I’m willing to put in the work for a solution, I’m on a deadline and
> don’t have time to learn a whole new workflow only to discover that it
> doesn’t work. So I'm really just looking for a "yeah, you could totally
> streamline your transcription process with LilyPond" or "no, it does not
> have the functionality you're looking for."
>
> Basically, I've worked out a way to represent the sounds of words as music
> using a system of notation I developed that maps vowels onto a staff and
> puts little colored brackets (I call them headphones) around notes to
> represent clusters of consonants. I made an enormous Illustrator doc with
> rows of noteheads with every possible combination of consonant headphones
> available in English (there are only about 10 categories of consonants,
> represented by 6 colors and some changes in shape). The way I have been
> doing transcription is initially in Sibelius, where I've made a custom
> 12-line staff with proportional note spacing and horizontal beaming,
> exporting from Sib as an .svg to Illustrator, and then I go in and replace
> every notehead by hand with the correct bracketed notehead from my big
> Illustrator collection.
>
> But the system is actually designed to be easy to work into an algorithm.
> It's pretty easy to automatically produce a phonemic transcription of
> lyrics (which would always have to be hand checked, but is still a lot
> faster). There are only 46 phonemes in the Standard English, so from the
> phonemic transcript and the rhythmic transcript, it shouldn't be that hard
> to write a process for placing the note in the correct staff space and
> attaching the correct headphones to it. But there's another complication,
> which is the staff has a subtle graphic design as well (which I've been
> doing by hand in Illustrator). The lines vary in thickness, so the thickest
> lines are at the top and bottom, and the thinnest are in the middle; and
> the lines follow a stepped gradient of greyscale, so the top line is the
> lightest grey, and the bottom line is black. I've attached an image of the
> staff with every vowel note represented. Most of them don't have
> headphones, but the r-colored vowels have a light blue headphone on the
> right side, indicating the /r/ sound after the vowel.
>
> So, can LilyPond help me with any of this? Or is it too much?
>
> Thanks so much,
> Michael Blankenship
>
> Hello,
>
> The attached source file (a quick hack), with PDF result, should
> demonstrate that this kind of things is completely possible using LilyPond.
>
>
>
This is a beautiful quick hack!

To avoid the semicircles on the the end of each staff line, you'd likely
want to change the definition of the staffline being printed.  This is
defined in the file lily/staff-symbol.cc as a horizontal line (see lines 92
and 93) of a given thickness, which is drawn with a pen having a blot
diameter of the thickness.  It's probably possible to rewrite this print
function in Scheme and draw the staff line as a round-filled-box (see
lily/lookup.cc).  If I were trying to do this in the minimum effort way
possible, I'd hardcode a blot diameter, and draw a round-filled box of the
given thickness using the hardcoded blot diameter.  This would be a hack,
but would get the job done.

To be less of a hack, you'd need to figure out how to add an extra
parameter to the staff-symbol interface (you need both a blot diameter and
a line thickness).  And then you'd still draw staff lines as a round filled
box with the blot diameter and the thickness, but you wouldn't need the
hard-coded value.

Both of these approaches would require you to build lilypond.  Fortunately,
we have lots of support for building lilypond on linux systems, so it's not
too bad.  Unfortunately, if you want to build on WIndows systems, it's a
bit more of a chore.

Carl


Re: ! Please answer interesting functionality question for PhD Diss

2020-10-23 Thread Guy Stalnaker
I'll confess that sometimes the LP community can be fractious - but I am
truly thankful at how generous and simply astonishing the community can be.
It's not been two hours and Mr. Blankenship not only has a "yes, you can do
this with LP" but links to materials and documentation and, now, a freaking
example showing that it not only is possible, but a "here you go!"

What a terrific group of people you all are. Really. In our seemingly
unhelpful world, here you all are doing this for this young scholar.

All of you are wonderful people.

--

“Happiness is the meaning and the purpose of life, the whole aim and end of
human existence.”

― Aristotle


On Fri, Oct 23, 2020 at 1:49 PM Jean Abou Samra  wrote:

>
> Le 23/10/2020 à 19:21, Michael Blankenship a écrit :
>
> Dear Lilypond Power-users,
>
> I have a question in the form “can lilypond do this?” And I’m desperate
> for a clear answer. I know nothing about using LilyPond, but I do have some
> experience with Music21. I have a very complex (but super interesting!)
> notation workflow producing graphics for my PhD thesis in Music Theory at
> Eastman that I would love to be able to automate as much of as possible.
> I’m a Sibelius user, and I just don’t know what LilyPond is capable of, and
> while I’m willing to put in the work for a solution, I’m on a deadline and
> don’t have time to learn a whole new workflow only to discover that it
> doesn’t work. So I'm really just looking for a "yeah, you could totally
> streamline your transcription process with LilyPond" or "no, it does not
> have the functionality you're looking for."
>
> Basically, I've worked out a way to represent the sounds of words as music
> using a system of notation I developed that maps vowels onto a staff and
> puts little colored brackets (I call them headphones) around notes to
> represent clusters of consonants. I made an enormous Illustrator doc with
> rows of noteheads with every possible combination of consonant headphones
> available in English (there are only about 10 categories of consonants,
> represented by 6 colors and some changes in shape). The way I have been
> doing transcription is initially in Sibelius, where I've made a custom
> 12-line staff with proportional note spacing and horizontal beaming,
> exporting from Sib as an .svg to Illustrator, and then I go in and replace
> every notehead by hand with the correct bracketed notehead from my big
> Illustrator collection.
>
> But the system is actually designed to be easy to work into an algorithm.
> It's pretty easy to automatically produce a phonemic transcription of
> lyrics (which would always have to be hand checked, but is still a lot
> faster). There are only 46 phonemes in the Standard English, so from the
> phonemic transcript and the rhythmic transcript, it shouldn't be that hard
> to write a process for placing the note in the correct staff space and
> attaching the correct headphones to it. But there's another complication,
> which is the staff has a subtle graphic design as well (which I've been
> doing by hand in Illustrator). The lines vary in thickness, so the thickest
> lines are at the top and bottom, and the thinnest are in the middle; and
> the lines follow a stepped gradient of greyscale, so the top line is the
> lightest grey, and the bottom line is black. I've attached an image of the
> staff with every vowel note represented. Most of them don't have
> headphones, but the r-colored vowels have a light blue headphone on the
> right side, indicating the /r/ sound after the vowel.
>
> So, can LilyPond help me with any of this? Or is it too much?
>
> Thanks so much,
> Michael Blankenship
>
> Hello,
>
> The attached source file (a quick hack), with PDF result, should
> demonstrate that this kind of things is completely possible using LilyPond.
>
> If you are starting a large-scale project, it is recommended to learn
> LilyPond and Scheme first. The tutorial will help you for the LilyPond part:
>
> http://lilypond.org/doc/v2.21/Documentation/learning/
>
> and this chapter of the Notation manual will be particularly important to
> you:
>
> http://lilypond.org/doc/v2.21/Documentation/notation/changing-defaults
>
> as well as the whole extending manual:
>
> https://lilypond.org/doc/v2.21/Documentation/extending/
>
> There is also a good resource around Scheme used inside LilyPond:
>
> https://scheme-book.ursliska.de/scheme/index.html
>
> This list can help with all sorts of specific problems. It won't be the
> first challenge we tackle.
>
> Best,
> Jean
>


Re: arranger.ly (new library)

2020-10-23 Thread Stefano Troncaro
+1 for adding this to oLL. I remember trying to do this with the Edition
Engraver but being unable to achieve it.

El jue., 22 oct. 2020 a las 21:49, Gilles Thibault ()
escribió:

> Le 2020-10-23 02:19, Andrew Bernard a écrit :
> > Hi Gilles,
> >
> > Why don't we put it in openLilyLib? Avoid the balkanisation process of
> > having dozens of personal git repos? I am happy to prepare it and do
> > the work. OLL is got, so nothing will change in terms of development.
> >
> > Andrew
> >
> > On Fri, 23 Oct 2020 at 11:04, Gilles Thibault  wrote:
> >>
> >> I have been using a Lilypond library called "arranger.ly" for several
> >> years. It has made it much easier for me to create arrangements for
> >> large ensembles and it is time for me to share this new approach with
> >> the community.
> >>
> >> W
>
> Oh yes. Very good idea. Thank you.
>
> --
> Gilles
>
>


Re: ! Please answer interesting functionality question for PhD Diss

2020-10-23 Thread Jean Abou Samra


Le 23/10/2020 à 19:21, Michael Blankenship a écrit :

Dear Lilypond Power-users,

I have a question in the form “can lilypond do this?” And I’m 
desperate for a clear answer. I know nothing about using LilyPond, but 
I do have some experience with Music21. I have a very complex (but 
super interesting!) notation workflow producing graphics for my PhD 
thesis in Music Theory at Eastman that I would love to be able to 
automate as much of as possible. I’m a Sibelius user, and I just don’t 
know what LilyPond is capable of, and while I’m willing to put in the 
work for a solution, I’m on a deadline and don’t have time to learn a 
whole new workflow only to discover that it doesn’t work. So I'm 
really just looking for a "yeah, you could totally streamline your 
transcription process with LilyPond" or "no, it does not have the 
functionality you're looking for."


Basically, I've worked out a way to represent the sounds of words as 
music using a system of notation I developed that maps vowels onto a 
staff and puts little colored brackets (I call them headphones) around 
notes to represent clusters of consonants. I made an enormous 
Illustrator doc with rows of noteheads with every possible combination 
of consonant headphones available in English (there are only about 10 
categories of consonants, represented by 6 colors and some changes in 
shape). The way I have been doing transcription is initially in 
Sibelius, where I've made a custom 12-line staff with proportional 
note spacing and horizontal beaming, exporting from Sib as an .svg to 
Illustrator, and then I go in and replace every notehead by hand with 
the correct bracketed notehead from my big Illustrator collection.


But the system is actually designed to be easy to work into an 
algorithm. It's pretty easy to automatically produce a phonemic 
transcription of lyrics (which would always have to be hand checked, 
but is still a lot faster). There are only 46 phonemes in the Standard 
English, so from the phonemic transcript and the rhythmic transcript, 
it shouldn't be that hard to write a process for placing the note in 
the correct staff space and attaching the correct headphones to it. 
But there's another complication, which is the staff has a subtle 
graphic design as well (which I've been doing by hand in Illustrator). 
The lines vary in thickness, so the thickest lines are at the top and 
bottom, and the thinnest are in the middle; and the lines follow a 
stepped gradient of greyscale, so the top line is the lightest grey, 
and the bottom line is black. I've attached an image of the staff with 
every vowel note represented. Most of them don't have headphones, but 
the r-colored vowels have a light blue headphone on the right side, 
indicating the /r/ sound after the vowel.


So, can LilyPond help me with any of this? Or is it too much?

Thanks so much,
Michael Blankenship


Hello,

The attached source file (a quick hack), with PDF result, should 
demonstrate that this kind of things is completely possible using LilyPond.


If you are starting a large-scale project, it is recommended to learn 
LilyPond and Scheme first. The tutorial will help you for the LilyPond part:


http://lilypond.org/doc/v2.21/Documentation/learning/

and this chapter of the Notation manual will be particularly important 
to you:


http://lilypond.org/doc/v2.21/Documentation/notation/changing-defaults

as well as the whole extending manual:

https://lilypond.org/doc/v2.21/Documentation/extending/

There is also a good resource around Scheme used inside LilyPond:

https://scheme-book.ursliska.de/scheme/index.html

This list can help with all sorts of specific problems. It won't be the 
first challenge we tackle.


Best,
Jean

\version "2.23.0"

\layout {
  \context {
\RhythmicStaff
\remove Time_signature_engraver
\remove Bar_engraver
  }
  \context {
\Score
\override VerticalAxisGroup.staff-staff-spacing =
  #'((basic-distance . 2.5)
 (minimum-distance . 2.5)
 (padding . 0)
 (stretchability . 0))
  }
}


#(define n-staff-lines 12)

#(define (scale no)
   (/ no n-staff-lines))

#(define (make-greyscale no)
   (let ((value (* 0.5 (scale (- n-staff-lines no)
 (list value value value)))

#(define (make-special-staff no music)
   (let ((nostr (number->string no))
 (thickness (*
  10
  (scale
   (max no (- n-staff-lines no))
 #{
   \new RhythmicStaff = #nostr \with {
   %  instrumentName = \markup \teeny #nostr
 \override StaffSymbol.color = #(make-greyscale no)
 \override StaffSymbol.thickness = #thickness
 \override NoteHead.stencil = #ly:text-interface::print
 \override Stem.thickness = #(/ 3 thickness)
   }
   { #music } 
 #}))

<<
  #@(map (lambda (i) (make-special-staff i #{ s1 #})) (iota 12))

  #(make-special-staff 12 #{
s4
\crossStaff {
  \override Stem.length = 63
  

Re: ! Please answer interesting functionality question for PhD Diss

2020-10-23 Thread Kieren MacMillan
Hi Michael,

> I have a question in the form “can lilypond do this?” And I’m desperate for a 
> clear answer. I know nothing about using LilyPond, but I do have some 
> experience with Music21. I have a very complex (but super interesting!) 
> notation workflow producing graphics for my PhD thesis in Music Theory at 
> Eastman that I would love to be able to automate as much of as possible. I’m 
> a Sibelius user, and I just don’t know what LilyPond is capable of, and while 
> I’m willing to put in the work for a solution, I’m on a deadline and don’t 
> have time to learn a whole new workflow only to discover that it doesn’t 
> work. So I'm really just looking for a "yeah, you could totally streamline 
> your transcription process with LilyPond" or "no, it does not have the 
> functionality you're looking for."

> So, can LilyPond help me with any of this? Or is it too much?

As someone who has done a *lot* of astonishing [to me] things in Lilypond — 
such as drawing full Tonnetz graphs — my short answer is: “Yeah, Lilypond can 
do that, and way better than any workflow in Sibelius or similar.”  ;)

I’d be happy to help, to whatever extent I can.

Cheers,
Kieren.


Kieren MacMillan, composer (he/him/his)
‣ website: www.kierenmacmillan.info
‣ email: kie...@kierenmacmillan.info




Re: ! Please answer interesting functionality question for PhD Diss

2020-10-23 Thread Carl Sorensen
On Fri, Oct 23, 2020 at 11:40 AM Karlin High  wrote:

> On 10/23/2020 12:21 PM, Michael Blankenship wrote:
> > I just don’t know what LilyPond is capable of, and while I’m willing to
> > put in the work for a solution, I’m on a deadline and don’t have time to
> > learn a whole new workflow only to discover that it doesn’t work.
>
> The first thing I'm reminded of here is Paul Morris' Clairnote project.
>
> 
>
> That's an example of someone teaching LilyPond to produce forms of
> notation that are very different from the default output.
>

I love Karlin's idea of pointing you to the Clairnote project.  That has
templates of everything you need.  He creates his own noteheads, and
modifies the staff.  I think that starting out with his code, you could
make the changes rather quickly.

Carl


Re: ! Please answer interesting functionality question for PhD Diss

2020-10-23 Thread Carl Sorensen
On Fri, Oct 23, 2020 at 11:35 AM Carl Sorensen  wrote:

> Well, let me give my take on this.
>
>
>
>1. Can Lilypond draw your staff symbols?  Yes, but you will need to
>write a new print function for the staff.  We already have the interface
>for changing the number of lines in the staff; that is no problem.  Right
>now, the print function prints all the staff lines the same thickness and
>color.  But there is a hook for changing the function that creates the
>staff, so you can do that.  This is a one-time cost that I think shouldn’t
>be too hard.
>2. Can the headphones be added?  Yes, as a special markup.  You could
>even put the markup on a layer behind the note, and tweak the dimensions of
>the markup so that it wouldn’t be thought to collide with the note, even
>though it overlaps.  Again, this is a one-time cost that is a little bit
>harder than the first one, I think.
>
> Looking more carefully at your sample, I think I'd approach 2 in a
different way.

I'd create some new noteheads that are headphone noteheads, because when
the notehead is on the left-hand side of the stem, you want the headphone,
rather than the black notehead, to touch the  stem.  But that is also
doable, and the notehead used is easily tweakable.  You could start with
the Gonville font, which is defined in python and is freely licensed (
https://www.chiark.greenend.org.uk/~sgtatham/gonville/), and you can either
modify the python or just edit the font with a font editor.  Or you could
add new noteheads to the Feta font.  Your choice.  Again, both very doable.

Carl


Re: ! Please answer interesting functionality question for PhD Diss

2020-10-23 Thread Karlin High

On 10/23/2020 12:21 PM, Michael Blankenship wrote:
I just don’t know what LilyPond is capable of, and while I’m willing to 
put in the work for a solution, I’m on a deadline and don’t have time to 
learn a whole new workflow only to discover that it doesn’t work.


The first thing I'm reminded of here is Paul Morris' Clairnote project.



That's an example of someone teaching LilyPond to produce forms of 
notation that are very different from the default output.


I do not have the skills needed for helping with your project. But 
seeing as other people have had LilyPond making Riemannian Tonnetz 
graphs and such, I'd be shocked if there was no way to make your idea 
happen.

--
Karlin High
Missouri, USA



Re: ! Please answer interesting functionality question for PhD Diss

2020-10-23 Thread Carl Sorensen
Well, let me give my take on this.


  1.  Can Lilypond draw your staff symbols?  Yes, but you will need to write a 
new print function for the staff.  We already have the interface for changing 
the number of lines in the staff; that is no problem.  Right now, the print 
function prints all the staff lines the same thickness and color.  But there is 
a hook for changing the function that creates the staff, so you can do that.  
This is a one-time cost that I think shouldn’t be too hard.
  2.  Can the headphones be added?  Yes, as a special markup.  You could even 
put the markup on a layer behind the note, and tweak the dimensions of the 
markup so that it wouldn’t be thought to collide with the note, even though it 
overlaps.  Again, this is a one-time cost that is a little bit harder than the 
first one, I think.


I think LilyPond could easily do both of these things.  I don’t know how the 
durations and beams work, but making these two changes would not affect 
LilyPond’s layout engine.

I think you should go for it.  LilyPond will be way better than modifying 
Sibelius output.

Carl


From: lilypond-user  
on behalf of Michael Blankenship 
Date: Friday, October 23, 2020 at 11:23 AM
To: "lilypond-user@gnu.org" 
Subject: ! Please answer interesting functionality question for PhD Diss

Dear Lilypond Power-users,

I have a question in the form “can lilypond do this?” And I’m desperate for a 
clear answer. I know nothing about using LilyPond, but I do have some 
experience with Music21. I have a very complex (but super interesting!) 
notation workflow producing graphics for my PhD thesis in Music Theory at 
Eastman that I would love to be able to automate as much of as possible. I’m a 
Sibelius user, and I just don’t know what LilyPond is capable of, and while I’m 
willing to put in the work for a solution, I’m on a deadline and don’t have 
time to learn a whole new workflow only to discover that it doesn’t work. So 
I'm really just looking for a "yeah, you could totally streamline your 
transcription process with LilyPond" or "no, it does not have the functionality 
you're looking for."

Basically, I've worked out a way to represent the sounds of words as music 
using a system of notation I developed that maps vowels onto a staff and puts 
little colored brackets (I call them headphones) around notes to represent 
clusters of consonants. I made an enormous Illustrator doc with rows of 
noteheads with every possible combination of consonant headphones available in 
English (there are only about 10 categories of consonants, represented by 6 
colors and some changes in shape). The way I have been doing transcription is 
initially in Sibelius, where I've made a custom 12-line staff with proportional 
note spacing and horizontal beaming, exporting from Sib as an .svg to 
Illustrator, and then I go in and replace every notehead by hand with the 
correct bracketed notehead from my big Illustrator collection.

But the system is actually designed to be easy to work into an algorithm. It's 
pretty easy to automatically produce a phonemic transcription of lyrics (which 
would always have to be hand checked, but is still a lot faster). There are 
only 46 phonemes in the Standard English, so from the phonemic transcript and 
the rhythmic transcript, it shouldn't be that hard to write a process for 
placing the note in the correct staff space and attaching the correct 
headphones to it. But there's another complication, which is the staff has a 
subtle graphic design as well (which I've been doing by hand in Illustrator). 
The lines vary in thickness, so the thickest lines are at the top and bottom, 
and the thinnest are in the middle; and the lines follow a stepped gradient of 
greyscale, so the top line is the lightest grey, and the bottom line is black. 
I've attached an image of the staff with every vowel note represented. Most of 
them don't have headphones, but the r-colored vowels have a light blue 
headphone on the right side, indicating the /r/ sound after the vowel.

So, can LilyPond help me with any of this? Or is it too much?

Thanks so much,
Michael Blankenship




! Please answer interesting functionality question for PhD Diss

2020-10-23 Thread Michael Blankenship
Dear Lilypond Power-users,

I have a question in the form “can lilypond do this?” And I’m desperate for
a clear answer. I know nothing about using LilyPond, but I do have some
experience with Music21. I have a very complex (but super interesting!)
notation workflow producing graphics for my PhD thesis in Music Theory at
Eastman that I would love to be able to automate as much of as possible.
I’m a Sibelius user, and I just don’t know what LilyPond is capable of, and
while I’m willing to put in the work for a solution, I’m on a deadline and
don’t have time to learn a whole new workflow only to discover that it
doesn’t work. So I'm really just looking for a "yeah, you could totally
streamline your transcription process with LilyPond" or "no, it does not
have the functionality you're looking for."

Basically, I've worked out a way to represent the sounds of words as music
using a system of notation I developed that maps vowels onto a staff and
puts little colored brackets (I call them headphones) around notes to
represent clusters of consonants. I made an enormous Illustrator doc with
rows of noteheads with every possible combination of consonant headphones
available in English (there are only about 10 categories of consonants,
represented by 6 colors and some changes in shape). The way I have been
doing transcription is initially in Sibelius, where I've made a custom
12-line staff with proportional note spacing and horizontal beaming,
exporting from Sib as an .svg to Illustrator, and then I go in and replace
every notehead by hand with the correct bracketed notehead from my big
Illustrator collection.

But the system is actually designed to be easy to work into an algorithm.
It's pretty easy to automatically produce a phonemic transcription of
lyrics (which would always have to be hand checked, but is still a lot
faster). There are only 46 phonemes in the Standard English, so from the
phonemic transcript and the rhythmic transcript, it shouldn't be that hard
to write a process for placing the note in the correct staff space and
attaching the correct headphones to it. But there's another complication,
which is the staff has a subtle graphic design as well (which I've been
doing by hand in Illustrator). The lines vary in thickness, so the thickest
lines are at the top and bottom, and the thinnest are in the middle; and
the lines follow a stepped gradient of greyscale, so the top line is the
lightest grey, and the bottom line is black. I've attached an image of the
staff with every vowel note represented. Most of them don't have
headphones, but the r-colored vowels have a light blue headphone on the
right side, indicating the /r/ sound after the vowel.

So, can LilyPond help me with any of this? Or is it too much?

Thanks so much,
Michael Blankenship


Re: how to include a path in lyp

2020-10-23 Thread Andrew Bernard
Hi Stefan,

I had a little to do with the initial development of lyp, but it has
fallen by the wayside due to very low uptake. While it's a good idea,
it has not fulfilled its promise and blossomed, due to no-one's fault.
I contacted Sharon the owner of the project today and he confirmed
this. So sadly it's more or less moribund.

Since I am overhauling and revivifying openLilyLib and lyp sort of
came out of that in a manner of speaking, I may have a look into if
lyp is worth progressing, if there is any demand for it.

The point being, it may be better to let go of lyp for now, sorry to say.

I seem to recall we started it in Python but the owner then did it in
Ruby, which is not a language I favour, so I am not going to renovate
lyp for that reason. In fact, I remember that is why I stopped work on
it.

Andrew

On Mon, 28 Sep 2020 at 20:35, Stefan Thomas  wrote:

> I've recently and successfully installed lyp, which seems to be a great thing.



Re: feasibilty question: simple GUI for web-based Lilypond instance

2020-10-23 Thread Jean Abou Samra



Le 23/10/2020 à 02:45, Kieren MacMillan a écrit :

Hi all,

I’m teaching a musical theatre creation course at a college. I’ve been teaching 
the course for about 4 years, but the philosophy recently changed from one 
where I was a co-creator with the students (and hence did all of the engraving 
for our collaborative songs) to a more traditional instructor-student setup 
(where the students are now expected to generate their own scores).

The ~25 students in the class need to engrave their own music; but they’re 
starving students/artists, and we aren’t going to ask them to buy licenses for 
any engraving app. (Of course, if they already have something, or evolve to the 
point they need to buy one, that would be up to them!)

Looking at the ecosystem of “free” music engraving applications (e.g., 
NoteFlight, MuseScore, Dorico SE), I realise that what is really lacking is a 
web-accessible engraving application with a [Javascript?] GUI, capable of 
generating reasonably simple but attractive scores of relatively limited 
complexity (e.g., piano-vocal scores with chords) and supporting collaborative 
editing over the network — think lilybin.com with a GUI. Especially given how 
much education has moved — and will likely now remain — online, I see this gap 
as a real opportunity to potentially promote Lilypond in education.

How difficult would it be to build a “Quick Note Entry” GUI that could work on 
a served copy of Lilypond?

Thanks,
Kieren.


Kieren MacMillan, composer (he/him/his)
‣ website: www.kierenmacmillan.info
‣ email: kie...@kierenmacmillan.info


Hi Kieren,

As far as I know, this would be rather hard. However, you could have
a look at https://hacklily.org/. It's text-based, but there's a note
entry mode with a little GUI. If you ask the author very kindly,
you might obtain some functionality for collaborative editing.

If that aspect is more important than GUI note entry, another option
would be to host an OverLeaf instance on your college's server
(see https://github.com/overleaf/overleaf), install LilyPond
and the lyLuaTeX package there, and use with LuaLaTeX.

Best,
Jean