A few nights ago, I got a basic OpenGLES2 application using libpd, playing a synth defined completely in the *.pd file. What this means is something like Mugician where the synth can be totally rewritten (and updated by users after the app has shipped)! I presume that the signal processing is much more efficient than my custom code. Pd is also a sound/synth designing standard.
The only downside is that I used OpenGLES2 again for the user interface, which means that a lot of nice things I would have to say no to, to keep complexity down. It has awesomely low latency, but no readily available solution for fonts, etc. Mugician for instance can only draw lines and triangles, and has nothing in its design to support windows menus, etc.