Android 中的流式 MIDI API

发布于 2024-11-11 16:08:10 字数 366 浏览 3 评论 0原文

我是一位基于 MIDI 的音乐应用程序作者。在我的应用程序中,我生成一个 .midi 文件,其中包含我编写的一个小库,并在 MediaPlayer 上播放它,这对于该应用程序来说已经足够了。然而,在未来的应用程序中,我计划拥有更多的交互性,这就是我可能需要流 API 的地方。

据我所知,Android 泄漏了实时 MIDI 合成器的 API(至少是官方的)。但我仍然可以看到一些应用程序确实以相当高级的方式使用 MIDI。问题是如何?他们是使用 NDK 直接访问 Sonivox 还是有非官方的 api?有什么想法吗?

另外,我非常感兴趣 Google 是否计划在未来版本的 Android 中改进 MIDI 支持(以防 Google 的任何人看到这一点:))

谢谢。

I am a MIDI based musical application author. In my application I am generating a .midi file with a small lib that I wrote and play it on MediaPlayer and that's enough for that app. However in the future app I plan to have more interactivity and that's where I would probably need a streaming API.

As far as I know Android leaks APIs for realtime midi synth (at least official). But still I can see some apps that do use midi in quite advanced way. Question is how? Do they use NDK to access Sonivox directly or are there an unofficial apis for that after all? Any ideas?

Also I'm very interested if Google is planning to improve MIDI support in future versions of Android (in case anybody of Google sees this :))

Thanks.

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

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

发布评论

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

评论(3

燃情 2024-11-18 16:08:10

您应该查看 libpd,它是适用于 Android 和 iOS 的 PureData 的本机端口。它将使您能够访问系统的 MIDI 驱动程序,同时仍然能够使用非常高级的工具对您的软件进行原型设计。

You should check out libpd, which is a native port of PureData for both Android and iOS. It will provide you with access to the MIDI drivers of the system while still being able to prototype your software with very high-level tools.

原野 2024-11-18 16:08:10

Java 有一个非常重要的延迟,所以我认为这应该使用 NDK 来完成。检查这个问题,它有一些提示。据报告,这是一个 Android 问题(NDK 对低版本的支持) -延迟音频),那里也可能有一些提示或信息。

Java has a very important latency, so i think this should be done with the NDK. Check this question, it has a couple of hints. This was reported as an Android issue (NDK support for low-latency audio), there might be some tips or info there too.

帅气尐潴 2024-11-18 16:08:10

这是一个简单但很棒的示例应用程序,可以在 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.

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