Does the audacity interface simply not support sysex messages to the midi device, or is there another way to do this in audacity? If it does not, it would be really helpful to be able to have audacity read a sysex system reset message between every midi, otherwise Audacity continues to play the next midi in sequence with all the same settings previously leftover from the first midi.
When I run a midi with the system reset for my MT-32 or SC-55 (i.e. setting everything back to default), this does not do anything in Audacity. This is definitely needed to be done between each midi. Otherwise, even if midis are on separate tracks, Audacity understands them all as one super long midi, and does not realize that they are separate. Therefore, for example, the second midi will retain all the leftover information from the previous midi, such as panning, etc.
Dumpster - (Downloads a zipped file). This is a MIDI System Exclusive (sysex) data dump program for Windows 3.1. It is public domain and includes Visual Basic source. Installation instructions are in the help file DUMPSTER.HLP.
Bulk Sysex Utility - Downloads a Stuffed (.sit) file. Does not work with G4 Macs. Does not support OMS. Handles dumps up to 128k. Directly supports serial ports on old serial port Macs (MIDI Manager not needed).
My solution is to use MainStage to send sysex commands. Program change commands are sent to MainStage from GP via the IAC bus in Mac. It would be much easier to do all this in GP, but this will work for now. Sysex to external MIDI is still on my wish list .
GP Script has a shell function (Mac only) and a more sophisticated ExternalApplication object that works on both platforms.
These can be used to invoke external programs. So you should be able to use this to invoke the SendMIDI program to send out SysEx messages.
Some of the commercially produced sequences use System Exclusive messages to enable the Sound Canvas module to have a second rhythm track (instead of only track/channel 10). The SysEx message (F0 41 10 42 12 40 1A 15 02 0F F7) effectively switches part/channel 11 from a 'normal' instrument part to a rhythm part, thus adding a second rhythm track to the 16 track/part sequence.
When I play back the same sequence in Cakewalk, the sequencer/DAW does not seem to recognize the System Exclusive message and does not change part/channel 11 to become a rhythm part and makes the sequence/song sound wrong.
I've attached the MIDI file to this post, but have stripped all the non-rhythm tracks/parts from it (I used Reaper for that). Be aware that it is copyrighted material and is only provided as a means to demonstrate the issue I'm having with playing back the MIDI sequence.
[1] The SysEx message (F0 41 10 42 12 40 1A 15 02 0F F7) effectively switches part/channel 11 from a 'normal' instrument part to a rhythm part, thus adding a second rhythm track to the 16 track/part sequence.
[2] When I play back the same sequence in Cakewalk, the sequencer/DAW does not seem to recognize the System Exclusive message and does not change part/channel 11 to become a rhythm part and makes the sequence/song sound wrong.
{1] I used to do this manually on my Roland M-GS64. (from my sysex file: F0 41 10 42 12 40 1A 15 02 0F F7.) It didn't work at first [Bank 1], then I set sysex on my M-GS64 and it seemed to do the trick. I sent the command directly from Bank 1].
My old Voyetra MIDI Orchestrator Plus and Voyetra Digital Orchestrator Pro were able to play back these sequences properly on my SC-88 back in the day. I would expect that Cakewalk, which has a long standing reputation for sequencing on PC, would be able to play the songs properly too.
As for missing the point, your comment says ". . . sequencer/DAW does not seem to recognize the System Exclusive message." I may have worded it badly. It sounded like you were saying Cakewalk didn't respond to the sysex. Sorry for the confusion.
After discovering the quicker quick fix, I revise my hypothesis that the problem may have been caused by fast back-to-back sysex commands. At least on my M-GS64, the problem was solved by not doing a second reset (which put channel 11 back into normal mode).
I think Sonar X1 on my 2004 vintage 32-bit XP SP3 PC might not have needed a work around (quick fix) or fiddling with sysex send rate/delay. Cakewalk Professional for Windows probably didn't send sysex too fast. If the quick fix doesn't work for you, I'll let others more knowledgeable about the inner workings of the current Cakewalk address the sysex rate/delay settings.
Oh, as for my reference to having done it manually ages ago, I didn't mean to imply you should do it manually. Sorry for that impression--my poor wording because I was anxious to get my M-GS64 to test your file.
Instead of "{1] I used to do this manually on my Roland M-GS64. I could get it out and test the sysex from Cakewalk to see if it switches. " I should have said "{1] I used to do this manually on my Roland M-GS64. I will get it out and test the sysex from Cakewalk using your file to see if it switches automatically from the sequence."
I'm currently at work, so I cannot verify what I'm about to state with the information in the original or edited MIDI file. Since I edited the MIDI file with Reaper to strip all channels but channel 10 and 11 from the sequence, I had to export the 'project' in Reaper to a MIDI file. The export dialog has a lot of options that I left at default. But because of this the attached file may have a different amount of tracks and those tracks may (or may not) contain the exact same data as the original did.
What I do know is, that the original sequence has some sort of master track that contained all SysEx messages. At 1.0.00 there's a GS Reset command to initialize the sound module and (I believe) at 1.1.17 there's the SysEx command to switch part/channel 11 from 'normal' to rhythm.
In a Cakewalk knowledge base article ( -Base/2007013095/System-Exclusive) it is suggested that adding a statement to TTSSEQ.INI might solve the issue. I found the INI file and edited it accordingly. But restarting Cakewalk and playing the original MIDI file still causes the same problem.
Yup--the TTS.INI parameters were the ones I had in mind. The Reference Guide also has info about some of those parameters (p. 1143 of the 25.09 version). It makes sense that the five auto send sysex banks I saw (in export.mid) might not be the same as in the original version. However, if the original does have a second reset somewhere after the part/channel 11 switch from normal to rhythm, the TTS.INI changes won't help.
On the M-GS64, I can send the normal -> rhythm sysex manually from a bank and see the change without having to play the file. If you can see that parameter on your Roland and it switches from the single sysex, I'd look for a second reset--either auto sent or somewhere else.
I hope one of the quick fixes help. I left the M-GS64 out last night and could do some additional testing if you'd like. BTW, from my ancient *.syx files, it looks like I occassionally switched part/channel 12 to drums, too! This brings back fond memories--I actually got started on Roland sysex/parameter changes helping a BBS friend sort out issues with an MT-32 and the Commodore 64!
I've used SYSEX MIDI messages for the last 20 years with Sonar and Cakewalk products (up to CbB 2019.9 Build 70) to control an external XG device. In all that time I have never had an issue.
First this was with an internal PCI card (SW1000XG) that responds to SYSEX. Now it's via a USB to MIDI converter (Roland Um-One Mark II) to an SW1000XG in a second PC. SYSEX data has always been sent and recognised by the intended equipment.
Note: With CbB, I found that I needed the MIDI driver mode to be set to MME rather than UWP. UWP always gave me issues of missed data - especially sysex.
Interesting point! When I saw people mention the MIDI driver mode in the forum, I looked at my setting. It was MME and I just left it there, mainly because I saw no reason to change it. Good to know about possible issues running under UWP.
I'm using Cakewalk by Bandlab (version 2019.09 Build 70, 64-bit). Since I purchased my Windows 10 laptop (in September 2017) I have NEVER used any previous version of Cakewalk or Sonar before installing Cakewalk by Bandlab. So Cakewalk by Bandlab has been the first and only version of Cakewalk / Sonar that I've installed and used on my PC. The MIDI driver mode is MME by default and changing it to UWP doesn't solve the problem.
I'm a Cakewalk novice and noticed that I'm unable to see any System Exclusive event in the Event List view. Not even the GS Reset message at the beginning of the song. Despite having made sure that all MIDI data are displayed in the Event List view.
I found an option in the Preferences dialog [under File > Ask Before Sending System Exclusive (When Opening Project)] and activated it.
Now when I open the original MIDI file, I'm asked if I want to send the SysEx message in the MIDI file to my MIDI gear and upon confirmation the GS Reset is sent to and executed on my SC-880. I can verify this by looking at the flashing of the display and the fact that after the event has been fired all channels are set to instrument 1 in bank 1 ("Piano 1" for all normal parts, drum patch "STANDARD 1" for part 10).