Is it possible to post a few example clip files or send them to my email address ?
We are currently working on a first example MIDI Clip File which we will make available in the spec download area of midi.org. We are working on a tweak to the Melisma lyric definition which we need to finish first. Then we will finish MIDI Clip File example(s).
Mike.
Chair of MIDI 2.0 Working Group
A first attempt:
DC
QUARTER
SET TEMPO
SET TIME SIGNATURE
DC
TEXT COMPLETE
DC
TEXT COMPLETE
DC
TEXT COMPLETE
DC
CLIP START
DC
CHANNEL NOTE ON (MIDI 2)
DC
CHANNEL NOTE OFF (MIDI 1)
DC
CLIP END
An empty MIDI Clip File would have all the following contents to meet minimum requirements:
File Header:
* SMF2CLIP
Clip Configuration Header:
*DC=0
*DCTPQ
Clip Sequence Data
*DC
*Start of Clip
*DC
*End of Clip
Chair of MIDI 2.0 Working Group
@Mike:
Why are the DC messages required?
A parser can recognize a DC message because it's an UMP message. That's different from MIDI 1.0, where DCs and 'real' messages had to be interleaved so the parser wouldn't get lost.
I guess any parser will work OK if a file omits all zero-tick DCs.
Thanks Mike, I added some other messages for fun.
Attached minimal.midi2
As Giel stated, I guess that if DC's are omitted (which would have the same timestamp as the previous one for a UMP next event), a sequencer probably may use the last DC send instead of ejecting the file. ๐
P.S: What is a Ruby ? Google spits out a long list of videos of famous songs or links to programming code and chatGPT has no idea either: In music theory and lyrics, a "ruby" is not a specific term or concept. It is possible that you are referring to a specific song or lyric that mentions "ruby," but without further context, it is difficult to provide a definitive answer. Music and lyrics often employ metaphors, symbolism, and imagery, so the mention of "ruby" could be a poetic device to convey a specific meaning or evoke certain emotions. If you can provide more information about the song or lyrics you are referring to, I might be able to offer a more accurate explanation.
I agree with the previous posts. Zero DCs should be omitted.
[quotePost id=18873]What is a Ruby ?[/quotePost]See the Wikipedia article ruby character. Basically "ruby" is referring to small pronunciation characters that appear above (or sometimes below or beside) a word. A combindation of lyric and ruby data messages might be useful to display, for example, Japanese lyrics with ruby characters in a karaoke-style display window.
You may also be interested in looking at the MIDI 1.0 specification for SMF Language and Display Extensions, which describes a way to encode a "ruby part" in a MIDI 1.0 Standard MIDI File.
Thanks a lot ! Good to know the word for boopoomoofoo :p
As a way of a gimmick. MIDI2 sysex2 files, anyone ? ๐
A new version of the M2-104-UM Universal MIDI Packet (UMP) and MIDI 2.0 Protocol specification, version 1.1.1, addresses some of these topics. The definition of Melisma events has been corrected. The new version is now available here: https://midi.org/specifications/midi-2-0-specifications/midi2-core
Thanks,
Mike.
Chair of MIDI 2.0 Working Group
Thank you for the change "NOOP message to restart the delta time count"
"The Clip Configuration Header shall not include more than one Set Tempo message and shall not include more
than one Set Time Signature message"
That would mean that if there are UMP messages for multiple groups in the file ( one more more set of MIDI 1~16 channels/i.e legacy cables) all need to follow the same TS and Tempo . OR that one MIDI clip file can only be used for one group since there is one header and only one TS/Temp event. if there is only one TS/Tempo allowed per clip, that should mean all UMP messages should use the same group number as defined in the TS/Tempo messages and TS/Tempo messages should both use the same group.
Corrected, DCTPQ cannot be 0, it is just the only reserved value, and adjust the note-on to match the note id with the note-off.;)
If I understand correctly, DCTPQ can now change throughout playing?
In tempo events: Number of 10 Nanosecond units Per Quarter Note
MIDI 1.0 tempo: 500000 ยตS microsecond
MIDI 2.0 tempo: 50000000 nS nanosecond -> is correct? so that they are equal
I made one here, although I'm still not sure how to deal with the tempo ๐ , they're supposed to sound the same
Does anybody have an example with a "Set MIDI-CI Profile On" in the header?
Thanks in advance!
Any news on official MIDI Clip File examples?