键盘中国

 找回密码
 注册

QQ登录

只需一步,快速开始

扫码快捷登录

搜索
baidu
音符之声扩展包豪华版V6重磅发布: s670 770 970 775 975 sx700 sx900 Genos Tyros5
查看: 5468|回复: 12

MIDI的固有延时

[复制链接]
发表于 2012-3-7 18:55 | 显示全部楼层 |阅读模式

马上登陆,参与交流。无法注册或登陆请加QQ群:777694204 或Email:admin@cnkeyboard.net

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 fhexian 于 2012-3-7 19:05 编辑

MIDI的波特率是31.25Kb/s,也就是说一秒钟只能发31250个位。
假设在电子琴上开个自动伴奏+一个主音色,通过MIDI往电脑传,某一时刻16个通道同时产生20个MIDI消息(应该是可能的吧),一个MIDI消息3字节*8位,那么同时有:

20*3*8=480个比特

要传出去。

480/31.25=15.36ms

这可是一个不算小的延时了。
再加上电路扫描键盘的延时、USB的延时、ASIO的延时,那岂不是、、、

MIDI协议里弯音是14位的。也就是说只要弯音轮一有动作,无论有多么小,就至少会产生2个MIDI消息。假设我在一秒之内将弯音轮从0推到最顶端,则产生了8192个弯音信息,16384个MIDI消息,
16384*24=393216个比特
393216 远远大于 31250
以31.2Kb/s的速度需要10几秒才能全部传完。


我测过我的电子琴的弯音是7位的,不过专业的MIDI键盘应该是14位吧?难道丢掉了一些数据?
另外,MIDI文件里有个什么tick,MIDI的最小时间单位。在MIDI的实时传输里有没有这个tick什么事?
还有个MIDI同步,跟这个延时有关系么?

最近看MIDI,不是很明白,和大家讨论讨论。

评分

参与人数 1琴币 +1 收起 理由
摇滚王勇 + 1 为您的钻研精神致敬!

查看全部评分

温馨提示: 发帖标题请概括内容,回帖请勿使用无意义字符或纯表情。积极参与发帖回帖交流能提高会员等级(提升下载权限)
回复

使用道具 举报

发表于 2012-3-7 23:57 | 显示全部楼层
楼主研究MIDI程度很深啊!

不过,我玩了17年MIDI,还从没遇到过MIDI信号延迟的情况!(设备故障除外)
温馨提示: 发帖标题请概括内容,回帖请勿使用无意义字符或纯表情。积极参与发帖回帖交流能提高会员等级(提升下载权限)
回复

使用道具 举报

发表于 2012-3-8 00:39 | 显示全部楼层
本帖最后由 duskysun 于 2012-3-8 00:50 编辑

嗯,假设交响乐队中定音鼓位置距离首席小提琴的距离为5.1米,那么按照声速340m/s计算,他们同时演奏时,听众听到的两种声音到达的时间差为15ms。所以即使是比较极端的状况,应该不会产生很严重的结果。

    说真的,很钦佩楼主的钻研精神,不知道MIDI的新标准会不会提高数据传输速率,即使那样也一定会兼容当前的速率。
温馨提示: 发帖标题请概括内容,回帖请勿使用无意义字符或纯表情。积极参与发帖回帖交流能提高会员等级(提升下载权限)
回复

使用道具 举报

发表于 2012-3-8 10:27 | 显示全部楼层
多个MIDI动作通过一定预处理算法混合之后再传输,传输时的信息量不能按照这种简单的乘法计算吧。
无论同一时刻有多少音符,单位时间内传输的数据量是恒定不变的。延迟只跟时钟频率有关。
温馨提示: 发帖标题请概括内容,回帖请勿使用无意义字符或纯表情。积极参与发帖回帖交流能提高会员等级(提升下载权限)
回复

使用道具 举报

发表于 2012-3-8 12:08 | 显示全部楼层
本帖最后由 duskysun 于 2012-3-8 12:09 编辑

认真想想,楼主描述的状况是有可能出现的,因为MIDI事件带有时间标记tick,所以音符、通道间的时差不会变化,有可能会产生整体的延迟,好在这种延迟在20ms以内时我们很难分辨。
温馨提示: 发帖标题请概括内容,回帖请勿使用无意义字符或纯表情。积极参与发帖回帖交流能提高会员等级(提升下载权限)
回复

使用道具 举报

发表于 2012-3-9 12:22 | 显示全部楼层
看了楼主的帖子,虽然解答不来楼主的问题,但是从楼主列举的数字与困惑中反而学到了一些东西。

谢谢每一个钻研MIDI 的朋友,愿大家都能从对MIDI 音乐的学习中获得更多的快乐。
温馨提示: 发帖标题请概括内容,回帖请勿使用无意义字符或纯表情。积极参与发帖回帖交流能提高会员等级(提升下载权限)
回复

使用道具 举报

 楼主| 发表于 2012-3-10 20:32 | 显示全部楼层
