Jump to content

Cakewalk seems not to recognize sysex message [SOLVED]


Victor Peters

Recommended Posts

Hi,

Thanks all for helping me out, but I'm not quite there yet.

For starters, the MIDI interface I'm using is a Roland UM-2ex (1 x MIDI-in, 2 x MIDI-OUT) USB-MIDI interface.
If the interface or its driver were at fault, than I would expect that Reaper and Sekaiju also would have trouble playing back the Mission Impossible file. Or all other MIDI files I own.

So why won't I use one of these two sequeencers/DAW's? Well, in short, I like the interface of Cakewalk better.

I've added some screen shots of all three programs, to show you what information is displayed after having opened/loaded the Mission Impossible MIDI sequence. The differences are confusing to me and I would like to share this with you, along  with a brief description.

 

Reaper

Reaper-SysEx.thumb.png.bf9c02c7d5b458160a74fd60aa7c64f3.png
Above is the screen shot of the full and unfiltered MIDI Event List in Reaper of track 1. This is the track where all SysEx events reside according to Reaper. Tracks 2 to 17 contain all Control Change and Program Change events for MIDI channels 1 to 16 and from track 18 and upwards the actual Note events are shown.
From the above image you can clearly see at what song position the SysEx messages are sent to the sound module. The sound module receives a GS Reset at 1.1.00 and shortly afterward track/channel 11 is switched from 'normal' to rhythm at position 1.1.17 and the song is played back properly.
At the end of the song (at 91.4.00) a GS Reset is sent again to undo all the changes (SysEx, PC, CC, etc.) made by the song during play back.

 

Sekaiju

Sekaiju-EventList.thumb.png.9d713d0d11aa5784fed0991d38dda7f9.png
Above you see a screen shot of the MIDI Event Editor in Sekaiju of the same original and unaltered sequence. The Event Editor shows a list of all MIDI events, including SysEx, Control and Program Change and Note events, with the song position at which they occur. According to this list all SysEx events in the sequence are on track 2 !!! (see highlighted lines in the image). The track number precedes the actual name of the track in the Track column. This seems odd to me. Why the difference?

 

Cakewalk by Bandlab

Cakewalk-SysEx.png.e07e8436bcf3c0c6b6021614f214abf6.png
Above you see a screen shot of the SysEx viewer/editor in Cakewalk (same original, unaltered song opened/loaded). In the list with SysEx messages you can see that they all have "Auto" checked/activated. I'm not sure , but I think this means that al SysEx messages with the check mark in the list are sent to the sound module on opening the MIDI file.
To find out if I was right, I removed/unchecked the check marks for all messages in the list and saved the MIDI file under a different name. I restarted Cakewalk and opened/loaded the altered file. Upon opening I wasn't asked if I wanted to send the SysEx data to my sound module. But when I opend the SysEx viewer/editor, all SysEx messages were gone!

Cakewalk-MidiEventList.png.439633b2117c4f679fc12f20474ad075.png
The above screen shot is also from Cakewalk, but it's the MIDI Event viewer/editor (after having opened/loaded the original, unaltered MIDI file again).
I've cycled through all tracks (using the "Tracks" drop down) looking for any track and/or song position where any of the SysEx events from the list in the SysEx viewer/editor might occur. But I can't find any track contains a spot where a SysEx event is fired.
Therefore I conclude that the "Auto" check mark in the SysEx viewer/editor means that these events are automatically fired upon opening/loading the MIDI file. That might also mean that these events are fired to close to one another for the sound module to be able to handle them properly.

I wonder if it is possible in Cakewalk to fire a SysEx event (on from the list of SysEx events in the editor/viewer) at a specific position in the middle or at the end of a song. The Mission Impossible song performes a GS Reset again at the end of the song in both Reaper and Sekaiju, but not in Cakewalk. Also, Cakewalk keeps playing after the end of the song, the other two programs simply stop at the end of the song because there's no more data in any track to play back.

Edited by Victor Peters
Link to comment
Share on other sites

On 10/30/2019 at 10:28 PM, Promidi said:

I downloaded "Theme from Mission Impossible" and opened it up in CbB.  The SYSEX data is definitely there.  It's in track 1 right at the beginning.

What I do when looking for SYSEX data in a MIDI file is I select all tracks.  The open event list.  If present, the SYSEX is at the start, but sometimes it can appear in the middle of the track.  I do this at times with the MIDIs I create.

You can use the event manager (Under the view menu on the Event List window) to restrict the view to just SYSEX data.

As sysex does not contain channel information, it can be in any track.

When I open/load the MIDI file with the Mission Impossible tune in Cakewalk and look at the events in track 1, I only see Program Change ("Patch"), Control Change ("Control"),  Registered Parameter Number ("RPN") and Non-Registered Parameter Number ("NRPN") events. No SysEx.
Why is it that I can't see the SysEx events in the Event List?

Edited by Victor Peters
Link to comment
Share on other sites

>> Why is it that I can't see the SysEx events in the Event List?

(1) Sysex Banks: Normally these do not show in the track event lists. These can be marked as auto send = yes [a check] or auto send =  no.

(2) Sysex data (what I am calling in-line hex): These are visible in the track event lists.

(3) Sysex banks (what I am calling bank calls): These are visible in the track event lists

 

