View Full Version : Midi CPU Program for simple keyboard controller
theharmonium
10-07-2010, 01:31 AM
hey all ... So I have the controller built and ready to go but I’m trying to figure out how to program the midi cpu … I read through the manual but am still in the dark
Basically I have 8 push-button switches I’d like to use for basic program changes and one potentiometer to control an effect parameter cc#63 …
by the way I plugged the controller into my computer and used a program to determine what switches were sending what messages and noticed one switch was sending messages on both terminal 5 and 6 but I'm not sure why ... anyway i figured if both terminals were sending the same thing it wouldn't be a problem ...
So here is how I broke it down with the program numbers and terminals... anyone have any suggestions on how to program it:
Terminal 0
Push-button Switch: Program change # 120
Terminal 1
Push-button Switch: Program change #122
Terminal 3
Push-button Switch: Program change #124
Terminal 5/6
Push-button Switch: Program change #127
Terminal 8
Push-button Switch: Program change #126
Terminal 12
Push-button Switch: Program change #114
Terminal 13
Push-button Switch: Program change #118
Terminal 15
Push-button Switch: Program change #116
Terminal 21
Potentiometer: MIDI Controller # 63
Hi theharmonium,
Here's a sysex configuration for your application. Instructions for sysex are here:
http://forum.highlyliquid.com/showthread.php?t=280
My best guess is that there's a short circuit between control terminals 5 and 6--you might want to double-check the wiring.
Let me know how it turns out. :)
// Header, Layer 00
F0 00 01 5D 04 01
00
// CT 0, PC 120 (Switch)
00 00 50 00 78 00
00 01 7F 00 00 00
// CT 1, PC 122 (Switch)
01 00 50 00 7A 00
01 01 7F 00 00 00
// CT 3, PC 124 (Switch)
03 00 50 00 7C 00
03 01 7F 00 00 00
// CT 5, PC 127 (Switch)
05 00 50 00 7F 00
05 01 7F 00 00 00
// CT 8, PC 126 (Switch)
08 00 50 00 7E 00
08 01 7F 00 00 00
// CT 12, PC 114 (Switch)
0C 00 50 00 72 00
0C 01 7F 00 00 00
// CT 13, PC 118 (Switch)
0D 00 50 00 76 00
0D 01 7F 00 00 00
// CT 15, PC 116 (Switch)
0F 00 50 00 74 00
0F 01 7F 00 00 00
// CT 21, CC 63 (Analog)
15 00 04 00 3F 08
// Footer
F7
theharmonium
10-16-2010, 06:45 PM
its coming together great ... i have all the program change switches working and im begining to understand a little of the programing ...
but i have run into one issue on the potentiometer (now on terminal 23) ... and i can't seem to figure out whats wrong ... when i twist the potentiometer it goes to the right effect (cc#63) but it only registers a value of 127 at each interval
also the potentiometer will occasionally send a note on or note off message for Bd5 ... can't seem to figure out how to make that stop either
any ideas?
Please post a sketch or photo of your wiring.
Also, please post a configuration dump or the configuration sysex that you're using.
theharmonium
10-19-2010, 03:39 AM
Please post a sketch or photo of your wiring.
Also, please post a configuration dump or the configuration sysex that you're using.
i think i have the potentiometer working ... i might have had a short in terminal 23 and / or wired it wrong ... but after moving it to terminal 21 and switching the wires everything seems to be working ... although, I am still getting a Bd5 note on/off message occasionally from the potentiometer ...
here is the sysex text w notes...
// Header, Layer 00
F0 00 01 5D 04 01
00
// CT 0, PC 120 (Switch)
00 00 50 00 78 00
00 01 7F 00 00 00
// CT 3, PC 122 (Switch)
03 00 50 00 7A 00
03 01 7F 00 00 00
// CT 7, PC 124 (Switch)
07 00 50 00 7C 00
07 01 7F 00 00 00
// CT 8, PC 127 (Switch)
08 00 50 00 7F 00
08 01 7F 00 00 00
// CT 16, PC 126 (Switch)
10 00 50 00 7E 00
10 01 7F 00 00 00
// CT 12, PC 114 (Switch)
0C 00 50 00 72 00
0C 01 7F 00 00 00
// CT 13, PC 118 (Switch)
0D 00 50 00 76 00
0D 01 7F 00 00 00
// CT 14, PC 116 (Switch)
0E 00 50 00 74 00
0E 01 7F 00 00 00
// CT 21, CC 63 (Analog)
15 00 04 00 3F 08
// Footer
F7
Can you do a config dump and post the results? If using SendSX, send the following to the MIDI CPU:
F0 00 01 5D 04 00 7F 00 F7
...and a large amount of data will be sent in return. It might help us figure out what is causing the unusual behavior.
Also, when changing control terminals for the CC potentiometer, it can get confusing. Here's the config chunk for CT 21:
15 00 04 00 3F 08
For CT 23, you'd want this:
17 00 04 00 3F 0A
Note that the sixth byte has changed. See the "analog input data" table in section 2.2.2 of the firmware user manual. The last byte tells the MIDI CPU where to get the CC value from...
theharmonium
10-21-2010, 02:33 AM
thanks for the help ... i definitely overlooked the last byte for terminal 23 ... here's the code from the sysex dump
B0 3F 00
B0 3F 00
F0 00 01 5D 04 01 00 00 00 50 00 78 00 00 01 7F 00 00 00 01 00 44 00 3D 7F 01 01 44 00 3D 00 02 00 44 00 3E 7F 02 01 44 00 3E 00 03 00 50 00 7A 00 03 01 7F 00 00 00 04 00 44 00 40 7F 04 01 44 00 40 00 05 00 44 00 41 7F 05 01 44 00 41 00 06 00 44 00 42 7F 06 01 44 00 42 00 07 00 50 00 7C 00 07 01 7F 00 00 00 08 00 50 00 7F 00 08 01 7F 00 00 00 09 00 44 00 45 7F 09 01 44 00 45 00 0A 00 44 00 46 7F 0A 01 44 00 46 00 0B 00 44 00 47 7F 0B 01 44 00 47 00 0C 00 50 00 72 00 0C 01 7F 00 00 00 0D 00 50 00 76 00 0D 01 7F 00 00 00 0E 00 50 00 74 00 0E 01 7F 00 00 00 0F 00 50 00 74 00 0F 01 7F 00 00 00 10 00 50 00 7E 00 10 01 7F 00 00 00 11 00 44 00 4D 7F 11 01 44 00 4D 00 12 00 44 00 4E 7F 12 01 44 00 4E 00 13 00 44 00 4F 7F 13 01 44 00 4F 00 14 00 44 00 50 7F 14 01 44 00 50 00 15 00 04 00 3F 08 15 01 04 00 3F 08 16 00 44 00 52 7F 16 01 44 00 52 00 17 00 04 00 3F 08 17 01 04 00 3F 08 F7
F0 00 01 5D 04 01 01 00 00 7F 00 00 00 00 01 7F 00 00 00 01 00 7F 00 00 00 01 01 7F 00 00 00 02 00 7F 00 00 00 02 01 7F 00 00 00 03 00 7F 00 00 00 03 01 7F 00 00 00 04 00 7F 00 00 00 04 01 7F 00 00 00 05 00 7F 00 00 00 05 01 7F 00 00 00 06 00 7F 00 00 00 06 01 7F 00 00 00 07 00 7F 00 00 00 07 01 7F 00 00 00 08 00 7F 00 00 00 08 01 7F 00 00 00 09 00 7F 00 00 00 09 01 7F 00 00 00 0A 00 7F 00 00 00 0A 01 7F 00 00 00 0B 00 7F 00 00 00 0B 01 7F 00 00 00 0C 00 7F 00 00 00 0C 01 7F 00 00 00 0D 00 7F 00 00 00 0D 01 7F 00 00 00 0E 00 7F 00 00 00 0E 01 7F 00 00 00 0F 00 7F 00 00 00 0F 01 7F 00 00 00 10 00 7F 00 00 00 10 01 7F 00 00 00 11 00 7F 00 00 00 11 01 7F 00 00 00 12 00 7F 00 00 00 12 01 7F 00 00 00 13 00 7F 00 00 00 13 01 7F 00 00 00 14 00 7F 00 00 00 14 01 7F 00 00 00 15 00 7F 00 00 00 15 01 7F 00 00 00 16 00 7F 00 00 00 16 01 7F 00 00 00 17 00 7F 00 00 00 17 01 7F 00 00 00 F7
F0 00 01 5D 04 01 02 00 00 7F 00 00 00 00 01 7F 00 00 00 01 00 7F 00 00 00 01 01 7F 00 00 00 02 00 7F 00 00 00 02 01 7F 00 00 00 03 00 7F 00 00 00 03 01 7F 00 00 00 04 00 7F 00 00 00 04 01 7F 00 00 00 05 00 7F 00 00 00 05 01 7F 00 00 00 06 00 7F 00 00 00 06 01 7F 00 00 00 07 00 7F 00 00 00 07 01 7F 00 00 00 08 00 7F 00 00 00 08 01 7F 00 00 00 09 00 7F 00 00 00 09 01 7F 00 00 00 0A 00 7F 00 00 00 0A 01 7F 00 00 00 0B 00 7F 00 00 00 0B 01 7F 00 00 00 0C 00 7F 00 00 00 0C 01 7F 00 00 00 0D 00 7F 00 00 00 0D 01 7F 00 00 00 0E 00 7F 00 00 00 0E 01 7F 00 00 00 0F 00 7F 00 00 00 0F 01 7F 00 00 00 10 00 7F 00 00 00 10 01 7F 00 00 00 11 00 7F 00 00 00 11 01 7F 00 00 00 12 00 7F 00 00 00 12 01 7F 00 00 00 13 00 7F 00 00 00 13 01 7F 00 00 00 14 00 7F 00 00 00 14 01 7F 00 00 00 15 00 7F 00 00 00 15 01 7F 00 00 00 16 00 7F 00 00 00 16 01 7F 00 00 00 17 00 7F 00 00 00 17 01 7F 00 00 00 F7
F0 00 01 5D 04 01 03 00 00 7F 00 00 00 00 01 7F 00 00 00 01 00 7F 00 00 00 01 01 7F 00 00 00 02 00 7F 00 00 00 02 01 7F 00 00 00 03 00 7F 00 00 00 03 01 7F 00 00 00 04 00 7F 00 00 00 04 01 7F 00 00 00 05 00 7F 00 00 00 05 01 7F 00 00 00 06 00 7F 00 00 00 06 01 7F 00 00 00 07 00 7F 00 00 00 07 01 7F 00 00 00 08 00 7F 00 00 00 08 01 7F 00 00 00 09 00 7F 00 00 00 09 01 7F 00 00 00 0A 00 7F 00 00 00 0A 01 7F 00 00 00 0B 00 7F 00 00 00 0B 01 7F 00 00 00 0C 00 7F 00 00 00 0C 01 7F 00 00 00 0D 00 7F 00 00 00 0D 01 7F 00 00 00 0E 00 7F 00 00 00 0E 01 7F 00 00 00 0F 00 7F 00 00 00 0F 01 7F 00 00 00 10 00 7F 00 00 00 10 01 7F 00 00 00 11 00 7F 00 00 00 11 01 7F 00 00 00 12 00 7F 00 00 00 12 01 7F 00 00 00 13 00 7F 00 00 00 13 01 7F 00 00 00 14 00 7F 00 00 00 14 01 7F 00 00 00 15 00 7F 00 00 00 15 01 7F 00 00 00 16 00 7F 00 00 00 16 01 7F 00 00 00 17 00 7F 00 00 00 17 01 7F 00 00 00 F7
F0 00 01 5D 04 02 7F F7
F0 00 01 5D 04 03 7F 00 F7
F0 00 01 5D 04 04 00 00 00 00 00 00 00 00 00 00 00 00 F7
F0 00 01 5D 04 05 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F F7
F0 00 01 5D 04 07 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F F7
F0 00 01 5D 04 08 06 04 00 F7
F0 00 01 5D 04 09 00 F7
F0 00 01 5D 04 0A 00 F7
F0 00 01 5D 04 0B 7F F7
F0 00 01 5D 04 7D 02 F7
I am still getting a Bd5 note on/off message occasionally from the potentiometer ...
Control terminal 22 is configured to generate note #82 (52h, or Bd5). This is part of the "factory default" config that is still there, since we haven't re-configured CT 22.
So it seems that there's a short circuit between control terminal 22 and control terminal 21, where the potentiometer is connected.
Can you double check the wiring? With the power off, check for continuity between control terminals 21 and 22. This would explain the generation of the note based on potentiometer input.
If you want to go back to using control terminal 23 for the pot, that's fine--just be sure to correct the configuration as I described in my previous post.
theharmonium
10-22-2010, 03:15 PM
Control terminal 22 is configured to generate note #82 (52h, or Bd5). This is part of the "factory default" config that is still there, since we haven't re-configured CT 22.
So it seems that there's a short circuit between control terminal 22 and control terminal 21, where the potentiometer is connected.
Can you double check the wiring? With the power off, check for continuity between control terminals 21 and 22. This would explain the generation of the note based on potentiometer input.
If you want to go back to using control terminal 23 for the pot, that's fine--just be sure to correct the configuration as I described in my previous post.
I probably shorted 21-22 in my soldering mess (still learnng how to do it well) ... i switched it back to 23 and ran the new code and its working great ... I twisted the pot for a good 5 minutes watching the output in a midi monitor program and not a single rouge message or Bd5 ... thanks for all the help ... hopefully I'll get a pic of the controller soon to post ...
vBulletin® v3.8.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.