Jagian
2015-03-14 05:53:24
Hi all:
i expose a problem unresolved for me until now, despite the good tips and help published in this forum. So i request help to anyone here to try to resolve this. To the point: i`ve made a custom MIDI controller with 32 notes (32 buttons) in a 4x8 layout array. The notes are ordered in a chromatic array. My wishes are to could change MIDI channels, transpose octaves and semitones in a dynamic way, and indeed i've achieve sucessfully thanks to the information i've read here. I've use 3 presets triggered by 6 buttons assigned to program changes in my MIDI controller. The details here (maybe nothing new for you):
A. Switch MIDI Channels
B. Transpose octaves
C. Transpose semitones
But here beggins the problem. To use in a more musical way my controller i've decided to remap the notes to an "isomorphic layout" using simple translators. In this case i remap my buttons as the layout that use the "Harpejji" instrument:
Well, not all is darkness. After a lot of trial and error, i could find a way to switch channels in a "transparent" way for the remapped layout. This are the translators:
The 00 value in outgoing message "silence" any sound whenever i press this button in my system. The g0 variable is also used in the "outgoing" section of the translators for the remapped layout (only the first notes are shown):
This simple translators works flawlessly with the remapped layout, meaning that the layout is keep intact as i switch channels.
Then finally the question and specific help (sorry for this long post): i've give up trying to implement Octaves (and semitones) tranposition. I couldn't until now, to change octaves and keep intact the remapped notes layout....so the question is: is this really possible? and if the answer is yes, could someone give me a hand and help with some hints or examples?. I'll appreciate any help.
Thanks in advanced.
i expose a problem unresolved for me until now, despite the good tips and help published in this forum. So i request help to anyone here to try to resolve this. To the point: i`ve made a custom MIDI controller with 32 notes (32 buttons) in a 4x8 layout array. The notes are ordered in a chromatic array. My wishes are to could change MIDI channels, transpose octaves and semitones in a dynamic way, and indeed i've achieve sucessfully thanks to the information i've read here. I've use 3 presets triggered by 6 buttons assigned to program changes in my MIDI controller. The details here (maybe nothing new for you):
A. Switch MIDI Channels
Code: Select all
Preset 0: SWITCH MIDI CHANNELS
Translator 0.0:
Options: stop=true
Incoming: MIDI C0 04
Rules:
g0=g0-1
if g0<144 then g0=144
Outgoing: (none)
Translator 0.1:
Options: stop=true
Incoming: MIDI C0 05
Rules:
g0=g0+1
if g0>159 then g0=159
Outgoing: (none)
Translator 0.2:
Options: stop=true
Incoming: MIDI 90 pp qq
Rules:
pp=pp+gt
Outgoing: MIDI g0 pp qq
Translator 0.3:
Options: stop=true
Incoming: MIDI 80 pp qq
Rules:
pp=pp+gt
Outgoing: MIDI g0 pp 00
B. Transpose octaves
Code: Select all
Preset 1: TRANSPOSITION OCTAVES
Translator 1.0:
Options: stop=true
Incoming: MIDI C0 01
Rules:
gd=-12
gt=gt+gd
Outgoing: (none)
Translator 1.1:
Options: stop=true
Incoming: MIDI C0 02
Rules:
gu=12
gt=gt+gu
Outgoing: (none)
Translator 1.2:
Options: stop=false
Incoming: MIDI 90 pp qq
Rules:
pp=pp+gt
Outgoing: MIDI g0 pp qq
Translator 1.3:
Options: stop=false
Incoming: MIDI 80 pp qq
Rules:
pp=pp+gt
Outgoing: MIDI g0 pp 00
Code: Select all
Preset 2: TRANSPOSITION SEMITONES
Translator 2.0:
Options: stop=true
Incoming: MIDI C0 07
Rules:
gd=-1
gt=gt+gd
Outgoing: (none)
Translator 2.1:
Options: stop=true
Incoming: MIDI C0 08
Rules:
gu=1
gt=gt+gu
Outgoing: (none)
Translator 2.2:
Options: stop=false
Incoming: MIDI 90 pp qq
Rules:
pp=pp+gt
Outgoing: MIDI g0 pp qq
Translator 2.3:
Options: stop=false
Incoming: MIDI 80 pp qq
Rules:
pp=pp+gt
Outgoing: MIDI g0 pp 00
But here beggins the problem. To use in a more musical way my controller i've decided to remap the notes to an "isomorphic layout" using simple translators. In this case i remap my buttons as the layout that use the "Harpejji" instrument:
and
Then the problems comes!...i can't use the previous translators anymore and keep the remapped layout, whenever ive try to switch channel or transpose. In other words is easy to do this things with "real" or "hardware" inputs, but is hard to do or maybe impossible (for me) with remapped notes.
Well, not all is darkness. After a lot of trial and error, i could find a way to switch channels in a "transparent" way for the remapped layout. This are the translators:
Code: Select all
Preset 0: SWITCH MIDI CHANNELS
Translator 0.0:
Options: stop=true
Incoming: MIDI C0 04
Rules:
g0=g0-1
if g0<144 then g0=144
Outgoing: MIDI g0 pp 00
Translator 0.1:
Options: stop=true
Incoming: MIDI C0 05
Rules:
g0=g0+1
if g0>159 then g0=159
Outgoing: MIDI g0 pp 00
Code: Select all
Preset 7: Harpejji layout Remapping: Notes ON
Translator 7.0:
Options: stop=false
Incoming: MIDI 90 24 qq
Rules:
Outgoing: MIDI g0 38 qq
Translator 7.1:
Options: stop=false
Incoming: MIDI 90 25 qq
Rules:
Outgoing: MIDI g0 3a qq
Translator 7.2:
Options: stop=false
Incoming: MIDI 90 26 qq
Rules:
Outgoing: MIDI g0 3c qq
Translator 7.3:
Options: stop=false
Incoming: MIDI 90 27 qq
Rules:
Outgoing: MIDI g0 3e qq ...
Code: Select all
Preset 8: Harpejji layout Remapping: Notes OFF
Translator 8.0:
Options: stop=false
Incoming: MIDI 80 24 qq
Rules:
Outgoing: MIDI g0 38 00
Translator 8.1:
Options: stop=false
Incoming: MIDI 80 25 qq
Rules:
Outgoing: MIDI g0 3a 00
Translator 8.2:
Options: stop=false
Incoming: MIDI 80 26 qq
Rules:
Outgoing: MIDI g0 3c 00
Translator 8.3:
Options: stop=false
Incoming: MIDI 80 27 qq
Rules:
Outgoing: MIDI g0 3e 00...
Then finally the question and specific help (sorry for this long post): i've give up trying to implement Octaves (and semitones) tranposition. I couldn't until now, to change octaves and keep intact the remapped notes layout....so the question is: is this really possible? and if the answer is yes, could someone give me a hand and help with some hints or examples?. I'll appreciate any help.
Thanks in advanced.