5

我正在尝试从我的 c# 应用程序将 midi 信号发送到 Ableton Live 中的轨道。

我已经尝试过 Bass.net 和 midi-dot-net 都具有相同的效果:没有事件到达 Ableton。(我已经安装了 loopMidi,这就是我发送信号的地方。)

奇怪的是,当我瞄准我的 midi 键盘时,它会播放标准钢琴声音。

我的代码是网站上示例的 1-1 副本:

OutputDevice outputDevice = OutputDevice.InstalledDevices[0];
outputDevice.Open();
outputDevice.SendNoteOn(Channel.Channel1, Pitch.C4, 80);  // Middle C, velocity 80
outputDevice.SendPitchBend(Channel.Channel1, 7000);  // 8192 is centered, so 7000 is bent down

由于我对 midi 还很陌生,我想我在这里仍然误解了一些基础知识.. 任何人都可以看到我做错了什么吗?

4

2 回答 2

3

我建议使用诸如 MidiOx 之类的实用程序来查看 MIDI 信号是否真的像您怀疑的那样被发送。

如果按预期工作,那么您可能没有在首选项中正确配置 Live 的 MIDI I/O。一个很好的测试方法是实时进入 MIDI 映射模式,然后单击会话视图中的任何剪辑。让您的程序发送 MIDI 数据,如果 Live 可以接收该数据,您将看到它将 MIDI 事件映射到相关剪辑。

于 2012-04-03T09:44:29.007 回答
2

您的代码不是将 MIDI 实时发送到 Ableton,而是发送到 MIDI 输出端口。您需要使用一个虚拟 MIDI 端口,您可以将数据发送到该端口,并将该数据呈现回另一个应用程序。MIDI Yoke应用程序可以做到这一点。

于 2012-04-03T21:15:45.147 回答