Re: Numeric note heads for singers

classic Classic list List threaded Threaded
25 messages Options
12
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Numeric note heads for singers

Carl Sorensen



On 1/3/10 1:35 AM, "David Olson" <[hidden email]> wrote:

>
> (1) Easy notation for singers
>
> The easy notation feature is designed for instrumentalists:
>
> <
> http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Note-heads#Easy-nota
> tion-note-heads>
>
> i.e., it inscribes the letter value inside the notehead.
>
> Is there a way to inscribe numbers instead of letters?
>
> A cappella singers, learning how to sight-sing -- I need to teach them how to
> think in terms of "degrees of the scale".
>
> (There isn't anyplace on our throats where we can put our fingers to make an
> "e" or an "a").


Easy shape-note heads (with a scale degree instead of the shape, or maybe
with a larger head and a scale degree written inside of it) should be a very
easy change to make.

I'd like to invite any frogs looking for a project, or any user who would
like to get more into the internals, to try starting with this project.
Please let me know by email if you'd like to take it on, and I'll be happy
to help you get started with it.

I've also copied this to bug-lilypond so one of our bugmeisters can create
an enhancement request.

Thanks,

Carl


---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Numeric note heads for singers

David Pounder
I might be misunderstanding the request, but couldn't it be done with

\override Voice . NoteHead #'note-names = #(vector "1" "2" "3" "4" "5"
"6" "7")
  \easyHeadsOn      .....

adjusting the numbers depending on the key

?

>----Original Message----
>From: [hidden email]
>Date: 03/01/2010 17:00
>To: "David Olson"<[hidden email]>, "[hidden email]"
<[hidden email]>
>Cc: "Lilypond Bugreports"<[hidden email]>, "[hidden email]"
<[hidden email]>

>Subj: Re: Numeric note heads for singers
>
>
>
>
>On 1/3/10 1:35 AM, "David Olson" <[hidden email]> wrote:
>
>>
>> (1) Easy notation for singers
>>
>> The easy notation feature is designed for instrumentalists:
>>
>> <
>> http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Note-
heads#Easy-nota
>> tion-note-heads>
>>
>> i.e., it inscribes the letter value inside the notehead.
>>
>> Is there a way to inscribe numbers instead of letters?
>>
>> A cappella singers, learning how to sight-sing -- I need to teach
them how to
>> think in terms of "degrees of the scale".
>>
>> (There isn't anyplace on our throats where we can put our fingers
to make an
>> "e" or an "a").
>
>
>Easy shape-note heads (with a scale degree instead of the shape, or
maybe
>with a larger head and a scale degree written inside of it) should be
a very
>easy change to make.
>
>I'd like to invite any frogs looking for a project, or any user who
would
>like to get more into the internals, to try starting with this
project.
>Please let me know by email if you'd like to take it on, and I'll be
happy
>to help you get started with it.
>
>I've also copied this to bug-lilypond so one of our bugmeisters can
create

>an enhancement request.
>
>Thanks,
>
>Carl
>
>
>
>_______________________________________________
>lilypond-user mailing list
>[hidden email]
>http://lists.gnu.org/mailman/listinfo/lilypond-user
>




2009: A year in review - http://www.tiscali.co.uk/2009


---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Re: Numeric note heads for singers

Carl Sorensen



On 1/3/10 12:22 PM, "[hidden email]" <[hidden email]> wrote:

> I might be misunderstanding the request, but couldn't it be done with
>
> \override Voice . NoteHead #'note-names = #(vector "1" "2" "3" "4" "5"
> "6" "7")
>   \easyHeadsOn      .....
>
> adjusting the numbers depending on the key

This wouldn't work, because 'note-names is keyed to the *octave* location,
not the scale degree.

In contrast, the  shapeNoteStyles property (see
scm/define-context-properties.scm and ly/property-init.ly) works off the
scale degree.

A workaround would most likely be built on the snippet "Applying note head
styles depending on the step of the scale" found at

<http://lilypond.org/doc/v2.12/input/lsr/lilypond-snippets/Pitches>

HTH,

Carl


---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Numeric note heads for singers

Carl Sorensen
In reply to this post by Carl Sorensen

David,

I'd love to have you jump in on this.

I think you need to look at the code that produces all of the special note
heads in scm/output-lib.scm.

Standard easy note heads are created by note-head::brew-ez-stencil.

You could write a note-head::brew-shape-note-ez-stencil to do the honors, or
alternatively, you could just use standard ez note heads with a number
indicating the scale degree instead of with a letter.  If you look
brew-ez-stencil, you'll see that letter is a markup of the pitch-string.  If
shapeNotes is active, then you'd do the same markup with the scale degree.
So you just need to figure out how to get the scale degree.

The current code for getting the scale degree is found in
ly/note-heads-engraver.cc, lines 98-114.

Have a look at these areas, and let me know if I can answer more questions.

