atsushieno / fluidsynth Goto Github PK
View Code? Open in Web Editor NEWfluidsynth fork with Android OpenSLES support. See https://github.com/atsushieno/android-fluidsynth/
fluidsynth fork with Android OpenSLES support. See https://github.com/atsushieno/android-fluidsynth/
Currently opensles driver runs spin loop to deal with audio buffers, which is waste of CPU resources.
The usleep() adjustment is not ideal. It should take advantage of some audio hardware profiles introduced at Android 4.2 (or earlier). Research needed.
Also it may be better to introduce additional loop handler that switches to longer pooling (or sleep() instead of usleep() for long pause).
Hello there :-)
I want to build an Android Application which produces MIDI events (from an on-screen virtual keyboard) and plays these MIDI notes with a custom sf2 soundfont. Therefore I stumbled upon fluidsynth which seems to be what I am looking for.
Sadly its not easy to compile it for android - especially since I have not enough knowledge in doing these kind of things.
I successfully included another fork of fluidsynth into my project: fluidsynth-android. But it does not have support for actually playing anything since the Audio Drivers aren't included. (Or maybe I am just using it wrong?)
Then I stumbled upon your repositories and this one here seems to have support for OpenSL ES. But I don't know how to actually build and/or include it in my android app.
I know this section of GitHub is for issues - but I thought I reach out to you and ask :-) Maybe you can help me.
I am interested in this project.
oboe switches uses either opensles and AAudio, better one, based on the underlying platform. AAudio is supposedly better in newer platforms, so it's worth trying to switch to oboe and see if improves audio latency etc.
Maybe the driver could initialize the audio output with louder value.
+#if ANDROID
+#include "android/asset_manager.h"
+#include "android/asset_manager_jni.h"
+#endif
It was once implemented at 55236e1, but at that time it didn't improve the situation that it couldn't generate valid synthesized sound, so it was reverted.
Now that it gives valid output and it has likely nothing to do with buffering implementation, it might be good to reimplement ring buffer and see if it improves general playback latency.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.