The CDP system is one of the most comprehensive and innovative sound design suites available. Written largely by English electro-acoustic composer Trevor Wishart and reflecting his musical aesthetics in many ways, its processes cover almost every aspect of sound manipulation you've ever heard of, plus many that will be unfamiliar, and often approached from an original or composer's viewpoint.
CDP is a toolbox of over 450 processes covering EDIT and MIXING functions, SOUNDFILE, SPECTRAL and PITCH processes, a small but significant SYNTH group, DATA GENERATION and a large INFORMATION section. In addition there are over 100 DATA MANIPULATION functions and a comprehensive HELP. There is also extensive support for multi-channel surround sound, including ambisonics.
CDP is certainly "different" in being non-realtime and based on the processing of one or more soundfiles to create an altered soundfile. Automation is largely controlled by breakpoint files: text lists of time value pairs. This approach does, however, allow processes to be chained easily and altered flexibly and precisely. Soundshaper's patch system allows complex processing chains to be stored and reproduced exactly, or altered on a re-run.
The main areas of CDP are summarised below. For a full classified listing of CDP functions, see the CDP Guide.
The envelope is the overall loudness contour of a sound. Extract the envelope, either as a binary or breakpoint text file, and edit it visually or warp it in over 30 different ways to alter the dynamic shape. Apply the transformed data to scores of time-varying parameters throughout the CDP system.
- Extract and re-shape the envelope contour or create your own
- Impose or replace the envelope of one sound with another
- Add fades, tremolo, swells
- Warp envelope: normalise, gate, invert, flatten, reverse, exaggerate, etc.
Filtering changes the tone-colour of a sound, removing some of the harmonics and emphasizing others. The filter's power is well known through classic "subtractive synthesis", in which a synthesised waveform rich in harmonics is shaped by a time-varying filter.
CDP's tuned filtering is especially powerful, as is its very precise filtering in the frequency domain.
- All classic filter types including brickwall filtering
- Precise spectral filtering
- Phasing and sweeping effects
- Tuned filter banks (time-variable)
- Spectral graphic-style EQ with unlimited bands
- Focus energy around spectral peaks
- Impose filter characteristics of vowel sounds
- Thin spectrum removing least or most prominent partials
- Slice spectrum into bands, to process separately
- Remove low-level signal to clean sound
Change pitch and speed, or shift pitch in the frequency domain without changing the time.
Extract and manipulate pitch data, for example to quantize it or impose the spectral shape from another sound when resynthesizing.
- Transpose pitch by speed, including vibrato and accel/decel.
- Transpose pitch preserving time and optionally formants
- Stack transposed copies of sound
- Extract and manipulate pitch data: quantize, approximate, invert, smooth, randomize etc.
Radically alter the frequencies in the sound, in the spectral domain. Re-tuning is especially powerful, imposing harmonies on almost any sound.
- Classic ring-modulation and cross-modulation
- Tune spectrum to (time-variable) pitch template
- Pick out frequencies in the sound
- Shift, respace or stretch frequencies inharmonically
- Fold or invert frequencies
MORPH and FORMANTS
Morphing changes one sound into another over time. Morph between spectral peaks or to a particular tuning.
Create hybrids by imposing the characteristics of one sound on another or modify the formants.
- Morph between two sounds or spectral peaks, with optional tuning
- Glide frequencies of one sound towards another
- Create hybrids of two sounds
- Classic vocoder: impose or replace formants of one sound with another
- Extract formants and combine formants and spectral envelopes
- Modify spectral shape under formants: narrow, squeeze, suppress, invert, rotate etc.
- Move formants to new frequencies
Alter the spectral envelope in exotic ways or manipulate partials over time.
- Accumulate (sustain frequency bands), arpeggiate partials
- Average spectral amplitude, spread spectral peaks, invert spectral envelope
- Time-stretch (without changing pitch)
- Blur, freeze, hold, time-expand spectrum
- Re-order spectral time-windows: shuffle, drunken walk, randomize, etc.
REVERB and DELAY
A large group of processes covering reverberation, convolution, classic delay lines and iteration of verious types, including repetitions across multi-channel space.
- Classic reverb and room-reverb
- FFT-based fast convolution
- Classic delay lines, including tapped delay
- Many functions for echo and repetition
- Shrink-repeat sounds
- Repeat sounds as polyrhythms
- Stagger repeats across multi-channel space
EXTEND and SEGMENT
Segmenting and restructuring sounds is a strong feature of CDP. The sound is chopped up and re-ordered in many different ways, with segments repeated, looped and stepped through the sound, zig-zagged back and forth, or scrambled.
- Reverse, back-to-back, zig-zag
- Loop, with time-variable start
- Repeat segments, with optional spatial dispersal
- Repeat, reverse or attenuate enveloped segments
- Create pulsed sounds from segments
- Re-order segments randomly: drunk, scramble, shred, stutter, etc.
Create thickly textured sounds out of overlaid segments. Create "grainy" sounds with silences separating the grains and manipulate the grains in many ways.
Extract formant-related "pitch-synchronised" grains to transform mainly vocal sounds.
- Classic granular synthesis with multiple streams or channels
- Multi-channel and textured grain functions
- Manipulate grains: omit, repeat, stretch, repitch, reposition, reverse, shuffle etc.
- Extract and manipulate pitch-synchronised grains: stretch, repeat, delete, sustain etc.
Build a texture from repeated whole sounds (which can be tiny fragments). Options include:
- Transposition within user limits or confined to defined chord
- Grouped repetitions
- Timed or rhythmic motifs
- Ornaments or decorations around a central line
- Fully defined motifs (pitch, loudness, duration)
- Multiple input sounds
- Spatial and multi-channel distribution
Retime amplitude peaks or silence-separated events.
- Warp timings of events around peaks or given times
- Constrict silences or shorten events
- Move peaks in time, accentuate peaks
- Repeat or mask events, play at regular times, change tempo, etc.
The DISTORT suite is a variant of the grain concept, but the segments are pseudo-wavecycles (called wavesets) found in zero-crossings and used to produce a wide variety of distortion. Cycles can be processed singly or in groups, with larger groups giving smoother and often unpredictable results.
- Manipulate (groups of) wavesets (pseudo-wavecycles). Options include:
average, envelope, omit, repeat, re-order, reverse, zig-zag, shuffle
EDIT and LEVEL
CDP has all the usual functions to edit sounds and change level, plus more ambitious masking, switching and sequencing processes.
- Standard cut and splice functions, including cut at zero-crossovers and trim ends
- Cut sound at given times, regular times or into segments found by envelope or gate lavel
- Extract segments to separate files, partition sound into separate streams, make random cuts
- Gain, normalise, balance level, invert phase, gate
- Spectral cut, gain, gate, etc.
- Insert silence(s) or mask portions of sound
- Switch between several sounds at given times
- Create sequence of sounds specified by time, pitch, level and duration
CHANNELS and SPATIAL
CDP's multi-channel tookit and many other functions give extensive support for extracting, switching or merging channels and spatialising sound in multi-channel space.
- Extract or interleave channels, swap channels, change channel order (within multi-channel)
- Convert between mono, stereo and multi-channel
- Pan sounds in stereo/multi-channel, pan between sets of channels
- Support for ambisonics - convert from standard .wav, decode to speaker layouts, ambisonic pan.
- Narrow or enhance stereo image
- Spin or rotate sounds in stereo/multi-channel space
- Place sounds spatially in surround-sound
- Repeat sound passing across mutlichannel space
MIXINGCDP's mixfiles enable the construction of very detailed mixes on the small scale, while simpler mix functions enable soundfiles to be mixed quickly and easily.
- Quick mix of two or several files with optional offset, balance, cross-fade or faders
- Mix using mixfile list of mono/stereo, or multi-channel files
- Manipulate mix files
As CDP is primarily a sound-processing system, only a small number of synthesis functions are provided. These are not synthesizers, as the results cannot be played or changed in real-time. However, they can create waveforms that could be built into sample-sets or can be altered by other processes.
- Create traditional waveshapes (sine, square etc), noise, silence
- Additive synthesis with time-varying spectrum
- Multi-channel pulsed synthesis using random selection from spectrum
- Pulse-wave synthesis and pulsed additive synthesis
- Spline: create waveform from random points
- Extract waveform or sound packet from existing sound
- Create timed clicks or structured click-track
Various utilities to convert between file types, change the soundfile header, record and playback, and handle files:
- Copy/convert between different soundfile formats, sample-rates and frequencies, with support for multi-channel and ambisonics
- Phase Vocoder (PVOC) conversion between time and spectral domains
- Record or playback sound with similar flexibility of file types. Play back spectral analysis files (converted via Phase Vocoder).
- Re-sample, integer to/from float, Wave_Ex to Ambisonic
- Degrade, deglitch signal, remove DC
- File utilities to list, backup, sort files etc.
INFORMATION and DATA
Report on various aspects of sounds or spectra; generate or transform data textfiles for automation or other purposes.
- File properties (sound, spectral, pitch etc.), length, max. level, RMS level etc.
- Find soundfile peaks and onset times, count grains and waveset-cycles
- Report spectral peaks and harmonics
- Convert units: MIDI/Hz, Freq.ratio/semitones or time, dB/gain
- Spectral unit conversions: frequency/channels, time/window-count
- Generate data for functions like filters, early reflections, doppler-shift
- Transform columns of data: musical, math, generative, sorting, random
Please note that some of the functions referred to above will appear in the forthcoming CDP Release 8.