Posts by slateboy

    I already tried with 31250 but the kemper still freezed, i have no idea why

    Have you got some kind of midi monitor device? Worth checking if there is any unwanted midi data or other noise getting sent that is not required. or perhaps it is sending/getting incomplete midi messages?

    Or maybe (as i have had in the past) the ardiuno is stalling and not sending out a steady/even flow of midi data. I found that constantly updating the screen on the arduino LCD takes a lot of processing-power that affects midi transmission and better to update the display only when needed, ie a change of data. Therefore the priority is prioritising midi data flow rather than a visual.

    here's a nice bit of bedtime reading on the subject:

    jimosity
    December 14, 2023 at 4:55 AM

    This is the code i'm using for testing (as i said i barely have programming knowledge, so i'm figuring out stuff by myself).

    I also tried 115200 as baud rate.

    The standard for midi (not USB midi) is a baud rate of 31250 so that must be adhered to

    how do you know that MSB=80 is going to be +3dB? )

    this is the bit that i initially figured out with trial-and-error rather than an educated approach.

    The "proper way" would be to find the range of that parameter, in this case -6db to +6db where 0dB is mid-way, therefore a full-scale range of 12

    divide the NRPN range 16383 into 12 = 1365 per dB step (could be taken as smaller steps if you want 0.1dB resolution) then to get the values

    1365 x 6 = 8192 (0dB setting) then divide by 128 for the MSB value which = 64 ( i've lost the LSB value somewhere there...)

    Yea, i managed to make it work, it's just i had to use pins 2 and 3 and they were already used by the controller, but the sxreen is working now (at least showing basic text).

    Now i gotta figure out how to send/receive nrpn, i worked on it 3/4 hours yesterday and i still don't even know how to add them to my code (if i have to use "MIDI.sendControlChange" (i've read that nrpn is basically 4 CCs) and send the 4 CCs at the same time, or i gotta use MidiUSB.sendMIDI or send(SystemExclusive or what))

    I know the theory, you gotta check what you want to send, and calculate MBR and LSB, it's just i have no clue how to implement it on my code, i can't find any code example or anything anywhere, no idea what functions i gotta add or anything, kinda weird i couldn't find any example of a proper code here in the forum.

    I find explanations on what NRPNs are, but nothing on how to implement it or anything.

    for the Kemper, just send four CC messages in your arduino (often easier than attempting to implement NRPN which i dont see much of in the arduino midi-libraries. You can find the values in the Kemper midi-spec without having to calculate the actual NRPN, (which if i recall from memory is MSB*128 + LSB.

    I have an "older" list that covers most NRPN values, page 3, here https://greendog.co.uk/kemper/kemper-midi-data.pdf You can get the MSB and the LSB. Just need to work out the parameter value (which i cant comment on) other than the range is a 14-bit value (so 127 midi is 16383, and half-way midi 64 is

    8192)

    Apologies if i'm telling you stuff you already know! :P


    little example of NRPN conttrol

    Set rig-volume to +3dB

    CC 99 = 4, CC 98 = 1, CC 6 = 80, CC 38 = 0

    This equates as-

    NRPN Parameter address: MSB = 4, LSB = 1 (the Rig volume parameter)

    NRPN Parameter value: MSB = 80, LSB = 0 (a value of +3dB) this could also be a different value between -6dB to +6dB (or whatever the full-range of this parameter is

    additionally, you may want this midi data too:

    Reset rig-volume to +0dB

    CC 99 = 4, CC 98 = 1, CC 6 = 64, CC 38 = 0

    Just got the board and a cheap 16x2 screen, i'm doing some testing.

    So far i can't even make the screen work within the controller (not even using a simple "hello world" print code) it lights but there are no letters, just black squares.

    The weird thing is that when i tried it without the rest of the cables it worked, and if i try it with the old arduino uno board it also works, i'm trying to figure out what could be the problem, but i have no idea so far...

    I didn't even start with nprn or anything yet.

    make sure you are addressing the screen correctly and your code is configured for that type (ie 16x2) You may find that your code needs a tweak depending what outputs you are using, whether you are using an IC2 between the arduino and screen and a few other factors. Go search several LCD-to-arduino codes examples and see how they vary.

    its very satisfying to have built your own midi controller and certainily allows you to do exactly what you want. But it can come at the cost of mental-stress and, obviously the time-cost. After all the controller i have made and used (and gigged with) i have chosen to use an off-the-shelf device for my Kemper player at present.

    Just wondering, that screen is pretty interesting, any idea if it would be doable via USB?
    I'm not sure if the kemper will send info (and if it's gotta be MIDI or what)

    with a bit of tinkering, you can retrieve data and parameters from the Kemper- another project:

    External Content youtu.be
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

    Just bought an Arduino Leonardo, delivered tomorrow apparently, so i'll try to make it work by replacing the Uno i'm using currently and using the USBMIDI library, i'll have to do some changes in the code, i'll let you know if i manage to make it work

    cool. keep us posted. thanks Erikcb

    Here's my most recent Arduino midi controller though it relied on a USB to midi interface/cable rather than directly USB-to-USB

    External Content youtu.be
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

    Have you tried 23 for Modulation Crossover?

    According to that list Mix is at 4, Volume at 6, and Ducking at 53.

    Thank you- found it. Appreciated.

    Can you confirm if the issue with the player's chorus (pre v11 OS) is a control issue, ie not accessible via rig-manager or if its an OS problem with the player's coding. thanks. Could save me some time trying to work out for myself.

    The nature of an Arduino board/project is writing code for the board, so reflashing an Arduino board is almost a trivial task when working with such boards.

    Agree. But like many things, if you've never done it before it can appear daunting. It's installing and using lesser-known flashing-software to do the operation that raises my concerns. Certainly, coding midi operations becomes more comfortable with experience.

    I'm trying to use the arduino to send MIDI CCs via USB, it's a DIY controller i made that i was using via MIDI cable, i'll have to do some research and see if i'm capable of making it work just via usb, that way i can use only one cable for the controller instead of USB + MIDI cables.

    Thanks for the info!

    Let us know how you get on.

    Be great if the Kemper recognised an Arduino as a midi device (a bit like a PC/Mac can) without the need to reflash the arduino-firmware

    It is the official version, I just got it yesterday

    You can email WILSON to get it.

    Sounds interesting. Thanks for the info.

    I am using mine for a fly-gig this weekend so not ready to try any updates leading up to a show.

    I did point out to Mr Wilson that users may need quicker access between banks so the long-press up/down may not be a practical solution when wishing to jump banks between songs in a live situation. Home use, fine, live use not ideal. However if the ABCDE buttons choose the slot the buttons on the actual Kemper could be assigned to bank up/down for instant response.

    Guessing this new mode is a user-chosen option on boot up so the user can still choose norman, geek, supersetup, etc on boot up?

    please confirm