Delphi ASIO VST 和 MiniHost 存在 Midi 时间问题

54

我曾使用MSC* MidiSequencer在Delphi XE2项目中工作,最近尝试了DelphiASIOVST,并且希望MIDI足够稳定以用作我的核心MIDI引擎,同时支持VST插件。我从SVN上提取了D16 trunk,在进行一些路径调整后,编译非常容易。

我理解我所看到的很多内容,但我想知道其他人是否在MiniHost示例应用程序中播放MIDI文件时遇到问题。特别是在一个音轨旋律演奏中,听起来好像有些音符被跳过或者比其他应该播放的音符晚一点播放。基本上,是否能播放一个音符只是碰巧的事情。

我的机器上有许多专业的音序器,MIDI文件在那里都很正常。它们也很容易支持VST插件。我还知道MIDI的最低级文件格式,并且知道文件结构是正确的。

TMidiFile可以直接播放到计算机中的标准MIDI合成器吗?我正在尝试通过获取与内置合成器的直接管道来排除VST问题。如果不行,有没有人见过这些问题或知道一些更好的例子,使用组件集进行MIDI文件到VST的转换?


仅仅是为了问一下,你是否尝试在VST的设置中增加缓冲区大小,以查看播放问题是否消失? - Lake
4个回答

2

我使用FL Studios和我的Midi,如果您需要减少延迟,那么很有可能需要降低缓冲质量。它可能默认设置为中高范围,这意味着您几乎肯定会有1-1.5秒的延迟。

不要将其调得太低,否则您会听到垃圾桶声音,其中一切都听起来空洞和机械化,但在调整设置时继续按键。


1
需要进行Midi工作流程检查以按照我们的要求设置。 将所有设备设置为具有您的Midi溢出中指定的唯一ID。 需要Midi吞吐量应用程序才能查看实时消息和实时数据。 用户必须看到它们去哪里以及目的是什么。希望这可以帮助你...

1
  1. 检查Midi溢出设置。
  2. 确保每个Midi设备都有唯一的ID。
  3. 获取一个Midi数据传输应用程序,如Midi-ox http://www.midiox.com/,以查看实时消息和数据,并查看事物的位置。

1
“Wordclock是否正常工作?您能够驱动另一个MIDI时钟源进行测试吗?”
“尽管您说:“我的机器上有许多专业的音序器,MIDI文件在那里都很好”,但您也可以尝试http://www.reaper.fm(适用于Linux/BSD、Mac和Win)DAW,并将midi直接导入其中,然后将默认的midi设备设置为您要测试的设备。”

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接