Android平台可以使用哪些类与外部MIDI设备进行通信(输入/输出)?我有HTC Desire智能手机,它有USB端口,我认为可以使用标准USB线连接到MIDI合成器+ [Type A - > Mini A]转换器。我想写一个MIDI音序器应用程序,它能够从合成器录制MIDI流,然后再播放。
答案 0 :(得分:2)
简答:没有。稍微长一点的答案:在HTC Desire上没有内置支持USB主机模式(你需要,因为usb-midi适配器将是USB客户端)。 (Android 3.1确实支持USB主机模式,但HTC Desire无法使用) 如果你不怕烙铁,你可以去蓝牙中途:http://nettoyeur.noisepages.com/2011/01/midi-over-bluetooth-part-iii-new-hardware/
答案 1 :(得分:1)
在这方面已经发生了很多变化。以下库允许在API 12 +上使用USB OTG适配器的MIDI i / o:
https://github.com/kshoji/USB-MIDI-Driver
这远非完美,在我的测试中,非常严重,但对于寻找相关课程的人来说,它至少应该是一个很好的起点。
答案 2 :(得分:0)
正如@edovino所说,你需要USB主机模式,然后是驱动程序。
如果您不介意在手机上生根,并且硬件支持它,那么您确实有一些选择。查看此链接:http://sven.killig.de/android/N1/2.2/usb_host/
这家伙能够获得音频,视频,键盘和其他一些工作。他包括音频/ MIDI驱动程序。
答案 3 :(得分:0)
是的,如上所述,使用手机是不可行的,因为它不提供USB主机功能。在过去的几个月里,我一直在虔诚地工作,为我的合成器制作一个XY控制器,这样我就可以传输控制器值来用于表演。我想,这就是你想用其他功能做的事情。
蓝牙绝对是一个选择,如果你查找libpd,Peter Brinkmann本人已经解决了这个问题,并承认MIDI的蓝牙适配器并不遥远。
WiFi也是人们可能愿意关注的事情。使用rtpMIDI,我们可以在PC端创建会话,并使用任何支持WiFI的MIDI设备来传输/接收数据。如果您希望使用手机控制软件合成器,这似乎是理想的。 TouchDAW和TouchOSC,Android上的应用程序,使用此功能。
使用USB-Android驱动程序,我看到的唯一问题是不支持使用USB主机的等时传输。因此,我们无法保证延迟确定性。但是,考虑到没有附加其他总线附件,我的测试中的性能似乎相当不错。