I’m a longtime C++ programmer, but a complete newbie to ELK, so forgive me if this question is very basic.
I’ve developed a simple audio-mix-engine (designed to provide low-latency matrixing/EQ/delays/etc) that currently runs under MacOS/X via CoreAudio’s low-level API (AudioDeviceCreateIOProcID(), AudioDeviceStart(), etc).
What I’d like to do is port this codebase over so that it can run under ELK, so that I can evaluate whether ELK (running on some kind of Linux/x86 box) is a reasonable alternative platform to CoreAudio-on-MacOS/X for this software, and get a feel for how ELK performs for my use case.
My question is, should I start by porting my software to use the JACK audio API? If so, should I target JACK1 or JACK2 (or does it matter?). If not, what audio API should I target instead? (ALSA? RASPA? Something else?)
Note that this software is intended to be a monolithic, take-over-the-sound-card-and-read-input-samples-and-write-output-samples, lowest-possible-latency type of affair; so while I suppose it could be implemented as a plugin, that’s not currently my intent.