首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Midi文件中的midi音符长度

Midi文件中的midi音符长度
EN

Stack Overflow用户
提问于 2016-03-15 01:01:26
回答 2查看 2.2K关注 0票数 3

在MIDI中对音符长度有误解。我在Ableton Live中创建了一个简单的2条完整的midi文件(整个文件是1度量值),然后导出它并使用python (mididump.py)进行分析。

代码语言:javascript
复制
midi.Pattern(format=0, resolution=96, tracks=\
[midi.Track(\
[midi.TrackNameEvent(tick=0, text='examplemidi\x00', data=[101, 120, 97, 109, 112, 108, 101, 109, 105, 100, 105, 0]),
midi.TimeSignatureEvent(tick=0, data=[4, 2, 36, 8]),
midi.TimeSignatureEvent(tick=0, data=[4, 2, 36, 8]),
midi.NoteOnEvent(tick=0, channel=0, data=[65, 127]),
midi.NoteOnEvent(tick=192, channel=0, data=[60, 100]),
midi.NoteOffEvent(tick=0, channel=0, data=[65, 64]),
midi.NoteOffEvent(tick=192, channel=0, data=[60, 64]),
midi.EndOfTrackEvent(tick=0, data=[])])])

该分析器的数据参数为螺距、体积。这些都是正确的。我不明白的部分是“滴答”。看起来,如果midi文件的长度是284,那么“注意事项”就有意义了。看看pitch=60音符是如何从中途开始的。但是“音符”和他们的“音符”上的“滴答声”是一样的,田径项目的结束也是在“0”号上。我想我对midi计时是如何工作的有一个基本的误解,但我看不出如何从这些数据中推断出关于时间的信息。停下来。以下是对此感兴趣的人的十六进制中的midi:

代码语言:javascript
复制
4d54 6864 0000 0006 0000 0001 0060 4d54
726b 0000 0039 00ff 0301 0000 ff58 0404
0224 0800 ff58 0404 0224 0800 9040 6460
903c 6400 8040 4060 803c 4000 9040 6460
8040 4000 9043 6460 8043 4000 ff2f 00

拜托,谢谢你,明曼

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-03 14:14:54

正如@CL所指出的,MIDI滴答声与之前的事件有关。StackOverflow有一个很好的答案来解释更深一点的滴答/绝对时间转换

如果同时发生多个事件,那么第一个事件之后的每个事件都有一个勾值为0。第一个事件的值应该大于0,除非它发生在安排的开始。

票数 3
EN

Stack Overflow用户

发布于 2016-03-15 05:24:00

MIDI文件使用增量时间,也就是说,滴答值相对于轨道中的前一个事件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36000906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档