Portible C Audio Library

The Portable C Audio Library (pcaudiolib) provides a C API to different audio devices. It supports:

Audio Framework Operating System
ALSA Linux
CoreAudio Mac OS
PulseAudio Linux
XAudio2 Windows

See the CHANGELOG for a description of the changes in the various releases.

Build Dependencies

In order to build the project, you need:

  1. a functional autotools system (make, autoconf, automake, libtool and pkg-config);
  2. a functional c compiler (e.g. gcc or clang).

NOTE: Some of the Windows SDK APIs (e.g. the XAudio2 headers) don't compile with a C compiler, so a C++ compiler is needed to compile them.

Optionally, you need:

  1. the alsa development libraries to enable alsa audio output;
  2. the pulseaudio development library to enable pulseaudio output.


Core dependencies:

Dependency Install
autotools sudo apt-get install make autoconf automake libtool pkg-config
c compiler sudo apt-get install gcc

Optional Libraries:

Dependency Install
alsa sudo apt-get install libasound2-dev
pulseaudio sudo apt-get install libpulse-dev

Mac OS

To enable CoreAudio output support you need to have the coreaudio framework on your system. Installing XCode along with the Mac OS SDK is the recommended way of getting it.


This project uses a standard autotools build system with an script. You can thus build the project using:

./configure --prefix=/usr

and install it using:

sudo make install


Report bugs to the pcaudiolib issues page on GitHub.

License Information

The Portable C Audio Library is released under the GPL version 3 or later license.