Hi,
I'm writing some Windows software to manage voices on a DX Reface.
I'd like to be able to have the software request voices from the DX. I've tried sending a DUMP REQUEST sysex:
0xf0,0x43,0x20,0x7f,0x1c,0x05,0x30,0x00,0x00,0xF7
...and nothing happens.
(Various other system exclusives, such as the identity request, work fine.)
I'm clearly missing something, or doing something wrong.
The documentation for the DX's system exclusives is somewhat brief in this regard.
Can anybody help me out with the exact procedure to have the DX dump its voices?
Thanks.
:Arn
Thanks - that explained a few useful things, but it still hasn't gotten past this issue.
Even after I set the control channel and such, sending the bulk dump request from my previous message doesn't do anything.
Anywhere else I might look for this one?
-Arn
In the MIDI File I linked you to:
F0 43 20 7F 1C 05 0E 0F 00 F7
Is the message to have the reface DX bulk dump its current VOICE.
When I send F0 43 20 7F 1C 05 0E 0F 00 F7, I get back:
F0 43 20 7F 1C 05 0E 0F 00 5E F7
I have the sneaking suspicion I'm still missing something.
Thanks for all your help thus far.
:Arn
Hi...
Can you help me with this?
:Arn
Sorry, I've been busy and away from my gear. I gave you the solution... but I didn't have time to spell out exactly what you must do.
The first link I gave you was to a set of MIDI files (one for each MIDI CH) that when played to the reface sets it to OMNI mode Off, sets a specific MIDI channel, turns Auto Power Off, turns Speaker On, then requests the reface bulk dump its current Voice.
If played to the reface while your DAW is set to record, you will capture the current Voice. Not sure what your application is but
0E 0F 00 is the High-Mid-Low Address for the Voice bulk request.
I don't know what you mean when you say "you get back.... " what are you using to capture the returning bulk dump?
You should get back the current Voice.
Sorry - I might have skipped a few details.
I'm writing software to communicate with the DX Reface. It's based on MIDI interface code I've been using for years. The interface works properly, that is, I can send a sysex to the DX Reface, and receive what it sends back.
The DX Reface does what I expect it to do for other system exclusives, such as the identity request.
I don't have a convenient way to have my software play a MIDI file and then receive any resulting system exclusives, but it was easy to take the example MIDI files you directed me to apart, and extract their messages and system exclusives. I was then able to have my software send exactly what the MIDI files would have sent if they'd been played to the DX Reface.
Here's what in the MIDI file, and what my software is sending to the DX Reface:
B0 7C 00 //omni mode off
F0 0A 43 10 7F 1C 05 00 00 01 00 F7 //rcv ch
F0 0A 43 10 7F 1C 05 00 00 0C 00 F7 //autopower off
F0 0A 43 10 7F 1C 05 00 00 0D 00 F7 //speaker off
F0 0A 43 10 7F 1C 05 00 00 0E 01 F7 //ctrl on
F0 09 43 20 7F 1C 05 0E 0F 00 F7 //dump voice
I was expecting to receive a big bulk dump system exclusive containing the voice common illustrated on page 9 of the Reface Midi Messages document, but all I got back was:
F0 43 20 7F 1C 05 0E 0F 00 5E F7
(As an aside, the second byte in each of the system exclusives I've quoted above is missing from the stated system exclusives in Reface Midi Messages document - I've tried it with the syntax in Reface Midi Messages as well, with the same results.)
Like I said, I get the sense that I'm missing something (probably something embarrassingly obvious.)
Any suggestions?
Thanks again.
:Arn
I don't know what that second byte is either, it is not in the file that I generated.
Let's ignore that odd second byte - it turned up or not, depending on how I read the system exclusive data out of your MIDI files. Probably my bad.
I tried the voice dump without the second bytes, to wit:
B0 7C 00 //omni mode off
F0 43 10 7F 1C 05 00 00 01 00 F7 //rcv ch
F0 43 10 7F 1C 05 00 00 0C 00 F7 //autopower off
F0 43 10 7F 1C 05 00 00 0D 00 F7 //speaker off
F0 43 10 7F 1C 05 00 00 0E 01 F7 //ctrl on
F0 43 20 7F 1C 05 0E 0F 00 F7 //dump voice
...and I still see the same result. Rather than a voice dump, I see a short system exclusive from the DX Reface like this:
F0 43 20 7F 1C 00 04 05 0E 0F 00 5E F7
Any idea what's wrong?
Thanks.
:Arn
Nope. Sorry. Must be the program you are using.
Try it with a DAW. You have Cubase. The idea was to place the MIDI Track in Overdub record... it sends the request and setups up the reface DX by first turning OMNI OFF, then setting the Receive channel, followed by turning AUDIO POWER OFF, then turning the speakers OFF, then setting CONTROLLER ON, then requesting the VOICE to dump... you should get a string of information that represents the current VOICE setup.
This works- try it as it is designed, that may help you troubleshoot what ever it is you are using to send and capture the data.
Let us know.
Edit: I was thinking about this.... the data coming back is series of strings, each framed with F0...F7. Perhaps you are only getting the very first message instead of all of them.. hope that helps.
Thanks!
Your edit was in fact the answer. The Reface sends two system exclusives when it dumps a voice. I'm not sure what the first one is. The second holds the voice data.
I really appreciate all your help!
:Arn
Excellent!
Hello again,
Would you have any suggestions about uploading voices back to the DX Reface?
Based on my reading of the MIDI message document, I thought it was just going to require creating the Voice Common data block on page 9, packing it up in a Bulk Dump system exclusive and sending it to the DX Reface. (Got the checksum and the data size correctly calculated.)
Needless to say, this didn't work.
Once more, I fear I'm missing something obvious.
Thanks again for reading this.
:Arn
Arn wrote:
Hello again,
Would you have any suggestions about uploading voices back to the DX Reface?
Based on my reading of the MIDI message document, I thought it was just going to require creating the Voice Common data block on page 9, packing it up in a Bulk Dump system exclusive and sending it to the DX Reface. (Got the checksum and the data size correctly calculated.)
Needless to say, this didn't work.
Once more, I fear I'm missing something obvious.
Thanks again for reading this.
:Arn
One Reface DX voice dump consists of 7 SysEx blocks ( F0 .... F7 ):
Header
Common
Operator 1
Operator 2
Operator 3
Operator 4
Footer
The total size of the dump should be 241 bytes.