Sound Processing Kit

Release notes

Introduction

Sound Processing Kit is an object-oriented class library for audio signal processing. Sound Processing Kit (abbreviated as SPKit) includes classes for various signal processing tasks, but most importantly, it introduces a way of implementing sound processing algorithms in a simple object-oriented manner. Sound Processing Kit is implemented in C++.

SPKit is designed to be portable. The current version requires a bare-bones C++ 2.0 compatible compiler (templates and exceptions are not needed). ANSI C standard libraries are required. In particular, SPKit uses ANSI C routines for sound file I/O. The source code should compile with little or no modification on most UNIX compatible platforms.

There are two versions of the SPKit class library: a "generic" version and an SGI version. For more information this and other updates, see the release notes.

For a more thorough introduction, see the ICMC 1995 paper on SPKit.

How this manual is organized

This manual is comprised of HTML pages. Each page is divided into two sections: User's Guide and Programmer's Reference. User's Guide is intended for users of ready-made SPKit classes and requires basic knowledge of C++ but little knowledge of digital signal processing. Programmer's Reference is intended for programmers designing new SPKit classes. Programmers are advised to read also the User's Guide sections for an introduction to the individual classes.

A To Do List.


User's Guide

SPKit objects are easy to use. Here is a simple example of a UNIX-style command line program that reads samples from a file, adjusts gain given as a command line argument and writes the result to another file.

To use SPKit objects a program must follow three steps:

  1. Connect the objects
  2. Initialize sound processing parameters
  3. Run
The SPKit objects are connected with the setInput() member function by providing the object with an input, which may be a sound file or another SPKit object. The connected objects form a chain where the first object is a reader and the last object is a writer. Typically the reader reads audio samples from a sound file and the writer writes the processed samples to another sound file.

The SPKit classes are divided into following categories:


Programmer's reference

Class Hierarchy

The SPKit class hierarchy is based on a single base class: SPKitProcessor. It implements the basic protocol for connecting objects, passing initialization data and passing audio samples between objects.

The inheritance hierarchy is as follows:

See also: