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 design phase but an alpha version that will illustrate the power and flexibility is now available. This initial version will support the Linux (OSS) audio device, WAV, and MP3 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.

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 little endian and data size 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. Currently there are three derived classes written. In the future these will be implemented as dynamically loaded shared objects so that new file types can be added without recompiling the base library. 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.
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 alpha V0.1 Unfortunately TRIPOD has implemented a "feature" to make it difficult to download a file. You will need to force this link to open as a web page in your browser, even though the suffix is .gz, and then you will be able to download the file. If you have problems then email me and I will be happy to email it to you. This will have to do until I find a better web page provider.

Audio Library Programmers Manual - This is the first edition of the programming manual. It is in Star Office 5.0 format and can be read with Star Office 5.0 or 5.1. When I get the formatting better I will also release it in html or text as well.
 

Screen Shots

These are three 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 EditorOpen 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. Currently it only supports WAV format. In the future multiple inputs will be allowed.

Open Source Audio Library Project ExampleOpen Source Audio Example Application.
This is the first program I wrote using the Open Source Audio Library Project. It allows one to play and record MP3 and WAV files. Using this library allows one to concentrate on the GUI development since the audio is all done in a library.
 
 

For more Information contact Bruce Forsberg at:

forsberg@adnc.com





Nedstat Counter