SOUNDSHAPER is a free control interface for the CDP sound transformation software, with an emphasis on speed and ease of use. CDP is a suite of around 500 command-line processes for creating, altering and manipulating sounds to make music.
Soundshaper (PC only) supports and includes the latest CDP PC software (Release 8) see CDP8.
Soundshaper provides quick and easy access to CDP processes and parameters and assembles scripts which run CDP in the background. Soundshaper saves CDP output to temporary files, which you can save at any stage. Parameter values can be adjusted at any point, even after further processes have been run. Soundshaper's auto-conversion makes it possible to move seamlessly from one process to another while the program handles the different CDP file types.
When run, processes are displayed in a table called the Patch Grid. Soundshaper patches are an easy way to store and recall whole sequences of CDP processes in a fully editable form. All values are retained and the patch can be re-run with any source. Soundshaper patches support up to 16 separate process chains, which can come from different sources. Soundshaper also supports bulk processing, presets and multiple parameter sets.
Soundshaper's Main Page is built around a multi-process Patch Grid. The grid
consists of up to 16 rows of up to 99 cells, each of which is the outcome of a CDP
process. Each row in the grid represents a separate chain of processes, usually with its own
source sound, or one channel of a multi-channel sequence. The normal progression is from left to right, e.g.
A_0 (source) A_1 (Stack) A_2 (ForceLevel) A_3 (Excise) A_4 (ForceLevel) .
A cell's file can be played in the built-in soundfile player (some
CDP file types are not playable), saved to a permanent file
(Soundshaper uses temporary files for processing), copied to another cell, or you
can get information about it using one of the many CDP Information functions.
The structure as a whole is called a patch. Patches can be saved, recalled and run with different source sounds. The patch stores a complete and fully editable record of the sound-processing. You can easily build templates for use with standard process chains, or vary an existing patch; import mini-patches and link them to an existing structure.
The scripts that Soundshaper writes to run CDP processes have been extensively revised to work with mono, stereo, or multi-channel sources. With Soundshaper's patch system you can build low-level CDP functions into higher units that will work with any source.
Soundshaper supports multi-level patches: run a patch in a single cell as a sub-patch, save the top-level patch, and recall this within a single cell, and so on.
The basic operation of CDP is to choose a source sound, alter it through a process
and audition the result. Sources can be selected via conventional file menus, by
drag+drop from an open folder, from a Recent Files list or from a drop-down File List of project soundfiles. These lists are simple text files, so there is no limit to the number you can have.
Processes are most easily selected via the menus. These are based on CDP's
division of functions into Time-Domain and Frequency-Domain.
Time-domain processes are split into
separate Edit/Mix, Soundfile and Synth menus, while Frequency-Domain processes
are divided between the Spectral menu and the Pitch menu, which is for
operations on pitch data files extracted from spectral files.
Information functions appear on the Info menu. These do not produce an output
sound, but either produce text which is displayed automatically, or a textfile
report, which can also be displayed.
An alternative selection method is via the Process Tables:
There is also a drop-down Process List and a drop-down Patch List for saving and recalling favourite processes and patches. You can store and recall any number of these selections.
CDP employs a wide range of input file types: in addition to soundfiles, there are frequency
analysis (spectral), formant, pitch data, transposition and envelope files, and more.
In Soundshaper, you simply select the next process and it does any file conversion in the background, wherever possible, using current default values. And when choosing further inputs from the patchgrid, Soundshaper converts the file-type if necessary.
Selecting a process normally leads to the Parameter Page, where parameter values
are chosen. Soundshaper knows the requirements of each process and displays the appropriate
parameters for the selected mode (where applicable), with suitable value ranges and
normally a default starting value. Values can also be randomized within a chosen range.
Clicking RENDER runs the chosen parameter set and returns to the Main Page. If the result is unsuitable, double-clicking on the cell re-opens the Parameter Page, where you can adjust the previous settings and re-run the process. Alternatively, either UNDO or DELETE clears the cell.
PREVIEWS and SNAPSHOTS
New in Soundshaper 6 is the ability to preview and easily recall up to 99 different parameter settings within the Parameter Page. Each preview can be be auditioned in the player/viewer, with a view to possible further adjusments, or compared with the source sound.
Up to 12 parameter sets can also be saved as Snapshots for future use, for example to apply different parameters to the same sound. The first eight snapshots can also store multiple parameter sets. This enables a stereo or multi-channel file to have a different set of parameter values for each channel.
A parameter set can be saved as a simple text file or added to a collection of Presets.
Preset files can contain up to 100 presets, with no limit to the number of possible files. The default preset file for a process is loaded automatically, but an alternative can easily be dragged and dropped onto the page.
TIME-VARYING VALUES (automation)
Many CDP parameter values can vary over time, usually over the length of the input file. The changing values are usually set in a 'breakpoint' text file of time-value pairs.
Selecting T-V or clicking on the parameter displays the current data file, with time-values optionally scaled to fit the file. Default values are recalled initially, but you can save and load your own files or drop them onto the page.
The time-varying data can be edited manually or sent to Soundshaper's Graph-Edit page.
The Graph-Edit page shows the data as a breakpoint (straight-line) graph as well
as in a table. Points are created by clicking in the graph area, or they can be
dragged, edited manually or by adjusting the X (time) or Y (value) sliders. The soundfile display (new in Soundshaper 6) allows the points to be related to the sound being processed, which can also be auditioned. The edited data is normally returned to the Parameter Page, though it can be saved to file.
Graph shapes can also be imported from file, such as an envelope to impose on a sound. Graph-Edit also has presets for the quick creation of data, such as this 1/3-8ve MIDI-based Graphic EQ:
MARKERS and LOOPS
Soundshaper now supports up to 100 markers (cue points) on the Main and Parameter Pages. New Markers are placed from selected Loop or Play-cursor points in the soundfile display. Markers have many uses: playing or processing selected portions of a soundfile or creating time-points for breakpoint data files. On the Main page, you can use Markers or Loops to transform an edited selection of the soundfile. You can save a set of Markers, or import those saved from an external program such as Audacity.
On the Parameter Page, Markers can be transferred to a displayed data file or vice versa. This flexibility enables time-points to be created or replaced in the data file, while data times returned from the Graph-Edit page can be sent to Markers. Markers are also typically inherited from the Main Page and returned there after Rendering.
The Patch Grid is ideal for splitting stereo or multi-channel sounds into separate channels and processing them independently before mixing or interleaving the result.
Cells can be copied, especially onto another row to create a separate process chain. A whole row or part of a row can also be copied to another row. This method is used for Bulk Processing, where each row has a different source sound.
The example below illustrates the use of multiple processing chains:
- The source soundfile (A_0) is processed by a spectral process (A_1), then a pitch process (A_2). The conversions (PVOC ANALYSIS and GETPITCH) take place behind the scenes.
- MAKE (A_3) requires a formant file; this was selected simply by clicking on cell A_1, whose formants were automatically extracted.
- The source (A_0) is copied to Cell B_0 and processed differently in Row B.
- Cell B_1 is itself copied to C_1 and is given a slightly different transposition (SPEED).
- The three rows are then mixed together in cell A_4 to give a final output, and the whole patch can then be saved.
Several CDP processes have multiple outputs, which Soundshaper places on separate rows, ready for individual processing.
In this example, SLICE splits the spectrum into separate bands, which are transposed differently and then mixed together:
Soundshaper has a dedicated Mix Page for creating and editing Mixfiles. In this screenshot, mix parameters are set for sounds pre-selected on the Main Page and the mix is run without any need to understand the CDP mixfile format:
Alternatively, the mix list can be displayed and added to or edited on the page:
CDP's COLUMNS program is implemented in a dedicated Data Editor page.
COLUMNS processes or generates text data files, transforming these in up to 100
different ways. A data file can be sent to the Editor from the Graph-Edit page, altered and sent back. Or a file can be opened in the Data Editor and processed there.
Soundshaper can launch up to 10 favourite external programs. For example, you might use a plugin and send the result to Soundshaper for further processing. (See the support page USING SOUNDSHAPER WITH AN AUDIO EDITOR.)
Soundshaper has MIDI support for CDP Sequences. CDP's Sequencer2 program plays any number of sources at any pitch, time and level. Soundshaper can convert a standard MIDI file (SMF) into CDP's data format and render it in audio using any suitable source sounds.
USER SCRIPTS and CSOUND
Soundshaper supports the user's own batch scripts and Csound scripts. Batch scripts can run a sequence of CDP or other Windows functions, or other external scripts, as a single object.
Csound is a huge software synthesizer and sound-processing system, with many published script examples covering virtually every aspect of audio generation and manipulation. Csound scripts for both synthesis and sound processing can now be run within Soundshaper, complementing the already large suite of CDP functions. One process (Paulstretch) has also been fully incorporated into Soundshaper, and more are likely to follow.
HELP and INFORMATION
A brief Hint is given for every CDP process in the Main-Page menus. On each Parameter Page there is a brief Help description for each process mode and parameter. Enabling Quick Help displays a fuller pop-up description with detailed parameter ranges and process descriptions, specifically for Soundshaper. There is also access to Soundshaper's HTML manual and the detailed CDP Reference documentation.
Detailed information is readily available on soundfiles and all CDP file types. Conversions can be also made between common audio and musical data types such as MIDI-Hz, Semitones-Ratio, dB-Gain.
Soundshaper maintains a History of processes in text form and prompts you to save this at the end of a session. The History file shows each process, input and output files, and the parameter values.
Soundshaper has comprehensive menus, readable by JAWS and other screen readers, with extensive keyboard control and a large range of keyboard shorcuts.