I am trying to send a sysex message to my MIDI controller, an EWI, so that the open note is number 58 instead of 60.
In the code above that I am working with, I’d like to replace 16rXX, the fourth entry in the array, with the proper value for changing the root note that my EWI plays from Middle C 60 to 58 (Bb).
Also, is this the right message?
Any and all help is appreciated! Thank you!
Sysex messages are completely different for each synth/controller/device - it’s up to the manufacturer to decide how their sysex messages are structured - so there’s no way for us to know if the message you send is the right one or not (unless we start digging the internet for EWI sysex documentation). So, I will assume that the sysex message you are building is based on some documentation for your controller, or something you found in a forum in a topic about EWI wind controllers?
Having said that, you can simply use a variable to build the array that you pass to MIDIOut.sysex, e.g.
(
var fourthByte = 58;
var fifthByte = 00;
MIDIOut.sysex(Int8Array.newFrom([16rF0, 16r47, 16r7F, fourthByte, fifthByte, 16r04, 16rF7]));
)
In case this is a source of doubt: the notation 16rXX (where X is one of [0,1,2,…,9,A,B,C,D,E,F]) is just a fancy way of writing numbers in base 16 (“hexadecimal notation”) but there’s absolutely no need to convert numbers to hexadecimal notation or write numbers in hexadecimal notation at all. You can just use decimal values (like 58 in the above example code) instead. In other words 58 (decimal) is the exact same number as 16r3a (hexadecimal).
Thank you, but all I need is the number for the fourth entry in the array XX. I think that it is 30, key transpose, however 20 is pitch and and 10 is MIDI. I’m using some code from previous help when I put my controller into brass fingering mode instead of saxophone. I really don’t want to change the wrong thing and then have to start all over.
The SC forum can help with SC code to send the data, but maybe not as helpful about the details of the data to send. (Maybe someone here happens to know, but it’s already been a week and a half, so that’s seeming unlikely.)
Sysex messages are tuff to work with, for one thing often there is often no confirmation on the receiving end and If you get it wrong it can mess up things up and require a full factory reset. Could you just set the open note directly on the EW or is it because you sometimes want it to be midinote 60 and sometimes midinote 58?
I’d like it to always be 58…for the most part, lol.
When I play with other people, I need to be able to not have to transpose. When I play solo with SuperCollider, using 60 is nice, but not necessary because I use a lot of tuning systems.
What I don’t really understand - and I don’t have an EWI so can’t really check - why do you need SuperCollider to send sysex, why not just change the open note it on the EWI itself. There must be a way to do that relatively easily or…?
Well, the EWI itself is super minimal, which I love. It has software to make program changes, such as breath sensitivity, pitch bend resolution, which note is the open note (my issue), fingering setup (sax, oboe, brass) everything really. However, the software doesn’t work on new Mac computers, and the EWI isn’t supported by Akai anymore. I’m on a windsynth subreddit and they directed me to some software that I can’t get to work either. SC worked for changing over to brass fingering. Somebody on here was super helpful with that solution, and I think that SC is still the best option for me here.
Thank you for this link. I actually reached out to Akai after reading this and I haven’t heard back from them. I really just need the number of the SysEx message - like, is it 30, or 20? I think that the rest of the command is good to go.
I did try to use a few open source editors and I couldn’t get them to work - they were pretty confusing.
Nothing wrong with SC for this – it’s just a matter of lack of knowledge. I don’t have an EWI so I can’t try anything myself. I’d be completely dependent on Akai’s documentation, but you already have access to that (probably better access than I have). I’m guessing that 99.99% of forum members would be about the same.
Time permitting, I’d be happy to have a look at whatever documentation you have…? But I don’t think it’s really effective to try to guess which model EWI you have and look for the right manual online. (I did have a look at one manual; I might have overlooked sysex documentation details but it seemed like that manual didn’t say a lot about specific sysex codes.)