11-03-2022, 02:16 PM
2022-11-03
RE: Similar issues with Roland D-550 patch data sysex not transmitting from PC to synth DIN input, as experienced previously with Casio CZ-101
I just recently received a new HRC 880 and have been putting it through tests with old synthesizers.
Bottom line, up front: I am generally pleased with the HRC 880 - it fills a need for "desktop lab" interface at an affordable price point. Thank you, Conductive Labs. Through testing, I have devised an implementation scenario that will work with the 880, despite issues with PC=>legacy synth SysEx transmission.
=== CONTEXT ===
This thread is about tests with a Roland D-550 synth module and the MRCC 880.
Previously, I started a thread in the MRCC 880 forum, entitled "MRCC 880 issue with patch data sysex not transmitting from PC to synth DIN input"
https://conductivelabs.com/forum/showthr...p?tid=2042
That previous thread concerned tests with a Casio CZ-101 synth.
=== D-550 tests - basic CONCLUSION ===
Similar behavior to previous tests with Casio CZ-101: some types of USB PC=>DIN SysEx transmission didn't work, whereas such transmissions worked OK with two other MIDI interfaces.
Transmission of single patch data from D-550=> PC worked fine, no matter what MIDI interface was used.
=== ENVIRONMENT ===
* Hardware - Roland D-550 synth module, MRC 880, Mac mini computer
* Software - macOS 11.7, Patch Base patch editor/librarian, Logic Pro, MIDI Monitor, SysEx Librarian
=== DETAILS ===
This testing concerned receiving and transmitting single D-550 patches. Single patches are what I will be dealing with primarily in patch editor environment, so that was the focus of the tests.
So observations concern SysEx composition/behavior of D-550 patch dumps. (Didn't attempt bulk dumps in this test, but have done so successfully with other MIDI interfaces, in the past).
Routing:
1. Tested first with MRCC 880
* DIN MIDI OUT (D-550) to PC USB IN and
* PC USB OUT to DIN MIDI IN (D-550)
2. Then tested with E-MU XMidi1X1 (simple USB to MIDI interface)
* E-MU MIDI interface connected to PC via the E-MU's USB port => to DIN port 1 (in/out)
* MRCC 880 powered by 5V DC power, independent of PC
* D-550 to DIN port 2 (in/out)
* DIN IN 1 => DIN OUT 2
* DIN IN 2 => DIN OUT 1
=== D-550 SysEx: OBSERVATIONS and CONCLUSIONS ===
1. In all programs, on all MIDI interfaces tested: D-550 => PC single patch transfer worked as expected.
2. On dumping a patch to PC (or the other way around), the D-550 was observed to send 468 bytes in two chunks:
- 266 bytes
- 202 bytes
In SysEx Librarian:
You can save these SysEx chunks as two separate SysEx files and send them successfully, in tandem, PC => D-550, to populate D-550's temporary patch memory.
This works no matter which MIDI interface is used, presumably because there is a pause between transmissions (?). Not necessary to adjust "Transmit Buffer Size" (as with the CZ-101) or "Pause between played messages" parameters: works fine in default values.
A single file of 468 bytes (as saved in Patch Base) - byte for byte identical to the two "chunk files" - didn't successfully transfer from PC => D-550, on any MIDI interface tested, with SysEx Librarian. One can hypothesize that this is because some sort of pause is required between the two chunks that have been combined into a single file, and SysEx Librarian doesn't know that is necessary (?). But again, I have no actual idea.
In Patch Base:
This is interesting. Patch Base can save the patch SysEx as a single 468 byte file. This file, when sent to the D-550:
- with 880: DOESN'T successfully populate D-550 temp patch memory (aka, doesn't create a different sound)
- with other MIDI interfaces: DOES
In addition, when Patch Base sends a single parameter change to the D-550, it sends 11 bytes (the CZ, by contrast, dumped its entire patch memory on every param change). But the important thing: this small PC=>D-550 transfer "works" with whatever MIDI interface.
So, as was the case with the MRCC 880 and CZ-101, *some* types of (typically small) PC=>synth SysEx transfer work fine. Generally speaking, the short handshake and param change transfers work, but when it comes to larger chunks, conclusions are more complicated.
I showed above, for example, that SysEx Librarian was able to successfully send patch data from PC=>D-550 by breaking into two separate chunks (files) and sending in tandem, with default 100 msec pause between - and this works with whatever MIDI interface.
Patch Base, otoh, sends 468 bytes together - unknown if there is a pause between the two chunks of the message, but the developer apparently knows how to account for the particular SysEx composition of D-550 patches: this transmission works with other MIDI interfaces, but not the 880.
So while using the program with MRCC 880 directly connected to PC, small 11 byte param changes get through to the D-550 -- and are reflected in its sound changing, for that parameter -- but loading a full 468 byte patch from hard drive doesn't get through.
=== P.S. ===
After testing CZ-101 with MRCC 880, there were four (4) more potential legacy devices to test.
I tested one more, the Roland D-550, and that is enough.
It is possible to devise an implementation scenario, now that I know what generally works and what doesn't with older synths. While it is disappointing that 880 PC=>synth transmission didn't always work, with every program in every context, in my case I probably don't want the 880 to primarily interact with a PC directly, most of the time; it's as valuable, if not more so, interacting with other interfaces and devices strictly through DIN ports.
In the process, I did a lot of reading. Issues faced with individual MIDI interfaces, SysEx, and older synths are not unusual.
Have read accounts of D-50 and D-550 also having transmission issues with particular interfaces. The MIDI synths I have been testing recently are 30-35 years old, in some cases. I have one synth (Korg Poly 800) that was released before MIDI spec was fully finalized, and it had to be retrofitted to enable it to even send/receive SysEx bulk dumps. Prior to that, the Poly used and can still use FSK (audio) data dumps for patch sets, even though it originally had MIDI ports which worked fine with program, controller, key on/off, etc.
So in context, all is good. thanks.
RE: Similar issues with Roland D-550 patch data sysex not transmitting from PC to synth DIN input, as experienced previously with Casio CZ-101
I just recently received a new HRC 880 and have been putting it through tests with old synthesizers.
Bottom line, up front: I am generally pleased with the HRC 880 - it fills a need for "desktop lab" interface at an affordable price point. Thank you, Conductive Labs. Through testing, I have devised an implementation scenario that will work with the 880, despite issues with PC=>legacy synth SysEx transmission.
=== CONTEXT ===
This thread is about tests with a Roland D-550 synth module and the MRCC 880.
Previously, I started a thread in the MRCC 880 forum, entitled "MRCC 880 issue with patch data sysex not transmitting from PC to synth DIN input"
https://conductivelabs.com/forum/showthr...p?tid=2042
That previous thread concerned tests with a Casio CZ-101 synth.
=== D-550 tests - basic CONCLUSION ===
Similar behavior to previous tests with Casio CZ-101: some types of USB PC=>DIN SysEx transmission didn't work, whereas such transmissions worked OK with two other MIDI interfaces.
Transmission of single patch data from D-550=> PC worked fine, no matter what MIDI interface was used.
=== ENVIRONMENT ===
* Hardware - Roland D-550 synth module, MRC 880, Mac mini computer
* Software - macOS 11.7, Patch Base patch editor/librarian, Logic Pro, MIDI Monitor, SysEx Librarian
=== DETAILS ===
This testing concerned receiving and transmitting single D-550 patches. Single patches are what I will be dealing with primarily in patch editor environment, so that was the focus of the tests.
So observations concern SysEx composition/behavior of D-550 patch dumps. (Didn't attempt bulk dumps in this test, but have done so successfully with other MIDI interfaces, in the past).
Routing:
1. Tested first with MRCC 880
* DIN MIDI OUT (D-550) to PC USB IN and
* PC USB OUT to DIN MIDI IN (D-550)
2. Then tested with E-MU XMidi1X1 (simple USB to MIDI interface)
* E-MU MIDI interface connected to PC via the E-MU's USB port => to DIN port 1 (in/out)
* MRCC 880 powered by 5V DC power, independent of PC
* D-550 to DIN port 2 (in/out)
* DIN IN 1 => DIN OUT 2
* DIN IN 2 => DIN OUT 1
=== D-550 SysEx: OBSERVATIONS and CONCLUSIONS ===
1. In all programs, on all MIDI interfaces tested: D-550 => PC single patch transfer worked as expected.
2. On dumping a patch to PC (or the other way around), the D-550 was observed to send 468 bytes in two chunks:
- 266 bytes
- 202 bytes
In SysEx Librarian:
You can save these SysEx chunks as two separate SysEx files and send them successfully, in tandem, PC => D-550, to populate D-550's temporary patch memory.
This works no matter which MIDI interface is used, presumably because there is a pause between transmissions (?). Not necessary to adjust "Transmit Buffer Size" (as with the CZ-101) or "Pause between played messages" parameters: works fine in default values.
A single file of 468 bytes (as saved in Patch Base) - byte for byte identical to the two "chunk files" - didn't successfully transfer from PC => D-550, on any MIDI interface tested, with SysEx Librarian. One can hypothesize that this is because some sort of pause is required between the two chunks that have been combined into a single file, and SysEx Librarian doesn't know that is necessary (?). But again, I have no actual idea.
In Patch Base:
This is interesting. Patch Base can save the patch SysEx as a single 468 byte file. This file, when sent to the D-550:
- with 880: DOESN'T successfully populate D-550 temp patch memory (aka, doesn't create a different sound)
- with other MIDI interfaces: DOES
In addition, when Patch Base sends a single parameter change to the D-550, it sends 11 bytes (the CZ, by contrast, dumped its entire patch memory on every param change). But the important thing: this small PC=>D-550 transfer "works" with whatever MIDI interface.
So, as was the case with the MRCC 880 and CZ-101, *some* types of (typically small) PC=>synth SysEx transfer work fine. Generally speaking, the short handshake and param change transfers work, but when it comes to larger chunks, conclusions are more complicated.
I showed above, for example, that SysEx Librarian was able to successfully send patch data from PC=>D-550 by breaking into two separate chunks (files) and sending in tandem, with default 100 msec pause between - and this works with whatever MIDI interface.
Patch Base, otoh, sends 468 bytes together - unknown if there is a pause between the two chunks of the message, but the developer apparently knows how to account for the particular SysEx composition of D-550 patches: this transmission works with other MIDI interfaces, but not the 880.
So while using the program with MRCC 880 directly connected to PC, small 11 byte param changes get through to the D-550 -- and are reflected in its sound changing, for that parameter -- but loading a full 468 byte patch from hard drive doesn't get through.
=== P.S. ===
After testing CZ-101 with MRCC 880, there were four (4) more potential legacy devices to test.
I tested one more, the Roland D-550, and that is enough.
It is possible to devise an implementation scenario, now that I know what generally works and what doesn't with older synths. While it is disappointing that 880 PC=>synth transmission didn't always work, with every program in every context, in my case I probably don't want the 880 to primarily interact with a PC directly, most of the time; it's as valuable, if not more so, interacting with other interfaces and devices strictly through DIN ports.
In the process, I did a lot of reading. Issues faced with individual MIDI interfaces, SysEx, and older synths are not unusual.
Have read accounts of D-50 and D-550 also having transmission issues with particular interfaces. The MIDI synths I have been testing recently are 30-35 years old, in some cases. I have one synth (Korg Poly 800) that was released before MIDI spec was fully finalized, and it had to be retrofitted to enable it to even send/receive SysEx bulk dumps. Prior to that, the Poly used and can still use FSK (audio) data dumps for patch sets, even though it originally had MIDI ports which worked fine with program, controller, key on/off, etc.
So in context, all is good. thanks.