Successful Synth/Sampler on Android

will this be one day as convenient as using any other AudioIODevice? And how far are we from that point?

IIRC, the videos of juce summit suggested, that you will have to tweak all kind of things to make it work, like matching a certain buffer size, manually synchronising and all that jazz…

Apple is not better just for being Apple, so I would love to see Android catching up…

I think you’ve hit the nail on the head there to be honest: [quote=“MIDIculous, post:19, topic:21943”]
I am willing to try it, but obviously that comes at a cost. I can’t just make an app for fun and hope it makes money
[/quote]

Everyone else doing this for a living is thinking the same as you.

1 Like

I have a friend who has a very popular DAW on Android. He’s had it for a long time. He actually had to write his own USB drivers for specific devices. The app is extermely popular and it does play Soundfonts. But he had to literally go into the machine level coding and optimize for soundcards. So his way of achieving low latency was to go the hardware route and put the coding in the MIDI and audio drivers, but he had to write the drivers from scratch.

1 Like

Was more referring to the WIndows comment…

Apple makes the hardware their OS runs on. Android doesn’t. it’s as simple as that.

How many android phone manufacturers are there?

LG, Motorola, Samsung, ZTE, Kyocera, HTC, Sony, Google, etc… And they all have different hardware configs, that they gotta write their own drivers for that the Android OS uses to talk to their specific hardware.

Can you say which app? There are not many “DAWs” on Android.

I’d guess it’s this app: http://www.extreamsd.com/index.php/technology/usb-audio-driver

Ah Audio Evolution, yes that is a very popular Android DAW. :slight_smile:

Yea…He did it…iKMultimedia does it, and now Moog does it. But the thing is that they have the HARDWARE that is low latency rather than relying on the right device or Android OS.

What hardware is that Android DAW app using? In their website, they recommend a generic microUSB-to-USB adapter, but that’s it. No custom hardware or anything they developed for themselves. That’s neat that the Apogee Duet, Quartet, and Groove are compatible devices…

Looks like there is a lot of interest in Android. I sure hope things get better. Big market and a bunch of hungry users…

1 Like

I have been around Android Audio since 2011 and there has been interest since then. I have some apps up using the Caustic sound engine, but as I said in a previous thread, Rej (the main dev) made it a sequencer when he started in the end of 2010.

I have been using his native interface to make fun little apps since then and have a simple drum machine up right now and a groove box synth on the way.

I have had to sacrifice calling my apps Pro for all the reasons stated here as well as the fact I don’t have a master clock for users.

Also why I am on the site because I plan on using my experience to at least get some sequencer/synths up that may look amaturish but will essentially get the ball rolling for me with low level full control DSP and sequencing/MIDI.

I have a unique perspective in that I do more than this so I can experiment where I know others have to hit it big. Anyway, that is my story. :slight_smile:

1 Like

First off, I lead Google’s efforts to improve the developer experience for the Android Audio framework. It’s my job to help developers build high-quality, high-performance audio apps on Android. I will try to answer some of the points/questions raised in this thread. Apologies in advance for length…

The original poster asked the question “Does anyone actually have a successful Synth, Sampler, or rompler on Android?”. Here’s just a few which I consider to provide a high-quality audio experience and have a 4+ user rating on Google Play (correct as at 30th June 2017):

Korg - Kaossilator for Android (4.3)
Image-Line - FL Studio Mobile (4.1)
Planet-h.com - G-Stomper Studio
(4.2) (and various other apps)
eXtream Software Development - Audio Evolution Mobile Studio (4.4)
MixVibes - RemixLive (4.5)
Single Cell Software - Caustic 3 (4.3)
Ninja Tune - Ninja Jamm (4.0)
ROLI - NOISE (In beta so no rating yet)

These are more DJing/Karaoke but have similar requirements to synths and samplers in terms of low latency, glitch-free audio:

DJiT - edjing (4.3) (plus others)
Algoriddim - djay 2 (4.1)
Smule - Magic Piano (4.1), Smule Sing! (4.1) and others
Starmaker - The Voice (4.0)

It is definitely possible to create successful high-performance audio apps on Android today, and @jules and team have done an excellent job in adding Android support to JUCE.

That said, developing high-performance audio apps for Android has its challenges, as many have mentioned in this thread. The main one is handling differences in device audio performance (aka fragmentation).

It was for this reason that the Pro Audio feature flag was added to Android Marshmallow (6.0) onwards. Android devices which report this flag are claiming that their round-trip (aka input to output) audio latency is <20ms (full spec here).

If you need <20ms audio latency, just limit your app distribution to only these devices.

How many devices have this Pro Audio flag? I published a list here. To obtain an up to date list upload a blank app to Google Play with the following line in your AndroidManifest.xml:

<uses-feature android:required="true" android:name="android.hardware.audio.pro" />

@matkatmusic mentioned some concerns about copy protection. A solution here is to use App Licensing. This doesn’t prevent users from illegally copying your app, but it does prevent them from using it unless they have actually paid.

As for other techniques for performance optimisations, many of these should be taken care of by JUCE, however, if you are looking to develop directly using the Android APIs then it’s worth checking out the following resources:

Best Practices for Android Audio (Google I/O 2017 talk) - Great musical performance from Parisi at about 32mins
Android Audio Developer Guides

Code samples

Incidentally, I will be speaking at this year’s Audio Developer Conference in London so if you have questions or would like to discuss your development challenges in person please come along.

8 Likes

@Don_Turner, thanks for the detailed update. What devices would you recommend to test and develop Android audio apps with? I’m particularly looking for tablets. I’ve seen the Nvidia Shield K1 recommended before (I think it was one of you guys at the ADC last year).

Yes, the Shield K1 is a good one. Also Pixel, Pixel XL, Nexus 6P, Nexus 5X and Nexus 9. All conform to the Pro Audio standard.

Resurrecting this thread to see if we are anywhere closer?