fbpx
Skip to main content

MIDI Forum

issues and/or quest...
 
Notifications
Clear all

issues and/or questions on the UMP June 2023 updates

8 Posts
4 Users
0 Reactions
3,930 Views
Atsushi
Posts: 11
Active Member
Topic starter
 

Hi,

I have been implementing support for the new UMP packets (Flex Data, UMP Stream, etc.) in my library and noticed some issues.

1. On Utility messages, there are Figure 32 for Examples of JR Timestamps and Figure 35 for Examples of Delta Clockstamped messages. Both data fields are sized as 20 bits, but I believe JR Timestamp has only 16 bits.

2. On Set Chord Name messages explained at 7.5.8, I noticed that those example messages at Figure 76 tell that their format is `1`, but those packets are complete in one UMP, so I believe they should be `0` instead.

3. On Lyric Data message (7.5.10) and Ruby Data message (7.5.12), there are some mentions like "Data Continue UMP (Format = 0x1), but according to 7.5.1 (Flex Data Messages General Format), Flex Data Message Continue UMP is `0x2`, just like other format/status.

4. I am skeptical on how Lyric and Ruby messages are interpreted: what if our lyric packet is COMPLETE in one UMP, AND contains a "melisma" `00h` ? How should we represent such a lyric packet without adding extra letters to make it expanded to another packet? Unless I have missed something, there is no way to achieve that.

For potentially better understanding, I have created an example test case for #4 issue above to my library, at: https://github.com/atsushieno/ktmidi/blob/1fe8bf214/ktmidi/src/commonTest/kotlin/dev/atsushieno/ktmidi/UmpFactoryTest.kt#L439

 
Posted : 14/06/2023 4:15 am
Bavi_H
Posts: 266
Reputable Member
 

[quotePost id=18806]4. I am skeptical on how Lyric and Ruby messages are interpreted: what if our lyric packet is COMPLETE in one UMP, AND contains a "melisma" `00h` ? How should we represent such a lyric packet without adding extra letters to make it expanded to another packet? Unless I have missed something, there is no way to achieve that.[/quotePost]
I am also confused about how a melisma is supposed to work, take a look at my post from about a day and a half ago: MIDI 2.0 Lyric Data Message - Melisma questions

 
Posted : 14/06/2023 4:28 am
Andrew Mee
Posts: 49
Admin
 

Hi I'll try to answer as best I can 🙂

1. On Utility messages, there are Figure 32 for Examples of JR Timestamps and Figure 35 for Examples of Delta Clockstamped messages. Both data fields are sized as 20 bits, but I believe JR Timestamp has only 16 bits.

I believe the example should have been 16 bits in Figure 32 (good spot 🙂 ). Figure 35 is correct.

2. On Set Chord Name messages explained at 7.5.8, I noticed that those example messages at Figure 76 tell that their format is `1`, but those packets are complete in one UMP, so I believe they should be `0` instead.

I believe you are correct.

3. On Lyric Data message (7.5.10) and Ruby Data message (7.5.12), there are some mentions like "Data Continue UMP (Format = 0x1), but according to 7.5.1 (Flex Data Messages General Format), Flex Data Message Continue UMP is `0x2`, just like other format/status.

Again I believe you are correct.

These points (and your other question, which I don't have the expertise on) will be taken to the Working Groups for review - thanks for the feedback!

 
Posted : 14/06/2023 3:30 pm
Bavi_H
Posts: 266
Reputable Member
 

Hello Andrew! Can you also bring up my melisma questions to the Working Group -- they're different from Atsushi's point 4 above. See my post: MIDI 2.0 Lyric Data Message - Melisma questions

 
Posted : 14/06/2023 4:07 pm
Andrew Mee
Posts: 49
Admin
 

[quotePost id=18814]Hello Andrew! Can you also bring up my melisma questions to the Working Group -- they're different from Atsushi's point 4 above. See my post: MIDI 2.0 Lyric Data Message - Melisma questions[/quotePost]
Yes I will

 
Posted : 15/06/2023 9:22 am
Mike Kent
Posts: 86
Trusted Member
 

[quotePost id=18806]

4. I am skeptical on how Lyric and Ruby messages are interpreted: what if our lyric packet is COMPLETE in one UMP, AND contains a "melisma" `00h` ? How should we represent such a lyric packet without adding extra letters to make it expanded to another packet? Unless I have missed something, there is no way to achieve that.

For potentially better understanding, I have created an example test case for #4 issue above to my library, at: https://github.com/atsushieno/ktmidi/blob/1fe8bf214/ktmidi/src/commonTest/kotlin/dev/atsushieno/ktmidi/UmpFactoryTest.kt#L439 [/quotePost]

Atsushi,

Thank you for bringing us these issues. Andrew already answered on your first 3 questions. We will fix these and other errata in forthcoming minor revision to specifications.

Our Melisma Event definition in the specification has several issues. We are already working on a revised definition to be released soon. We are creating an example MIDI Clip File which we can send to you when it is ready.

Mike Kent
Chair of MIDI 2.0 Working Group

Chair of MIDI 2.0 Working Group

 
Posted : 17/06/2023 9:04 am
Atsushi
Posts: 11
Active Member
Topic starter
 

Hello,

Thanks Andrew for all the verification and Mike for the status updates. I will wait for the revised updates and apply changes to my implementation if needed.

 
Posted : 19/06/2023 12:04 am
Mike Kent
Posts: 86
Trusted Member
 

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. It is now available here: https://midi.org/specifications/midi-2-0-specifications/midi2-core

Thanks,
Mike.

Chair of MIDI 2.0 Working Group

 
Posted : 21/07/2023 2:25 pm
Share: