适用于 Android 的 Midi 库

发布于 2024-11-10 13:06:18 字数 1536 浏览 2 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

木槿暧夏七纪年 2024-11-17 13:06:18

根据Android文档中的支持的媒体类型列表,MIDI播放内置支持。要播放 MIDI,您可以使用 JetPlayer。更多详细信息请参阅 JETCreator 用户手册

According to the list of supported media types in the Android docs, MIDI playback support is built in. To play MIDI, you can use a JetPlayer. More details are in the JETCreator User Manual.

独闯女儿国 2024-11-17 13:06:18

这是一个简单但很棒的示例应用程序,可以在 Android 上成功传输 MIDI https://github.com/billthefarmer/mididriver

不过,您必须手动将 MIDI 消息放在一起(该示例为播放音符和停止音符创建两个 MIDI 消息)。可以参考MIDI规范来进一步控制MIDI通道。问题是 Android 上的默认声音字体听起来很糟糕。

This is a simple but great sample application that successfully streams MIDI on Android https://github.com/billthefarmer/mididriver

You will have to put your MIDI messages together manually though ( the example creates two MIDI messages for play note and stop note). One can refer to the MIDI specification to further control the MIDI channels. The problem is that the default sound fonts on Android sound so bad.

弱骨蛰伏 2024-11-17 13:06:18

Google Code 上有一个简单的 Java MIDI 库、源代码和所有内容:

http:// code.google.com/p/android-midi-lib/

它不会进行任何声音播放,但您可以使用相当高级的方法调用来读取、修改和写入 MIDI 文件。

There's a bare bones Java MIDI library here on Google Code, source and all:

http://code.google.com/p/android-midi-lib/

It won't do any sound playback, but you can read, modify, and write MIDI files with fairly high-level method calls.

三生路 2024-11-17 13:06:18

如果您正在讨论通过通信通道发送 MIDI 消息或接收 MIDI 消息,我们有多种选择可供选择。
1)蓝牙
2) USB 主机
3)无线网络

我曾尝试使用 USB 主机功能开发 MIDI 驱动程序,目前它与我的开放应用程序(用于 MIDI 的 XY 控制器)一起放置
https://github.com/MIDIeval/MIDIeval/tree/master/Imperi0usB/MIDIeval

您可以使用该代码通过 USB 链路发送 MIDI 信号。我已成功触发音符开/关消息并开发了 XY 控制器来实时控制性能。例如)扫过截止或执行淡入/淡出。

我看到的问题是,Android 不支持通过 USB 进行同步传输,从而限制了我们的传输延迟。 USB 传输以批量传输模式进行,该模式不能保证等待确认时的低延迟。

If you are talking sending MIDI messages or receiving MIDI messages over a communication channel, we have several options to be starting from.
1) Bluetooth
2) USB-host
3) WiFi
etc.

I have tried developing a MIDI driver using the USB-host capability and it is currently placed along with my open application, XY controller for MIDI.
https://github.com/MIDIeval/MIDIeval/tree/master/Imperi0usB/MIDIeval

You can use the code to send MIDI signals over a USB link. I have successfully triggered Note ON/OFF messages and developed the XY controller to control performance in real time. eg) Sweeping the cut-off or performing fade-in/out.

The problem that I see with it is, Android does not support isochronous transfers over USB, thereby, limiting us in terms of latency of transmission. The USB transfer is happening in Bulk Transfer mode which does not guarantee low latency as it waits for the acknowledgment.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文