Space~ - A module for spatialization of audio sources

Released under GNU's General Public License.

Based on an algorithm and a partial implementaion by
F. Richard Moore in "cmusic" as part of the Computer
Audio Research Laboratory (CARL) package.

Real-time implementation, port to Pd, and new improvements by
Shahrokh Yadegari.

With the contributions by Ted Apel , Anthony Burr , Harry Castle, and Miller Puckette.

space~  version 0.4alpha for Pd (Sources, and compiled object)
Linux, Mac OS X

To see a directory listing of downloadable files, which also inlcudes older releases, click here .

Back to the Software Page


Released under GNU's General Public License.

For more information on implementation detail's and functionality
refer to the ICMC 2002 paper:
"Real-Time Implementation of a General Model for Spatial Processing of Sounds"

Space~ is a real-time implementation of a general model for
spatialization of audio sources. The central conceit of the algorithm
is that of a room within a room.  The inner room is the space
delimited by the speakers which contains the listeners. The model
simulates the behavior of the sound source within a user-defined
virtual outer room, as heard from the inner room. The speakers
act as "windows" throug which sound from the outer room passes.

NOTE: In this implementation both the inner and outer rooms are
assumed to be squares. Also keep in mind that the simulation of a
source in the listening room is not as good as when the source is
in the virtual space and currently one hears sudden changes to the
level of audio on opposite speakers when a source passes through
an inner wall.


space~ [card] [stereo|quad] [inner room size] [outer room size]
- card - indicates that the cardiod pattern information is supplied
for the audio source in real-time
- stereo|quad - specifies the diffusion mode (quad is the default)
- inner room size - is the size of the inner room in meters
- outer room size - is the size of the outer room in meters

(When inner room size and outer room size are not specified, sizes
4 and 50 meters are assumed.)

All inlets and outlets of space~ are of type signal.

Outputs for stereo:

1 - Front Left
2 - Front Right
3 - to be connected to Reverb

Outputs for quad:

1 - Front Left
2 - Front Right
3 - Rear Left
4 - Rear Right
5 - to be connected to Reverb


1 - audio source
2 - X coordinate in meters
3 - Y coordinate in meters
4 - amplitude (not in db)

Additional inputs when "card" is specified:

5 - Theta (in radians) - source radiation direction
6 - Back - radiation level in the opposite direction (0 <= Back <= 1)


stop - stop spatial processing (for saving cpu cycles
start - start processing
theta - the value of theta (when "card" is not specified)
back - the value of back
direct - affecting the power laws for calculating the direct ray attenuation
reflect - affecting the power laws for calculating the reflected ray attenuation
TH (also "th" or "threshold") - threshold value for ray diffraction simulation
CF (also "cf" or "crsossfade") - crossfade form for ray diffraction simulation