Hacker News new | ask | show | jobs
by wawi 3855 days ago
It is really an interesting aspect of the whole Android versus iOS "war", that indeed Google did not up-front plan to make the OS actually useful for realtime Audio/synthesis/processing; but instead, Android has had more of a 'data-center'-like design, wherein the kernel and its onboard assets is more of a 'managed host' than it is 'realtime embedded' sort of system ..

That the Android designers are having to play catchup with this speaks a lot, I think, of how significant design-decisions were influenced by the territory from which the originated - the web, managed systems - and the realm which they hoped to capture - the embedded system in your pocket. Android was not designed up-front to be an amazing media system; iOS, was. Thus, iOS has more synth-plugins and a vibrant, thriving Audio-Application eco-system (seriously, its million-dollar) whereas Android has a lot of new players, but so far: not such a great playground, really, for "Musicians".

In fact, while iOS has really impinged upon the Music-Instrument (Digital) industry, Android has yet to make a dent.

So it is an interesting time to be having new solutions to what have been, relatively, frustrating and troublesome aspects of Android realtime Audio, as a developer.

5 comments

Yeah right out of the gate iOS was the clear leader, but I think that's the legacy of Core Audio from their main OS?

To me it's not surprising that iOS was the go-to for audio, based on historical prescedent that both MS and, from what I understand, Linux platforms didn't really have strong native audio processing for low latency. I mean, yes, it was totally do-able (MS via ASIO4ALL, I know there were a few Linux based music systems even that ran on Atom netbooks), but plug-and-play wasn't quite the same. Even audio cards had some driver issues in the MS realm, speaking from personal experience.

It's rather sad because the MS environment allowed for a lot of homebrew plugins - the VSTs. Those won't run in Apple's ecosystem. Other plugins do (ex. UAD) but for the longest time those required (still do?) their own hardware processing cards. $$$$$$$.

iOS bridged the gap in a lot of ways between the 'average' and 'pro' musician being able to access nice digital sounds on reasonably priced hardware. I'm a genuine PC guy (Ableton Live, Reaper) but get a lot of mileage out of a second gen iPad 2 - specifically Propellerhead's Figure software, which is flat out fantastic. I've made an entire EP in GarageBand while traveling.

Sure, some devices won't work with iOS devices (my LPK25 will run on the iPad 2's port via camera connector USB dongle, but the MPD8 won't), and yet some are outstanding (looking at the Line6 / iK media products for guitarists and amp simulation). There's so much of a head start with iOS that honestly I kind of think there's little to no point in Android or MS trying to play catch up in the mobile sphere. MS has a winner with the Surface line because they run real software, but in the 'pure' mobile space, iOS has all the goods in my opinion.

Given the eye-watering disparity in gross revenue generated from iOS vs OS X, you really have to wonder which one is their "main OS" at this point...
Oh no doubt, I probably should have termed it 'legacy' OS considering the priorities these past years. After the 'prosumer' pivot of Final Cut Pro that angered a vocal group who had spent tens of thousands on workcenter setups, to the 'single port' type design on the new laptop, I'm pretty sure a lot of the die-hard creative types aren't going to feel really comfortable they're being considered for future releases. I honestly don't think Apple cares, because those users are a minority anyway.
Your MPD8 should work with an iPad/iPhone with the camera connector if you attach a powered USB hub to the camera connector first, and then attach the keyboard to the USB hub... I've done that to get my Novation Impulse to work with my iPhone.
Whoa, didn't think of that technique! Very cool for you to share and thank you very much.
I would more say this was just an aspect that Google inhereted by going with Linux ( see also https://xkcd.com/619/ )

iOS inhereted a strong foundation for this as OSX has a history of strong support for this sort of content creation. Linux does not.

I don't personally think this can be blamed on Linux - Audio works on Linux as well as OSX does, when the hardware is selected and configured, as it is on OSX. Linux has alternative and competing - and thriving - audio subsystems, and this means that systems integration has to pay attention to what its doing. This didn't happen in Androids' case; where other Linux distros had rock-solid and professional-quality audio subsystems and software integration, Android had an NIH implementation that ended up having to re-invent the wheel, to boot.
> where other Linux distros had rock-solid and professional-quality audio subsystems and software integration

Such as? Remember we're talking Linux in the 2005-era (~2.6.10-ish), not Linux today. JACK was still fairly new at that time. ALSA was still mostly broken at the time. Most stuff still wanted OSS. Basic "does sound come out of the speakers?" was often broken, and god help you if you wanted two things to play audio at the same time.

And you still need to solve the driver problem, which JACK, etc... don't help with at all.

> And you still need to solve the driver problem...

Um. If we're talking about 2005, we're talking about Android.

If we're talking about Android, we're talking about brand-spanking new hardware on a brand-spanking new phone.

This means that the audio driver didn't exist, which means that it was being written from scratch. This makes the "driver problem" a non-issue.

> Remember we're talking Linux in the 2005-era (~2.6.10-ish), not Linux today. ... ALSA was still mostly broken at the time. Most stuff still wanted OSS.

I never tried to do any "pro audio", [0] but that's not how I remember it. ALSA worked just fine. Anything that wanted OSS worked well enough with ALSA's OSS-compat API. I can't remember if the software mixer was around or not at the time, but I remember that when it did arrive, it eliminated that problem with single-stream sound cards.

[0] But -as I remember it- most folks doing pro audio used specialized, standalone hardware for it back then.

4Front OSS was the professional low latency audio choice
Noted.

However, none of the folks I knew at the time who doing professional recording were using PCs or Macs to do the recording and mixing, they were using standalone gear.

It's entirely possible that the folks I knew were not a representative sampling of all sound engineers.

This is basically correct. Android replacing the Linux graphics and UI stack turned out to be the right thing. Multimedia, not so much.
I think you've got it backwards. Audio latency on desktop Linux machines is actually lower than on OSX these days, and prior to Panther the audio latency on OSX was much higher.
You are reading a lot into it.

Yes, Android's designers had a very different mentality from the traditional RTOS-for-a-handset designers. But that does not mean they had a "data center' mindset. Indeed one of the most common error or people who do have a "data center mindset" is that they load up on libraries that do various useful things for their Android development and then blow out the method and heap limits.

Understanding Android requires a unique design and implementation mentality that is neither RTOS oriented, nor "small *nix in a phone" oriented, nor server Java oriented. It's a clever multi-processing managed language runtime with aggressive memory recovery that's capable of running many managed runtime processes, none of which can hog memory globally.

Without having been designed for real time audio from the beginning, retrofitting that capability was hard to do. Apple made a lot of hay out of lack of real time audio processing. But only in one domain of apps. These are the kinds of trade-offs that get products out the door.

Was iOS evolved from the iPod OS ? a lot ? a little ?
No- iOS is a stripped down OSX. iPod classic os was not related to that. The Core Audio framework is what makes iOS low latency. It was developed after the iPod.
I have no idea of the internals of the iPod. As I understand it, iOS benefited immensely from the work already done on OsX. I don't even know whether they planned for it or just benefited from a mature module already in place.
IIRC the very first iPods actually had licensed much of the under the hood software.

I could be confusing them with Palm OS, which did the same for the kernel of their first Pilots...

iOS is just a rebranding of what used to be iPhone OS.
You also see that in the effort that Apple makes for providing game development tools and libraries, whereas Google doesn't even provide proper editor support for shaders.