SOUNDSHAPER is a free control interface for CDP, designed for speed and ease of use and supporting the latest CDP Release 8.
Although currently only available for Windows, MAC users also run it successfully under 'Parallels' and similar applications. Versions for other operating systems (e.g. Linux, OS-X) are currently in development.
This document gives an overview of Soundshaper's layout and key concepts.
CDP processes audio files, not a real-time audio stream. Its basic operation is to take a source sound, alter it through a process and create a new file.
The Main Page of Soundshaper is therefore concerned with selecting and editing sounds, selecting CDP processes, and manipulating chains of processes in the multi-process Patch Grid.
In Soundshaper, all output is to temporary files which can be saved to permanent ones at any time. (This is to save the endless typing of filenames.)
As soon as a soundfile has been selected, or created after processing, it is available for playing and viewing in the soundfile player. The player can also play a frequency analysis file that has been converted behind the scenes into a soundfile.
The transport buttons (playing controls) are below the centre of the soundfile display, while to the left of the display are various options for starting playback.
The player is based on the third-party BASS audio library. It is a looping player (though it can also play without looping) and the loop points are shown by the blue and yellow cursors. These are positioned by left and right mouse clicks, respectively, or by dragging.
In addition to loop points, Soundshaper supports up to 30 markers (cue points). These are displayed a pair at a time in the edit boxes to the right of the transport buttons. Marker times can be typed in, got from Loop Points (Get Loops button) or imported from certain external editors. They can also be used to set the Loop Points (Set Loops button).
To the right of the soundfile display are three options for processing, either:
CDP always processes a whole file, so processing part of a file is achieved by cutting and pasting. Not all processes are suitable for this treatment.
The bottom half of the page is devoted to a multi-process table called the PATCHGRID, with Patch Controls to the left of the grid.
Each row of the grid represents a 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, as in this example:
When a source file is selected it appears in cell A_0 (or B_0, C_0 etc. if a different row has been clicked). The result of the first process then appears in A_1, which becomes the input to the second process, whose result appears in A_2, and so on:
A_0 (source) A_1 (RingMod) A_2 (Transpose) A_3 (Repeats) A_4 (Stack) A_5 (Convolve) A_6 (Loudness)Convolve uses the source B_0 as a second input.
Each cell is the result of a CDP process and has a corresponding temporary output file. The current cell file can be played (if suitable), re-edited, saved to a permanent file, copied to another cell, or you can get information about it from the player or the CDP Info functions.
The patchgrid's default size is 16 columns and 8 rows, while the maximum supported size is 99 columns and 16 rows. The grid can be re-sized during a session.
Wherever possible, conversion between the different CDP file types takes place behind the scenes, especially between soundfile and spectral files. You simply select the next process. Similarly, when two or more inputs are needed, you can usually just click on that input's cell, and Soundshaper will convert the file-type if necessary.
The Patchgrid structure as a whole is called a PATCH. The patch stores a complete and fully editable record of the sound processing. Parameter values can be adjusted at any point, even after further processes have been run. Patches can be saved, recalled and run with different source sounds. To make this possible, Soundshaper can run virtually all CDP processes with mono, stereo or multi-channel sources.
With Soundshaper's patch system, low-level CDP functions can be built into higher units that will run with any suitable source. At the top level, when a patch is loaded, it is displayed in the patchgrid as it was constructed, and run automatically. Any individual process can then be adjusted and the patch re-run.
However, a saved patch can also be loaded and run as an object within a single cell (a cell-patch) see for example cell A_1 "blur50" in the screenshot above. And the patch containing this sub-patch can itself be saved and can become a sub-patch running within one cell. In theory, there is no limit to this hierarchy of processes, as each cell-patch is run within its own folder, which may have sub-folders containing their own sub-patches.
RETURN to top of page
To the left of the soundfile display are a number of panels, individually selected by clicking on the panel name: FILES, PROCESSES, PATCHES, SPARE FILE and SAVE FILE.
FILES displays a user list of frequently used files or project files (also called the File Pool). Similarly, PROCESSES displays favourite processes, each of which may be simply a CDP process name or your own saved settings for a particular process. PATCHES likewise is a quick means of recalling favourite patches, particularly useful if the patch is to be run in one cell.
The SPARE FILE slot is mainly for files such as text data files which are not part of the process chain and cannot appear on the patchgrid.
Finally, the SAVE FILE panel has some controls to help with saving CDP output to a permanent file.
RETURN to top of page
The first operation in a CDP process chain is to choose a source sound. Sources can be selected:
The File List, or 'Pool', is a drop-down list of project soundfiles. A default 'Pool' list of files is always loaded on startup, if it exists. Pool files are simply text files, so there is no limit to the number of them you can store and recall.
RETURN to top of page
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 (also known as 'frequency analysis' 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 be displayed via the Spare File slot.
An alternative selection method is via the Process Tables, accessed at the top of each menu type or by hotkey:
The Process Tables use Soundshaper's own single-word names (shortnames) for CDP processes. These shortnames are also used on the patchgrid and elsewhere in Soundshaper, but they can be easily related to the official CDP name, which is displayed at the bottom right of the Main Page.
Favourite processes and patches may also be recalled using the drop-down Process List and Patch List, as mentioned above. You can store and recall any number of these selections.
RETURN to top of page
Selecting a process normally leads to the Parameter Page, where parameter values are chosen. Soundshaper knows the requirements of the process and its modes (where applicable) and sets up the page accordingly, displaying only the relevant parameters, with appropriate value ranges and normally a default starting value. Values can also be randomized within a chosen range.
Hitting OK runs the process and returns to the Main Page. If the result is unsuitable, clicking the RE-EDIT button or double-clicking on the cell re-opens the Parameter Page, where the previous settings can be adjusted and re-run. Alternatively, either UNDO (Ctrl+Z) or the DELETE button or key clears the cell.
RETURN to top of page
Many CDP parameter values can vary over time, usually over the length of the input file. Selecting T-V replaces a single value with the name of a text file, usually a 'breakpoint' file of time value pairs, and a default data file is displayed in the Data Edit panel at the right of the Parameter Page, with any time-values automatically scaled to fit the file (see e.g. the parameter Pitchshift above). You can of course load your own data files as required. The time-varying data can be edited manually in the edit box, 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. New points are created by clicking on the graph area; points can be dragged around; and there are various possibilities for creating new graphs from scratch, such as an envelope shape that can be imposed on a sound.
The Graph-Edit page also has presets for the quick creation of data, such as this 1/3-8ve MIDI-based Graphic EQ:
RETURN to top of page
On the Parameter Page, a set of parameters can be saved temporarily by clicking on one of the Snapshot buttons. The first eight of these can also used to store Multiple Parameter Sets. This feature 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, which can be recalled from the Process List, or it can be 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.
RETURN to top of page
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.
A number of 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 interleaved to make a four-channel file:
RETURN to top of page
Soundshaper has a dedicated Mix Page for creating and editing CDP Mixfiles, including multi-channel mixes. Files can be selected on the Main Page or the Mix Page. 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, files can be added to the CDP Mix List which can be displayed and edited on the page, before running the mix. Existing mixfiles can similarly be loaded and edited as required.
RETURN to top of page
CDP's COLUMNS program is implemented in a dedicated Data Editor page.
RETURN to top of page
Up to 10 favourite external programs can be launched from within Soundshaper. For example, your sound can be sent to an external editor, processed with VST or DX plugins, and returned to Soundshaper for further processing.
Alternatively, you can export a sound, or part of it, from an editor to Soundshaper and re-import it when processed. For details, see the Soundshaper support page USING SOUNDSHAPER WITH AN AUDIO EDITOR.
New in Soundshaper 5 is the provision to run a user-written Windows batch script within the patch system. For example, you might create a script which executes a number of processes.
Special provision has also been made to run Csound scripts. These can be synthesis scripts, with no input, or sound-processing scripts with at least one input file. In addition, one Csound opcode Paulstretch has been implemented within Soundshaper itself with full parameters. More are expected to follow.
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.
A brief Hint is given for every process in the Main-page menus. Enabling 'QUICKHELP' displays a fuller description when the process is selected, with the option to proceed to the Parameter Page.
On the Parameter Page there is a brief Help description for each process mode and parameter, and a pop-up Quick Help gives detailed parameter ranges and process descriptions, specifically for Soundshaper. On both the Main and Parameter pages, there is access to Soundshaper's manual and the detailed CDP Reference documentation.
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, in and out files, and the parameter values. For example:
Cell : A_1 Process : ZIGZAG File In : ~A_0.wav File Out: ~A_1.wav Length : 10.548707 Channels: 1 CDP Prog: extend zigzag 1 Params : 0 3.700 10 0.05 -s15 -m1 START: 0 END: 3.700 DURATION: 10 MIN ZIG: 0.05 MAX ZIG: 1 SPLICE: 15
Soundshaper supports a number of 3rd-party skins from Alphaskins. Skins are stored in Soundshaper's subfolder SKINS and selected from the File Menu. The default skin is called PULSAR. Only skins that "work" with Soundshaper are supplied, though not all are equally good. More are expected in the future.
Soundshaper includes comprehensive support for visually impaired users. Almost every control is matched by a menu item, readable by JAWS and other screen readers, and there are extensive associated keyboard shortcuts. A text-to-speech function is also included.
RETURN to top of page