sso*_*low 5 linux midi wine sniffing alsa
有谁知道在Linux上双向获取MIDI SysEx数据的好方法吗?(在Yamaha PSR-E413 MIDI键盘和在Wine中运行的Yamaha MusicSoft下载器的副本之间)
我想对用于将MIDI文件复制到键盘内部存储器或从键盘内部存储器复制MIDI的协议进行反向工程,为此,我需要对两者之间的有效交换进行一些记录。
该实用程序确实可以在Wine中工作(稍加改动),但是当我可以使用FUSE文件系统时,我不想不得不依赖Wine中一个便宜的,无法编写脚本的应用程序。
这是当前的状态:
snd-seq-dummy工作。小智 4
这个问题已经有一段时间没有答案了,虽然我对你的问题没有确切的答案,但我也许有一些东西可以推动你走向正确的方向(或者也许其他有类似问题的人)。
当我想嗅探用于在 Akai LPK25 MIDI 键盘上设置和读取预设的数据时,我遇到了类似但不太复杂的问题。与您的设置类似,设置键盘的软件可以在 Wine 中运行,但我也没有找到适用于 Linux 的嗅探器设置。
由于缺乏现有的解决方案,我使用 ALSA MIDI 路由通过 virmidi 端口推出了自己的解决方案。我理解为什么您认为它们毫无用处,因为如果没有额外的软件,它们无法帮助嗅探 MIDI 流量。
我的解决方案是用 Java 编写 MIDI 中继/桥接器,从 virmidi 端口读取输入,显示数据并将其进一步发送到键盘。来自键盘的答案(如果有)也会被读取、显示并最终传输回 virmidi 端口。Wine 中的应用程序可以设置为使用 virmidi 端口进行通信,理论上这个过程是完全透明的(除了潜在的延迟问题)。该应用程序是以通用方式编写的,并未针对我的问题进行硬编码。
我只处理大约 20 字节长度的 SysEx 消息,因此我不确定该软件在嗅探大量数据传输方面的效果如何。但也许您可以按照示例修改它/编写自己的程序。
此处提供资源:https: //github.com/hiben/MIDISpy
(Java 1.6,包含 ant 构建文件,源代码在 BSD 许可下)