Jump to content

Exporting Time Signatures in MIDI (for Beat Buddy)?


Recommended Posts

I am trying to use Cakewalk (2024.02, Build 098, 64-bit Windows) to edit drum patterns to import into my BeatBuddy.

Typically, I'll take a short section (a few measures) as a clip and export to Standard MIDI file. 

There are issues with the interpretation of the file if the time signature is not 4/4.  It seems from comments on the BeatBuddy support forum that Cakewalk may not be including a MIDI status message (FF 58 04?) in the exported file to set time signature.  Is there an option to include the status message in exported MIDI?

Link to comment
Share on other sites

3 hours ago, Theodore Kloba said:

Cakewalk may not be including a MIDI status message (FF 58 04?) in the exported file to set time signature.

I don't know what the convention is for encoding Time Signature in a MIDI File, but I verified that CbB can read a non-4/4 time signature from one of its own exported/saved-as MIDI files on re-opening it, so I'm not sure why another app wouldn't, unless it's looking for some other indication.

You are setting the time signature in the Transport module in CbB, correct?

As you know, Cakewalk goes back almost to the dawn of software seqencers so it would be pretty weird for it to be doing anything unconventional in this regard.

Link to comment
Share on other sites

I little bell went off as I was thinking about this. If you're "exporting" by dragging the clip out of CbB to the file system, that could be the problem.  File > Export and Save As MIDI will include tempo and time signature but drag and drop will not unless you first convert it to a MIDI Groove Clip.

  • Like 2
Link to comment
Share on other sites

Thanks, David. 

I also thought it would be weird for Cakewalk to do anything non-standard; I've been using it for MIDI in one form or another since DOS in about 1993.

Yes, I have the time signature set in the transport module.  I'm exporting from File > Export > Standard MIDI File.

Maybe I will try converting to MIDI Groove Clips.

Link to comment
Share on other sites

Is it possible the BeatBuddy's real time Time Signature mode setting changes how BeatBuddy treats SMF Time Signature meta data? 

Quote
  • SMF Time Signature Meta Data
    • FF 58 04 07 03 0C 08
    • FF 58 04 01 03 0C 08
    • FF 58 04 03 02 18 08
    • FF 58 04 01 02 18 08
    • FF 58 04 0F 04 06 08
    • FF 58 04 01 04 06 08
    • FF 58 04 02 02 18 08
    • FF 58 04 04 02 18 08

The above is the result of a very simple test file I just did in CbB which I Saved As as MIDI File Type 0.

There are many online resources that explain the meta markers for standard midi files.  Here's one for the time signature meta data.  

Quote

 

The following is an example of a MIDI time signature meta message.

0xFF 0x58 0x04 0x04 0x02 0x18 0x08

The status byte 0xFF shows that this is a meta message. The second byte is the meta type 0x58 and signifies that this is a time signature meta message. The third byte is 4, which means that there are four remaining bytes. The fourth byte is 0x04, which means that the time signature numerator is 4. The fifth byte is 0x02, which means that the time signature denominator is 2^2 = 4. The sixth byte is 0x18, which is 24 decimal, and means that the metronome will click once every 24 MIDI clocks. The seventh byte is 8, which means that there are eight 32nd notes per beat.   [from https://www.recordingblogs.com/wiki/midi-time-signature-meta-message]

image.thumb.png.bf91b49ea96106a6b52f82ac1d37313f.png

Edited by User 905133
Deleted 7 bytes that were accidentally duplicated (copy/paste error); Added Staff View of a track without sample notes so the time signatures are all on one line
Link to comment
Share on other sites

9 minutes ago, User 905133 said:

I

image.thumb.png.bf91b49ea96106a6b52f82ac1d37313f.png

  • FF 58 04 07 03 0C 08 = 7/8
  • FF 58 04 01 03 0C 08 = 1/8
  • FF 58 04 03 02 18 08 = 3/4
  • FF 58 04 01 02 18 08 = 1/4
  • FF 58 04 0F 04 06 08 = 15/16
  • FF 58 04 01 04 06 08 = 1/16
  • FF 58 04 02 02 18 08 = 2/4
  • FF 58 04 04 02 18 08 = 4/4

Hope this helps.

Link to comment
Share on other sites

Cool. Strange that normal clip export wasn't getting the job done but maybe there's some small difference in the way Time Signature metadata is formatted in Groove Clip files that Beat Buddy likes better.

Link to comment
Share on other sites

18 minutes ago, msmcleod said:

If you want to keep meta data such as tempo, time signature or key signature, don't export as MIDI - "Save As" instead using the Standard MIDI File format.

Don't those mean the same thing?

Don't export as Midi vs Save as Midi? Ok, I am sure they don't but what is the difference. MIDI 0 vs MIDI 1?

Link to comment
Share on other sites

I have to do Export rather than Save As.  The BeatBuddy works with a combination of short Intro/Loop/Transition/Fill segments that you control with the foot pedal.  Save As writes the whole song as one file.

As for MIDI 0 vs. 1, that's well documented.  Type 0 merges everything to one instrument track.

Link to comment
Share on other sites

On 3/17/2024 at 6:05 PM, Theodore Kloba said:

It seems from comments on the BeatBuddy support forum that Cakewalk may not be including a MIDI status message (FF 58 04?) in the exported file to set time signature.  

I didn't analyze the complete midi test files derived from my basic *.cwp test file, but (1) the Save As Midi 0 file, (2) the Export Midi 0 file, and (3) the Export Groove Clip file, all contained the same Time Signature meta data bytes. I'll let someone else analyze the other differences if they want.  

5 hours ago, Theodore Kloba said:

I have to do Export rather than Save As.  The BeatBuddy works with a combination of short Intro/Loop/Transition/Fill segments that you control with the foot pedal.  Save As writes the whole song as one file.

This makes sense and helps explain why BeatBuddy might have more success with exported Groove Clips. Glad to hear you found a solution that meets your needs. 

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...