>> I wonder if it is possible in Cakewalk to fire a SysEx event . . . at a specific position in the middle or at the end of a song.

Yes!! That's (3) above if you insert a sysex bank. Or, you could use method (2) above by inserting the "hex code".

 

 

Edited by User 905133
Link to comment
Share on other sites

7 hours ago, Victor Peters said:

Reaper

Reaper-SysEx.thumb.png.bf9c02c7d5b458160a74fd60aa7c64f3.png
 

Cakewalk by Bandlab

Cakewalk-SysEx.png.e07e8436bcf3c0c6b6021614f214abf6.png

 

This is the problem in a nutshell.  The reset at 91.4.00 should not be sent at the beginning. (IMO)

Please do a simple test--uncheck Bank 4. If that solves the problem, you can put a call to Bank 4 at the end of the file.

Thanks.

Link to comment
Share on other sites

5 hours ago, User 905133 said:

This is the problem in a nutshell.  The reset at 91.4.00 should not be sent at the beginning. (IMO)

Please do a simple test--uncheck Bank 4. If that solves the problem, you can put a call to Bank 4 at the end of the file.

Thanks.

Well, the event list in Reaper and Sekajiu clearly show that the GS Reset is actually performed/sent at the end of the song.

But somehow Cakewalk places all the SysEx messages at the beginning of the song or at least executes them when opening/loading the MIDI file...

Edited by Victor Peters
Link to comment
Share on other sites

10 hours ago, JoseC said:

Uncheck "Always use Sysex banks for MIDI files (instead of Sysex data)" in the Preferences>Midi>Playback and Recording menu, and see what happens.

 

As stated in The FM

Thanks JoseC. That did the trick.

After disabling the option "Always use Sysex banks for MIDI files" and loading the original Mission Impossible tune , I now see the GS Reset at the beginning of the song in the SysEx Viewer/Editor and the other SysEx messages in the Event List.

I'm so greatful for your help. Thanks to everyone who participated in this discussion.

  • Like 1
Link to comment
Share on other sites

Glad to help. Anyway, Cakewalk should place a bank event for those sysex messages that are stored as sysex banks. If not for those at the beginning of the sequence, that are marked for Auto Send, at least for the last reset at the end. If it does not, this is a bug, indeed.

That Preferences option sould really be unchecked by default, to avoid situations as yours. 

Please mark the thread title as SOLVED, so it is easily found for others searching for help.

  • Like 1
Link to comment
Share on other sites

1 hour ago, JoseC said:

Glad to help. Anyway, Cakewalk should place a bank event for those sysex messages that are stored as sysex banks. If not for those at the beginning of the sequence, that are marked for Auto Send, at least for the last reset at the end. If it does not, this is a bug, indeed.

That Preferences option sould really be unchecked by default, to avoid situations as yours. 

Please mark the thread title as SOLVED, so it is easily found for others searching for help.

 

Good to know about! Thanks!! I suppose I never noticed this because I have done 99.44% of my Cakewalk stuff over the years using either wrk or cwp files.  I assume the option only applies to MIDI files based on the description. 

"Always use Sysx Banks for MIDI Files (Instead of Sysx Data). "

"If you check this option, Cakewalk puts any sysx data contained in imported MIDI files into sysx banks instead of a stream of sysxdata events (except for auto-send data, which is sent before playback). These banks show up in the Event list as bank events. If you don’t check this option, imported sysx data remains as sysx data events if it is up to 255 bytes, and is put into banks if it is 256 or more bytes."

 

Link to comment
Share on other sites

2 hours ago, JoseC said:

Glad to help. Anyway, Cakewalk should place a bank event for those sysex messages that are stored as sysex banks. If not for those at the beginning of the sequence, that are marked for Auto Send, at least for the last reset at the end. If it does not, this is a bug, indeed.

That Preferences option sould really be unchecked by default, to avoid situations as yours. 

Please mark the thread title as SOLVED, so it is easily found for others searching for help.

Thanks again, JoseC.

I will change the title of the thread. 

Cheers.

Link to comment
Share on other sites

  • Victor Peters changed the title to Cakewalk seems not to recognize sysex message [SOLVED]

I'm going to guess that the inclusion of the reset message at the end of the song could be troublesome in another way:

you played the song to the end and now you want to play from somewhere in the middle of the song. Too bad, the GS got reset and the setup messages don't get sent, so the synth doesn't play right. Other MIDI events, such as CCs and program & bank changes (and optionally notes) are "chased" up to the point of starting playback. (Meaning Cakewalk sends the contemporaneous values of those events, and optionally notes, before starting playback at a given point.) But that sysex message that changes channel 11 to rhythm doesn't get chased.

Link to comment
Share on other sites

1 hour ago, bvideo said:

I'm going to guess that the inclusion of the reset message at the end of the song could be troublesome in another way:

you played the song to the end and now you want to play from somewhere in the middle of the song. Too bad, the GS got reset and the setup messages don't get sent, so the synth doesn't play right. Other MIDI events, such as CCs and program & bank changes (and optionally notes) are "chased" up to the point of starting playback. (Meaning Cakewalk sends the contemporaneous values of those events, and optionally notes, before starting playback at a given point.) But that sysex message that changes channel 11 to rhythm doesn't get chased.

True. But it doesn't bother me.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...