The CDP system is a comprehensive sound design suite of over 450 processes, covering almost every aspect of sound transformation, including many that may be unfamiliar or are presented from an original or compositional viewpoint. The system is not real-time, but is non-destructive: most processes take one or more input files and produce an output file. (The exceptions are SYNTH functions which have no input and INFORMATION functions that report to the console.)
The sheer size of CDP can make it hard to find your way around. In addition, newer processes with separate names are often subtle variations of a previous idea. Although the reference documentation groups CDP into function groups, it is not always easy to keep track of the similarities and differences between related processes. This document aims to provide a quick guide to CDP, grouping functions into categories and linking to the reference documentation. Hopefully, this will make exploring CDP a little easier.
The categories and groups largely follow the menu structure used by the Soundshaper GUI. Functions which are expected in the forthcoming CDP Release 8 have also been included these are shown as (R8).
On the console, CDP functions are called by two names: the group name, such as ENVEL, followed by the function name, such as CREATE. Most functions introduced since Release 6 have only the function name (which is typed twice). To save space here, we will use just the function name where possible. The hyper-links will then lead to the appropriate reference documentation.
These operate on soundfiles (.wav, .aif or .amb) in the time-domain:
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 spectral filtering.
- All classic filter types including brickwall filtering
- Phasing and sweeping effects
- Tuned filter banks (time-variable)
See also: SPECTRAL FILTERING
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.
- Stack transposed copies of sound
- Classic ring-modulation and cross-modulation
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
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
See also RE-ORDER:
- 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.
See also PITCH SYNC GRAINS:
- 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
These are in the frequency-domain, operating mainly on frequency analysis files (.ana).
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
See also OPERATIONS OVER TIME:
- Precise spectral filtering
- 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
Radically alter the frequencies in the sound, in the spectral domain. Tuning is especially powerful, imposing harmonies on almost any sound.
- Transpose pitch preserving time and optionally formants
- Tune spectrum to (time-variable) pitch template
- Pick out frequencies in the sound
- Shift, respace or stretch frequencies inharmonically
- Fold or invert frequencies
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. Combine sound characteristics. Reshape sound under formants; modify or move 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
- Time-stretch without changing pitch
- Blur, freeze, hold, time-expand spectrum
- Re-order spectral time-windows: shuffle, drunken walk, randomize, etc.
Extract and manipulate pitch data (.frq) and transposition files (.trn)
- Quantize, approximate, invert, smooth, randomize etc.
Soundfile editing, channel and spatial functions, mix and mixfile functions.
CDP has all the usual functions to edit sounds and alter 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
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
CDP's mixfiles enable the construction of very detailed creative 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
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 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.
Synthesis, Information, Data and System Utils
CDP has only a small number of synthesis functions. 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
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
The descriptions used in this Guide are adapted from the Soundshaper manual and do not necessarily reflect the views of CDP.
For details of each function, always refer to the CDP Reference Documentation.
For further details about CDP see the Composers' Desktop Project website.