lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Counterpoint (was: request for programming advice)


From: bart deruyter
Subject: Re: Counterpoint (was: request for programming advice)
Date: Tue, 8 Nov 2016 14:30:48 +0100

hey,

seems like my thoughts did spark some interest :-) . 
I had no knowledge of Humdrum at all, but I've read something about music21 before. If I'm reading it right Music21 is a python library to analyse music. I'm probably thinking way to simplistic, but frescobaldi is written in python too. Maybe there are possibilities to make the one work with the other.

I see in the music21 reference manual a converter from music21 to lilypond. If there would be a converter from lilypond to music21, it would be the easiest solution (maybe ly to musicxml export would be a good option too, but I don't think the musicxml exporter of frescobaldi is up to the task yet, or would I be wrong?). 
Embedded as an 'analysis' menu in frescobaldi (similare to page check rendering), frescobaldi could pass the score to music21, which analyses it, then sends the results back to frescobaldi, which renders it with the code generated by music21.lily.translate. 

Having analysis options and counterpoint checks, voiceleading checks etc. added to OpenLilyLib would on the other hand be very interesting because of less dependencies on external technologies and no conversion issues.

Just thinking out loud here, I'm already glad there is some interest in it :-)

grtz,
Bart



2016-11-08 12:38 GMT+01:00 Frauke Jurgensen <address@hidden>:
In short, yes, such things exist, though not in Lilypond. I am a computational musicologist that collaborates in developing tools for analysing counterpoint. We've got tools like this to use in Humdrum or Music21. I think the Lilypond implementation would not be trivial (as Urs says), but I'll talk to one of my colleagues who is a much better programmer and see what he says.

On Tue, Nov 8, 2016 at 9:57 AM, Urs Liska <address@hidden> wrote:


Am 07.11.2016 um 13:21 schrieb bart deruyter:
> On a sidenote (perhaps for a different topic), in Musescore there is
> the possibility to create plugins which provide harmony checks,
> someone also did a plugin for a previous Musescore version which
> checked only first species counterpoint.
>
> I know lilypond's first purpose is creating sheet music, not composing
> music, but are there snippets of scheme or libraries around which
> could do the same?
>
> I think, for people who study counterpoint and voice leading, or any
> other rule-set in music, it would be very interesting to have a an
> option to check if they've followed the rules. In my case I have no
> teacher, can't afford private lessons, so I have to figure it out on
> my own without any way to check if I'm actually correct in
> interpreting the rules and executing the exercises.
>

I don't know if any code for this or similar purposes is already around
(I suspect not, otherwise you'd have got a reply), but I think from the
organizational POV it should be pretty easy to write something like
that. Basically it would work similar to the part combiner: take two (or
more) music expressions, perform the calculation and produce some
output. I don't immediately see how the actual content checks would have
to be implemented, but the infrastructure should be striaghtforward.

I can see different ways to approach it: one could have a function that
simply performs the checks and prints out the results to the console, or
it could actually modify the music expressions in a way that the results
are printed directly in the score (e.g. coloring or other visible hints).
In a similar way one could also write functions for harmonic analysis.

Probably the actual implementation is not all that trivial, and I
wouldn't start working on it. But I think it would make a good
openLilyLib package, and if someone is interested in the topic and has
the necessary Scheme skills I'd be happy to help with the openLilyLib
part of things.

Urs

_______________________________________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user


_______________________________________________
lilypond-user mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/lilypond-user



reply via email to

[Prev in Thread] Current Thread [Next in Thread]