Thanks,

Carl


On 1/4/10 3:24 PM, "[hidden email]" <[hidden email]> wrote:

> Carl,
>
> If no-one else has taken you up on this, I'd quite like to give it a
> go. Although I studied computer science a couple of decades ago, I
> don't really have any experience with software projects larger than the
> single-programmer scale but am a bit familiar with C, C Sharp and ML -
> not quite C++ and Scheme but should be able to get there eventually.
>
> So far, I'm looking into the 'style' property in 'define-grob-
> properties.scm' which seems to be used by the stencil callback, but
> I've not quite figured out where the stencils are defined.
>
> Can you let me know if you're happy for me to go further?
>
> Regards,
>
> David
>
>> ----Original Message----
>> From: [hidden email]
>> Date: 03/01/2010 17:00
>> To: "David Olson"<[hidden email]>, "[hidden email]"
> <[hidden email]>
>> Cc: "Lilypond Bugreports"<[hidden email]>, "[hidden email]"
> <[hidden email]>
>> Subj: Re: Numeric note heads for singers
>>
>>
>>
>>
>> On 1/3/10 1:35 AM, "David Olson" <[hidden email]> wrote:
>>
>>>
>>> (1) Easy notation for singers
>>>
>>> The easy notation feature is designed for instrumentalists:
>>>
>>> <
>>> http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Note-
> heads#Easy-nota
>>> tion-note-heads>
>>>
>>> i.e., it inscribes the letter value inside the notehead.
>>>
>>> Is there a way to inscribe numbers instead of letters?
>>>
>>> A cappella singers, learning how to sight-sing -- I need to teach
> them how to
>>> think in terms of "degrees of the scale".
>>>
>>> (There isn't anyplace on our throats where we can put our fingers
> to make an
>>> "e" or an "a").
>>
>>
>> Easy shape-note heads (with a scale degree instead of the shape, or
> maybe
>> with a larger head and a scale degree written inside of it) should be
> a very
>> easy change to make.
>>
>> I'd like to invite any frogs looking for a project, or any user who
> would
>> like to get more into the internals, to try starting with this
> project.
>> Please let me know by email if you'd like to take it on, and I'll be
> happy
>> to help you get started with it.
>>
>> I've also copied this to bug-lilypond so one of our bugmeisters can
> create
>> an enhancement request.
>>
>> Thanks,
>>
>> Carl
>>
>>
>>
>> _______________________________________________
>> lilypond-user mailing list
>> [hidden email]
>> http://lists.gnu.org/mailman/listinfo/lilypond-user
>>
>
>
>
>
> 2009: A year in review - http://www.tiscali.co.uk/2009
>


---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Re: Numeric note heads for singers

David Pounder
In reply to this post by Carl Sorensen
Thanks for the pointers. I already found the code in note-heads-
engraver.cc but hadn't managed to find output-lib.scm. I'll see if I
can figure out what's going on and will shout if I get stuck.

Regards,

David.

>----Original Message----
>From: [hidden email]
>Date: 04/01/2010 23:22
>To: "[hidden email]"<[hidden email]>, "Lilypond Frogs
List"<[hidden email]>
>Subj: [frogs] Re: Numeric note heads for singers
>
>
>David,
>
>I'd love to have you jump in on this.
>
>I think you need to look at the code that produces all of the special
note
>heads in scm/output-lib.scm.
>
>Standard easy note heads are created by note-head::brew-ez-stencil.
>
>You could write a note-head::brew-shape-note-ez-stencil to do the
honors, or
>alternatively, you could just use standard ez note heads with a
number
>indicating the scale degree instead of with a letter.  If you look
>brew-ez-stencil, you'll see that letter is a markup of the pitch-
string.  If
>shapeNotes is active, then you'd do the same markup with the scale
degree.
>So you just need to figure out how to get the scale degree.
>
>The current code for getting the scale degree is found in
>ly/note-heads-engraver.cc, lines 98-114.
>
>Have a look at these areas, and let me know if I can answer more
questions.
>
>Thanks,
>
>Carl
>
>
>On 1/4/10 3:24 PM, "[hidden email]" <[hidden email]>
wrote:
>
>> Carl,
>>
>> If no-one else has taken you up on this, I'd quite like to give it
a
>> go. Although I studied computer science a couple of decades ago, I
>> don't really have any experience with software projects larger than
the
>> single-programmer scale but am a bit familiar with C, C Sharp and
ML -
>> not quite C++ and Scheme but should be able to get there
eventually.

>>
>> So far, I'm looking into the 'style' property in 'define-grob-
>> properties.scm' which seems to be used by the stencil callback, but
>> I've not quite figured out where the stencils are defined.
>>
>> Can you let me know if you're happy for me to go further?
>>
>> Regards,
>>
>> David
>>
>>> ----Original Message----
>>> From: [hidden email]
>>> Date: 03/01/2010 17:00
>>> To: "David Olson"<[hidden email]>, "[hidden email]"
>> <[hidden email]>
>>> Cc: "Lilypond Bugreports"<[hidden email]>, "frogs@lilynet.
net"

