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:
- Connect the objects
- Initialize sound processing parameters
- 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:
- Sound input and output
- Basic signal processing
- Dynamics processing
- Filtering
- Delay and reverberation
- Distortion
- Signal routing
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: