Overview

twist is an audio editor and transformer, inspired by Cooledit, Cecilia, Audition, Mammut, Soundshaper and CDP among others. It provides wave editing functions in addition to unique audio effects and transforms.

Concept

twist allows for waveform editing and applying transforms. Transforms include effects and other more involved sound processing techniques. Centrally there is a waveform editor, and to the left is a tree view list of available transforms by category. A transform can be loaded by pressing on the name in the relevant submenu, after which the parameters will be displayed at the bottom of the screen.

A transform can be auditioned (previewed) or committed (applied), which will be applicable to the selected region of the waveform, or all of it if nothing is selected.

At current, twist can only load and process sounds of up to about 5 minutes in length. Some transforms require extensive computation and may not properly audition - in these cases a message will be shown and playback stopped. As a result, twist is ideal for detailed processing of short sounds which may be then utilised as samples or compositional components in a DAW or other such software.

Basic usage

Sounds can be loaded by dragging them into the browser, or new files may be created. When you load twist or create a new instance with the + button to the bottom left of the waveform view, you'll be prompted to drag a file into the browser or create a new file of a fixed duration.

Once you have a sound ready in twist, you can use the waveform view as you would with a typical waveform editor. Regions can be selected by click/dragging the mouse or using the handles at the top of the waveform view. Zooming can be accomplished with the relevant options under the view menu, or with the shortcut buttons. Typical cut/copy/paste and undo operations are also provided under the edit menu and with keyboard shortcuts.

Icons may be hovered over to see a tooltip detailing what pressing it will do, while keyboard shortcuts for items are shown on the drop-down menu.

Show all Reset the zoom level so all of the waveform can be seen
Rewind Rewind the playback point and clear the current waveform selection
Play Play the selected region of the waveform
Audition Preview the currently-loaded transform on the selected region of the waveform
Commit Apply the currently-loaded transform to the selected region of the waveform
Record Record live input to the selected region of the waveform
Cut Cut the selected region of the waveform to the clipboard
Copy Copy the selected region of the waveform to the clipboard
Paste Paste the clipboard contents to the playback point or start of the selected waveform region
Paste special Open a dialog to allow pasting the clipboard contents with extended options such as repeat number and mixing
Zoom selection Zoom the view to the selected region of the waveform
Zoom in Zoom in the waveform view
Zoom out Zoom out the waveform view
Show all Zoom out to show all of the waveform

Applying transforms

When a transform has been loaded, the parameters at the bottom of the screen can be modified and are applicable to auditioning and committing. Certain parameters may be altered while auditioning, and can also be automated or modulated, while other parameters are only applicable at initialisation of the auditioning process and thus cannot be modified during.

A crossfade between the original and transformed audio can be specified with the crossfade in/out sliders underneath the waveform. The applicable crossfade will be shown on the waveform view relative to the region which is to be transformed.

At the side of each parameter, there are up to four icons, which are as follows:
Reset Reset the parameter to the default value
Include in randomisation Include the parameter in transform randomisation. Unselected parameters will display the icon in a lighter colour
Automate Display spline automation for the parameter to allow a time-varying value to be entered
Modulate Display modulation options for the parameter to allow for a parametric time-varying value

Additionally to the top-right there are two icons globally applicable to all parameters:
Randomise Randomise all parameters that are included in randomisation according to the icon detailed above. Randomisation may also affect modulations, which will consequently display the modulation details for the given parameter
Reset Reset all parameters to the default value, removing modulations and automation

Modulation

When a parameter has modulation enabled, the normal parameter input will not be shown, and instead an area will appear with modulation settings. This can be closed and the normal parameter input returned to with the following icon aside the parameter row:


When there is more than one waveform open in twist, cross-adaptive modulations are available in the modulation type drop-down box. Cross-adaptive modulations use analysis of another waveform to inform the value of the parameter. For each cross-adaptive modulation, there is an instance drop-down box to select the other waveform to use as an analysis source (from which the selected region will be used), and cross instance loop type to specify the loop type should the length of the region in the analysis waveform be shorter than that of the current waveform.

Automation

When a parameter has automation enabled, the normal parameter input will not be shown, and an overlay atop the waveform with a spline editor will be displayed. As a result, the selection cannot be altered by dragging across the waveform unless the automation is hidden. However, the selection shortcuts and menu options can be used, in addition to the selection handles at the top of the waveform view. Multiple automated parameters can be displayed at once, although only one can be edited. In the case that multiple parameters are automated, the following button aside the parameter row can be used to select it:

Anywhere within the spline editor can be pressed to add a new point. Existing points can be hovered over to see the parameter name, time and value.

At the side of the parameter row, this icon can be pressed to disable the automation:


At the top right of the transform parameters, the following icon can be used to hide all automation, but keep it enabled:

To display the automation again, the select icon next to the parameter should be used.

Scripting

Scripting is not currently documented in full but is fairly self-explanatory. By using the script toolbar shortcut, or the Action > Scripting option on the menu, the script page is shown. By using Load last operation or Load all session operations, you can see the transforms and operations you have previously applied. The script then may be edited, saved and/or auditioned/committed again.
Scripts may be a single JSON object or an array of JSON objects which will be applied serially. Each of the parameter details are stored including automation and modulation. The selection key contains an array of three numbers: the first and second and normalised values between 0 and 1 specifying the region of the waveform which is to be transformed, and the third designates the channel (0 = left, 1 = right (if applicable), -1 = all applicable). The instanceIndex key and others referencing index are a 0-based index of the loaded waveforms in twist.

Developer

New transforms can be developed and tested in twist. Full details and API reference are on the developer documentation page.