>> <[hidden email]>
>>> Subj: Re: Numeric note heads for singers
>>>
>>>
>>>
>>>
>>> On 1/3/10 1:35 AM, "David Olson" <[hidden email]> wrote:
>>>
>>>>
>>>> (1) Easy notation for singers
>>>>
>>>> The easy notation feature is designed for instrumentalists:
>>>>
>>>> <
>>>> http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Note-
>> heads#Easy-nota
>>>> tion-note-heads>
>>>>
>>>> i.e., it inscribes the letter value inside the notehead.
>>>>
>>>> Is there a way to inscribe numbers instead of letters?
>>>>
>>>> A cappella singers, learning how to sight-sing -- I need to teach
>> them how to
>>>> think in terms of "degrees of the scale".
>>>>
>>>> (There isn't anyplace on our throats where we can put our fingers
>> to make an
>>>> "e" or an "a").
>>>
>>>
>>> Easy shape-note heads (with a scale degree instead of the shape,
or
>> maybe
>>> with a larger head and a scale degree written inside of it) should
be
>> a very
>>> easy change to make.
>>>
>>> I'd like to invite any frogs looking for a project, or any user
who
>> would
>>> like to get more into the internals, to try starting with this
>> project.
>>> Please let me know by email if you'd like to take it on, and I'll
be
>> happy
>>> to help you get started with it.
>>>
>>> I've also copied this to bug-lilypond so one of our bugmeisters
can

>> create
>>> an enhancement request.
>>>
>>> Thanks,
>>>
>>> Carl
>>>
>>>
>>>
>>> _______________________________________________
>>> lilypond-user mailing list
>>> [hidden email]
>>> http://lists.gnu.org/mailman/listinfo/lilypond-user
>>>
>>
>>
>>
>>
>> 2009: A year in review - http://www.tiscali.co.uk/2009
>>
>
>
>---
>----
>Join the Frogs!
>
>




2009: A year in review - http://www.tiscali.co.uk/2009


---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Re: Numeric note heads for singers

Carl Sorensen



On 1/4/10 4:37 PM, "[hidden email]" <[hidden email]> wrote:

> Thanks for the pointers. I already found the code in note-heads-
> engraver.cc but hadn't managed to find output-lib.scm. I'll see if I
> can figure out what's going on and will shout if I get stuck.

Sounds great!

One thing you should know -- in the LilyPond world we work with unix style
esthetics.  And on mailing lists we don't put our replies at the top of the
previous message.

I kind of used bad style in my last reply.  But you should plan on replying
in the middle and at the bottom of the posts.

Thanks,

Carl


---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Re: Numeric note heads for singers

David Pounder
In reply to this post by Carl Sorensen


>----Original Message----
>From: [hidden email]
>Date: 04/01/2010 23:22
>To: "[hidden email]"<[hidden email]>, "Lilypond Frogs
List"<[hidden email]>
>Subj: [frogs] Re: Numeric note heads for singers
>
>
>David,
>
>I'd love to have you jump in on this.
>
>I think you need to look at the code that produces all of the special
note
>heads in scm/output-lib.scm.
>
>Standard easy note heads are created by note-head::brew-ez-stencil.
>
>You could write a note-head::brew-shape-note-ez-stencil to do the
honors, or
>alternatively, you could just use standard ez note heads with a
number
>indicating the scale degree instead of with a letter.  If you look
>brew-ez-stencil, you'll see that letter is a markup of the pitch-
string.  If
>shapeNotes is active, then you'd do the same markup with the scale
degree.
>So you just need to figure out how to get the scale degree.
>
>The current code for getting the scale degree is found in
>ly/note-heads-engraver.cc, lines 98-114.
>
>Have a look at these areas, and let me know if I can answer more
questions.
>
>Thanks,
>
>Carl
>
UNIX-mode on:

After unsuccessfully trying to find a way to access the tonic
information from the stencil callback, I've finally realised that the
contexts don't exist when the stencils are called. It therefore seems
that I'm going to need to modify the engraver to set the scale-degree
as an internal grob property.

To do this I'm going to have to set-up a dual boot, re-read all the
git stuff and practice building and testing, so please shriek if I'm
going down the wrong route :)

- David.



2009: A year in review - http://www.tiscali.co.uk/2009


---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Re: Numeric note heads for singers

Carl Sorensen
On 1/6/10 12:30 PM, "[hidden email]" <[hidden email]> wrote:

