从C#向Ableton发送MIDI信号

5
我正在尝试从我的c#应用程序向Ableton Live的一个音轨发送midi信号。
我已经尝试过Bass.net和midi-dot-net,但效果相同:在Ableton中没有事件到达。(我已经安装了loopMidi并将信号发送到那里。)
奇怪的是,当我针对我的midi键盘时,它会播放标准钢琴声音。
我的代码与网站上的示例完全相同。
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还比较陌生,我认为我在某些基本方面还存在误解.. 有人能看出我做错了什么吗?


1
这种问题与C#无关,而与您尝试自动化的应用程序有关。请使用供应商的专用支持渠道寻求帮助,起始页面在此处:http://www.ableton.com/community。 - Hans Passant
1
从你的帖子中,你似乎已经证明了你的应用程序正在将 MIDI 信号发送到计算机之外。因此,要么你向 Abelton 发送了错误的 MIDI 命令,要么 Abelton 存在某些问题?请查看 Hans 建议的链接。 - andrew
2个回答

3
我建议使用像MidiOx这样的实用程序,以查看MIDI信号是否如您所怀疑的那样被发送。
如果按预期工作,则可能没有正确配置Live的MIDI I/O偏好设置。测试这一点的一种不错的方法是进入Live的MIDI映射模式,然后单击会话视图中的任何片段。让您的程序发送MIDI数据,如果Live可以接收到该数据,则将在相应的片段中映射MIDI事件。

您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - vkampouris

2
你的代码没有将MIDI发送到Ableton Live,而是发送到MIDI输出端口。你需要使用一个虚拟MIDI端口,可以向其发送数据,并将该数据呈现给另一个应用程序。 MIDI Yoke 应用程序可以实现这一点。

你能帮我发送音符到MIDI端口吗?我卡住了。我跟这个人处于同样的阶段。 - vkampouris

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