Loosely based on “Ultimate Chord Trigger by fmgdias” I’ve so far adapted the notes to have velocity senisitivity so I can play them with the SPD30 octapad, This way I can create loops with adding another machine or keyboard and also because the octapad doesn’t really allow for notes and chords to be selected easily. Not sure if anyone knows, but if you make a knob and assign to a note then control it with a drum pad, it’ll play velocity. I’ve also used stream byter (with major help from Nic at Audeonic) to control note (chord) length via a hi hat pedal. In this first case, it’s the last versio, we’ve accomplished this with note length almost as a note on/note off button but in this case it’s a slider on CC19. I’ll post the stream byter rules now.
IF LOAD
# constants - K0 K1 = controlling CC
ASS K0 = B0 13
# variables - L0 = current CC value
ASS L0 = 0
END
# force note on/vel 0
# to note off
9X XX 00 = 8X
# retain CC value
IF M0 == K0 K1
ASS L0 = M2
END
# block note ons if CC is 0
IF L0 == 0
9X = XX +B
END
# block all note offs
8X = XX +B
# send note off for
# all 128 notes on
# CC value 0
IF M0 == K0 K1 00
ASS I0 = 0
IF I0 < 80 +L
SND 80 I0 00
MAT I0 = I0 + 1
END
END
In the first version, the note length is actually controlled by the CC value based on a delay of 50ms and in this version the CC is 07
I have made this simple - just multiply the current CC
value by 50ms giving a range of 0 to 6350ms delay. Note, that this code
will only work in the output Stream Byter in MD:
IF LOAD
# constants - K0 K1 = controlling CC
# K2 = ms per CC value factor
ASS K0 = B0 07 32
# variables - L0 = current position
# L1 = current delay
ASS L0 = 40
MAT L1 = L0 * K2
END
# handle note off
9X XX 00 = 8X
IF MT == 80
# delay note off by L1 value
SND M0 M1 M2 +DL1
XX = XX +B
END
# handle controlling CC
IF M0 == K0 K1
# update current position and delay
ASS L0 = M2
MAT L1 = L0 * K2
END
You can change the CC number/channel and the per CC value delay factor
in the top ASS K0 line to suit your own needs. Also, in MD2, you should
set the note off interval to something low I guess.
I actually need a couple things still. A good chord layout that maybe organizes the chords based on number or role. And I’m working on code to switch between chords and single notes maybe scales. Hope this helps someone. When I get a layout and setup done I’ll probably upload it.