![]() |
|
![]() |
The Graph-Edit Editor is accessed from a Parameter Page or from the Main Page. It displays mainly Breakpoint Data Files, but can also handle single-column data.
It is easy to create data files in Graph-Edit, especially breakpoint files.The Graph-Edit page has been re-designed in Soundshaper 6, to accommodate a soundfile display, but otherwise functions the same as in previous versions.
CONTENTS
INTRODUCTION
The Graph-Edit visual editor allows you to display, create and manipulate the data files needed for many CDP processes and parameters. There is an automatic connection to Graph-Edit from every time-varying parameter, or you can access it from the Main Page and edit or create datafiles based on a given soundfile length.
All graphs are displayed in a breakpoint fashion, as a series of straight lines from one value to the next. In fact, CDP normally interpolates between these values: in other words, the changes are continuous from one value to the next, which the graph represents well (though without showing the intermediate values).
In the graph display, X usually represents time, while Y displays the data value. Sometimes, X represents something else, for example in a MIDI filter bank, it represents MIDI pitch.
You can reset the graph parameters (X and Y scales) as you require, or choose from a number of preset scales. You can generate time points or import them from a soundfile (via AUDACITY or VIEWSF). Existing files can be loaded to be viewed in one of 4 different ways, including re-scaling, which allows you to transfer shapes from one soundfile or parameter to another.
New points are made by clicking on the graph, and edited by dragging, operating faders or via edit boxes. Points can be adjusted singly, or all values can be changed together.
You can export or import (merge) tables of data and process them in around 100 different ways in the DATA EDITOR using the CDP COLUMNS program.
ACCESS FROM PARAMETER PAGE
Typical access to Graph-Edit is from the Parameter page, to adjust and/or create values for a data file:
- In the Datafile Edit panel, click on the Edit button
, which leads to the Graph-Edit page.
- Existing files are automatically loaded - see Opening a Datafile below.
- Click on the graph to make new points, or edit existing points, as described below.
- Click on OK to save the datafile and return from Graph-Edit. The edited data is shown in the Datafile Edit Memo.
If you edit the data manually, using the Edit Memo, you must save the data using the SAVE CHANGES button before the process is run.Soundfile Display
If the X value represents time (as in breakpoint and other files), the current soundfile is also displayed on the Graph-Edit page. (You may have to click the button SHOW WAV to see it.) Certain other data files, such as pairs of Frequency and Amplitude values, can be edited as a graph, but do not display the soundfile.
For technical reasons, the soundfile display is a screenshot of that on the Parameter Page (and a small snippet of audio may be heard when it is made). The sound is playable on the Graph-Edit page, but there are no Markers or Loops. Dragging an edit point left or right moves the play cursor in turn, to align it with the display.
For short sounds, the Graph-Edit display is automatically zoomed. This is currently a fixed zoom. The soundfile display on the Parameter Page, from which it is taken, fills the full width of its display canvas at 20 seconds; the zoom factor is therefore 20 divided by the soundfile-length, if the length is less than 20 seconds (otherwise there is no zoom).
Once you have edited the points, clicking OK returns the table values to the Parameter Page Data Memo.
ACCESS FROM MAIN PAGE
You can also reach the Graph-Edit page via the Graph Menu on the MAIN page.
If a suitable file is in the SPARE FILE slot or on the Patchgrid (.brk / .pch / .env):
click on the Toolbar's Graph Buttonor select Menu: Graph | Breakpoint File (F6),
or, to select and load a datafile: Graph | Load and Edit Breakpoint File (Ctrl+Alt+F6).If creating a file from scratch:
click on the Toolbar's Graph Button or select Menu: Graph | New Breakpoint Graph (+Y) (Ctrl+F6),
or, for a +/- Y scale: Graph | New Breakpoint Graph (+/-Y) (Shift+Ctrl+F6).If the current cell has a defined length i.e. it is a soundfile or any of the CDP file types with file-length information, this is used for the X-axis (time) display, otherwise X is set up with a default value of 1000. The Y-axis (normally data value) has a nominal scale of 0-100, but you can alter this.
If you are not sure which soundfile the data was originally created for, it might be better to select the intended soundfile first, select New Breakpoint Graph, then load the file from within Graph-Edit, experimenting with the different types of display outlined below.
Currently, a file accessed from the Main page does not have a soundfile display on the Graph-Edit page. As explained above, the display is a screenshot ffrom the Parameter page only.
OPENING A DATAFILE
An existing datafile sent to Graph-Edit is loaded automatically, unless the data is unsuitable.
Alternatively, a datafile can be opened from the Graph-Edit page's File Menu or LOAD buttons:There are four choices for display:![]()
- IMPORT (Ctrl+I) fit data to graph parameters: data is graphed within the correct scales for the parameter.
This is the normal means of displaying a graph as you originally created it. The data is displayed within the current graph scales wherever possible and adjusted where it is not possible: X-values (times) are shown against the current X-scale and are rescaled proportionally if they exceed the scale. Y-values exceeding the current ranges are capped at the limit of the scale.
- OPEN (Ctrl+O) fit graph to file: the data's own values set the X and Y ranges.
This scales the graph in accordance with the data - e.g. if the largest value is 2.5 the Y range will be limited to 3 (2.5 rounded up). The display might look best in this mode, but if the full Y-scale range is not available, then editing could be somewhat limited.
- OPEN-X (Ctrl+B) fit X to data and Y to scale: the X range (normally timescale) is determined by the data; Y is the full scale for the parameter.
This is a hybrid of OPEN and IMPORT: the X scale is taken from the data, while the Y scale is that of the current graph parameters. As with IMPORT, excessive Y values are capped at the limit of the scale. This mode is particularly useful for displaying time-varying data that does not extend to the end of the sound.
- LOAD + RESCALE (Ctrl+L) rescale X and fit Y to scale: X values are scaled by proportion (as necessary) to fit the current (time)scale.
X (time) values are rescaled in proportion to the current X-scale. Y values use the current Y scale. This mode allows you to transfer time-varying characteristics from one sound to another. For example, you might have a gradual increase in level from the beginning to the end of the sound. Simply LOAD this into the scale of a different soundfile to have the same shape for the new sound. Or change the Y-scale to MIDI and save the graph as ascending pitch.If the existing datafile is unsuitable, click NEW GRAPH a "blank" (flat-line) graph is set up with the appropriate parameter scales.
DRAG + DROP
Within the Graph-Edit page, files can be loaded by DRAG + DROP. The following types are recognized:
.brk .env .pch .txt .col .flt .tun .ptrN.B. Not all .txt datafiles can be displayed/edited; unsuitable files are not loaded.
ADDED POINTS (X-axis)
When displaying datafiles within predefined scales, it is often necessary for Soundshaper to add a Start point (at X=0) and/or an End point (at X-High). Adding points allows time-varying data to be imported into the full timescale of a sound, even though the first timepoint may not be at the start nor the last at the end.
The Y values of these points are fully editable, but you will be prompted on saving whether you want to keep them. (For example, with a filter bank file, you would not need a Frequency of 0.)
ONE-COLUMN DATA FILES
Some data files require only one set of values; in these cases, the graph is set up with zeros on the X (time) axis. The suffix used for these files is .txt or .col.
A very few file types require non-standard or extra values, such as a third column (see the Parameter Page Information Panel for the CDP process concerned, or the CDP documentation). Graph-Edit will supply what it can and you must edit the data yourself in the Memo Box.
CREATING A GRAPH
- Click anywhere in the graph area. Unless you are over an existing point (see below), a new point will be created above or below the yellow line (as appropriate).
- You can then click and drag that point to a different position.
- Values are inserted into the table at the top-right of the page: this is what will be saved to the data file.
- All graphs are "break-point" (i.e. straight-line) CDP normally interprets these as gradual changes over time.
![]()
When the mouse is over a point, the information panel is coloured red, so that you can tell whether you are dragging/editing an existing point or creating a new one. You can move the first and last points up or down, but not change their X (time) positions.
FADERS
![]()
The X and Y faders adjust the value of the current point up or down. Manual editing (see Insert, below) or moving a point with the mouse echoes the value back to the fader, so that it starts from the current value. Checking the 'All Y' checkbox causes all Y values to be adjusted up or down. In the OPTIONS menu you can choose whether the values are adjusted by difference (linearly the default) or by proportion. Values which would exceed the maximum or are lower than the minimum are limited to those maximum or minimum values.
Please note: X-faders will not have any effect if moved to a position left of the previous point or right of the next point.
You cannot adjust the first or last time-point.
The 'All X' checkbox shown in the screenshot has been removed for now, as it had not in fact been implemented.
EDITING / DELETING A POINT
Most of the time, one of the boxes surrounding a point is coloured red, identifying it as the current point for editing or deletion.
- To change the current point: either click on a different point or use the UP/DOWN cursor arrow keys to navigate along the points (UP moves back, DOWN forward).
- To delete the current point: click on the DELETE POINT button or hit Ctrl+DELETE.
The next remaining point is then selected as the current one; this enables you to prune a lot of values quickly, such as those created by the EXTRACT ENVELOPE function.
Editing the current point
The values for the point are displayed in separate edit boxes to the left of the graph display:
![]()
Type in the new value(s) required and either click on the INSERT EDIT button or hit the Insert key or the RETURN key.
The value in the list is the one that will be saved to file.
SAVING FILES
The following buttons are available at the top-right of the page:
![]()
OK BUTTON
If Graph-Edit was accessed from a Parameter Page: clicking OK saves the data to the appropriate temporary file and returns to the Parameter page.
If Graph-Edit was accessed from the Main Page: you need to save the file before closing Graph-Edit. Use File | SAVE / SAVE AS.
CANCEL BUTTON (Ctrl+Q)
Return to the Main or Parameter page without saving any data.
RESET BUTTON (Ctrl+N)
Cancels any currently-displayed graph and sets up a new blank (flat-line, two-point) graph within the current Graph Parameters (X/Y scales, +/-Y as appropriate).
REFRESH BUTTON (F5)
Refreshes the graph display, whenever needed, e.g. after a screen saver or returning from the DATA EDITOR page.
(This now seems to be less necessary than in earlier versions of Windows.)
GRAPH-EDIT PRESETS
PRESETS MENU
A number of preset scales are provided for the Y-axis. Start from a blank (i.e. flat-line) graph (select RESET if the display is not already blank). The X-axis (timescale) is not affected.
Since RESET deletes any existing data, you should use presets to set up a scale and then IMPORT a breakpoint or One-Column file into the graph. For example, you might select a soundfile (giving a predefined X-scale), choose a preset of 0-1 for Y, then IMPORT a series of timepoints, saved from VIEWSF, into the X column. Then set the values from 0-1 (e.g. amplitude) that you want for these timepoints.
GENERATE MENU
Starting from a two-point (single-line) graph, you can generate a user-defined number of points along the X-axis. A dialog box prompts you for the number of points you wish to add to the two existing ones. The points are either equally spaced (+N) or log-equal (xN). If the original two-point graph has a sloping line (drag start or end point up or down), then equally spaced values are also created along the Y-axis (i.e. along the line). Log-equal points along Y are not available at present.
If you have generated a set of Y-values using the COLUMNS program, you should generate an equivalent number of points for the X-axis here and then Merge the new data into the Y-column, using File/Merge Column.
FILTER BANKS MENU
These create a number of templates for use with the CDP user-defined filterbank: USERBANK. Menu: Soundfiles | Filter | User-bank. The banks are Graphic Equalisers with time-varying Q (Q determines the frequency bandwidth of the filters' response). The Userbank datafiles contain the pitch and amplitude of the filters (paired, one pair on each line), so the template is for frequency (Hz) or pitch (MIDI) on the X-axis and amplitude (0.01 to 1 to 10) on the Y-axis. (CDP allows a much wider range of amplitudes, should you require this.)
GRAPH PARAMETERS
X / Y SCALES
To reset the scales for the X and Y axes edit the values in the Graph Parameter Box and click the OK button.
If unsuitable combinations of values are entered the changes are refused and the former values are restored.![]()
When resetting the scales, follow these principles:
- X-Low should normally be 0 and never <0.
- X-High must be > than X-Low.
- Y-High must be >Y-Mid and >Y-Low.
- If +/- is ticked and Y-Low is <0 (a true +/- scale) and Y-Mid will be set for you.
- Dual-scale graphs: e.g. 0.01-1-10, also check +/-.
1 is a typical middle value, but alternatives include 0-100-1000 etc.- When opening a dual-scale file from within the editor, +/- must be checked first, otherwise the data will be displayed as single-scale.
- If a datafile is already loaded, you can generally expand scales but not contract them.
- Changes are refused if there is existing data outside the proposed scale.
Normally you would reset Graph Parameters before creating a graph or reading in a datafile, but you can reset the scales when a graph has been loaded or created, as long as the data can still be displayed. If not the change will be refused.
In practice, you can generally widen ranges, but be careful when contracting them. Alternatively, save the existing graph, rescale and then reload using one of the display options OPEN / OPEN-X / IMPORT / LOAD+RESCALE, as appropriate.
ROUND X / Y
The Up/Down arrows in the ROUND box set the number of decimal points for X (time) and Y (value):
![]()
The number of decimal points is set up automatically according to the values found in an imported datafile. Typically vaues might be 3 decimal points for the time (X) axis and 2 for the value (Y), but you can change them as you wish.
N.B. Adjustments made with the faders do not necessarily produce the prescribed number of decimal points.
SQUARE GRAPHS
You might want to produce rectangular-line graphs (no diagonals), e.g. for instant transposition without pitch-bend:
![]()
For Y-values:
Hit F2 just before dragging a point.
This allows you to raise or lower the point (as appropriate) to the same Y-value as the previous point, but no further. The operation is once-only: the next drag of the point is not constrained unless you have hit F2 again.For X (time) values:
Just drag the point: you cannot move a point before the previous one or after the next one in any case.N.B. CDP processes generally require all time-points to be different, if only by tiny amounts. Graph-Edit does not do this for you, so give an X-point the same time-value as the previous point and then edit it manually to a very slighly later time, using the edit box or fader. (The adjusted value can be as little as +1 at the 6th decimal point.)
EDITING & CREATING ENVELOPES
The CDP function Envelope Extract extracts an envelope shape from a soundfile as either:
- a binary envelope file (.evl)
OR- a breakpoint file (.env), with amplitude from 0-1.
(Soundshaper also supports the general .brk suffix for use with breakpoint envelope files.)There are various functions to convert between these types. (There is also a breakpoint type with amplitude in dB, which is not supported in Soundshaper.)
CREATING ENVELOPES
Either:
Use the CDP function ENVEL CREATE Soundshaper provides a conventional Parameter Page and a starter datafile, which can edited in Graph-Edit and saved, to generate the file. Output is either binary (.evl) or breakpoint (.env), decided in advance in the menu Soundfiles | ENVELOPE | Create.Or:
Select Menu: Soundfiles | ENVELOPE | Create | Edit Brkpt. Envelope
If the current cell contains a soundfile, its length is used to set a scale for X. You can then click on points and save the envelope file. Use SAVE / AS and then optionally load the saved .env file to the Patchgrid, as a new source.EDITING ENVELOPES
- Extract a breakpoint envelope file (.env). This will take up one cell.
- Highlight the envelope-file cell and select menu: Soundfiles | ENVELOPE | Create | Edit Brkpt. Envelope
- Edit the points or create new ones.
- Save the envelope file using SAVE / AS
(Clicking OK in this case does not work, because the result would have to over-ride the exsiting extracted breakpoint envelope.)- Load the saved .env file to the Patchgrid, as a new source, optionally deleting the previously extracted one.
Having saved and loaded an altered or new envelope file, this can then be imposed on an existing soundfile, using the CDP functions ENVEL IMPOSE, in which the new envelope is superimposed on the old one, or ENVEL REPLACE, in which the new envelope replaces the old one.
TRANSFERRING VALUES
A powerful use of Graph-Edit is to transfer values from one parameter or soundfile to another. For example, you might take an envelope you have extracted and use its shape to control pitch or filter frequency.
From the Parameter page, you can choose any suitable breakpoint file for any time-varying parameter (Click on the Data Memo's OPEN button, or Menu: Open (Breakpoint) Data File), but the data ranges might not be suitable for the new parameter or soundfile. In this case, you may wish to rescale the data, to preserve the shape of the imported data.
Rescaling X-values (time)
- Choose an Infile on the Main Page and open Graph-Edit, or click on the EDIT button on a Parameter Page.
Graph-Edit is set up with the correct timescale for the soundfile.- Load the datafile from within Graph-Edit. Use the LOAD+RESCALE option on loading the file.
The time-values are re-scaled proportionately to fit the new soundfile.
Alternatively:- Open the datafile from within the Parameter page (OPEN button).
If suitable, select Auto-scale before opening it.- Click the EDIT button.
Rescaling Y-values
To impose the values of one parameter onto another:
- Choose an Infile on the Main Page and open Graph-Edit by selecting Graph | Load and Edit Breakpoint File (Ctrl+Alt+F6),
or click on the EDIT button on a Parameter Page.
Graph-Edit is set up with the correct timescale for the soundfile.- Open the datafile, using the OPEN option.
- Change the Y-scale as necessary to correct it for the required parameter.
- Click on individual points and these will be revalued in proportion to the new Y scale.
Alternatively:- Open the datafile from within the Parameter page (OPEN button).
If suitable, select Auto-scale before opening it.- Click the EDIT button.
- Change the Y-scale as necessary to correct it for the required parameter.
- Click on individual points and these will be revalued in proportion to the new Y scale.
(There is no Y re-scale function in Graph-Edit at present.)
SINGLE-COLUMN DATA
Certain CDP datafiles have only one column of data, for example a list of times. Soundshaper knows what these are, and if sent from the Parameter page, it displays the data appropriately. For example, single columns of times appear on the X column only, while Y remains at 0 and is ignored.
Graph-Edit allows you to work with single-columns (i.e. X or Y data alone) in four ways:
- Load and edit One-Column Files such as those with the suffix .col.
- Export X or Y data from the graph to a separate One-Column file.
- Import a single column from a suitable source file into X or Y, while preserving the other column.
- Export X or Y data to Soundshaper's DATA EDITOR and import it back to Graph-Edit (see DATA EDITOR below).
ONE COLUMN FILES
Certain data files are inherently single-column files, for example a tuning file (.tun) for the spectral TUNE process is a list of MIDI or Frequency values.
Such files can be displayed using one axis only normally the Y-axis, with equally spaced points along an X-axis of 0-0.Loading
Before loading a One-Column file, first select one of these options in the Options Menu:
- One Col: Load File to Col 1 (X).
This is useful for loading a file of timepoints, such as a file of Markers.- One Col: Load File to Col 2 (Y).
This is the default and is pre-selected.When IMPORTING a One-Column file to Y, the Options Menu Item One Col Import: Keep X scale allows you to preserve a preset X-scale (e.g. the timescale from a soundfile), instead of having an X-axis of 0-0, so that you can create timepoints for your data values.
To merge a single-column file into a breakpoint graph:
- Select the destination column (1=X, 2=Y) in the Column box of the Data Editor panel.
- Select File | Merge Column (Ctrl+M).
Merging is equivalent to the CDP process PUTCOL.Saving
When you save a datafile from Graph-Edit, Soundshaper determines if the data is One-Column by looking at the X and Y columns: if all values of one of the columns are 0, the file is saved as a single-column textfile.
To include the zeros column and save the data as a two-column Breakpoint file, check Options | One Col: Save to Brkpt File before saving the file.
Exporting Columns
To save the X or Y column of a breakpoint file:
- Select the column number (1=X, 2=Y) in the Column box of the Data Editor panel.
- Select File | Export Column As (Ctrl+E).
Exporting is equivalent to the CDP process GETCOL.
DATA EDITOR
PROCESSING TABLE DATA
Soundshaper's DATA EDITOR can be accessed from Graph-Edit. The DATA EDITOR uses CDP's 100 COLUMNS functions to convert, process, generate and sort data. There are also file-manipulation facilities for splitting breakpoint files into separate columns, joining them together etc. For details, see DATA EDITOR.
The Data Editor panel within Graph-Edit deals with exporting breakpoint files or columns to the DATA EDITOR and importing them when processed:
![]()
Processing a Breakpoint File in the DATA EDITOR
To send both columns as a breakpoint file, click the X and Y button under Send, in the Data Editor panel.
After processing in the DATA EDITOR, to display both columns of the processed file as a fresh table and breakpoint graph, click the X and Y button under Return.
Processing a Single Column in the DATA EDITOR
To export a single column to the DATA EDITOR:
Set the Column number (1 or 2) under Column, then click the 1-Column button under Send (or select Menu: Process | Column 1 or Column 2).
The column sent has the default name CDP.col. Any existing file of this name is erased.After processing in the Data Editor, to return the processed values to the table and graph, select the column you wish to replace (1 or 2). This is normally the same as the one you sent. Click on the To Column button under Return.
Returning Data: precautions
Before returning processed data, it is advisable to be aware of the lower and upper limits of the processed values and reset the Graph X or Y limits as necessary.
If the new data is incompatible with the existing number of points, you have the option of creating or retaining (as appropriate) extra points. The exception is a shorter returned X-column, for which you must first select and delete the excess points yourself (or export Y to a separate file, load the new X column and then Merge the Y file).
If the first returned X-value is not 0, it is set to 0; likewise, if the last is not the same as X-High, it is set to X-High.
If your original data had added points at 0 and X-high, these are preserved as they were.
RETURN to top of page |