【发布时间】:2012-04-30 11:03:12
【问题描述】:
有人知道在 Linux 上双向转储 MIDI SysEx 数据的好方法吗? (在 Yamaha PSR-E413 MIDI 键盘和在 Wine 中运行的 Yamaha MusicSoft Downloader 的副本之间)
我想对用于在键盘内存中复制 MIDI 文件的协议进行逆向工程,为此,我需要记录两者之间的有效交换。
该实用程序确实可以在 Wine (with a little nudging) 中使用,但是当我可以使用 FUSE 文件系统时,我不想在 Wine 中依赖廉价、不可编写脚本的应用程序。
这是目前的情况:
- 我的键盘通过内置的 USB-MIDI 桥连接到我的 PC。 USB dumpers/snoopers 是可能的,但如果可能的话,我宁愿避免它们。在开始之前,我不想再解码一层协议编码。
- 我只运行 Linux。但是,如果除了基于 Windows 的 dumper/snooper 之外别无选择,我可以尝试让 USB 1.1 直通在我的 WinXP VirtualBox VM 上运行。
- 我为我的音频系统运行裸 ALSA,并使用 dmix 进行波形音频混合。
- 如果需要声音服务器,我愿意尝试 JACK。
- 请不要使用 PulseAudio。从我的系统中删除它需要很长时间。
- 如果过程涉及 ALSA MIDI 路由:
- 我可以从下载器中选择一个虚拟直通设备是首选,因为它通常只在它开始与键盘通信之前的瞬间出现在像 patchage 这样的 ALSA 补丁托架 GUI 中。
- 据我所知,KMIDIMon 和 GMIDIMonitor 都不支持双向监听。
- virmidi isn't relevant 我还没有设法让
snd-seq-dummy工作。
- 我想如果我真的必须的话,我可以修补 ALSA 以获取转储,但这确实是不得已而为之的选择。
- 我的绝大多数编程经验是 Python、PHP、Javascript 和 shell 脚本。
- 我几乎没有 C 编程经验。
- 我什至从未见过内核模式代码。
- 我希望保持系统稳定并延长正常运行时间。
【问题讨论】:
标签: linux midi alsa wine sniffing