Open jgarte opened 1 year ago
Hey @jgarte I love this idea and agree that the API should reflect the composers mindset.
I think most of these operations should be fairly straightforward to implement - I might take a stab at it towards the end of the month, although if anyone else is interested in the meantime, feel free to send a patch!
@accraze
Let me know if you'd like to pair on this over jitsi.
Otherwise, I'll try to hack on this a bit myself when I find a pocket of time to work on it.
Currently,
twelve-tone
asks the user to use the following notation to get a particular row form from the randomly generated run:twelve-tone -r 2 -c 3
I'm proposing that instead we used the notation that composers are used to when they learn this stuff in school/theory classes/etc.
This would also reduce the amount of input that a user has to type at the CLI interface:
twelve-tone ri
versustwelve-tone -r 2 -c 3
. The latter seems too verbose of a CLI interface for getting a row form in my humble opinion.The following gives you the retrograde-inversion from a randomly generated twelve-tone matrix.
twelve-tone ri
or
twelve-tone RI
Additionally passing in the "generator" note from which the matrix is created would be cool.
The following would get you the retrograde-inversion from the twelve-tone matrix based off of a G note.
twelve-tone G ri
or
twelve-tone G RI
I have not mentioned how we would handle accidentals in this issue but there are a few approaches we can take.
The idea would be to have
p
,i
,r
, andri
and subcommands for the CLI.That is, prime, inversion, retrograde, and retrograde-inversion row forms as subcommands that can be passed in to the CLI of
twelve-tone
in order to choose the row form that you want to retrieve.@accraze WDYT