Jump to content

Tutorial on sysex programmimg?


Jokeyman123

Recommended Posts

I have been trying to learn how to write sysex messages/control change messages in order to create an editor/librarian for the PX-350 specifically and the Privia series in general (130, 850 and others), since these currently have no specific software programs by Casio.

 

I have been studying the Internet and my other tech manuals which contain this info but am having trouble finding a simple explanation or tutorial. I understand how programs such as Midiox and other software programs can transmit and receive having used many such programs for transferring data in and out with hardware sequencers/keyboards/modules but still confused about how to write specific control messages which will require sysex to access-such as DSP and volume settings which are not accessible from the front panel.

 

I have posted elsewhere here regarding the "CTRLR" program (http://ctrlr.org/) which enables me or anyone with this knowledge to create a user interface form "scratch" in the Windows/MacOS /Linux platform, with virtual knobs, sliders etc. ut requires knowledge of wriing sysex messages. I am particularly confused about differences and uses regarding MSB and LSB messages and  I will also need to know which specific messages the Privia will respond to-I'm hoping the PX midi spec sheet and experimenting will help with this.

 

If anyone can direct me to a tutorial i could use to teach myself what I need to know (again writing sysex code to send CC messages), I may be able to create at least a rudimentary editor/controller interface to give the PX considerably more control specifically with DSP settings, volume control of tracks, and possibly even some tone/sound editing abilities. The PX system for saving/converting songs, midis, rhythms etc. is pretty well organized already, I am only trying to access functions that may already be there, but are not currently accessible either with the front panel buttons or with software.Thanks!

  • Like 3
Link to comment
Share on other sites

There are a few books on recommendation I've seen on Stephen Kay site, 

I've got to do some reading about sysex and such myself and I guessed well

this guy had to got it from somewhere from what he have build himself. 

 

three of these books are

 

The midi manual third edition, a pratical guide of midi in the project studio 

by David Miles Huber

 

Midi Power the comprehensive guide. by Robert Guerin

 

The Midi Companion, by Jeff Rona

 

I don't know if it would help but it could get you somewhere. 

Link to comment
Share on other sites

Thanks XW-Addict.Ah yes-Jeff Rona, I had a few of his books years back, he was (is?) one of the writers for Keyboard magazine originally, had very interesting technical articles I recall. Maybe I'll check Amazon books. Came across a sysex tutorial page on the www.ctrlr.org website, but it's still going to take alot of studying for me to decipher what the PX will recognize, and then write the proper hex strings into the ctrlr program. i'll keep "whacking" at it, this is tough stuff!

Link to comment
Share on other sites

This is the kinda stuff you have to find in online tutorials and adapt to your platform and application.

 

Since you didn't mention what lanuguage you are working with I did a quick Google on "How to program a MIDI app in python"

 

https://www.google.ca/search?num=100&newwindow=1&safe=off&site=&source=hp&q=how+to+program+a+MIDI+app+in+python&oq=how+to+program+a+MIDI+app+in+python&gs_l=hp.3...1493.17091.0.18109.44.36.4.4.4.1.281.4176.18j9j6.33.0....0...1c.1.56.hp..13.31.2920.0.mDlX627picg

 

Any similar sort of search will bring up general info for whatever hardware/software combination you are working with.

 

Be thankful at least Casio publishes full MIDI specs for their boards.  Kurzweil treats their sysex info as secret and proprietary requiring any contenders to reverse engineer any app they might want to design.

 

Gary

Link to comment
Share on other sites

ble from the front panel.

 

I have posted elsewhere here regarding the "CTRLR" program (http://ctrlr.org/) which enables me or anyone with this knowledge to create a user interface form "scratch" in the Windows/MacOS /Linux platform, with virtual knobs, sliders etc. ut requires knowledge of wriing sysex messages. I am particularly confused about differences and uses regarding MSB and LSB messages and  I will also need to know which specific messages the Privia will respond to-I'm hoping the PX midi spec sheet and experimenting will help with this.

 

MSB and LSB stand for Most Significant Byte and Least Significant byte, respectively. Think of of MSB like the "main" code, and LSB as a sub "code".. kind of like when you have an apartment.. Mail comes to 123 Anyplace Lane, Apt 227... 123 Anyplace would  be MSB, Apt 227 the LSB.

I am not sure about the other Privias, but the PX-5S also uses something called NRPN (non-registered parameters numbers) - which are very specific controls for a given model. It gets real muddy real fast, but it is very interesting. 

The MIDI Manufacturers Association website (http://midi.org) is a treasure trove of information.  There is a forum there that may prove useful as well. Explore and learn. You won't get it all overnight, but it will all fall into place.

Good luck! Look forward to seeing your progress.  

 

Link to comment
Share on other sites

OK, that helps. My difficulty is understanding the precise steps I need to create a sysex command "string" which apparently must include hex for the MSB message, the LSB if needed and the actual hex string to send the appropriate control change and value for that control change and matching it to the command in the PX midi spec. The PX350 midi spec is good, the problem is my inexperience with programming in sysex specifically. I am sticking with the "ctrlr" design frame since so many other really nice front-ends have been developed by others using it for such diverse midi hardware devices, I may actually be able to create one,  as I said it will take more time and study. Thanks Scott, Gary and XW-Addict for getting back to me.

Link to comment
Share on other sites

  • 3 years later...

Hi Jokeyman123,

 

Had you gotten any further with this project?  On and off I had been messing around with the PX-5s sysex messages .for the past few years.  I end up dabbling, trying this and that, then moving on and forgetting everything I had done!  I get bursts of interest here and there.  Right now I'm going through one of those bursts and I am curious if you had gotten any further.

 

The thing I've found about the px-5s sysex messages is that the midi specification doesn't really describe the byte length for specific commands on specific situations.  Basically it seems to say ...it can change depending on the type of request or data...   Anyway, I just wondered if you cracked it.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.