toneburst Posted January 18, 2010 Report Share Posted January 18, 2010 Quick query: would it be possible to write a MIOS application to take a MIDI CC as an input, and output a sysex string? I have an old MIDI synth module, whose sounds are editable via sysex, but my favoured DAW, Ableton Live, actively filters out sysex, so it would be cool to retrofit the synth so the sounds could be edited via CCs. I've never done any MIOS coding, but I'd love to see what the program above would look like. If someone could post a snipped demonstrating how to convert a single CC to a sysex string I'd be really grateful. Cheers, a|x Quote Link to comment Share on other sites More sharing options...
TK. Posted January 18, 2010 Report Share Posted January 18, 2010 Basically it would look like this example: http://www.ucapps.de/mios_c_cc_to_nrpn.html But instead of void MyFun_Send_MC303_NRPN() you would write something like: void MyFun_Send_OldSynth_SysEx( unsigned char evnt0, unsigned char sysex_parameter, unsigned char value) { MIOS_MIDI_TxBufferPut(0xf0); // SysEx Header MIOS_MIDI_TxBufferPut(0x11); // to your MIOS_MIDI_TxBufferPut(0x22); // old Synth MIOS_MIDI_TxBufferPut(0x33); // however it looks like MIOS_MIDI_TxBufferPut(0x44); // too bad that you haven't posted a spec MIOS_MIDI_TxBufferPut(sysex_parameter); // parameter number (specified when calling this function) MIOS_MIDI_TxBufferPut(value); // the CC value MIOS_MIDI_TxBufferPut(0xf7); // end of SysEx (or do you need a checksum before?) } [/code] Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
toneburst Posted January 18, 2010 Author Report Share Posted January 18, 2010 Wow, thanks for the instant response, tk! That looks relatively simple. So would the complete application forward all other MIDI events to the MIDI out unchanged? a|x Basically it would look like this example: http://www.ucapps.de/mios_c_cc_to_nrpn.html But instead of void MyFun_Send_MC303_NRPN() you would write something like: void MyFun_Send_OldSynth_SysEx( unsigned char evnt0, unsigned char sysex_parameter, unsigned char value) { MIOS_MIDI_TxBufferPut(0xf0); // SysEx Header MIOS_MIDI_TxBufferPut(0x11); // to your MIOS_MIDI_TxBufferPut(0x22); // old Synth MIOS_MIDI_TxBufferPut(0x33); // however it looks like MIOS_MIDI_TxBufferPut(0x44); // too bad that you haven't posted a spec MIOS_MIDI_TxBufferPut(sysex_parameter); // parameter number (specified when calling this function) MIOS_MIDI_TxBufferPut(value); // the CC value MIOS_MIDI_TxBufferPut(0xf7); // end of SysEx (or do you need a checksum before?) } Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
levon Posted January 20, 2010 Report Share Posted January 20, 2010 However you may find that the Synth expects non 7bit sysex message.. like my roland TD6V drumkit, to change the sound, has 1024 different values, so it uses 2 bytes to choose it. to change the pitch, also is 920. etc. and somethings may be on/off. Quote Link to comment Share on other sites More sharing options...
toneburst Posted January 25, 2010 Author Report Share Posted January 25, 2010 The EX-8000 is pretty primitive, MIDI-wise. None of the parameters have ranges that go beyond 99, so I should be OK. I may have to do some scaling though. a|x Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.