Problems to map midikeyboard #9
Replies: 3 comments 2 replies
-
Maybe I can help somewhat. Erich Heinemann is also part of the experimenting group with Marcel's superb codebase and has been making several changes to suit his own needs. He has posted YouTube examples of his changes too (Korg Volca triggering the ESP32 drum code, for example). Here's his MIDI interfacing within the Basic Synth: Am in the odd boat of having a USB MIDI controller and not a conventional one myself, but am thinking there may be a lightbulb moment for you from studying Erich's changes. |
Beta Was this translation helpful? Give feedback.
-
Maybe it may help to activate the debug output in Midi_ControlChange (Serial.printf("CC >%02x %02x %02x\n", channel, data1, data2);). Using the debug output you can also find the channel and cc (data1) for your controller elements which will be checked later in The string in the mapping table is not used yet. It may help to identify the different controls on your controller. |
Beta Was this translation helpful? Give feedback.
-
In Midi_ControlChange
So you can check which values will be transmitted from you controller. Then you can note done channel and data1 and use them in the lookup table. |
Beta Was this translation helpful? Give feedback.
-
Hi Marcel, nice project 👍
I build the sampler and it plays the demosample.
My problem is to map my midikeyboard.
I logged the midisignals with MIDI-OX and wrote it in midi_interface for example:
TIMESTAMP IN PORT STATUS DATA1 DATA2 CHAN NOTE EVENT
000D3F50 1 -- 99 24 6D 10 C 2 Note On 1 lower row button 1
000D3FA9 1 -- 99 24 00 10 C 2 Note Off
{ 0xA, 0x24, "B1", NULL, Sampler_LoopLock, 0},
000A23F9 1 -- 99 28 72 10 E 2 Note On upper row button1
000A2449 1 -- 99 28 00 10 E 2 Note Off 1
{ 0xA, 0x28, "A1", NULL, Sampler_LoopUnlock, 0},
Status DT1 DT2 CH Event
B0 15 33 1 --- CC: 21 (E-MU) Potentiometer 1
B0 15 34 1 --- CC: 21 (E-MU)
{ 0x1, 0x15, "S1", NULL, Sampler_SetADSR_Attack, 0},
BF 73 7F 16 --- Control Change Play Button
BF 73 00 16 --- Control Change
{ 0x10, 0x73, "start", NULL, NULL, 0},
{ 0x10, 0x73, "start", NULL, NULL, 0},
E0 1A 36 1 --- Pitch Bend
{ 0x1, 0x36, "R1", NULL, Sampler_LoopStartC, 0},
none off them workes for me. I can't map my keyboard
Is my converting of the numbers dec to hex incorrect?- can you help me by showing me some examples.
Sorry my english is not the best.
Best regards, Olli
Beta Was this translation helpful? Give feedback.
All reactions