[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Counterpoint (was: request for programming advice)
From: |
Urs Liska |
Subject: |
Counterpoint (was: request for programming advice) |
Date: |
Tue, 8 Nov 2016 10:57:51 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 |
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
Re: request for programming advice, Urs Liska, 2016/11/07