什么是0x43 MIDI事件? [英] What is the 0x43 MIDI event?

查看:237
本文介绍了什么是0x43 MIDI事件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试编写MIDI解析器,但是我正在达到MIDI事件,而该事件未在官方文档中记录(即

I'm trying to write a MIDI parser, but I'm reaching a MIDI event that isn't documented in the official documentation (namely http://www.midi.org/techspecs/midimessages.php).

在我拥有的一个MIDI文件中,我注意到在81 70 90 3c 00的音符打开事件之后,立即得到以下字节:00 43 1e.但是,我还没有看到任何有关0x43充当MIDI事件标识符的文档.我应该如何解释0x43,在哪里可以找到有关此信息的更多信息?

In one of the MIDI files that I have, I notice that immediately after a note-on event of 81 70 90 3c 00, I get the following bytes: 00 43 1e. However, I have not seen any documentation about 0x43 acting as a MIDI event identifier. How should I interpret 0x43, and where can I find more information about that?

MIDI是可解释的,因为我已将它毫无问题地加载到Logic Pro中.另外,我对0x43的解释是准确的.

The MIDI is interpretable, because I've loaded it up into Logic Pro without issues. Additionally, my interpretation up to the 0x43 has been accurate.

推荐答案

81 70 90 3c 00 00 43 1e

81 70:增量时间(240滴答)
90 3c 00:音符打开消息(实际上是音符关闭)
00:增量时间
43 1e:注释消息,使用运行状态.

81 70: delta time (240 ticks)
90 3c 00: Note-On message (actually note off)
00: delta time
43 1e: Note-On message, using running status.

MIDI规范说:

运行状态

仅适用于语音和模式消息.接收并处理状态字节后,接收器将保持该状态,直到接收到另一个状态字节为止.因此,如果将重复相同的状态字节,则可以选择将其省略,以便仅需要发送数据字节.因此,对于运行状态",完整的消息只能由数据字节组成.

For Voice and Mode messages only. When a Status byte is received and processed, the receiver will remain in that status until a different Status byte is received. Therefore, if the same Status byte would be repeated, it can optionally be omitted so that only the Data bytes need to be sent. Thus, with Running Status, a complete message can consist of only Data bytes.

在发送长字符串的音符开/关"消息时,运行状态"特别有用,其中音符开度为0的音符开"用于音符关".

Running Status is especially helpful when sending long strings of Note On/Off messages, where "Note On with Velocity of 0" is used for Note Off.

状态字节始终设置为最高有效位(80–FF),而数据字节始终设置为最高有效位(00–7F).因此,始终可以区分它们.

Status bytes always have the most significant bit set (80–FF), while Data bytes always have it clear (00–7F). Therefore, it is always possible to distinguish between them.

这篇关于什么是0x43 MIDI事件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