miditimecode quarterframes

Hello,
i’m having a hardtime receiving miditimecode. The midi in dat’s get the data into touch designer.
I used a midi in DAT an with some expressions to reassemble the data nibbles that I receive from
the midi stream. but receiving each indexed nibble individually leads to glitches when assembling the total timecode string. Using the buffer function of the midievents dat leads to skipped frames.

was someone already succesful in this.

grt michel

1 Like

Hi Shiner.
What’s your ultimate goal?
Can you use the MIDI In CHOP to receive bars, which are ultimately composed of MIDI ticks?
Why does reassembling the nibbles lead to glitches btw?

hi,

Im trying to sync with sony soundforge that gives mtc and I have some other devices that also generate mtc not midi time. The midi in chop does not support the mtc quaterframe format as far as I know.

The problem that I have is that in mtc each frame is send in 8 seperate messages. The index filter can be used to filter each “nibble” of data. So I end up with 8 dat’s that have a part of the frame data. When adding them together it sometimes happens that a lsb and msb nibble is added from the wrong frame, so there is a big jump when the msb nibble is added just befor it changes.
So the is a problem with synchronisation.

I somewhat solved the issue now by using the buffering of the midi event dat. I use the history and at every cook I have a script that searches for the index 0. I know than that the consecutive messages is a complete frame.

But I do believe that there must be a better solution for this.

grt michel

Hi Shiner.

Looking through the code, looks like the MIDI CHOP doesn’t process the quarter frame messages, but looks like the MIDI DATs do, as you’re using.

However, instead of using 8 DATs, I would use a single one.
Put all your re-assembly code in a single function callback script.
Store partial results in another DAT.

That way you don’t run into issues depending on which of your 8 DATs cook first.

We can take a look at your toe file if you like.

Hope that helps,
Cheers
Rob

I’ll send you my attempt.
I did not implement the decoding of the fps indicator and the hour data. It’s just an concept.

Hope you have an better and or more efficient solution

grt michel
mtc.tox (934 Bytes)

Here’s an updated version of this using Python.

For some reason touch designer crashes every time I try to import the mtc.tox file that shiner posted so I ended up rewriting it.
MTC_Quarterframes.tox (3.09 KB)

1 Like