View on GitHub


real-time buffers

Download this project as a .zip file Download this project as a tar.gz file

rtbuf is BSD licensed ANSI C for realtime signal processing.

Possible applications include audio and video applications, games and experimental setups.

Current audience is developers. Status : alpha.

It seems that these last years most programming action happens in high level programming languages which rely on garbage collectors to free memory. The problem of a GC is that it induces latency because while the program is stopped collecting free memory it stops other processing so real-time applications are not possible with most modern programming languages. Multi-processor safe and real-time garbage collectors are not open source and very expensive pieces of software.

A possible solution to handle real time computation on a garbage collected platform is to offload real-time computations to a C server running rtbuf which has no garbage collector and is highly portable.

See the project page on Github :

Compilation from sources

./ && ./configure && make


By default rtbuf gets installed into $HOME/.rtbuf/ prefix.

make install


Rtbuf Procedures Reference

Rtbuf Type Reference

Rtbuf C API

Rtbuf Command line interface

Rtbuf GTK interface


rtbuf already contains several libraries :


Each library contains several named procedures.

Each procedure can be seen as a real time buffer object class.

A procedure has three methods :

See the Rtbuf procedure reference.

Real time buffers

From a library procedure you can instanciate real time buffers.

A real time buffer (rtbuf) has inputs and outputs. A buffer output can be connected to another buffer’s input.

Once you have created and connected buffers together you can start computation.


Fork and send pull requests at

Only ISC (BSD) licensed code will be accepted.