mercredi 4 juillet 2018

Coding a little custom app?

I'm not at all sure if this is a paying gig. I can pay some small reasonable amount for this, but not enough, obviously, to employ teams of coders.

It should only be a reasonably fun project for someone. It can be a Dr. Racket app, and we could print it here, open source.

This is a computer app of some kind that will print chains of tone-series labels based on user-specified go-to rules. Just all the possible chains.

It's not that I'm lazy*, it's just that there's a huge number of possibilities and computers are much, much better at finding all of them.


===============================
Simple Row-Chainer
===============================
> Could be stand-alone, could be tab in Microtonal Scales

>The user lists the series

>The user lists to which row-forms the series can go to

> The user lists the maximum chain length and the number of
chain-solutions to print

>The "go-to row-forms list" is a list of series-labels that are
the possible rows you can go to from P/0, I/0, R/0, and RI/0. The computer gives four lines beginning "from P/0:, from I/0:, from r/0:, from: RI/0:" and the user fills in the forms.

Example:
from P/0: P/8 r/4 r/5 i/6 ri/10 ri/9

from I/0: i/4 ri/8 ri/9 p/6 r/4 r/2 r/3

from r/0: r/8 p/4 p/5 i/3 i/10 i/9

from: RI/0: ri/4 i/8 i/9 r/6 p/4 p/2 p/3


P = Primary or original
I = Inversion
R = Retrograde
RI= Retrograde Inversion

/n means the transposition level. P/0 is whatever you typed as the original row.


> The go-to list is anything the user types; it doesn't have to actually
be good (in the sense I've been discussing in the 12-tone rows thread.)

> The program calculates the successions based on the logic of your list: If you specify p/0 to p/1 as a legal move, then of course the computer has to have the math to understand that it can also go from p/2 to p/3 wherever they might occur in some list. It does the simple additions and subtractions necessary to keep track of transposition levels ( the number after the /.)


> The program prints every possible solution up to chain-length n and number of solutions m,
every solution being a loop that begins and ends on p/0. A solution cannot contain the same
series twice, other than the p/0 at beginning and end.



example of a line of output, with or without the silly arrows:

p/0 ->r/5 ->p/8 ->ri/4 ->r/10 ->r/6 ->i/4 -> p/10 ->p/6 ->ri/3 -> p/0


Deluxe version:

> There is one more user field: Require Forms
If checked, the program only prints solutions which include at least 1
of the user's listed forms -- that is P, I, R, or RI.

Super-Duper Deluxe version:

>It understands 5m row-forms.




That's it -- not particularly exciting, but it's what I need right now.

I think that this would be used rarely enough that it could be slow and ugly,
as long as it spits out all the right answers.

caleb


* more stupid than lazy


via International Skeptics Forum https://ift.tt/2NpFZAJ

Aucun commentaire:

Enregistrer un commentaire