fluid-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [fluid-dev] Android Support


From: Philippe Simons
Subject: Re: [fluid-dev] Android Support
Date: Thu, 18 Jan 2018 10:14:14 +0100

The issue I have with an audio driver on Android, is that it will never cover all the uses cases that a dev might need.

For ex:
OpenSL is great for real-time MIDI rendering because it allows to work with very small buffers. (15ms)
But for a MIDI player, working with small buffer is not a option (if the devices goes to sleep, it wont be able to catchup with the required speed to fill the buffer) and you need to work with buffers in the 500ms range or more with and AudioTrack object.
OpenSL is also old tech on Android, while not deprecated, it's recommended to use AAudio starting with Android 8.0

So my idea was to left that to the dev, it's really no big deal to call the fluid_synth_write_*() function to pull the audio, it also allows you to modify it before rendering (mixing, filtering, effects,...)

Being free from the glib dep, my fork is also very light (+/- 250kb for each CPU arch), and almost up-to-date with https://github.com/FluidSynth/fluidsynth 

Now it's up to you to use whatever solution fits your needs.
Just my two cents.

Philippe

On Thu, Jan 18, 2018 at 5:29 AM, Phil Blandford <address@hidden> wrote:

Ok, further progress, once I sorted out my own dumb JNI bugs.. 

I can load a soundfont, play a MIDI file, but it rarely gets to the end - it stops, and won't start again until I restart the test app. The logcat is full of:

[ 01-17 22:50:13.890  2651: 2717 D/         ]
                                             PlayerBase::stop() from IPlayer

once every millisecond (give or take), regardless of whether a file is playing or not.

I'm slowly getting up to speed on both fluidsynth architecture and the Android audio subsystem, but it may be someone who knows more about either or both could make better progress.

The git log on the fluid_opensles.c file seems to indicate it hasn't been touched in 2 years. But it does seem tantalisingly close, just a few fixes away from being a real boon to Android developers who want to use soundfonts in their apps and have a more flexible MIDI than the native Mediaplayer gives them.




> Hi, this is also my first post to the fluidsynth list, so apologies in advance for any inadvertent breaches of etiquette!

> I've been struggling to build that same fork for a few days, and did manage it in the end. The problems came down to:

<snip>

> Anyway, I've managed to create a basic JNI wrapper and got it working in an app - sort of. I can load a soundfont, play a note with fluid_synth_note_on/off, but the sound is rather distorted. I can tell it to play a file - the logcat shows something is happening, but no sound is produced. I'm a bit stuck now as I don't know enough about low-level audio to debug.

> I'd really like to hear if anyone has got this up and running.


_______________________________________________
fluid-dev mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/fluid-dev



reply via email to

[Prev in Thread] Current Thread [Next in Thread]