buzhisuoyun908 发表于 2012-3-8 10:27
多个MIDI动作通过一定预处理算法混合之后再传输,传输时的信息量不能按照这种简单的乘法计算吧。
无论同一 ...

你好。
请问能不能讲得再详细一点?或者劳驾给我发点MIDI的资料什么的(hudaliuzhi&sohu.com,&换成@)。最好是协议。我想DIY一个MIDI控制器。协议还没搞清。
温馨提示: 发帖标题请概括内容,回帖请勿使用无意义字符或纯表情。积极参与发帖回帖交流能提高会员等级(提升下载权限)
回复

使用道具 举报

 楼主| 发表于 2012-3-10 20:33 | 显示全部楼层
摇滚王勇 发表于 2012-3-9 12:22
看了楼主的帖子,虽然解答不来楼主的问题,但是从楼主列举的数字与困惑中反而学到了一些东西。

谢谢每一 ...

呵呵,thanks。
温馨提示: 发帖标题请概括内容,回帖请勿使用无意义字符或纯表情。积极参与发帖回帖交流能提高会员等级(提升下载权限)
回复

使用道具 举报

发表于 2012-3-10 22:23 | 显示全部楼层
本帖最后由 大蚊子 于 2012-3-10 22:23 编辑
fhexian 发表于 2012-3-10 20:32
你好。
请问能不能讲得再详细一点?或者劳驾给我发点MIDI的资料什么的(hudaliuzhi&sohu.com,&换成@)。 ...


MIDI控制器不难弄,用单片机的话只要将串口设为31250 就可以了,剩下的看你的发送指令。如果MIDI信号流程处理复杂的,可以用8M以上的晶振,一般的4M足够。什么硬件都有延时,只不过不在人耳的鉴别范围内。

MIDI 控制器无非是模拟量和开关量数据。对于模拟量的数据是0~127范围,如果不是为了追求平滑的曲线,可以将0~127数据除以8来发出,这样会减轻处理器的压力,以及避免信号堵塞。

还有一个原因是,对于MIDI指令,是可以采用简写方法,比如发出30号和40号音符,7F力度,并且关闭,则是90 30 7F 40 7F 30 00 40 00,省了3个90指令。知道即可,写代码不心拘尼于此~

延时的问题,有疑问是好,不过对于MIDI控制器,也无需多虑.

至于滑音轮的数据问题,我没有试验也说不出个所以然,路过!

评分

参与人数 1琴币 +2 收起 理由
摇滚王勇 + 2 谢谢大蚊子朋友的“天书”课程。

查看全部评分

温馨提示: 发帖标题请概括内容,回帖请勿使用无意义字符或纯表情。积极参与发帖回帖交流能提高会员等级(提升下载权限)
回复

使用道具 举报

 楼主| 发表于 2012-3-10 23:55 | 显示全部楼层
大蚊子 发表于 2012-3-10 22:23
MIDI控制器不难弄,用单片机的话只要将串口设为31250 就可以了,剩下的看你的发送指令。如果MIDI信号流 ...

恩,谢谢大蚊子兄指教。
那先搞着了,延时的有问题到时候再说。
中途可能还要请教你哈!
温馨提示: 发帖标题请概括内容,回帖请勿使用无意义字符或纯表情。积极参与发帖回帖交流能提高会员等级(提升下载权限)
回复

使用道具 举报

发表于 2012-3-11 22:13 | 显示全部楼层
fhexian 发表于 2012-3-10 23:55
恩,谢谢大蚊子兄指教。
那先搞着了,延时的有问题到时候再说。
中途可能还要请教你哈!

放心吧,这个延时完全感觉不到的~~
温馨提示: 发帖标题请概括内容,回帖请勿使用无意义字符或纯表情。积极参与发帖回帖交流能提高会员等级(提升下载权限)
回复

使用道具 举报

发表于 2012-3-19 16:44 | 显示全部楼层
本帖最后由 linzi610 于 2012-3-19 21:53 编辑

1楼:
我刚才用CakeWalk测试滑音,MIDI录音后查看CakeWalk事件列表,滑音轮事件每秒钟只有50、60个以下,所以应该是不可能产生你说的8000多个那么多信息。
温馨提示: 发帖标题请概括内容,回帖请勿使用无意义字符或纯表情。积极参与发帖回帖交流能提高会员等级(提升下载权限)
回复

使用道具 举报

发表于 2012-3-19 20:40 | 显示全部楼层
本帖最后由 suguofu 于 2012-3-19 21:00 编辑





1  MIDI系统里约有20~30毫秒延迟,实际听不出来
2 弯音信息有两个数据字节,具有14比特的数值
3 用硬件接电脑和ASIO无关

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
温馨提示: 发帖标题请概括内容,回帖请勿使用无意义字符或纯表情。积极参与发帖回帖交流能提高会员等级(提升下载权限)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

微信公众号|领红包|举报|黑屋|手机|Archiver|官方QQ群:777694204|键盘中国 ( 粤ICP备19059169号-1 )

GMT+8, 2025-11-5 15:21 , Processed in 0.114404 second(s), 52 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表