back to software index Sound Processor
Real time DSP for Macintosh with Digidesign card
  Utrecht School of the Arts
music technology department
PO box 2471, 1200 CL Hilversum
phone: 035-6836464, fax: 035-6836480
e-mail: pieter@kmt.hku.nl
 


Sound Processor is music software for Apple Macintosh computers that are equiped with a Digidesign audio card (types Soundtools, Audiomedia, Protools, etc.). It is made to process real time sound. Some available effects are: reverberation, resonator, delay, pitch shift, ring modulation and tremelo. Furthermore, spectral analysis and spectral recognition can be performed in real time.

Sound Processor is rather simple to use (standard Macintosh user interface) and reliable enough to apply at live performances. It runs at audio sample rates up to 48 kHz. The program can run in the background, so it can time-share with other real-time software. It may be controlled by MIDI, transmitted from other software (running on the same, or on remote computers) sequencers or other MIDI instruments.

An extensive user manual is integrated in the software itself (see the Sound Processor help menu).


History

Sound Processor started in 1994 as my graduation project at the music technology department of the Utrecht School of the Arts in the Netherlands. Up to today, the software has been expanded and updated. New sound effects and analysis techniques are being developed in cooperation with the Schreck Ensemble.

System requirements

Note that this software only runs on Macintosh computers with Digidesign audio card in a Nubus-slot (from MacII up to PowerPC). To make use of MIDI, Apple's MIDI Manager must be installed. I compiled two versions: one for Macintosh with Floating Point Unit (68881 or 68040), and one version requires no FPU. For now, the software does not yet run on the new PCI-cards of Digidesign.

Use

You may freely download, use, copy and distrubute Sound Processor (but you may not sell it).

download Sound Processor 3.00 (no numerical coprocessor required)
download Sound Processor 3.00 FPU (requires numerical coprocessor)


Software will be transferred in the popular BinHex4 format. When you are receiving on an Apple Macintosh (running Netscape) it will probably be converted automatically to a Macintosh-executable and appear on the desktop. If not (or in case you are receiving on a non-Macintosh machine) you may convert the received .hqx file later with StuffIt ExpanderȘ, Compact ProȘ, or any other unzipping software. You may also telefax me at (31) 35 6836480 or e-mail to pieter@kmt.hku.nl to order my latest software.

I also provided some MAX objects to remote-control Sound Processor via MIDI with MAX. Click below to get a whole directory of helpful MAX patches (will be transferred as one selfextracting archive in BinHex4 format).

download MAX-SP Objects (requires the MAX software from IRCAM/Opcode)


Short description of available DSP algorithms:

Tap delay

The tap delay distinguishes itself for its very long delay lines: the maximum delay length is only limited by the amount of RAM installed in the computer. Elektroacoustic works, that in the early days were performed with use of analog tape-delays (like "Solo" from 1968 of Karlheinz Stockhausen), can now be realized digitally.

Besides very late echo's, the "tap delay"-algorithm can be used to create resonator-effects (very short delay lines with high feedback) and some primitive reverberation-effects.

The tap delay consists of two separate delay channels: one left and one right channel. Each delay channel is preceeded by a (variable) noise gate to avoid the accumulation of inevitable input-noise, in case you are using high feedback-levels. Each delay has faders for input, bypass, output, and feedback levels. From one input signal, you can tap up to six output signals, which may be directed to the left or right output channel.

Pitch shift

This algorithm (also known as "harmonizer") provides two independant pitch shifters (one on the left channel, the other on the right channel). You can transpose the pitch of the left and right input signals, from two octaves downwards up to one octave upwards. You may type frequency ratios (between 0.25 and 2), use the sliders, or send MIDI messages, to change the amount of transposition.

All signal processing is performed in the time domain (apart from a sort of autocorrelation-measurement, no frequency analysis is done). The algorithm basically consists of 2 parts: A third order interpolator, which does the actual pitch shifting, and a kind of autocorrelation procedure which controls the time correction. When the pitch shift ratio is less than 1, the audio buffer will be steadily growing and once in a while a certain amount of samples is cut away. In the opposite case (when pitch shift ratio is greater than 1) the audio buffer will be steadily shrinking and sometimes a certain amount of samples is repeated.
Theoretically, this method only works properly for quasi-periodical signals. And that is the main disadvantage of this method: It doesn't work that well for less harmonic spectra. It's the best to apply this effect to single voices, do not use it for polyphonic music or chords.

Ring modulation

There are 2 different ring modulators: one for modulating two external signals with each other (multiplying left and right inputs), and one for modulating a stereo signal with an internally generated sine wave. Both ring modulators contain good digital filters (on the input signals) to eliminate unwanted digital by-products (sum-frequencies above the Nyquist-frequency). Furthermore, one can modulate with rather high sinewave frequencies (up to 2400 Hz). And to create tremelo-effects, one can use very low (sub audio) frequencies.

Spectral analysis

Real time spectral analysis over 7 octaves on a logarithmic frequency scale. Frequency resolution up to 24 bands per octave (50 cents per band, 168 bands in total).

Real time pitch to MIDI

Universally applicable pitch-recognizer based on a spectrum analyzer and a neural network. This method also provides the recognition of multiphonics, non-harmonic-sounds and other special playing-techniques. The first prototype is included in Sound Processor, however, much work has still to be done before it will be really applicable within a musical context (with regard to reaction-time of the network and writing an extensive user-manual on how to train the network).

Pieter Suurmond, 1996