Genesis Digital Audio Workstation


2015 Sep 03

I struggled with buffer underruns for a long time. I seemed to be dealing with some enigmatic audio problems.

After many failed attempts to solve the audio problems I was having, I decided to tackle the problem head on. I extracted the audio engine code and started a new project, one in which I was dedicated to becoming an expert at how audio input and output is handled on every platform. Hopefully after solving the crap out of sound I/O in a way independent from the other issues I was having, I would be able to solve the Genesis problems.

Well, 3 months and a lot of hard work later I have completed libsoundio 1.0.0.

libsoundio is a lightweight abstraction over various sound drivers. It provides a well-documented API that operates consistently regardless of the sound driver it connects to. It performs no buffering or processing on your behalf; instead exposing the raw power of the underlying backend.

libsoundio is appropriate for games, music players, digital audio workstations, and various utilities.

libsoundio is serious about robustness. It even handles out of memory conditions correctly.

Features & Limitations

Previous Post: Playback

Next Post: libsoundio integration complete

Genesis on GitHub