marcel-licence / esp32_basic_synth

ESP32 based simple synthesizer project
GNU General Public License v3.0
231 stars 36 forks source link

MIDI maps for commonly used controllers #89

Open danielphili opened 1 year ago

danielphili commented 1 year ago

Hi Marcel,

Thanks for the great work on this synthesizer (and all of your synth projects for that matter)! Do you plan to introduce an abstraction layer to your projects, so that for example all midi functionality is extracted to a library of sorts - like you did for the boards as well? In this case, it might be interesting to add an option for sharing MIDI maps of various controllers. I use the Launchkey Mini mk3 by Novation which is quite inexpensive and has a good availability. I would be interested to see how others map their Launchkey and I guess that is true for others and other MIDI controllers as well. Would you be up for this? I think it might increase the reusability of your work which you have spent so much time on I can imagine. Best,

Daniel

P.S. for all who do not want to go through the process of reading out the MIDI CC messages of the Launchkey Mini mk3, I have created a button/key mapping that I attached to this issue - Happy coding and jamming! NN stands for note, VV for velocity, PP for potentiometer value, C for channel - the Launchkey has its own channels that can be switched by pressing Shift and Transpose. It makes creating a MIDI mapping for Marcel's project easier and more difficult at the same time :D (more functions that you can code (on the potentiometers in particular), but channels are then different in meaning from what Novation had in mind before..) NovationLaunchKeyMini3_MidiMessages

marcel-licence commented 1 year ago

Hi Daniel,

yes I try to put stuff into a library to get the best and newest features combined at one place. I started to move the filters and some simple effects to the library.

I would be happy to find a way for an easier MIDI integration. I've heard that a lot of variation of input devices are in use from keyboard without knobs up to DIY solutions.

I've started to implement dynamic MIDI maps which can be toggled during runtime: https://github.com/marcel-licence/ml_synth_basic_example/blob/main/z_config.ino

Is there any default setting for this controller? I think my controller uses the most weird setting at the moment because it was set up for a very specific device.

Best regards, Marcel