从 MIDI 键盘输入 ALSA

ALSA input from MIDI keyboard

我正在 Linux 使用 libasound 编写一个软件合成器。我想用MIDI键盘控制它

我有一些使用 snd_seq_open() 和 snd_seq_event_input() 的工作代码,但它只创建了一个虚拟 MIDI 端口。我必须转到命令行并键入“aconnect 20 128”以将 MIDI 数据路由到我的应用程序。

如何让我的代码自行设置连接或直接连接到 MIDI 硬件?

您必须使用类似 snd_seq_connect_from() 的函数创建连接。

例如,参见 aseqdump source code