implementing roman numeral harmonic analysis?

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

implementing roman numeral harmonic analysis?

Mark Polesky
Hi everyone,

On a whim I decided to try to implement a roman numeral
harmonic analysis interface, entirely in scheme.  I hijacked
the Lyrics context for my analysis figures, and took
advantage of the brand new NullVoice context (which has been
in master for about a day now).

I got pretty far, but there are still some pretty basic
things that I don't know how to do.  The most important of
these are suspensions, where a line is drawn connecting the
suspension number to its resolution number, as in figured
bass (like V4-3).  Another need is to be able to have the
extender extend from one chord to another while an
intermediate chord gets a figure, like so:

   P6/4
I________I6

A third thing is showing the pivot chord, either by
enclosing both interpretations in a box:

------
| I  |
| IV |
------

or doing something like this:

  I |
-----
| IV

Keep in mind, if you want to experiment with this, you'll
need the latest copy of engraver-init.ly in your installed
version:
http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=blob_plain;f=ly/engraver-init.ly;hb=df8a24

Anyway, I can't tell, but maybe this is a dead-end approach.
If so, what would be the better way to implement this?  Or
put another way, is there hope for this approach?

Thanks.
- Mark
_______________________________________________
lilypond-devel mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-devel

harmonic-analysis.scm (5K) Download Attachment
harmonic-analysis.ly (1K) Download Attachment
harmonic-analysis.png (62K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: implementing roman numeral harmonic analysis?

janek.lilypond
Hi!

2013/9/5 Mark Polesky <[hidden email]>:
> Hi everyone,
>
> On a whim I decided to try to implement a roman numeral
> harmonic analysis interface, entirely in scheme.

mmm, this looks impressive!
Since this cannot be placed in LSR, maybe you'd like add it to a
snippet repository which I've just created together with Urs?
http://github.com/openlilylib/snippets
(Don't worry about having to use git - everything can be done via a
simple web interface, and it shouldn't be more difficult to use than
LSR)

best,
Janek

_______________________________________________
lilypond-devel mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Fwd: implementing roman numeral harmonic analysis?

David Nalesnik
**Arghh**  This should have gone to -devel in the first place!

---------- Forwarded message ----------
From: David Nalesnik <[hidden email]>
Date: Thu, Sep 5, 2013 at 8:09 AM
Subject: Fwd: implementing roman numeral harmonic analysis?
To: [hidden email], lilypond-user <[hidden email]>



[Janek--sorry about the duplicate message!]



Hi,


On Thu, Sep 5, 2013 at 7:17 AM, Janek Warchoł <[hidden email]> wrote:
Hi!

2013/9/5 Mark Polesky <[hidden email]>:
> Hi everyone,
>
> On a whim I decided to try to implement a roman numeral
> harmonic analysis interface, entirely in scheme.

I haven't experimented with this yet, but I wanted to share with you a set of functions which I've been using for creating analyses for theory classes I teach.  You can find a more recent version (not that recent!) here:


The extension lines you talk about have been at the back of my mind, and I've wondered if there's a way to integrate Lilypond's vast capabilities for figured bass into this system.

A big stumbling block of my approach here has been to allow for a style of input where the user need to include placeholders in the input: so if you wanted to input V/V, you wouldn't need to include a dummy quality marker and a dummy inversion.  Also, there's the question of using note names with accidentals (which these functions do).

You ask about analysis of modulations: somewhere I have a \pivot function which does the Kostka/Payne style arrangement.  I'll try to dig that up.

--David



_______________________________________________
lilypond-devel mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: implementing roman numeral harmonic analysis?

Mark Polesky
Janek Warchoł wrote:
> mmm, this looks impressive!
> Since this cannot be placed in LSR, maybe you'd like add
> it to a snippet repository which I've just created
> together with Urs?
> http://github.com/openlilylib/snippets
> (Don't worry about having to use git - everything can be
> done via a simple web interface, and it shouldn't be more
> difficult to use than LSR)

Hahaha, and what could be simpler to use than the LSR?
Anyway, git doesn't scare me, but posting a half-baked
snippet might.  I'll wait to hear more feedback before I
consider adding anything.


David Nalesnik wrote:
> I haven't experimented with this yet, but I wanted to
> share with you a set of functions which I've been using
> for creating analyses for theory classes I teach.  You can
> find a more recent version (not that recent!) here:
>
http://www.mail-archive.com/lilypond-user@.../msg69861/rN.ly

David, just so you know, the archive on gnu.org (that some
of us use) munges urls containing "@" since it tries to hide
email addresses.  See:
http://lists.gnu.org/archive/html/lilypond-devel/2013-09/msg00031.html

David's file can be found here (change "[at]" to "@"):
http://www.mail-archive.com/lilypond-user[at]gnu.org/msg69861/rN.ly


> The extension lines you talk about have been at the back
> of my mind, and I've wondered if there's a way to
> integrate Lilypond's vast capabilities for figured bass
> into this system.

Yes, hopefully someone reading this thread can comment on
that!  (not just the extender lines, but the suspension
connectors too)


> A big stumbling block of my approach here has been to
> allow for a style of input where the user need to include
> placeholders in the input

It shouldn't be too hard to combine the thoroughness of your
function with the convenient input syntax of mine.  But
before I spend any more time on this, I'd like to know if
it's a dead end with regard to the suspension connectors
mentioned above.

- Mark

_______________________________________________
lilypond-devel mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-devel
Reply | Threaded
Open this post in threaded view
|

Re: implementing roman numeral harmonic analysis?

janek.lilypond
2013/9/5 Mark Polesky <[hidden email]>:

> Janek Warchoł wrote:
>> mmm, this looks impressive!
>> Since this cannot be placed in LSR, maybe you'd like add
>> it to a snippet repository which I've just created
>> together with Urs?
>> http://github.com/openlilylib/snippets
>> (Don't worry about having to use git - everything can be
>> done via a simple web interface, and it shouldn't be more
>> difficult to use than LSR)
>
> Hahaha, and what could be simpler to use than the LSR?
> Anyway, git doesn't scare me, but posting a half-baked
> snippet might.  I'll wait to hear more feedback before I
> consider adding anything.

Do as you see fit.  However, there is absolutely nothing wrong in
adding an unfinished snippet (simply mark it as unfinished so that
other people will know it).  In fact, having intermediate versions of
the snippet in the repository history might be quite valuable.

cheers,
Janek

_______________________________________________
lilypond-devel mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/lilypond-devel