录音/制作/创作 吉他 扩声技术 视频技术 作品展示 生活 信息 更多... | 音频应用专卖店

[转贴] MIDI键盘输入不准确或延时的朋友进来看:《彻底解决Cubase MIDI时钟不稳的问题》

( 11 )
 
[收藏]

1637
#1 09-3-11 03:04

MIDI键盘输入不准确或延时的朋友进来看:《彻底解决Cubase MIDI时钟不稳的问题》

看到论坛上好多朋友有MIDI键盘输入音符不准确(快、慢、延迟等情况),我想起来以前看过MIDIFAN杂志的一篇文章,所以现在转载上来,希望能对大家有所帮助。



-----------------------------------------------------  转自《Midifan月刊》2008年01月号
Martin Walker/文   musiXboy/编译   (Sound On Sound杂志 2007年12月期)独门秘籍 小  贴  士
Cubase 小贴士:
彻底解决 Cubase MIDI 时钟不稳的问题


音符快了……音符慢了……俩音符重叠在一起了……在Cubase录制MIDI时有着各种各样太多的问题,我
们来看看到底怎么办。

    有很多人安装Cubase后录MIDI回放MIDI都完全没有问题,但是也有很多人,特别是Windows的用户,都有幸体验到了Cubase让人发疯的MIDI问题:MIDI音符比实际输入位置提前,或者延后,甚至是两个音符重叠在一起,更有甚者根本录不进MIDI音符,极端情况还会欣赏到所有录入MIDI音符都集中在Cubase最开头位置的奇观。仔细看下文,也许能帮到你。

MIDI时钟的背景:
   Cubase MIDI不准的问题是在Steinberg在N年前推出Midex MIDI接口时候被发现的,因为当时所有的MIDI接口都使用Windows标准MIDI驱动,而Midex却换成了精度更高时钟更准的DirectMusic驱动。当时的Cubase可以很好的支持Midex的DirectMusic驱动,却对其它MIDI接口厂商的Windows标准MIDI驱动支持不佳,而当时其它厂商也不能提供仿真的DirectMusic驱动。
    于是Cubase后来利用原始的Windows标准MIDI驱动,结合DirectMusic驱动,开发出了仿真DirectMusic驱动,你可以让自己的MIDI接口使用以上三种驱动中的任意一种。如果你不支持DirectMusic的MIDI接口在Cubase里不使用仿真DirectMusic驱动,那么MIDI音符就会发生错位。
    Steinberg后来又想出了一个办法,可以让你将不正确的MIDI驱动给隐藏掉,只让你用最合适的驱动。但是Steinberg开发的第一代MIDI驱动过滤程序有一些问题,总是会把最合适的驱动给隐藏掉。不过还好我们可以手动给改回来,方法可能大家都知道了,就是到Cubase的MIDI Port Enabler目录里找到一个叫ignoreportfilter的文件,把它移动到Cubase根目录里,然后在MIDI设置里你会发现有两个MIDI驱动,选择那个原始的Windows MIDI驱动即可。
    到了Cubase SX/SL和Nuendo 3.01的时代,Steinberg终于开发出了更准确的MIDI过滤器。如果检测到你的MIDI接口支持DirectMusic,就OK。如果不支持,那就用Windows标准MIDI。注意:默认情况下Cubase/Nuendo永远不会让你用仿真的DirectMusic。Cubase/Nuendo 3.01的MIDI过滤器判断正确的时候居多,而且只要判断对,就肯定是没问题的。

Windows时钟:
    Windows下MIDI不准的原因不只是上面说的Cubase判断的问题,还有Windows时钟自己的问题。老的Windows版本和老的MIDI接口,以及支持VST和ASIO标准的大多数音序器软件们都使用Windows TGT (timeGetTime)时钟,它可以精确到毫秒。而一些新的MIDI接口和一些使用DirectMusic的MIDI接口,以及其它一些音序器软件却使用QPC (QueryPerformanceCounter)时
