Thanks for the feedback guys! I've started digging into the faust2api code, reviewing small pieces of the Faust Whitepaper and looking at the Faust Android Tutorial. Since I am integrating these effects into all audio sessions (not just the audio sessions for my app) I don't think that OpenSL will work for me. Instead I think my path forward is implementing a new audio layer to either integrate directly with my Engine implementation or simply allow me to provide the inputs and outputs as parameters.
I'll post updates to a dedicated chain as I make progress. My codebase is hosted on GitHub (https://github.com/Jman420/menrva) if anyone wants to follow more closely. I've recently started working with a DSP Dev that created JamesDSP (https://github.com/james34602/JamesDSPManager) and have started working towards a way to leverage Faust to allow Users to easily add new effects to the Engine. On Tue, Jun 4, 2019 at 4:23 AM Stéphane Letz <l...@grame.fr> wrote: > Hi Justin, > > To complete Romain's answer, you can have a look ad the following paper > that explains the architecture files system, in particular the « Figure 1 » > > http://www.grame.fr/ressources/publications/09_C_B_137724.pdf > > Basically faus2api allows you to combine the blue part (that Faust > compiler generated dsp class) and the red part (the audio driver) in a > unique DspFaust object. Then the green part (controller) can be coded using > a JSON (to get a full description of the UI) + setParam/getParam model. The > audio communication between the audio driver and the Faust dsp object is > already in place. Audio buffers from inputs are given to the dsp « compute > » method, that process them, and produces outputs buffers to be given back > to the audio layer. The Android specific code using the OpenSL API is > there: > https://github.com/grame-cncm/faust/blob/master-dev/architecture/faust/audio/android-dsp.h > > If faus2api fits you needs, then it will greatly simplify your design. > Otherwise you may have to recode a new audio layer yourself (the red part) > to plug the dsp « compute » method at the appropriate place in the audio > processing chain. > > Stéphane > > > Le 4 juin 2019 à 08:37, Romain Michon <rmnmic...@gmail.com> a écrit : > > > > Hi Justin, > > > > faust2api is your friend: > https://ccrma.stanford.edu/~rmichon/faustTutorials/#adding-faust-real-time-audio-support-to-android-apps > > > > This tutorial is probably slightly outdated but it should help you get > started. You can also generate APIs for Android using the online editor ( > https://faust.grame.fr/tools/editor/index.html) by choosing the "source" > target in the export function (click on the truck). > > > > Cheers, > > > > Romain > > > > On Mon, Jun 3, 2019 at 5:54 PM Justin Giannone <jman.giann...@gmail.com> > wrote: > > Hey Guys, > > > > I am working on a project to integrate generic tunable audio effects > into Android's AudioFlinger layer for System-wide effects. I've noticed > that there are a few off-the-shelf options for generating Android code, but > I was wondering if anyone had any advice for using Faust in relation to > AudioFlinger. > > > > Is there a way that I can manually call an API for a Faust Effect and > provide a signal for it to execute on? > > > > Thanks - J > > _______________________________________________ > > Faudiostream-devel mailing list > > Faudiostream-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/faudiostream-devel > > > > > > -- > > Romain Michon > > +33 (0)7 67 39 72 40 > > > > http://grame.fr/~michon > > _______________________________________________ > > Faudiostream-devel mailing list > > Faudiostream-devel@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/faudiostream-devel > >
_______________________________________________ Faudiostream-devel mailing list Faudiostream-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/faudiostream-devel