Open Source Audio Library Project

Introduction

This is the home page for the Open Source Audio Library Project. This is a project designed to implement a world class set of classes in C++ that will handle all of the audio functions one would like. It is designed to be multi-platform with UNIX based platforms as the base. This project is still in the beta code phase and a beta version that will illustrate the power and flexibility is now available. This version supports the Linux (OSS) audio device, Solaris Sparc audio device, FreeBSD (OSS) audio device, wav, au, aiff, aifc, mp3, and numerousother formats. It is important to note that this is not an application but a C++ library that others can use to create an audio application or to easly add audio capabilities to an existing application. OSALP was originally designed and developed by Bruce Forsberg out of need to manage and edit large sound files in a simple manner. Currently the project is being maintained by Darrick Servis.

The library is built on a set of core classes that provide the basic functionality. New classes to operate on data are derived from these classes. These classes provide a powerful chaining process. This allows one to build an audio chain much like one would build with building blocks. Audio data is encapsulated into a single class. This allows one to handle data conversions in one place.

There is a file base class (aflibFile) that defines the API for any device or file classes that are to be developed. They are implemented as dynamically loaded shared objects so that new file types can be added without recompiling the base library or needing to link them to an application. This will allow third parties to support their proprietary formats as a binary "plugable modules".

Currently there are several worker classes. These are the classes that actually do the work. These classes are not tied to any GUI but are GUI neutral. This allows developers to write code using the GUI of their choice.

There are also utility classes. These are not part of the main audio chain but are probably needed by most audio applications or are used indirectly by the worker classes.

For a documention of the osalp API see the OSALP API Reference.

Over time much more will be added. It will be attempted as much as possible to make this library LGPL (GNU LESSER GENERAL PUBLIC LICENSE).

For a preliminary design see the Open Source Audio Project Preliminary Design.

Downloads

Open Source Audio Library Project beta version 0.7.5- Updated 2/22/2008 Source Code + documentation 1.2M.
 

Resources

Project Page To subscribe/unsubscribe/view archive mail lists, view public forums, and a CVS repository for this project visit here.

Announce mail list Would you like to know when the next release is going to be and what is in it? Then this is the mail list for you. Its volume is 1-2 messages per month and only for new releases.

Developers mail list This is for developers and users of the library. Join the list and join in the fun. The volume of this list varies.

Screen Shots

These are two sample applications that show how to use the audio library. They are not complete nor fully functional. Nor are they pretty. They are instead designed to show others how to use this library. The goal of this project is to develop the library and to rely on others to develop the applications. These serve the developers as test beds to test the library until others have started to develop the applications.

Open Source Audio Library Project Example Player
Open Source Audio Player Recorder
This is an example audio player using either Lesstif or Motif as the GUI and the Open Source Audio Library. It will play and record audio using the Linux OSS audio device. It currently supports MP3 and WAV.

Open Source Audio Library Project Editor
Open Source Audio Editor
This is an example audio editor using either Lesstif or Motif. It allows one to play a certain section of the audio. One can then cut this portion out. One can zoom in on the data or zoom out. One can make as many edits as they choose and then save the results out to a file.
 

Kudos

SourceForge Thanks to the people at SourceForge for the donation of this web page.

VA Linux Thanks also to VA Linux Systems for sponsoring SourceForge.
 


For more Information contact Darrick Servis at:

daservis@users.sourceforge.net