钟,精度比TGT高10倍。
    问题来了,如果你走QPC时钟的MIDI接口遇到了走TGT时钟的Cubase,MIDI音符不乱才怪。Steinberg在Nuendo 2和Cubase SX 2.2给出了解决方案:DirectMusic设置里的Use  system timestamp选项,如果你选上它,那么Nuendo和Cubase就改走QPC时钟。
    实际上这是Windows的问题,责任不在Cubase。SONAR有另外一套解决方案:在它的TTSEQ.INI初始化文件里有一个IgnoreMidiInTimeStamps选项,默认为1,如果你发现SONAR里的MIDI也错
位了,你可以手动改成0。
再回过来说Steinberg,到了Cubase SE/SL/SX 3.01和Nuendo 3.01版本Use system timestamp
被挪到了Windows MIDI设置页面里,这样如果你的电脑连接了多台MIDI接口,你可以分别设置让它们
走TGT还是QPC时钟。

我是否需要Use system timestamp?

    有一个小软件可以告诉你,在这里下载MIDITime Utility(http://www.jay.fm/miditime/miditime.exe),用一根MIDI线把你MIDI接口的输入/输出串起来,运行这个软件,它会告诉你Cubase是否需要选中Use system timestamp。
    如果你是懒人,MIDITime Utility作者做了一些常用MIDI接口的测试,你可以对号入座。
    需要选中Use System Timestamp的MIDI接口:
• Echo Mia
• EMU 1212M
• Frontier Design Dakota
• M-Audio 410 Firewire
• M-Audio Audiophile 2496
• MOTU 828 MKII
• MOTU Express XT
• MOTU MTP-AV
• Steinberg MIDEX-8
• Terratec EWS88MT
• Yamaha SW1000XG
• Wami Rack-24
不能选中Use System Timestamp的MIDI接口:
• Aardvark LX6
• Aardvark Q10
• Edirol UMT-880
• Digi 001
• Emagic Unitor8 MK1
• Emagic Unitor8 MK2
• Emagic AMT-8
• M-Audio MIDISport
• RME Digiface
• RME 9632
• Roland SC-8820
• Roland Super MPU-64
• Roland UM-4
如果你用以下的主板,用任何MIDI接口,选不选中Use System Timestamp都无所谓:
• Asus A7V333
• Asus A7N8X-X
• Asus P4D-800D
• Asus P4T-533C
• Asus TUSL2-C

    如果你有好几个MIDI接口,连接好几个MIDI键盘,那你一定要有很好的记忆力,哪个MIDI接口要Use System  Timestamp,哪个不要Use System  Timestamp,哪个MIDI键盘要Use System Timestamp,哪个不要Use System Timestamp……
    还有一点,可能有些人刚运行Cubase时MIDI对的很准,但随着工作时间的增长,MIDI时间越来越不准了,你也许发现了一个诀窍:关闭Cubase再打开就又好了。这并不是长久之计,我建议还是看看Use System Timestamp那里是否选错了。

终极测试:

    如果你还是不确定你的MIDI接口在哪种状况下MIDI时钟最准,那么就来做个测试好了。我们要测试4种状态:用Windows标准MIDI驱动和用DirectMusic驱动(或仿真DirectMusic驱动),选中Use System Timestamp和不选中Use System Timestamp。
    即便你的MIDI接口只支持Windows标准MIDI驱动,但也许仿真DirectMusic驱动+QPC时钟能使MIDI精度提高,所以我们还是要经过测试才知道。
    打开一个新的Cubase工程,速度选120BPM,关闭自动量化,建一条MIDI轨画出一段持续好几个小节的MIDI区块,然后在里面用画笔工具把每个小节都画上一个1/16音符,将该MIDI轨的输出选择为你的MIDI接口输出。再建一条新的MIDI轨,输出留空,而把输入选择为MIDI接口的输入。最后用一根MIDI线把你MIDI接口的输入/输出串起来,然后在回放的同时让第2条音轨录音,这样我们就在第2条音轨上录到了第1条音轨的MIDI音符。如图1。
    现在你就可以放大两条音轨,看看第2条音轨的MIDI音符是否有错位。如图2。需要注意的是即便你选对了驱动和MIDI时钟也不会100%的准确,这是由你MIDI接口硬件本身的时钟不稳造成的,也就是我们常说的jitter现象(时基偏移)。

图2的测试图,我放大到最大精度,标尺的单位是秒,一格代表10毫秒。最上面的黄色音符是手画的标准1/16音符。6个紫色音符都使用了Maple虚拟MIDI软件(等于让MIDI信号在电脑内部串接,而没有经过MIDI接口硬件),第一轨紫色音符用了system
timestamp,第二轨没有。6个绿色音符与紫色音符用了一样顺序的设置,但是是过了我的EMU 1820m声卡的MIDI接口(用Windows标准MIDI驱动)。后6个蓝色音符也是EMU 1820m声卡,但用了仿真DirectMusic驱动。在这个测试中,用了system timestamp的结果都比没用要准确,而最准确的音符则是浅绿色被选中的那一组,这样我就知道在我的电脑上,EMU 1820m声卡
的MIDI接口用自己本身的Windows标准MIDI驱动,选中Cubase中的use system timestamp是最准确的。

微操:
    也许你还经常使用虚拟MIDI接口软件(比如MIDI Joke、Hubi's MIDI LoopBack device),使MIDI信号在电脑内部各个软件之间串接,这样的情况下你就不必担心MIDI硬件驱动对Cubase的干扰,但时钟选不对的话同样会造成MIDI不准的现象。那我们可以用一个叫MIDItest的软件来测试MIDI在电脑内部串接的延迟和jitter。下载MIDItest:http://earthvegaconnection.com/evc/products/miditest/fle/miditest46.zip
    然后我们用一个叫Maple的虚拟MIDI接口软件来做测试(当然你用MIDI Joke、Hubi's MIDI LoopBack device等等也可以),下载Maple:http://www.hurchalla.com/MapleVMCv356.zip
    测试结果(如图3)超棒,Maple的延迟只有0.01ms,jitter几乎测试不出来。毕竟是虚拟MIDI接口嘛。
    当然你也可以直接把输入/输出端口选成MIDI接口,用MIDI线把输入/输出串起来做这个测试,在上面说的各种情况下做测试,也可以很快的找出自己系统在如何的设置下MIDI延迟最低。

本帖子中包含更多资源

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

x
观众反应

2552
#2 09-3-11 08:19
好贴,顶一个。

338
#3 09-3-11 08:42
顶一个!
非常的好!
现在用的很少了,但是还是顶一个!
谢了!

1043
#4 09-3-11 10:40
不错,虽然没遇到过这样的问题,但懂得了所以然。注明了转贴,很实诚,更应当谢谢。

185
#5 09-4-20 12:35
这么不说该怎么解决啊

9
#6 09-4-20 17:05
谢谢·顶一个··我的NUENDO3.01就出现了这种问题·开始还好·运行时间越长延迟就越大,我具体该怎么解决这个问题·真的很苦恼

1868
#7 09-4-20 19:26
先收藏~ 日后细细研读

1099
#8 09-4-23 14:26
谢谢了。正在要解决这个问题。

256
#9 09-8-19 12:40
谢谢!您太厉害了!!!果真是这个问题!您帮我大忙!!!

本帖子中包含更多资源

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

x

434
#10 09-8-25 01:58
观看后留名,学习了!

31
#11 11-10-11 12:39
MIDI音符都集中在Cubase最开头位置的奇观我已经遇到了!!

这帖子让我看到了希望啊啊啊

谢楼主!!

49
#12 11-10-27 22:12
收藏学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

搜索