dexed icon indicating copy to clipboard operation
dexed copied to clipboard

Support for patch request sysex

Open eclab opened this issue 7 years ago • 25 comments

I know this is an esoteric need, but it would be nice for Dexed to respond to DUMP REQUEST, at least for for "1 voice data" (a single patch). The DX7 has no such sysex I believe, but the TX816 definitely does.

This would allow Dexed to work better with various DX7 patch editors, such as Edisyn, which have a number of exploratory patch capabilities that Dexed doesn't have on its own. It would also let Dexed work better with librarian tools. And it's a very simple sysex string.

While I have you: I am confused why the sysex input device is under the Options button, but the sysex output device is under the PARM button.

eclab avatar May 10 '18 00:05 eclab

Sure no problem, I'll added this to the next commit. Since I cannot test this (TX816 are a pretty rare), please built it on your side to confirm it works. Thanks.

asb2m10 avatar May 10 '18 02:05 asb2m10

While I have you: I am confused why the sysex input device is under the Options button, but the sysex output device is under the PARM button.

The options button in the standalone application is based on the JUCE Framework. The PARM button is pure dexed.

The best would be to customized the JUCE "Options" window, but I didn't want to put too much effort since technically, JUCE should also offer the "MidiOut" on the Options button if the synth is configured to output midi data. It does not, so I need to ask the JUCE guys why it doesn't... It will be fixed once this is sortout...

asb2m10 avatar May 10 '18 02:05 asb2m10

I'd be happy to test, assuming I can get a binary from the commit (I'm not set up to build on my Mac). But if you wanted to beat me to it, an easy way to test it would be to hook Dexed up with Edisyn (https://github.com/eclab/edisyn/), whose DX7 patch editor was really written with the TX816 in mind. You'd need two MIDI loopback devices to hook Dexed to Edisyn. Then you just instruct Edisyn to request a patch and see if Dexed responds.

FWIW, the command for requesting a dump of the current voice patch is:

0xF0 0x43 0x2N 0x00 0xF7	[N=channel 0...15]

That's the most relevant one I guess. Others are

0xF0 0x43 0x2N 0x01 0xF7	[current performance bulk data]
0xF0 0x43 0x2N 0x02 0xF7	[64 performance bulk data]
0xF0 0x43 0x2N 0x09 0xF7	[32 voice bulk data]
0xF0 0x43 0x2N 0x7D 0xF7	[acknowledge]

On May 9, 2018, at 10:41 PM, Pascal Gauthier [email protected] wrote:

Sure no problem, I'll added this to the next commit. Since I cannot test this (TX816 are a pretty rare), please built it on your side to confirm it works. Thanks.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

eclab avatar May 10 '18 02:05 eclab

@asb2m10 Frresh JUCE delivered yesterday as it happens. screen shot 2018-05-10 at 5 47 42 pm screen shot 2018-05-10 at 5 43 17 pm cheers

papwalker avatar May 10 '18 07:05 papwalker

The TX7 also stores 64 performance bulk data. 32 are for the ones in the TX7 and the other 32 are for the use of the DX7 so you can have it for each patch. This can get pretty confusing if you start loading other banks. I have a harmonica patch with EG Bias set to 100 to allow the breath controller to completely control the envelope of the carriers. Switch banks and that patch position might be unresponsive if it’s carriers have amp sensitivity set to full 3. Storing/sending patches in TX format is offered on the E! And they may be compatible with the classic DX7 when loaded one patch at a time. I don’t know how the DX7 deals with the 32 performances it would get from a bank dump, probably end up with performance 32. If the DX7 is hooked up to dexed, could it get the relevant performance data as it called up a patch? It would be nice to get key range involved in this so we could get real split keyboard features.

rickyackel avatar May 12 '18 10:05 rickyackel

This request is over a year old, and it's an easy one. But so far as I can tell it hasn't been implemented. Could I encourage the Dexed developers to add it?

eclab avatar Nov 01 '19 12:11 eclab

Don't waste your time trying

SamuelSHrk avatar Nov 02 '19 00:11 SamuelSHrk

I'm going to try again. This request is now four years old, and it's pretty simple to implement. Dexed still does not support MIDI request sysex messages such as are found in the TX7 and TX216/816.

At the very least, could you find it in your heart to implement responses to:

F0 43 20 00 F7 "Request Current Patch" F0 43 20 09 F7 "Request Bank"

SeanLuke avatar Oct 25 '22 01:10 SeanLuke