1

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.

EvilDuck
  • 4,386
  • 23
  • 32

3 Answers3

3

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.

Nik Reiman
  • 39,067
  • 29
  • 104
  • 160
1

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.

ABT
  • 337
  • 2
  • 10
1

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.

Community
  • 1
  • 1
ferostar
  • 7,074
  • 7
  • 38
  • 61
  • Thanks for the reply ferostar. I have looked into the links and it seems they are mostly related to low-lateny audio (PCM streams etc). Although my question is similar I believe MIDI thing is still much simpler than audio processing. But still there seems to be no good options yet. – EvilDuck Jun 02 '11 at 07:04