IzForge.com

IzSound homepage

Edited by:

Introduction

IzSound is a stream-oriented sound processing library. It has been designed around small DSP units that can be chained together to operate on the sound data stream. While there are already several libraries of this kind, most of them are either too simplists or too complicated. What's more, they are often written in the C programming language and lead to libraries having a lot of functions and data structures. Using an object oriented language can dramatically ease the learning process by having a clearer overview.

That's why IzSound is written in C++ in order to use the object oriented paradigms. Moreover, the C++ STL brings the concepts of generic programming and IzSound makes an intensive use of both the containers and the algorithms brought by the STL. This way it is built on both well tested data containers and algorithmic bricks.

Components

IzSound in itself is a small library which defines the DspUnit class. This is the base class of all the DSP units that can be plugged together to process the sound data streams. This class embeds all the pluging logic, so it is very easy to define a new DSP unit, the author has just to concentrate on the DSP job.

IzSound has a standard set of DSP units brought in a separate library (libstdizdsp) which can read Ogg Vorbis files, crossfade two streams, actually output the sound on your sound card, tweak the pitch and so on.

Online documentation

The online documentation is provided against the latest published IzSound version.

Suggestions on improving the documentation is always welcome !

Licensing

IzSound is released under a BSD-style license, here's what it says:

IzSound - Copyright (c) 2003, 2004 Julien PONGE - All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.

3. Neither the name of the author nor the names of its contributors
   may be used to endorse or promote products derived from this
   software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND ITS CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.