>>
> UNIX-mode on:
>
> After unsuccessfully trying to find a way to access the tonic
> information from the stencil callback, I've finally realised that the
> contexts don't exist when the stencils are called. It therefore seems
> that I'm going to need to modify the engraver to set the scale-degree
> as an internal grob property.
>
> To do this I'm going to have to set-up a dual boot, re-read all the
> git stuff and practice building and testing, so please shriek if I'm
> going down the wrong route :)

Actually, I think you've got it exactly nailed.  I didn't foresee this
difficulty when I said it would be an easy job...

You have the choice of doing a virtual machine Linux or a dual-boot.  If I
were doing it, I'd do a virtual machine, because I *hate* doing the
shutdown/reboot sequence when I want to go do something in the other OS.  Of
course, this will make LilyPond slower, but I *think* it's still manageable,
depending on the speed and memory of your machine.

When you decide to do the git stuff, you've got the choice of either
learning git or just using lily-git.tcl.  Can I ask you to start off trying
lily-git.tcl, just to see how that works?

When it comes time to set up scale-degree, I suspect it should be an
internal grob property.

If I could figure out a way to do it, I'd do the engraver work for you, and
ship you a new binary that you could then play with the Scheme with.  But
that would require me to be able to use GUB on my machine, and I don't think
that's currently feasible.

If it helps any, I think that in the long run you'll be happier being able
to compile it yourself anyway.  It will give you the flexibility to make
things happen the way you want them to.

HTH,

Carl


---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Re: Numeric note heads for singers

Neil Puttock
2010/1/7 Carl Sorensen <[hidden email]>:

> On 1/6/10 12:30 PM, "[hidden email]" <[hidden email]> wrote:
>>>
>> UNIX-mode on:
>>
>> After unsuccessfully trying to find a way to access the tonic
>> information from the stencil callback, I've finally realised that the
>> contexts don't exist when the stencils are called. It therefore seems
>> that I'm going to need to modify the engraver to set the scale-degree
>> as an internal grob property.
>>
>> To do this I'm going to have to set-up a dual boot, re-read all the
>> git stuff and practice building and testing, so please shriek if I'm
>> going down the wrong route :)
>
> Actually, I think you've got it exactly nailed.  I didn't foresee this
> difficulty when I said it would be an easy job...

