Apps by Arlomedia

BandHelper => Repertoire Help => Topic started by: go2ldook on July 21, 2021, 06:20:05 PM

Title: Time signature messages
Post by: go2ldook on July 21, 2021, 06:20:05 PM
I am assuming there is no way to send MIDI time signature out to devices from Bandhelper for songs? Seems to be a spot for time signature, but is that just a note section for it or would it actually send Time signature data?

I bought the new Infinity 3 looper and it has no way to change the time signature. The older model did so through a PC app. As it is, the default is 4/4 time, so loops are a 4 beat measure. If I want commands to work on a per beat basis I have to change the time signature. They say it can be done from your "master device"....for me, in terms of the MIDI Clock source, that would be Bandhelper.

There is some complex way of sending that as raw MIDI data, but I cannot figure out how you do it...wades into deeper understanding of MIDI than I have!
Title: Re: Time signature messages
Post by: arlo on July 21, 2021, 10:56:03 PM
I don't think the MIDI spec includes a way to send a time signature, so this would depend on how the receiving device implements it, and will probably require using the Raw MIDI field. What does your looper's documentation say it needs to receive?
Title: Re: Time signature messages
Post by: go2ldook on July 24, 2021, 11:41:58 AM
The manual just says this: "The Time Signature can be set on a preset-by-preset basis, or changed on the fly using MIDI commands. For quantization to the beat rather than to the measure, set the measure to a single note (eg. 1/2, 1/4, 1/8, 1/16)." and in a reply from customer support they said: "You will need to reference your master device to send time signature changes.  Many devices are different but the Looper can accept these time signature changes if the time signature change is sent correctly. "

I have looked up MIDI Time Signature and it is freaking mind bending, but I think I understand. One source threw me off, but this one explained that the 5th number set (cc) needs to be converted to hexadecimal. Going to try this and see if I can get it to work

FF 58 04 nn dd cc bb Time Signature

The time signature is expressed as four numbers. nn and dd represent the numerator and denominator of the time signature as it would be notated. The denominator is a negative power of two: 2 represents a quarter-note, 3 represents an eighth-note, etc. The cc parameter expresses the number of MIDI clocks in a metronome click. The bb parameter expresses the number of notated 32nd-notes in a MIDI quarter-note (24 MIDI clocks). This was added because there are already multiple programs which allow a user to specify that what MIDI thinks of as a quarter-note (24 clocks) is to be notated as, or related to in terms of, something else.

Therefore, the complete event for 6/8 time, where the metronome clicks every three eighth-notes, but there are 24 clocks per quarter-note, 72 to the bar, would be (in hex):

FF 58 04 06 03 24 08

That is, 6/8 time (8 is 2 to the 3rd power, so this is 06 03), 36 MIDI clocks per dotted-quarter (24 hex!), and eight notated 32nd-notes per quarter-note.
Title: Re: Time signature messages
Post by: arlo on July 24, 2021, 12:16:19 PM
Wow, I've never seen that before. Note that this page...

...says, "This message belongs to the category of MIDI meta messages. Since this is a meta message the MIDI event that carries this message may exist in MIDI files, but it is never sent over MIDI ports to a MIDI device." BandHelper will send it as you enter it, but this might mean the receiving device won't recognize it. I wonder what Infinity had in mind when they said it could respond to many kinds of messages.
Title: Re: Time signature messages
Post by: go2ldook on July 25, 2021, 08:54:24 AM
Well, did not seem to work at all. Fortunately I found that the Infinity 3 looper does run the old PC app for the original Infinity, I just needed to "Run as Administrator" for it to work. Can now select Time Signature for individual Presets, so all is good.