[LAD] Android audio plugins

Olivier Guilyardi list at samalyse.com
Wed Jun 29 16:46:27 UTC 2011

Hello Gabriel,

On 06/29/2011 06:19 PM, Gabriel M. Beddingfield wrote:
> Good stuff!

Thanks :)

By the way, if you don't mind, I think it would be nice to centralize the
discussions on the andraudio thread.

> On Wed, 29 Jun 2011, Olivier Guilyardi wrote:
>> I just started a thread on andraudio about "Android audio plugins and advanced
>> app interaction", including LV2 and others:
>> http://music.columbia.edu/pipermail/andraudio/2011-June/000238.html
>> Feel free to join in. 

> Here's a potential problem (but I could be misguided... so you guys tell
> me)...
>   - Mobile processors generally do NOT have good
>     floating point power.  Sometimes by a factor
>     of 1000 flops.

I can't give you any precise specification, it all depends on the device, but
for instance I can encode to OGG in realtime without any problem using hard
floats on ARMv7, which means a real lot of devices nowadays.

Also, dual core devices such as the Motorola Atrix are getting popular. That may

>   - LADSPA and LV2 are built to process 32-bit
>     floating point PCM data, and have no provision
>     for processing 16-bit integer PCM data.
> So, trying to use LADSPA or LV2 in their current state will probably
> cause bottlenecks (either from doing FP math or from doing format
> convervsions to do integer math).
> Is this a Real Problem?

It depends. First, usage. Offline processing (my case, I develop a sample
editor) is okay, it just takes a little more time. You can use floats, it's not
an issue. But if you want to do realtime effects, then you may need to limit
which or how many plugins you use.

Second, optimization. When working on a mobile platform, you currently need to
optimize plenty of things. But, for example, in my own experience the worse
bottleneck is disk (SDCard) I/O, not CPU/FPU. SDCard can be slow and lag
terribly on certain devices. Regarding CPU usage, of course, I'm very cautious
about which features I include.

Maybe that some plugins could easily be modified to use fixed-point optionally
(LV2 extension?). As an example, KissFFT can be compiled for floats or fixed
point, as you like. That said, honestly, it needs some plugin-specific testing,
but I believe that floats are just fine in many cases.


More information about the Linux-audio-dev mailing list