is there any reason why you have chosen it to be a _three_ voice midi
generator, e.g. why not 4,5,6,8,12?
Kind regards,
Tony
this makes a lot of sense as dimensions are (normally) orthogonal and midi
channels in midi files/phrases also. KeyChaos could be also called something
like "fractal modulated midi channels". It would be interesting to use
fractals e.g. for modulating parameters in step sequencers.
I am mentioning step sequencers as this is the next thing I want to try out
with keykit, this time it should be my first real-time keykit use. So far I
was using only lowkey.exe for various midi file manipulations.
Before starting I've still to do lot's of homework, like studying examples
of Tim, like the typo() variants, or this:
http://www.autohotkey.com/forum/viewtopic.php?p=272625 or now even KeyChaos.
I would prefer a structure which does not require any GUI, only some text
information in the console what was changed would be enough, as in typo().
The main flow of information would be
M input midi events --> "intelligent" combination and processing of those
using keykit/lowkey --> N output midi events
The playing of very short, e.g. 2bar, and looping midi phrases in the step
sequencer should never stop, only their parameters should be changed based
on the M input midi events. If we would call the processing of these phrases
actions, I can imagine
a) note-level ~ local actions and
b) phrase-level ~ global actions.
Ideas around step sequencers and controlling them using external midi
controllers, like e.g. in my case a BCR2000, can get quite complicated if it
should be able to compete with the best ones availabe as hardware now. Just
to mention some concepts shortly here, they can have
1. songs (set of tracks)
2. tracks (which contain patterns)
3. patterns (or phrases using keykit terminology)
4. sounds (usually midi-cc sets for certain target synthesizers)
5. efx (also midi-cc sets for certain target effect devices)
6. scenes (set of active tracks)
7. snapshots (of anything important above, for easy and fast! recalling
again)
Tim, would you also recommend me starting with your typo() examples or
anything else maybe?
Kind regards,
Tony