![]() |
|
![]() |
The central table on the Main Page is called the PATCHGRID.
This section describes the Patchgrid and the various Patch operations, including saving, loading and running Patches.
CONTENTS
PATCHGRID
In Soundshaper, each completed process is shown as a cell in a multi-process PATCHGRID in the lower part of the Main page. Cells are colour-coded according to the conventions used throughout Soundshaper (see Colour Table).
![]()
The Patchgrid has up to 16 rows. Each row can have its own source (in Column 0) and represents a separate stream, or channel, of audio processing (mono, stereo or multi-channel). The process chain in each row is from left to right: the main Input cell is always the last one in the currently highlighted row, and the Output cell is always the next one to its right. For normal processing, the Current row must be a non-empty row. However, you should select an empty row to load a source to that row or perform a SYNTH or RECORDING process.
CURRENT CELL
The Current cell is the current non-empty cell that is highlighted by the cursor arrows for that row and column, for example, cell A_3 in the above screenshot. To select a cell, click on it, or move the keyboard arrow keys (Left-Right or Up-Down). The cell file's length and channel-count are shown in the TRANSPORT PANEL at the top of the page (unless the file is not of a suitable type).
The Current cell can be:
- Played: e.g. in the built-in Soundfile Player (if .wav or .ana).
- Re-edited: double-click on the cell (or Ctrl+ENTER).
- Replaced: with a different process.
- Copied: to a cell in another row.
- Saved to a permanent file.
- Sent to an Info function: select one in the Info menu.
- Cleared: hit DELETE key, or UNDO (Ctrl+Z).
- Linked to another cell in a different row.
- Displayed: Menu Patch | Show Cell Data (or Ctrl+\).
The processing rows are not entirely independent. They can be joined together by:
- Secondary inputs, taken from a cell in another row.
- Mixing or Interleaving cells from different rows.
- Copying a cell, row or part-row to another row.
- Linking rows, or extending processing from one row onto the next
The overall processing sequence, or PATCH, can be saved, recalled and re-run, optionally with different sources or altered parameters. The PATCH stores a complete processing record in a convenient form.
PATCH OPERATIONS
The Patch Menu has items covering all operations for Patches and the Patchgrid, except for Patch LOAD and SAVE, which are in the File | PATCHES menu. The most common controls are also available in the Patch/Cell Controls panel:
![]()
- RE-EDIT CELL:
Double-click on the cell (or Ctrl+ENTER) to return to the Parameter page, or click the RE-EDIT button.
- CLEAR CELL:
To clear the last occupied cell of the current row, select UNDO (or Ctrl+Z) or Patch | Clear Last Cell.
Alternatively click the DELETE button or hit the DELETE key.
For low-level clearance of rogue cells, use Patch | Clear Cell (or Alt+A, X).
- CLEAR PATCHGRID:
To clear the Patchgrid: click on the CLEAR button (or ALT+Z), ensuring that 'Whole Patch' is also checked.
To clear the current row: click on the CLEAR button (or ALT+Z), with 'Single Row' also checked.
You will be prompted about possible saving the final cell of the row. This method can also be used to clear the row's source.
- REPLACE PROCESS:
Click the REPLACE button (or ALT+R):
At the prompt, click YES and then select and run a different process.
If not the last cell of the row, click the RUN button,with 'Single Row' checked,
to re-run the rest of the row.
- DISPLAY CELL DATA:
Select Patch | Show Cell Data (or ALT+\).
The current cell's data is displayed in the Report Window, for example:
![]()
A similar listing is given in the HISTORY file.
- DELETE CELL(s):
Erase one or more cells in the current row and close the gap.
- Click on the first cell to be deleted.
- Select Patch | Delete Cell(s).
- Enter the number of cells to delete and click OK.
- Select the cell preceding the first one you deleted and click RUN (or RUN with 'Single Row' checked) to link its output to the following cell(s) in the row.
- NULL CELL:
Add a dummy process in the next cell.
- Click on the last cell of a row.
- Select Patch | Add Null Cell or Ctrl+#.
The input cell is copied to the next cell in the row, which reads NULL.- A NULL cell can be copied to another row or linked to: see COPY CELL and LINK, below.
A NULL cell's outfile can safely be overwritten by an external process.
- INSERT CELL(s):
Insert one or more cells into the current row. Both operations temporarily use the last row, which must be empty.
N.B. Insert and Delete Cells temporarily use the last row, which must be empty.
- Click on the cell after which you want to make the insertion.
- Select Patch | Insert Cell(s).
- >Enter the number of cells to insert and click OK.
- The inserted cells are all dummy NULL cells. Select each one in turn and click REPLACE PROCESS.
- When the final NULL cell has been replaced, click RUN (or RUN with 'Single Row' checked) to link its output to the following cell(s) in the row.
- LINK CELL:
Link a cell to one in another row.
This changes the Infile for the cell you link to, to that of the cell you link from.This procedure works best when linked to a cell with no Infile of its own.
- Click on (highlight) the cell you wish to link from.
- Select Patch | Link Cell.
- Click on the cell you wish to link to.
- Re-run the row or patch to incorporate the linkage.
Alternatively, link to a NULL cell: see example below.
Otherwise, there will be conflicts with the linked-to cell's own Infile.
COPY CELL/ROW
Copy a cell to another row. The destination cell must be empty, unless it is a source cell, which is replaced.
- Click on the cell to be copied (if not the current cell).
- Click on the COPY button (or ALT+C):
The COPY Button label changes to Cancel click this if you need to cancel the copy operation.- Click on the destination cell.
If the destination cell has an Infile, the copied process is run with that input (assuming it is compatible).
If the destination cell has no input (the immediately preceding cell), it cannot be edited.
(This is because it would expect to be re-run with an Infile from the preceding cell, which doesn't exist.)Simple versus Editable Copy
![]()
SIMPLE COPY: in the ordinary copy, the process shown in the destination cell (B_1 in the screenshot) is merely that it is a copy of another cell. It mirrors whatever is in the source cell, even if that changes. In that sense the copy acts as a cell splitter and cannot be edited, because it is not associated with any CDP process.
EDITABLE COPY: If the checkbox Editable copy has been checked when the copy is made, the destination cell is a copy of the source process (cell E_1 in the screenshot). It is editable, and can have different parameter values in its own right. However, it must have an input cell of its own (E_0 in the screenshot) or it will not be editable, as described above.
Copying a Row
You can also copy a row, or part of it:
- Click on the first cell of the row (or part-row) you want to copy.
- Check the Copy Row checkbox. To copy part of the row, also check the Copy Row Range checkbox.
- Click on the COPY button (or ALT+C).
- If you checked Copy Row Range, enter the columns to copy in the pop-up dialog.
- Click on the first destination cell, which must be empty.
If the first destination cell has an source Infile, the copied row is run with that input (assuming it is compatible).
A copy starting on a later column, with a preceding Infile, is not run. In this case, click on the preceding Infile cell and click RUN, with "Single-row" checked.
If the first destination cell has no input (an immediately preceding cell), it cannot be edited.The following patch illustrates the use of a copied row:
![]()
Row A's processed cells have been copied to Row B. Cell B_1 has no Infile of its own in B_0; the Information Panel shows its input as A_0. For this reason, editing the cell is not permitted. (If it were edited, its Infile A_0 would attempt to output to A_1, which would fail, as that already exists.) Cell A_1 can be re-edited, however, as can the two SPEEDs, to give them different values. If the whole row, including the source, had been copied, both B_1 and B_2 could be re-edited and cell B_0 could be replaced by a different source file. As it is, we could still put a different source into B_0 and run that row (RUN with Single Row checked).
SUMMARY OF COPY RULES
For Copy Cell:
- The destination cell must not be on the same row as the one being copied.
- A processed cell (Col. > 0) can be copied to a source-cell or another column.
- A source-cell (Col. 0) can only be copied to another source-cell, not to another column.
(A workaround could be to process the source with VIBRATO, parameters 0 and 0, and copy that instead.)
For Copy Row (whole or part):- If the (part) row's first cell is a source-cell, the first destination cell must also be a source-cell.
- If the (part) row's first cell is a processed cell, the first destination cell must also not be a source-cell.
For both Copy Cell and Copy Row:- If the destination cell (or the first destination cell of a copied row) has no input cell, it cannot be edited.
- The destination cell (or destination row for Copy Row) must be empty, unless (Copy Cell only), it is a source cell (which is then replaced by the copy).
BULK PROCESSING
Bulk processing applies a process, or chain of processes, to a number of sources.
In Soundshaper, this is an extension of COPY ROW.
Copy from Column 1 of the original row. The row (or part-row) is copied to every subsequent row that has a source file, but is otherwise empty.
- Contruct or import a single-row patch in Row 1.
- Populate a number of subsequent empty rows with sources see especially File List to Sources.
- Check the Copy Row checkbox. To copy part of the row, also check the Copy Row Range checkbox.
- Also check the Bulk Process checkbox.
- Click on the COPY button (or ALT+C).
- If you checked Copy Row Range, enter the columns to copy in the pop-up dialog.
- Click on Column 1 of the row below that which you are copying.
All subsequent rows with sources (only) inherit the copied row, and are run with their sources.Before carrying out Bulk Processing, you need to populate a number of successive rows with sources. A quick way of doing this is to load a Pool File to the File List and then select File | Files Panel | File List To Sources, or click the 5th button from the left (purple arrow) in the Files Panel. The first row is bypassed, if occupied (as it probably will be, with your patch sequence). See FILE LIST for further details.
The inverse of Bulk Processing processing the same source file through a number of different process chains is easily achieved in Soundshaper, particularly with sub-patches.
- Load a source into cell A_0
- Copy it to B_0, C_0,... etc.
- On each row, select a process or load a patch with Run Patch in Cell checked (see SUB-PATCHES below)
Alternatively:- import different single-row patches (see Import Single Row) to a number of rows, as required
With either method, you can save the the overall patch and then run it with a different source for the first row, which the patch will copy to the other rows.
Further bulk-processing possibilities include using Multiple Parameter sets: interleaving copies of a mono or stereo file to make a multi-channel file and applying different parameter values on the Parameter Page; or splicing files together and applying a Patch to the combined file.
LINKING ROWS
The LINK procedure described above extends the scope of patch construction, as the following examples illustrate.
In the first case, Cell B_1 has been linked from A_2 (see Information panel In: ~A_2.wav):![]()
Cells A_1 and A_2 were copied to B_1 and B_2. A_2 was linked to B_1 SPEED, which transposed it further. B_2 was then deleted and replaced by STACK. Row B in effect extends Row A, which also has its own further output in A_3.
The second example illustrates the use of NULL to extend Row A. As in the first example, A_1 and A_2 have been copied to B_1 and B_2, and B_2 changed to STACK:
![]()
Again, B_1 is a link from A_2, so is in effect A_2. As a NULL cell, B_1 could not be edited anyway, so nothing has been lost. This method can be adapted to extend a row beyond its 12 cells.
LINKING TO AN IMPORTED PATCH
Another way of linking rows is to copy a cell of a row to the source of the other row, replacing it. Here, the process chain in Row B is looped through Row A:
![]()
A single-row patch has been loaded into Row A. In Row B, the main one, B_2 (Stack) has been copied to A_0. The insertion of a NULL cell in Row B then allows A_4 (Cut) to be linked to it. The overall flow is B_0 to B_2; A_0 to A_4; (B_3) to B_4 and beyond. This works without causing conflicts with B_2 (STACK), because the NULL cell is in fact a COPY operation, not dependent on A_2 once its Infile has been changed: it becomes a copy of A_4 instead of B_2.
MULTIPLE OUPUTS
Several CDP processes produce multiple outputs, which can be placed on successive rows of the Patchgrid for individual processing. Similarly, you can split a multi-channel file into its consituent channels (Edit/Mix | CHANNELS | Split) and place these on different rows.
![]()
For example, the function SLICE spectrally divides the signal into different slices of filter bands, which can be processed separately, as above (SPEED was first copied to the other rows, from A_2). If panned differently and then interleaved, this procedure can be used to create a psuedo-stereo file from a mono one.
SAVING A PATCH
Saving a PATCH stores the entire processing sequence in a re-editable form.
To save a Patch to file, click the SAVE button (or File | PATCHES | Save Patch, or Shift+ALT+F4 ).
![]()
Two options are available which you must check/uncheck before clicking SAVE, however:
- Include sources: checked by default. This saves all source files with the patch.
If not checked, each source is automatically loaded when you re-load the patch, if it is still in the same location.
Otherwise, you are prompted to provide one. Not saving sources saves disk space and perhaps makes patches more portable.
- Save all files: probably not recommended, this saves all intermediate files in the patch sequence.
Not only does this eat up disk space, but Windows can take almost as long to load the files as CDP takes to re-generate them!The initial SAVE folder is the Patches Folder you set in SETTINGS (Folder tab). The default is [User-Folder]/PATCHES.
(This folder is generated automatically.) However, you may wish to save some patches to specific project folders.Enter a name for the patch. The suffix .ssp is provided and must be observed.
This is the main Patch File that you will select to re-load the patch.
The Patch File contains the patch name, an optional description and a list of patch cells in running order.
The other files are stored in a sub-folder of the same name.
(If you decide to re-name a patch in Windows Explorer, change both the .ssp file and the sub-folder to the same name.)Enter an optional patch description (max. 50 characters). This is displayed when the patch is re-loaded.
LOAD & RUN A PATCH
There are three ways of loading and running a patch.
1. FILE-SELECTOR
To load a patch via the File-Selector, click the LOAD button (or File | PATCHES | Load Patch, or CTRL+L).
The initial folder is the Patches Folder you set in SETTINGS (Folder tab).
In the file-selector, select the Patch File (.ssp). Any existing patch is cleared ( there is no need to clear the patch before loading another one.)If you have saved sources with the patch, the sequence is re-run automatically. (You do not need to click the RUN button.)
If not, you may be prompted to provided one or more sources.INCLUDE SOURCE(S) checkbox
Before loading a patch, you may decide not to load any source file(s) saved with the patch. In this case uncheck the checkbox Include Source(s). The sources (if available) are actually loaded, but not run. A dialog allows you to choose alternative sources or run the patch with the original one(s). Once you have chosen the new source(s), click the RUN button.
(See also RUN PATCH WITH NEW SOURCE below).PATCH PREVIEW
Before loading, check 'Patch Preview', if you want to load the patch but not run it. This enables you to see the processes involved and if necessary re-edit parameter values.The original sources are loaded with the patch and if you choose to run it, perhaps after re-editing, click the RUN button, making sure that the 'Whole Patch' checkbox is checked.
(Note: Patch Preview doesn't do anything if you've saved all files with the patch, as there's no need to run such a patch anyway.)PATCH DESCRIPTION
On loading, the Patch Description, if any, is also displayed above the Patchgrid.
2. DRAG + DROP
Dragging and dropping a Patch File (.ssp) from a folder open in Explorer onto the Patchgrid loads and runs the patch.
As with the other methods, any existing patch is cleared. The effects of the checkboxes 'Patch Preview' and 'Include Sources' still apply.This is arguably one of the fastest and most efficient ways of running CDP.
3. PATCHES PANEL
The PATCHES PANEL and Patch List parallel the Pool and Process Lists in providing links to favourite patches:
![]()
Click on the PATCHES button on the left of the Main Page to reveal the Patches Panel. A Patch list is simply a textfile of paths to patch files. The default list resides in [User-Folder]\Patches\Patches.txt and this is loaded on startup, if it exists.
To load and run a patch, select the .ssp file in the drop-down box and double-click on the item, or click the panel's RUN button.
As with file Selection and Drag+Drop, any existing patch is cleared and the selected patch (assuming it exists) is loaded and run.
The effects of the checkboxes 'Patch Preview' and 'Include Sources' still apply.The Patches panel has six buttons. From left to right:
- Add a Patch to the list: load and run it first and click the button.
(The patch must previously have been saved and then re-loaded.)- Remove a Patch from the list: select it in the drop-down box, then click on the button.
- Load a Patch File: click on the button 3rd from the leftt.
As with Pool and Process lists, you can store any number of Patch Lists.- Save the current Patch List: click on the save icon, 4th from the left.
- Clear the Patch List: click on the Clear button, second from the right. This clears the list, but does not delete the Patch file.
- RUN: load and run the patch displayed in the drop-down box.
Note that this is a Load+Run button; the similar button in PATCH CONTROLS is a RUN-only button for an already loaded patch.IMPORT SINGLE ROW
A single-row patch can be loaded into any row and run.
Click the LOAD button, with the Single Row checkbox checked (or File | PATCHES | Import Single Row, or Shift+ALT+F4) The destination row must be empty.
The imported patch can then be linked to the existing sequence on the Patchgrid by mixing/interleaving, replacing its source, linking cells etc.Two current restrictions are:
1) Only a single-row patch can be imported in this way. The program attempts to warn you if it thinks the patch has more than one row.
2) The original patch files are re-named to that of the new row. Unfortunately, patches with datafiles (such as time-varying breakpoint files) fail, as their sub-folders are not re-named. The workaround is to use Row A, assuming the patch was contructed in that row.
3) It may be necessary to run the patch in the row: see next section.RUN PATCH BUTTON
When constructing a patch, or revising a patch you have loaded, you may have cause to run the whole patch.
Click the RUN button, with 'Whole Patch' checked.To run a single row that has been revised, for example after replacing one of the cells with a different process, click the RUN button, with 'Single Row' checked.
RUN PATCH WITH NEW SOURCE
An already loaded patch can be run with a new source (or sources):
- Click on the source cell to be replaced, to highlight it.
- Select a soundfile (via the File menu, Pool or drag and drop). This replaces the source.
- Click the central RUN button, with 'Whole Patch' checked it is checked by default.
SUB-PATCHES
A patch can be also run within a single cell: as a sub-patch, or Cell Patch. Following any soundfile or spectral cell (if Option Auto-FFT is checked):
- Tick the checkbox Run Patch in Cell, next to the patch LOAD button.
- Load the patch as normal: click the LOAD button, or drag and drop a patch file (.ssp) on to the patchgrid, or select a pre-saved patch from the Patch List.
The patch is run in the next cell, instead of replacing the existing patch on the patchgrid. The cell-patch is now a sub-patch within the top-level patch. The sub-patch name appears in the cell (if room), in lower-case to distinguish it from CDP process names:
![]()
To run as a cell-patch:
- The patch (as originally saved) must start with a soundfile (.wav) in cell A_0.
- It should have only one output cell. (Others will be ignored.) This must also be a soundfile (.wav).
- On the patchgrid, the cell preceding the cell-patch can be a soundfile (.wav) or a spectral analysis file (.ana). No other file types can serve as input to the cell-patch.
- A cell-patch can have two or more sources: see below.
- There are no channel restrictions: for example, the cell patch may have had a mono input when created, but can have a stereo one when run within a cell.
- A patch that is run as a cell-patch may internally have more than one row, created by copying cells, splitting channels, spectral slicing or processes with multiple outputs. Its final single output cell might be created by mixing or interleaving.
- The top-level patch may contain more than one cell-patch and the same cell-patch may be used more than once within the patch.
- Cell-patches cannot currently be edited from within the patchgrid. This means that a cell-patch has fixed processes and parameter values.
The workaround is to save variations of the patch while loaded as a top-level patch. Save them to different names, so that they are in fact different patches. Then load each as a sub-patch, as required.SECONDARY INFILES IN CELL-PATCHES
If a cell-patch requires two or more infiles and Include sources is checked, Soundshaper will use the sources saved with the patch.
If Include sources is not checked, Soundshaper lists the missing sources, using the filenames within the sub-patch, and invites the user to supply them by opening the ADD INPUT panel. As soon as the ADD INPUT OK button is clicked, the subpatch is loaded and run.
To take an example, a sub-patch has two infiles ~A_0.wav and ~B_0.wav, both saved with the patch. When used as a cell-patch, the preceding cell supplies a substitute for ~A_0.wav. For the second source, if Include sources is not checked, ADD INPUT appears. You can click a cell on the grid to replace the sub-patch's ~B_0.wav. Failing this, you can select a secondary source in the standard way, either:
- select a soundfile in the File List and then import it in ADD INPUT (Left button or F7)
or- select a soundfile using the File Menu, or by drag and drop.
The selection will be added to the patchgrid as well as to ADD INPUT.
UPDATING PATCHES
Patches made in previous versions of Soundshaper must be updated before they can be run in a cell:
- Load the patch as a top-level patch (not a cell-patch).
- Click SAVE and a prompt will trigger an update before you re-save the patch.
The update RUNS the patch, creating a new-style control script for it, so that it can be run within a cell as a sub-patch.MULTI-LEVEL PATCHES
You can save a patch that contains one or more cell-patches. This patch can itself be loaded and run as a cell-patch. And its top-level patch can be saved and loaded as a cell-patch ...and so on. However, care should be taken not to create needless multiple levels. It may often be simpler to extend or vary an existing patch and save it to another name than to create "Russian dolls" of patches within patches.
Technical note: sub-patches are run in their own folder, which is copied to your TEMP. OUTFILES folder, so that the original is preserved. Multiple levels are possible because the sub-patch's folder can likewise contain a sub-folder to run its own sub-patch. However, it is not yet possible to select new secondary sources for sub-sub-patches. While there is provision for secondary sources to replace those in the primary sub-patch folder, there is none to pass these down to lower sub-sub-folders.
A further technicality is that the sub-patch folder (together with its own sub-folders) is copied using Microsoft's ROBOCOPY program, introduced in Vista. For this reason, XP and earlier versions of Windows are no longer officially supported by Soundshaper (though most aspects should still work in XP).
RESIZING THE PATCHGRID
The Patchgrid is re-sizeable. The grid must be cleared before this is done.
Three values are set in Settings:
- Patch Rows: the total number of rows, maximum 16 (default 8: A-H).
- Visible Rows: the number that can be seen at any one time, the rest being scrollable. Must be <= Patch Rows.
- Patch Columns: the maximum is 99 (if enough memory!). The default is 16, with 12 (the minimum) visible.
These values can be changed during a session; those stored in the config. file Soundshaper.cfg will be applied on startup.
The remaining 10 rows (Q-Z) are being reserved for possible expansion in future versions.
RETURN to top of page |