|
Post by mcdtracy on Jan 11, 2019 11:52:52 GMT
I have used this for quick orchestra chordal output. It's an updated version of the One Finger Orchestra Script for Major Key composing/performing. I added a Transposing Index. There's an example of it's use on SoundCloud: INPUT NOTES with Transposing Index = 0 C - C Major C# - A7/C# D - D Minor D# - B7/D# E - E Minor F - F Major F# - D7/F# G - G7 G# - E/G# A - A Minor A# - A# diminished B - G7/B insert code here # StreamByter Orchestra Major Key Transposing Index # Block the original note pressed # Add Transpose Index - Add an index to every note played # by McDtracy, Ki and Nic IF LOAD # note C C# D Eb E F F# G Ab A Bb B ASS K00 = -C -4 -C -4 -C -C -4 -C -4 -C -3 -C ASS K0C = 07 06 07 06 07 07 06 0A 06 07 06 06 ASS K18 = C C C C C C C C C C C C ASS K24 = 10 0F 0F 0F 0F 10 0F 10 0F 0F 0F 0F ASS G1 = 0 END # Transpose up this many 1/2 steps ASS G1 = 0 # handle note on/off events IF M0 < A0 # get note index MAT I0 = M1 % C # send the input note with the transposition MAT I2 = M1 + G1 SND M0 I2 M2 # add first note (uncomment SND to add lower bass notes - good for acoustic guitar, harp, etc) MAT I1 = M1 + KI0 MAT I1 = I1 + G1 #SND M0 I1 M2 # add second note MAT I0 = I0 + C MAT I1 = M1 + KI0 MAT I1 = I1 + G1 SND M0 I1 M2 # add third note (uncomment SND to add Octave up of the Input Note - good for acoustic guitar, harp, etc) MAT I0 = I0 + C MAT I1 = M1 + KI0 MAT I1 = I1 + G1 #SND M0 I1 M2 # add fourth note MAT I0 = I0 + C MAT I1 = M1 + KI0 MAT I1 = I1 + G1 SND M0 I1 M2 NX = XX +B END
|
|
|
Post by mcdtracy on Jan 12, 2019 1:21:40 GMT
Here's a variation that allows the use of delays to create strumming, arpeggiation and echo effects.
# SB One Finger "Major Key" Strum, Arp, Echo # by McDtracy with coding "best practices" assists from Ki and Nic
IF LOAD # note C C# D Eb E F F# G Ab A Bb B ASS K00 = -C -4 -C -4 -C -C -4 -C -4 -C -3 -C ASS K0C = 07 06 07 06 07 07 06 0A 06 07 06 06 ASS K18 = C C C C C C C C C C C C ASS K24 = 10 0F 0F 0F 0F 10 0F 10 0F 0F 0F 0F ASS G1 = 0 END
# Transpose Interval (up or down in HEX) ASS G1 = 0
# Or Re-assign Transpose with CC1 input # Commented OUT because my controller throws out CC's like crazy. Need to debug. # IF M0 == B7 # MAT G1 = M2 - 40 # END
# Delay intervals # 10 for Strum ASS G3 = 10 # FA for 250 ms # 3E8 for 1 second
# handle note on/off events IF M0 < A0 # get note index MAT I0 = M1 % C
# add first note MAT I1 = M1 + KI0 MAT I1 = I1 + G1 SND M0 I1 M2
# send the input note with the transposition MAT I2 = M1 + G1 SND M0 I2 M2 +DG3
# add second note MAT I0 = I0 + C MAT I1 = M1 + KI0 MAT I1 = I1 + G1 MAT L0 = G3 * 2 SND M0 I1 M2 +DL0
# add thrid note MAT I0 = I0 + C MAT I1 = M1 + KI0 MAT I1 = I1 + G1 MAT L0 = G3 * 3 SND M0 I1 M2 +DL0
# add fourth note MAT I0 = I0 + C MAT I1 = M1 + KI0 MAT I1 = I1 + G1 MAT L0 = G3 * 4 SND M0 I1 M2 +DL0
NX = XX +B
ENDhere
|
|