OK, some ideas. Thinking aloud. Call this the “I’m too lazy to setup patterns manually feature” request.
I’m pretty sure the monome crew will be way ahead of me here - and have a better approach or some coming new features - but I’ll throw this all out here anyway.
I’ve also been drinking a beer or two while flipping back and forth through the various TT studies and docs, so my brain and eyes are a little crossed right now.
Anyway… on we go.
What I was trying to do, lazily : Setup a fast musical pattern coming out of CV1, in a simple scale, e.g. A Minor, with a complimentary second slowly playing pattern coming out of CV2. In other words, a lead line and a bass line.
Or, the bigger picture : make patterns more immediately musically “generatable”, to enable all sorts of interesting melodic and harmonic modulations possible, with a very minimal command set.
After doing a few P.PUSHes to setup patterns (before I tried Tracker mode), I thought there must be a better way to quickly get some simple scales going.
Well, before I get into that, I think P.CLR might be useful, which would set all pattern steps to 0, but also do a P.L 0.
Anyway, back to scales.
I initially thought the following might be useful (written in “pseudo TT code” to be simpler to read!) :
P.GEN A MINOR // generate a pattern of notes from the minor scale in the key of A
Maybe.
How about this as attempt 2:
P.ROOT C // set the key
P.SCALE MINOR // set the scale
P.GEN // generate a pattern using the .ROOT and .SCALE values, i.e. C Minor
P. SCALE MAJOR // change scale
P.GEN // regen a new pattern, this time C Major
Hmmm. Not bad.
How about P.GEN n, e.g. P.GEN 16 would generate a 16 note C Minor pattern.
Or P.GEN n i // generates n notes from the scale, repeated i times.
OK. Interesting. Might not be the right way.
So let’s look at QT (quantize).
After a skim of the manual it looks like I can do some basic quantizations to semi and whole tones, and with some mathematical tricks I could get other things … but not predefine scales.
We could expand QT a bit, so we could go something like (again in “pseudo code”):
CV 1 N QT “MAJOR” RAND 12
That’s a bit more like it.
So let’s then look at the “note tables”, e.g. N 0-127.
Why not something like this:
S 0-10 … which are 10 predefined musical scales / modes. Your majors, your minors, your dorians, etc. You could have your 4tets and other craziness in here as well.
For example, let’s say that S 0 is Major.
So I could then go:
CV 1 N S 0 RAND 12 // pick a random note from the major scale, turning it into a volt, which goes out CV 1.
OK, that feels better.
Maybe.
CV 1 N S 1 RAND 3 // pick a random note from the first three notes of the minor scale
Then with a bit of CV.OFF (offset) I can set the key and away we go.
Anyway … I went on to dream up a visual “Scale Editor” mode, like Tracker mode, as a way to define the scales / intervals / roots … and realised I was getting carried away.
So, here ends the thinking.
Anything useful in here? Any other shortcuts or ideas? Did I merely lose the plot on the 3rd beer?
Brief not-very-exciting MP3 of what I was working on while fiddling with all this. Two oscillators, an 8 bar pattern over a 4 bar pattern, random jumps in pattern position.
20150826-T004.mp3 (2.6 MB)