in reply to Audio input and processing - recommendations

On a modern Linux system, you have the option to run PulseAudio. On many desktop installation it's the default.

Aside from the many strange and wonderful things PulseAudio can do, it also has protocol modules which allow you external connections. Especially interesting for you might be the TCP or UDP modules, because some of those are completely agnostic to the underlying hardware/software implementation. These work on localhost and over the network.

As an additional bonus, it should be quite easy to simulate a session by running a fake server with minimal Perl for regression testing.

PerlMonks XP is useless? Not anymore: XPD - Do more with your PerlMonks XP
  • Comment on Re: Audio input and processing - recommendations

Replies are listed 'Best First'.
Re^2: Audio input and processing - recommendations
by hippo (Archbishop) on Nov 23, 2023 at 16:16 UTC
    On a modern Linux system, you have the option to run PulseAudio. On many desktop installation it's the default.

    On a really modern Linux system, you have the option to run PipeWire. That's what I would be looking at for any new audio projects today. It's now the default on Pop!OS, Fedora, Ubuntu and Debian at least.


    🦛

      In writing an audio application for Linux, you can target either ALSA or JACK. PulseAudio and PipeWire present an ALSA device to applications, and PW presents a JACK device as well.

      The choice of audio server really depends on your use case. The OP's application doesn't require any of the features of PulseAudio or PipeWire. ALSA alone would be sufficient. JACK provides the stability and predictable latency needed for professional music production while allowing easy patching among multiple applications. PA and PW are convenient for running multiple independent applications such as browsers and media players where central controls for volume, muting, etc. are desirable. PW does support JACK, but still lacks support for latency compensation among multiple signal paths that Ardour (a free, pro-quality DAW) provides.