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

Nuendo / Cubase 的 midi 时间问题详解

( 87 )
 
[收藏]
-  第 1 页  -

13891
#1 04-5-18 14:37

Nuendo / Cubase 的 midi 时间问题详解

作者:Jay

编译:我



Nuendo 和 Cubase 的用户可能会遇到 MIDI 时间的问题。这个问题说来话长……

--------------------------------------------

1,由 Emulated Ports (虚拟端口)引发的时间问题

有些 MIDI 时间问题是由于 Emulated MIDI ports 带来的。

很久以前,只有一种 MIDI 驱动,叫做 Windows MIDI 。然后,微软又推出了新的 MIDI 驱动—— DirectMusic 。

为了使一部份只具有 Windows MIDI 驱动的声卡也能支持 DirectMusic ,Windows 提供了一种“虚拟的”(emulated)DirectMusic 端口提供给 Windows MIDI 驱动。也就是说 Windows 把声卡的 Windows MIDI 驱动转换成 DirectMusic 驱动。当 Nuendo / Cubase 要使用 DirectMusic 端口时,如果你的声卡不支持 DirectMusic ,那么 Windows 将帮你转换之。但实际上,这个 emulated DirectMusic 不是个好东西(对于专业音乐制作来说),有可能会有时间问题。

Nuendo / Cubase 有个独特的地方:当它发现你的电脑既有 Windows MIDI 驱动,又有 DirectMusic 驱动时,那么 Nuendo / Cubase 将会先猜测一下哪个更好,然后使用它认为更好的那个,屏蔽它认为不好的那个。然而它总是猜错,去使用 emulated DirectMusic 。而有些 emulated DirectMusic 是有时间问题的,于是 Nuendo / Cubase 的时间问题就出现了。

解决方法:

这个解决办法仅适用于时间问题是由 emulated 端口带来的情况。

Nuendo / Cubase 有一个特殊的零字节的文件,叫做 ignoreportfilter ,在安装目录下的 MIDI Port Enabler 。把这个文件移动到上一级目录去,然后再运行 Nuendo / Cubase ,此时 Nuendo / Cubase 将不再会去屏蔽它认为不好的那个驱动。你会发现你的 Nuendo / Cubase 里既有 emulated ports 又有 non-emulated ports 了。此时当你选择使用 non-emulated ports 时,你会发现你的时间问题或许就没有了。

------------------------------------------

2,由两个时钟所带来的问题

所有的 MIDI 接口所发送给 Windows 的 MIDI 信号,都会被 Windows 标上时间,然后再提供给应用软件,以避免应用软件不能立即识别输入音符等等问题。软件从 Windows 的记录里提取事件,做一个迅速的运算,然后得出一个“延迟补偿”时间,把所有的 MIDI 数据都提前。

但是,Windows 提供了两种不同的时间记录方式,一个叫做 TimeGetTime(简称TGT),另一个叫 QueryPerformanceCounter(简称QPC)。后者更精确。但是后者只在新的 Windows 里才有。

而 VST 技术和 ASIO 技术却是基于 TGT 的。

很多老的 Windows MIDI 驱动,更喜欢使用 TGT ,而这正是 Nuendo / Cubase 使用的。而新的驱动,尤其是在 DirectMusic 下写的驱动,更喜欢用 QPC 。而 QPC 与 TGT 是不同步的,因此如果你的 MIDI 驱动是使用 QPC 的,那么你的 Nuendo / Cubase 很可能就有时间问题了。

为什么 Sonar 没有这个问题呢?这是因为 Sonar 有一个隐藏选项:忽略所有的 Windows 加上去的时间记录,也就是说 Sonar 是自己标记时间,而不管 Windows 。

解决办法:

Nuendo 和 Cubase 2.2 提供了一个选项在 DirectMusic 设置里,“Use system timestamp”。这个选项仅对你的 MIDI 驱动是 DirectMusic 驱动时才有作用。当你不选时,Nuendo / Cubase 就不理会 Windows 所标记的时间,而是自己标记时间(象 Sonar 那样),选上时,就从 Windows 里读取时间记录。但请注意,这个设置仅对 DirectMusic 驱动才有效。而 Sonar 的这个选项是对 DirectMusic 和 Windows MIDI 都有效。

==========================================

常见 MIDI 接口的问题和解决办法

如果你的 MIDI 接口是下列这些之一,那么在 Nuendo / Cubase  中,你最好使用 DirectMusic emulated ports ,以及选上“Use System Timestamp”。

Frontier Design Dakota
MOTU MTP-AV
MOTU Express XT
Steinberg MIDEX-8

如果你的 MIDI 接口是下列这些之一,那么在 Nuendo / Cubase  中,你最好使用 native DirectMusic ports (non-emulated),以及选上“Use System Timestamp”。

Wami Rack-24

如果你的 MIDI 接口是下列这些之一,那么你最好不要选上“Use System Timestamp”。

Aardvark Q10
Edirol UMT-880
Emagic Unitor8 MK1
Emagic Unitor8 MK2
Emagic AMT-8
M-Audio MIDISport
RME Digiface
RME 9632

如果你的主板是下列这些,那么不管你怎么设置,Nuendo / Cubase 都没有时间问题:

Asus A7N8X-X
Asus P4D-800D
Asus TUSL2-C

143
#2 04-12-25 16:37
顶!!!

11569
#3 04-5-18 22:27
顶一下,置顶一段~~~

4482
#4 04-5-18 23:22
都置顶了,还怎么顶?顶不动了!应该叫“扛”!!! [:smilie:]89.gif[/:smilie:]  [:smilie:]89.gif[/:smilie:]  [:smilie:]89.gif[/:smilie:]

4814
#5 04-5-18 23:30
收藏了 [:smilie:]89.gif[/:smilie:]

587
#6 04-5-19 09:22
不过,无论是否选上Use System Timestamp 项,9632的midi音符还是提前一点,不只是怎么搞的?

1256
#7 04-5-19 09:40
呵呵,我的是Asus P4C-800D和lunaII,看来不用担心这些问题啦...... [:smilie:]01ha.gif[/:smilie:]

30
#8 04-5-20 02:47
谢谢老驴

181
#9 04-5-20 09:13
好文

443
#10 04-5-23 12:08
文中那个 “新的windows”指的是操作系统吗?哪个版本

1204
#11 04-5-23 17:39
再扛一个  [:smilie:]89.gif[/:smilie:]  [:smilie:]89.gif[/:smilie:]  [:smilie:]89.gif[/:smilie:]

5
#12 04-5-23 17:48
多谢。。。。

208
#13 04-5-27 23:37
太牛了 [:smilie:]89.gif[/:smilie:]  [:smilie:]89.gif[/:smilie:]  [:smilie:]89.gif[/:smilie:]  [:smilie:]89.gif[/:smilie:]  [:smilie:]89.gif[/:smilie:]  [:smilie:]89.gif[/:smilie:]  [:smilie:]89.gif[/:smilie:]  [:smilie:]11love.gif[/:smilie:]  [:smilie:]11love.gif[/:smilie:]  [:smilie:]11love.gif[/:smilie:]

6
#14 04-5-29 12:14


195
#15 04-6-1 10:01

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

本版积分规则

搜索