![]() |
|
![]() |
Soundshaper's Edit/Mix menu has the fundamental sound-editing operations found in visual editors, such as basic editing (cutting and pasting), spatial distribution and channel operations, level and balance, and mixing. In the classic analogue studio these functions either involved cutting and splicing tape, or operating a mixing desk. CDP also has a growing number of functions that extend these principles into relatively uncharted areas, such as multi-channel spatial distribution.
SOUNDSHAPER CATEGORIES:
EDIT, CHANNELS, SPATIAL, MIX, MIXFILES, LEVEL, SEQUENCE, UTILSEDITING SOUNDFILES
Cut and paste sounds, including extracting segments to separate files. Other processes mask portions with silence and switch between soundfiles.
For a simple cut, insert the times in the Marker edit box and click the CUT button. You can also process a portion of a sound and paste that back into the original (see Edit at Markers). All edits in CDP/Soundshaper are non-destructive, i.e. they do not actually overwrite the original file. Note also Soundshaper's separate EDIT button, which brings up a menu with a selection of the main editing and mixing functions.
CUT FUNCTIONS
- Cut: extract a segment as a separate soundfile.
- Excise: cut out and discard the selected segment.
- Discards (CDP excises): discard listed portions of a sound.
- Zerocut: as Cut, but makes the cut at the nearest zero crossover points useful for looping or other joins which might need to be as glitch-free as possible.
- Trim: top and tail, removing low level signal from start and/or end. Uses a GATE level, above which the signal is accepted. Splice is also useful to avoid an abrupt start and end of the sound.
CUT WITH MULTIPLE OUTPUTS
- MultiCut [CDP: cutmany]: cut listed portions of sound and extract to separate files.
- Zerocuts: as MultiCut, but makes cuts at nearest zero crossover points.
- Gatextract: Cut soundfile into separate files, using a GATE level to find cut points.
- ZeroExtract: extract segments to separate files, cutting at zero amplitude points. (Similar to Zerocuts, but times are not listed.)
- Packet: isolate or generate one or more sound packets (short enveloped sound grains).
- Partition: partition sound into separate output files, defined by groups of wavesets, each retaining the original segment times (by inserting silences).
- Isolate: partition (mono) sound at given times into separate output files, each retaining the original segment times (by inserting silences).
- Cantor: cut holes (reduced level) in the manner of a Cantor Set (holes within holes). Output is a series of sounds with more and more holes cut. The effect is quite like tremolo, but perhaps less regular and predictable.
- Randchunks: cut soundfile into a given number of separate files, with segments chosen randomly according to given length.
- Randcuts: similar to Randchunks, but number of cuts decided by average segment length (itself randomly variable).
- Syllables (Xtra menu): extract vocal syllables into separate files. Uses a supplied timesfile, but supposedly allows for overlapping syllables.
- Timegrid: segment the soundfile using a constant time-interval, but each outfile is the original length, with the segment preceded and followed by silence.
PASTE AND SPLICE
- Paste: insert a sound, either overwriting or spreading the original.
- Overwrite: insert sound. replacing (part of) the original.
- InSil: insert silence in to the soundfile (except at the start or end see PreSil and EndSil).
- PreSil: prefix silence to the start of the soundfile. Useful pre-mixing function, as it delays the sound relative to others in the mix.
- EndSil (CDP: silend): add silence to end of soundfile.
- Silences (CDP: manysil): insert multiple silence at list of times. This function can be used in conjunction with Info | GatedOnsets to produce silence-separated events for the Retime functions (see Soundfiles | Rhythm).
- Masks: overwrite listed portions with silence. Also useful as preparatory function for Retime or Gatextract. Can mimic Switch (see below) if multiple sounds have alternate silent portions and are then mixed.
- Join: splice soundfiles together (end to end). Can be used to splice copies of the same file.
- Switch (CDP twixt & sphinx): switch between parallel-running soundfiles at specified times, by permutation, or randomly.
CHANNELS
These processes handle channel operations. Split a sound into its separate channels (or selected ones); interleave files to make a stereo or multi-channel file; convert between mono and stereo, or between mono/stereo and multi-channel; manipulate channels in multi-channel space by rotation, renumbering, etc.
- SplitChans: extract all channels to separate soundfiles, which may be placed on individual Patchgrid rows, if available.
- Getchans: extract the selected channels from a multi-channel file; outfiles may be placed on the Patchgrid.
- SwapChans: invert (L <--> R) channels in a stereo file.
- Subtract: subtract a mono file from one channel of another file (Infile 1).
- ZeroChan: zero the signal in one of the two channels in a stereo file.
- Interleave: merge up to 16 mono or 8 stereo files to make a multi-channel file. Infiles must have matching sample rate and number of channels. Interleave uses CDP's interlx function 'directly', offering no parameters.
- InterlX: interleave channels (with parameters) to make a Wave_Ex multi-channel file.
- MtoS: convert mono to stereo (channels are identical).
- StoM: convert stereo to mono (channels are mixed).
- MtoN: convert Mono to multi-channel file (same signal in all chans).
- StoN (Soundshaper function): convert stereo to multi-channel file (duplicated in chans. 1-2, 3-4, 5-6 etc.).
- MchStereo: place stereo files within a multi-channel space.
- MchOrder: re-order channels within a multi-channel soundfile, using a simple aplphabetical code for the channels (WAVE_EX out).
- MoveChans (CDP: frameshift): move channel numbers around in a multi-channel file, changing order, swapping, mirroring etc.
- RotateChans (CDP: frameshift): rotate the order of channels in a multi-channel file; channels can follow a specified "snake" route as they're changed.
SPATIAL
Spatial processes pan sound across stereo or multi-channel space, including ambisonics. Pan values can simulate space beyond full left or right, by attenuating the sound. The multi-channel functions either distribute a mono sound across multi-channel space, or re-order the spatial distribution within a multi-channel file (e.g. by changing channel order or rotation).
- Pan: spatialise a mono soundfile within stereo space, using either a fixed value or a time-varying breakpoint datafile of pan positions, easily created in Graph-Edit. Soundshaper permits different parameter settings for each channel. Note also DOPPLER below.
- Panmix (composite function): two mono inputs are each placed in stereo space, then mixed together. (Soundshaper can also handle stereo or multi-channel input.)
- Narrow: narrow or invert the stereo image of a stereo sound.
- PhaseShift: enhance stereo separation by shifting the phase of the (stereo) signal. Some of the Left-channel signal is subtracted from the Right channel and vice versa. (This assumes that the channels have some of each other's signal.)
- MirrorPan: invert the stereo image in a pan breakpoint file. (No parameters.)
- Findpan (INFO MENU): find the pan position, at any time-point, within a stereo file created using Pan.
- Doppler-Shit (DATA MENU): from a pan breakpoint file, calculates the necessary transposition to simulate Doppler shift. Output is a breakpoint transposition file for use with SPEED or TRANSPOSE. The DISTANCE parameter is critical: small values may be more effective.
MULTI-CHANNEL
- MchPan: pan or rotate sound in multi-channel space. Output is to the specified number of channels.
- MchPanset (CDP: mchanpan 7): pan from one set of channnel positions to another, passing through the centre. Both input and output are multi-channel.
- MchSpread (CDP: mchanpan 4): spread a sound across multi-channel space, outwards from a central channel, across several channels.
- Pantiphon (CDP: mchanpan 6): antiphonal panning between sets of channels. The set switches after a specified time. If there is more than 1 input file, the next file is selected at each such antiphonal switch, at which point silence can also be inserted.
- MchEvents(CDP: mchanpan 3): spread silence-separated events between channel sets. As MchSpread, except that the spread is of silence-separated events (c.f. the RETIME suite, which also processes such 'events'). An increase in the spread only occurs at the entry of a new event in the input file.
- MchSwitch: the input switches between output channels at the ocurrence of each new silence-separated event. The list of channels is given in the SWITCHDATA textfile. also possible are antiphonal and random switching.
- Ambipan (CDP: abfpan/abfpan2): generate a fixed or simple periodic rotating pan around the listener, using ambisonic encoding. Can generate a rotating or fixed multi-channel pan even without ambisonic output.
- Ambidecode (CDP: fmdcode): decode a 1st or 2nd order B-Format (ambisonic) soundfile to a choice of speaker layouts. A suitable input file may be created using Ambipan. There is a wide range of output options and speaker layouts.
- Panorama: place (mono) files spatially in surround-sound.
- Tangent (and variants): Repeat a sound, or plays a sequence of sounds, along a tangent to an 8-channel ring (M-C out).
- Transit (and variants): Move repeated mono sound(s) across 8-channel space. (M-C out)
MIXING
CDP Mix functions are best for mixing small sounds to create larger units. Although larger mixes are perfectly possible, a visual editor is more intuitive and tends to have better controls.
- Mix: mix together the soundfiles listed in a mixfile (.mix: text data file of soundfile, time, level and pan). Infiles are selected on the Main page or the Mix page, while level and pan are set on the Mix page. You can also save a mixfile and edit it later; for details see the Mix Page section. The mixfile format is very flexible, with the exception of having fixed pan positions (to vary pan you have to apply pan to each sound before putting it in the mix).
- MchMix (CDP: newmix multichan): mix multi-channel files using a multi-channel mixfile format (.mmx: muti-channel text data file).
- Mixmany (CDP: mergemany): mix several files with the same number of channels. (No parameters.)
- MixTwo (CDP: submix merge): quick mix of two soundfiles. (No Parameters: can have different channel count).
- MchMixTwo (CDP: nmix): a simple mix of two mono, stereo or multichannel files, with an optional time OFFSET. Files must have the same channel-count.
- PreMix (composite function): set Pan, Level and Start-time, prior to mixing with e.g. MixTwo, MixMany or Mix.
- MergeTwo: mix two sounds (mono, stereo or multi-channel), with a number of optional parameters. The sounds need not have the same channel-count (unless multi-channel).
- MixBalance: mix two sounds, with a balance control and optional Start and End times. Mono and stereo soundfiles may be mixed, but multi-channel files must have the same channel-count.
- Crossfade: perform a quick cross-fade between two sounds of the same channel-count.The crossfade is either of linear or cosine shape; there are also optional STAGGER and START/END parameters.
- InBetween: generate multiple outputs representing changing balance between two inputs (called a "transition set" in CDP Help). Infile1 – predominates at the start and Infile 2 at the end of the set. Files must have the same channel-count. Soundshaper places the outputs on the Patchgrid if there are enough rows, though optionally you can save these elsewhere.
- InBetween0: similar to InBetween, but attempts to synchronize the zero-crossings in the two input soundfiles. For CUTOFF, the 'cycles' involved are "wavesets" - cycles baed on zero-crossings, as also used in the DISTORT suite.
MIXFILES
CDP has two dedicated mixfile formats for mixing: one for mono/stereo and the other for multi-channel files. Soundshaper creates a basic mixfile on the Mix Page from the selected sounds. You can then alter timing and level differences, and pan position.
- MixCreate: Create/Edit Mix Starting from an empty row, select one or more sounds to place in a mixfile. On the Mix Page, add further sounds as desired, set mix parameters for each, or load an existing mixfile to edit.
- MixEdit: Edit Mix as above, but select at least one sound that might be used in the mix.
- MultiMix: Create a basic 'dummy' multi-channel mixfile (.mmx).
- Panorama: place (mono) files spatially in surround-sound. Identical to Panorama in SPATIAL menu, except for a mixfile output (.mmx) instead of sound.
- Tangent (and variants): Repeat a sound, or plays a sequence of sounds, along a tangent to an 8-channel ring. Identical to Tangent in SPATIAL menu, except for a mixfile output (.mmx) instead of sound.
- Transit (and variants): Move repeated mono sound(s) across 8-channel space. Identical to Transit in SPATIAL menu, except for a mixfile output (.mmx) instead of sound.
CDP also has a number of processes for manipulating the content of mixfiles. The mixfile may be selected on the Main Page or (better) on the Mix Page:
- MixGetLevel: test the maximum level of a mix, as defined in a mixfile (.mix).
- MixAtten: alter overall level in a mixfile.
- MixShuffle: alter the order of events in a mixfile.
- MixSpacewarp: alter pan positions in a mixfile.
- MixSync (CDP: submix sync, syncattack): synchronise the attack, middle or end points of soundfiles in a mixfile, or a textfile containing a list of soundfiles only. The middle and end modes (CDP: sync) are based on duration, taking no account of audio data. "Attack" in fact means the loudest point in each soundfile and this mode (CDP: syncattack) finds these in the soundfiles and aligns them accordingly.
- MixTimewarp: alter the timings of events in a mixfile.
- MixTimegaps: alter the gaps between start times in a mixfile.
LOUDNESS
Various functions for adjusting gain, inverting phase and gating sounds. (See also Envelope functions which do the same sort of thing.) Soundshaper also has a number of preset gain and normalising menu-items, and a separate context menu for these (click the LEVEL button).
- Level sets or alters the level in a soundfile. GAIN (Mode 1 / 2) multiplies the signal to raise or lower the level.
- Normalise (Mode 3): raise or lower the maximum level to the given level.
- ForceLevel: force the level to the given level or the maximum possible (same as Normalise?).
- PhaseInvert: invert the phase of the signal (+ becomes - and vice-versa).
- ChanPhase: invert the phase of one channel.
- Balance: force the maximum level to that of a second sound. If a process results in a drop in level, run Balance on the current file (e.g. ~A_1.wav) with the previous file (~A_0.wav) as Infile2.
- Equalise: force the maximum level of all files to that of loudest sound (no parameters).
- Gate: cut out signal which falls below a given level. The gated signal is either replaced with silence or removed altogether, shortening the file-length.
- MchGain: apply gain reduction to a multi-channel file, or specific channel(s).
SEQUENCING
CDP has several sequencing functions, which are like software samplers, realising a sequence of sounds just like a MIDI sequence, using different sound-sources. Sequencer has the fullest set of parameters and plays multiple sounds. Three other sequence functions use less detailed data files:
- Joinseq: join soundfiles end-to-end in a sequence. The whole sample is played each time: there is no duration field.
- Joindyn: as Joinseq, but with a field for level.
- Sampleseq (CDP: sequence): like a sampler, this plays a sequence of a single sound sample using a text file of:
time, transposition (in semitones), relative level (<1 or >1).
The whole sample is played each time: there is no duration field.- Sequencer (CDP: sequence2) is a multi-source sequencer using a text data file of:
sound-number, time, pitch, level, duration.
This data format is similar to a MIDI sequence and Soundshaper has a facility to convert a standard MIDI file (.mid) to a sequence file (.seq). (Menu: Tools | MIDI to SEQ.) Sequencer requires at least two sources, but they can be the same file, or the second 'source' need not be used in the sequence. Sources must also have the same channel-count. Note that transposition is by speed, so raising/lowering pitch will shorten/lengthen the duration. The duration value itself may shorten the sound, but cannot lengthen it beyond its length at the given transposition.
NAME Infiles Attenuation SOUND NO. TIME PITCH LEVEL DURN Repetitions 1 yes yes Joinseq 1,2,... yes Joindyn 1,2,... yes yes Sampleseq 1 yes yes transposition yes Sequencer 1,2,... yes yes yes yes yes yes
CLEANUP and UTILS
Some utilities, most of which are never needed. A notable exception is CopySFX, which Soundshaper uses to convert sources to temporary files before processing.
CLEANUP:
- DCOffset [CDP: housekeep extract 4] Remove unwanted DC component by shifting the signal. Shift specifies amplitude value to be subtracted from entire signal. (If you have Wavosaur, use this instead, as it calculates the necessary shift for you.)
- Deglitch This attempts to remove glitches from a soundfile. (By the time you've set the parameters, you could have fixed the glitch in a sound editor.)
- Endclicks Some processes may produce an abrupt start or end cut-off, heard as a click. This function aims to clean up such clicks, by using gate for the level to retain, and splice for the taper slope. You can process the start and/or end of the sound.
UTILS
- Respec:
Resample the sound at a new sample rate.
Integer-Float: converts between Integer ("shorts") and Floating-point soundfile formats ("floats").
Rewrite Header: the information in the soundfile header is changed but the actual sample data is left untouched. Changing the sample rate will change the speed, for instance.
- CopySFX: the "Swiss army knife" for copying/converting file-types. CDP supports only .wav and .aif file formats (not .mp3, .flac etc.), but has full support for file types within the two formats (.aifc, .afc are also supported). The default in all cases is that the outfile has the format of the infile. The function supports a wide range of input and output types, with special support for WAVE_EX and Ambisonic speaker formations.
RETURN to top of page |