微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

双向嗅探/窥探ALSA MIDI系统交换

有谁知道在Linux上双向转储MIDI SysEx数据的好方法吗? (在Yamaha PSR-E413 MIDI键盘和在Wine上运行的Yamaha MusicSoft Downloader副本之间)

我想反向devise用于将MIDI文件复制到键盘内部存储器的协议,为此,我需要在两者之间进行有效的交换logging。

该实用程序在Wine中有效( 稍加推敲 ),但是我不想在Wine中使用便宜的,无脚本的应用程序,因为我可以使用FUSE文件系统。

以下是目前的状况:

在应用程序中调用“plink.exe”是安全的

gdb似乎忽略了可执行文件的function

如何在networking层监听?

了解Tcpdumpfilter和位掩码

Spy ++类似于查看控制值的程序

我的键盘通过一个内置的USB-MIDI桥连接到我的电脑。 USB转接器/窥探器是一种可能性,但如果可能的话,我宁愿避免它们。 我甚至不想在开始之前解码另一层协议编码。

我只运行Linux。 但是,如果除了基于Windows的dumper / snooper之外没有别的select,我可以尝试在我的WinXP VirtualBox虚拟机上使用USB 1.1传递。

我使用dmix为我的audio系统运行裸ALSA来进行波形audio混合。

如果一个声音服务器是必要的,我愿意尝试JACK。

没有pulseAudio请。 花费足够长的时间从我的系统中删除它。

如果该过程涉及ALSA MIDI路由:

我可以从Downloader内部select一个虚拟传递设备,因为在开始与键盘通信之前,它通常只会出现在ALSA补丁托架GUI(如patchage)中 。

据我所知, KMIDIMon和GMIDIMonitor都不支持双向窥探。

virmidi 是不相关的 ,我没有设法让snd-seq-dummy工作。

我假设我可以修补ALSA,如果我真的必须修补它,但是这是真正的最后select。

我的绝大多数编程经验是Python,PHP,Javascript和shell脚本。

我几乎没有经验在C编程

我从来没有见过内核模式代码的一瞥。

我宁愿保持系统稳定,正常运行时间也很长。

我将如何去写一个Linux的TTY嗅探器?

如何在Windows下嗅探USB端口?

Windows设备驱动程序嗅探/debugging

这个问题已经有一段时间没有答案了,虽然我没有一个确切的答案来解决你的问题,但我也许有一些东西可以推动你朝着正确的方向发展(或者其他有类似问题的人)。

当我想要嗅探用于在Akai LPK25 MIDI键盘上设置和读取预设的数据时,我有一个类似的虽然不那么复杂的问题。 与您的设置类似,设置键盘的软件可以在Wine中运行,但是我也没有找到用于Linux的嗅探器设置。

对于缺乏现有的解决方案,我使用通过virmidi端口的ALSA MIDI路由来自行推出。 我明白为什么你看到他们是无用的,因为没有额外的软件,他们不能帮助嗅探MIDI流量。

我的解决方案是在Java中编程一个MIDI继电器/桥接器,从virmidi端口读取输入,显示数据并将其发送到键盘键盘上的答案(如果有的话)也被读取,显示并最终传回到virmidi端口。 Wine中的应用程序可以设置为使用virmidi端口进行通信,理论上这个过程是完全透明的(除了潜在的延迟问题)。 应用程序是以通用的方式编写的,而不是硬编码到我的问题。

我只处理大约20个字节的SysEx消息,所以我不确定这个软件对于嗅探大量数据的传输有多好。 但是也许你可以修改它/按照这个例子编写你自己的程序。

来源可在这里: https : //github.com/hiben/MIdispy

(Java 1.6,包含ant build文件,源代码是BSD许可证)

我喜欢使用aseqdump 。

http://www.linuxcommand.org/man_pages/aseqdump1.html

怎么使用gmidimonitor? 见http://home.gna.org/gmidimonitor/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