I think this approach is wrong: since you need to specify the start
pitch (i.e., the note which will be labelled `1'), which could be in
any octave, knowing the tonic (from which a scale degree would be
computed) isn't very useful.

Depending on whether this feature is considered useful enough to be
part of LilyPond, I'd suggest one of the following alternatives:

-) Write a callback for 'note-names which would take a starting pitch,
comparing it with the current NoteHead's pitch to build the vector.
Since this would be evaluated each time a NoteHead needs printing, it
would be easy just to make a seven-element vector with the same
string.  This is a crude hack, but suitable for an LSR snippet.

-) Add the start-pitch as an optional argument to
note-head::brew-ez-stencil, which would be used as above for
comparison with the current pitch.  This is more elegant since it
doesn't abuse the 'note-names property.

In either case, a music function could be used to pass the pitch as
music (rather than having to use ly:make-pitch directly), then either
overriding 'note-names or adding the optarg to the stencil callback.

Regards,
Neil

---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Re: Numeric note heads for singers

Carl Sorensen



On 1/7/10 1:53 PM, "Neil Puttock" <[hidden email]> wrote:

> 2010/1/7 Carl Sorensen <[hidden email]>:
>> On 1/6/10 12:30 PM, "[hidden email]" <[hidden email]> wrote:
>>>>
>>> UNIX-mode on:
>>>
>>> After unsuccessfully trying to find a way to access the tonic
>>> information from the stencil callback, I've finally realised that the
>>> contexts don't exist when the stencils are called. It therefore seems
>>> that I'm going to need to modify the engraver to set the scale-degree
>>> as an internal grob property.
>>>
>>> To do this I'm going to have to set-up a dual boot, re-read all the
>>> git stuff and practice building and testing, so please shriek if I'm
>>> going down the wrong route :)
>>
>> Actually, I think you've got it exactly nailed.  I didn't foresee this
>> difficulty when I said it would be an easy job...
>
> I think this approach is wrong: since you need to specify the start
> pitch (i.e., the note which will be labelled `1'), which could be in
> any octave, knowing the tonic (from which a scale degree would be
> computed) isn't very useful.

Neil, your understanding of the code is certainly greater than mine, so I
don't want to disagree with you.  But let me explain my thought a little bit
more, so you can help me see why my approach is wrong.

In lily/note-heads-engraver.cc, line 93, the engraver does

note->set_property ("staff-position", scm_from_int (pos));

Then, at line 106, the scale degree that is used to look up
shape notes is calculated as delta.

My thought was that we could then do

note->set_property ("scale-degree"", scm_from_int (delta));

Then, when it's time to do the easyShapeNoteHead, we can get the scale
degree of the note-head by checking its scale-degree property.

Why is this a bad approach?

Thanks,

Carl


---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Re: Numeric note heads for singers

Neil Puttock
2010/1/7 Carl Sorensen <[hidden email]>:

> Then, at line 106, the scale degree that is used to look up
> shape notes is calculated as delta.
>
> My thought was that we could then do
>
> note->set_property ("scale-degree"", scm_from_int (delta));
>
> Then, when it's time to do the easyShapeNoteHead, we can get the scale
> degree of the note-head by checking its scale-degree property.
>
> Why is this a bad approach?

The delta can't be greater than seven unless you rewrite it just for
easy heads, so it's no more useful than setting 'note-names to a basic
vector.

If you look at the mock-up on David Olson's website
(http://www.hosorembo.com/Lily/Lilindex.html), the starting pitch is a
F sharp above middle C.  At one point the melody reaches the F sharp
an octave above, which is labelled `8'.  Therefore unless the user can
specify the start pitch in advance, there's no way for LilyPond to
decide which pitch represents the origin.

Regards,
Neil

---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Re: Numeric note heads for singers

David Pounder
In reply to this post by Carl Sorensen


>----Original Message----
>From: [hidden email]
>Date: 07/01/2010 22:17
>To: "Carl Sorensen"<[hidden email]>
>Cc: "[hidden email]"<[hidden email]>, "Lilypond Frogs
List"<[hidden email]>

>Subj: Re: [frogs] Re: Numeric note heads for singers
>
>2010/1/7 Carl Sorensen <[hidden email]>:
>
>> Then, at line 106, the scale degree that is used to look up
>> shape notes is calculated as delta.
>>
>> My thought was that we could then do
>>
>> note->set_property ("scale-degree"", scm_from_int (delta));
>>
>> Then, when it's time to do the easyShapeNoteHead, we can get the
scale
>> degree of the note-head by checking its scale-degree property.
>>
>> Why is this a bad approach?
>
>The delta can't be greater than seven unless you rewrite it just for
>easy heads, so it's no more useful than setting 'note-names to a
basic
>vector.
>
>If you look at the mock-up on David Olson's website
>(http://www.hosorembo.com/Lily/Lilindex.html), the starting pitch is
a
>F sharp above middle C.  At one point the melody reaches the F sharp
>an octave above, which is labelled `8'.  Therefore unless the user
can
>specify the start pitch in advance, there's no way for LilyPond to
>decide which pitch represents the origin.
>
>Regards,
>Neil
>

Neil -

Thanks for bringing this up - I think there may be a bit of confusion
over the purpose of the original request. My understanding was that the
numbers should represent the scale degree, which would therefore be
between 1 and 7, regardless of the octave. While I take your point that
David's example does go up to eight, I didn't interpret the request in
this way as some melodies might then want to go down to a 0 or -1 and
this wouldn't make life very easy for singers.

Setting the note-names vector manually worked for me, but it requires
an additional override each time there is a change of tonic. I thought
the purpose of this issue was to avoid the need for this?

Does this make sense?

David.



2009: A year in review - http://www.tiscali.co.uk/2009


---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Re: Numeric note heads for singers

David Pounder
In reply to this post by Carl Sorensen


----Original Message----
From: [hidden email]
Date: 09/01/2010 19:01
To: "Carl Sorensen"<[hidden email]>
Cc: "[hidden email]"<[hidden email]>, "[hidden email]"<[hidden email]>
Subj: Re: [frogs] Re: Numeric note heads for singers


Carl, pounderd, and others,

I like the idea of "frogs" picking up an idea like this.

But, it's not real high priority, and in graphix-rendition terms it would be difficult to inscribe a "4" into the triangular "pennant" shape of "fa" because the triangle points in the opposite direction from the triangular outline of "4".

Getting new singers to distinguish between tonic-triangle and fourth-triangle is the main thing.

I guess there isn't any way of doing this right now, and that's a good answer to my question.

Thanks,

David Olson
Culver City, CA


David,

Thanks for letting us know. It looks as though we all misunderstood the request.

David.

2009: A year in review -  http://www.tiscali.co.uk/2009

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Re: Numeric note heads for singers

Carl Sorensen



On 1/9/10 12:50 PM, "[hidden email]" <[hidden email]> wrote:

>
>
>> ----Original Message----
>> From: [hidden email]
>> Date: 09/01/2010 19:01
>> To: "Carl Sorensen"<[hidden email]>
>> Cc: "[hidden email]"<[hidden email]>,
>> "[hidden email]"<[hidden email]>
>> Subj: Re: [frogs] Re: Numeric note heads for singers
>>
>>
>> Carl, pounderd, and others,
>>
>> I like the idea of "frogs" picking up an idea like this.
>>
>> But, it's not real high priority, and in graphix-rendition terms it would be
>> difficult to inscribe a "4" into the triangular "pennant" shape of "fa"
>> because the triangle points in the opposite direction from the triangular
>> outline of "4".
>>
>> Getting new singers to distinguish between tonic-triangle and fourth-triangle
>> is the main thing.
>>
>> I guess there isn't any way of doing this right now, and that's a good answer
>> to my question.
>>
>> Thanks,
>>
>> David Olson
>> Culver City, CA
>>
>>
> David,
>
> Thanks for letting us know. It looks as though we all misunderstood the
> request.

Would it be of use to have easy note heads that were circles but with 1
through 7 in them?  It seems to me that that's what the shape notes do.

David had an easy way of making that happen by setting the note head names
for a given key, and I think (hope) he's planning on doing the automatic
easy heads for scale degree.

Thanks,

Carl


---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Re: Numeric note heads for singers

Ian Hulin
Hi Carl and everyone,

This looks a good idea in principle, but you've got to address what I call the tonic-sol-fa/solfeggio problem.
You have to consider all of these (and I may have missed a few)
  1. What is your base-level tonic?
  2. what mode you are in (\major \minor \dorian etc.)?
  3. => what key signature do you currently assume?
  4. are you adopting \relative-type rules  - when do you decide on an octave shift for the base tonic?
    1. A good test for this would famously difficult singing range of the U.S. national anthem
  5. How do you notate modulations when a piece is changing key, an f in the key of c needs to become an f# to prepare for a modulation into g, but you aren't quite ready to adopt the new key signature (and therefore reset the tonic) yet?
I suppose you could do some of this with mark-up stuff
  1. \key c  -> ^"tonic=c" or
  2. \key c \major -> ^"tonic= c major"
  3. whatever \key is set as
  4. you could use the \relative type idea,  f4 c'4 notates as 4 1' on crotchet note-heads
  5. Add the possibility of accidental  f# or b flat being notated as 4# or 7b on note-heads, or 4^"#" 7^"b" (except use the flat-sign for b) 
Just some things to think about, HTH.

Cheers,

Ian


On 10/01/10 02:05, Carl Sorensen wrote:


On 1/9/10 12:50 PM, [hidden email] [hidden email] wrote:

  

    
----Original Message----
From: [hidden email]
Date: 09/01/2010 19:01
To: "Carl Sorensen"[hidden email]
Cc: [hidden email][hidden email],
[hidden email][hidden email]
Subj: Re: [frogs] Re: Numeric note heads for singers


Carl, pounderd, and others,

I like the idea of "frogs" picking up an idea like this.

But, it's not real high priority, and in graphix-rendition terms it would be
difficult to inscribe a "4" into the triangular "pennant" shape of "fa"
because the triangle points in the opposite direction from the triangular
outline of "4".

Getting new singers to distinguish between tonic-triangle and fourth-triangle
is the main thing.

I guess there isn't any way of doing this right now, and that's a good answer
to my question.

Thanks,

David Olson
Culver City, CA


      
David,

Thanks for letting us know. It looks as though we all misunderstood the
request.
    
Would it be of use to have easy note heads that were circles but with 1
through 7 in them?  It seems to me that that's what the shape notes do.

David had an easy way of making that happen by setting the note head names
for a given key, and I think (hope) he's planning on doing the automatic
easy heads for scale degree.

Thanks,

Carl


---
----
Join the Frogs!


______________________________________________        
This email has been scanned by Netintelligence        
http://www.netintelligence.com/email


  

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Re: Numeric note heads for singers

Carl Sorensen



On 1/10/10 4:52 AM, "Ian Hulin" <[hidden email]> wrote:

> Hi Carl and everyone,
>
> This looks a good idea in principle, but you've got to address what I call the
> tonic-sol-fa/solfeggio problem.
> You have to consider all of these (and I may have missed a few)
> 1. What is your base-level tonic?
> 2. what mode you are in (\major \minor \dorian etc.)?
> 3. => what key signature do you currently assume?
> 4. are you adopting \relative-type rules  - when do you decide on an octave
> shift for the base tonic?
>> 1. A good test for this would famously difficult singing range of the U.S.
>> national anthem
> 5. How do you notate modulations when a piece is changing key, an f in the key
> of c needs to become an f# to prepare for a modulation into g, but you aren't
> quite ready to adopt the new key signature (and therefore reset the tonic)
> yet?
> 6.  
> I suppose you could do some of this with mark-up stuff
> 1. \key c  -> ^"tonic=c" or
> 2.  
> 3. \key c \major -> ^"tonic= c major"
> 4. whatever \key is set as
> 5. you could use the \relative type idea,  f4 c'4 notates as 4 1' on crotchet
> note-heads
> 6. Add the possibility of accidental  f# or b flat being notated as 4# or 7b
> on note-heads, or 4^"#" 7^"b" (except use the flat-sign for b) 
> Just some things to think about, HTH.

Thanks for the thoughts.  These are all potential problems for complex
music; I doubt any of them are problems for shape-note music.  Shape-note
music is used for hymn singing from the shape-note hymnbook; there aren't
modulations in these songs[1].  Further, shape-notes are based on the major
scale, rather than minor or dorian.  The whole idea of shape notes is that
regardless of the key, the intervals between the various shapes are
constant.  Now, this idea is not enforced in Sacred Harp singing, because
there are only four shapes in sacred harp, but it is in Aiken heads, where
there are seven different shapes.

Bottom line, I don't think we need to worry about the difficult stuff, and I
don't think we need to worry about the octavation.  I think 1-7 would be
very helpful.

Thanks,

Carl

[1] http://en.wikipedia.org/wiki/Shape_note


---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Re: Numeric note heads for singers

David Pounder
In reply to this post by Carl Sorensen


>----Original Message----
>From: [hidden email]
>Date: 10/01/2010 15:39
>To: "Ian Hulin"<[hidden email]>
>Cc: "[hidden email]"<[hidden email]>, "lilypond-user@gnu.
org"<[hidden email]>, "[hidden email]"<[hidden email]>

>Subj: Re: [frogs] Re: Numeric note heads for singers
>
>
>
>
>On 1/10/10 4:52 AM, "Ian Hulin" <[hidden email]> wrote:
>
>> Hi Carl and everyone,
>>
>> This looks a good idea in principle, but you've got to address what
I call the
>> tonic-sol-fa/solfeggio problem.
>> You have to consider all of these (and I may have missed a few)
>> 1. What is your base-level tonic?
>> 2. what mode you are in (\major \minor \dorian etc.)?
>> 3. => what key signature do you currently assume?
>> 4. are you adopting \relative-type rules  - when do you decide on
an octave
>> shift for the base tonic?
>>> 1. A good test for this would famously difficult singing range of
the U.S.
>>> national anthem
>> 5. How do you notate modulations when a piece is changing key, an f
in the key
>> of c needs to become an f# to prepare for a modulation into g, but
you aren't
>> quite ready to adopt the new key signature (and therefore reset the
tonic)
>> yet?
>> 6.  
>> I suppose you could do some of this with mark-up stuff
>> 1. \key c  -> ^"tonic=c" or
>> 2.  
>> 3. \key c \major -> ^"tonic= c major"
>> 4. whatever \key is set as
>> 5. you could use the \relative type idea,  f4 c'4 notates as 4 1'
on crotchet
>> note-heads
>> 6. Add the possibility of accidental  f# or b flat being notated as
4# or 7b
>> on note-heads, or 4^"#" 7^"b" (except use the flat-sign for b) 
>> Just some things to think about, HTH.
>
>Thanks for the thoughts.  These are all potential problems for
complex
>music; I doubt any of them are problems for shape-note music.  Shape-
note
>music is used for hymn singing from the shape-note hymnbook; there
aren't
>modulations in these songs[1].  Further, shape-notes are based on the
major
>scale, rather than minor or dorian.  The whole idea of shape notes is
that
>regardless of the key, the intervals between the various shapes are
>constant.  Now, this idea is not enforced in Sacred Harp singing,
because
>there are only four shapes in sacred harp, but it is in Aiken heads,
where
>there are seven different shapes.
>
>Bottom line, I don't think we need to worry about the difficult
stuff, and I
>don't think we need to worry about the octavation.  I think 1-7 would
be
>very helpful.
>
>Thanks,
>
>Carl
>
>[1] http://en.wikipedia.org/wiki/Shape_note

Currently with the shape note heads, the tonic is set by the choice of
\key command. In \key c \major, c is the tonic. In \key d \dorian, d is
the tonic. If you want it to work sol-fa style, then you would use \key
c \major for both and it would work.

Sol-fa handles modulation by printing the old scale-degree in
superscript before the new one. There isn't really enough room in the
note-heads to do this and we would begin to confuse two different
notation systems. I think that a proper sol-fa context would be needed
to deal with the complexities of that particular notation system.

Carl - I'm happy to go ahead with this if you still want me to, but
I'm a bit concerned now that no-one would use it and that the original
requester was actually looking for something quite different.

Could you try running the lily source below which I think provides a
simple means to the same end and could be turned into a snippet? If you
then still think it would be useful to have this automated, I'll
continue where I left off.

\version "2.13.11"

{ \easyHeadsOn
  \override Voice . NoteHead
     #'note-names = #(vector "1" "2" "3" "4" "5" "6" "7")
  \relative c' { c d e f g a b }

  \key a \major
  \override Voice . NoteHead
     #'note-names = #(vector "3" "4" "5" "6" "7" "1" "2")
  \relative c { a b c d e f g }
  \relative c' { a b c d e f g }
  \relative c'' { a b c d e f g }

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

  \key d \dorian
  \override Voice . NoteHead
     #'note-names = #(vector "7" "1" "2" "3" "4" "5" "6")
  \relative c' { d e f g a b c }
}



2009: A year in review - http://www.tiscali.co.uk/2009


---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Re: Numeric note heads for singers

Neil Puttock
2010/1/10 [hidden email] <[hidden email]>:

> Could you try running the lily source below which I think provides a
> simple means to the same end and could be turned into a snippet? If you
> then still think it would be useful to have this automated, I'll
> continue where I left off.

If you want to automate this, it can now be easily done without
touching the C++ code, since Han-Wen's just added basic support for
scheme-programmable engravers.  It's a good candidate for a
documentation snippet, since it would be a gentle introduction to
rolling one's own engravers in scheme.

Regards,
Neil

---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Re: Numeric note heads for singers

David Pounder
In reply to this post by Carl Sorensen


>----Original Message----
>From: [hidden email]
>Date: 10/01/2010 19:16
>To: "[hidden email]"<[hidden email]>
>Cc: "Ian Hulin"<[hidden email]>, "[hidden email]"<frogs@lilynet.
net>, "[hidden email]"<[hidden email]>, <c_sorensen@byu.
edu>
>Subj: Re: [frogs] Re: Numeric note heads for singers
>
>2010/1/10 [hidden email] <[hidden email]>:
>
>> Could you try running the lily source below which I think provides
a
>> simple means to the same end and could be turned into a snippet? If
you

>> then still think it would be useful to have this automated, I'll
>> continue where I left off.
>
>If you want to automate this, it can now be easily done without
>touching the C++ code, since Han-Wen's just added basic support for
>scheme-programmable engravers.  It's a good candidate for a
>documentation snippet, since it would be a gentle introduction to
>rolling one's own engravers in scheme.
>
>Regards,
>Neil
>
>

I think this makes a lot of sense. Thanks for the feedback.

- David.



2009: A year in review - http://www.tiscali.co.uk/2009


---
----
Join the Frogs!

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Re: Numeric note heads for singers

David Pounder
In reply to this post by Carl Sorensen


>----Original Message----
>From: [hidden email]
>Date: 10/01/2010 19:46
>To: <[hidden email]>
>Cc: "Ian Hulin"<[hidden email]>, "[hidden email]"<lilypond-
[hidden email]>, "[hidden email]"<[hidden email]>, <c_sorensen@byu.
edu>
>Subj: Re: [frogs] Re: Numeric note heads for singers
>
>
>
>>----Original Message----
>>From: [hidden email]
>>Date: 10/01/2010 19:16
>>To: "[hidden email]"<[hidden email]>
>>Cc: "Ian Hulin"<[hidden email]>, "[hidden email]"
<frogs@lilynet.
>net>, "[hidden email]"<[hidden email]>,
<c_sorensen@byu.
>edu>
>>Subj: Re: [frogs] Re: Numeric note heads for singers
>>
>>2010/1/10 [hidden email] <[hidden email]>:
>>
>>> Could you try running the lily source below which I think
provides
>a
>>> simple means to the same end and could be turned into a snippet?
If

>you
>>> then still think it would be useful to have this automated, I'll
>>> continue where I left off.
>>
>>If you want to automate this, it can now be easily done without
>>touching the C++ code, since Han-Wen's just added basic support for
>>scheme-programmable engravers.  It's a good candidate for a
>>documentation snippet, since it would be a gentle introduction to
>>rolling one's own engravers in scheme.
>>
>>Regards,
>>Neil
>>
>>
>
>I think this makes a lot of sense. Thanks for the feedback.
>
>- David.

Actually, the new scheme engraver functionality is so good that the
code below seems to do the trick. Unfortunately, it doesn't demonstrate
very much of what can be done with engravers, but I can turn it into a
snippet if it would be useful.

- David.

 #(define ez-numbers-engraver (list
  (cons 'acknowledgers
   (list
     (cons 'note-head-interface
       (lambda (engraver grob source-engraver)
         (let* (
           (context (ly:translator-context engraver))
           (tonic (ly:context-property context 'tonic))
           (tonic-index (ly:pitch-notename tonic))
           (grob-pitch (ly:event-property (event-cause grob) 'pitch))
           (grob-index (ly:pitch-notename grob-pitch))
           (delta (modulo (- grob-index tonic-index) 7))
           (note-names
             (map
               (lambda (x)
                 (list->string
                   (list
                     (integer->char
                       (+ 1 delta (char->integer #\0))))))
              '(0 1 2 3 4 5 6))))
        (ly:grob-set-property! grob 'note-names (list->vector note-
names)))))))))


\layout {
  \context {
    \Voice
    \consists \ez-numbers-engraver
  }
}

\relative c' {
  \easyHeadsOn
  c d e f g a b c
  \key a \major
  a, b c d e f g a
  \key b \dorian
  b, c d e f g a b
}



2009: A year in review - http://www.tiscali.co.uk/2009


---
----
Join the Frogs!

12
Loading...