Return
to Main Index for the CDP System.
Return
to Groucho Index
On the whole, words cannot be found to describe the aural results of the DISTORT processes, so the Musical Applications sections below are notably sparse. You'll just have to run them for yourselves!
For a technical discussion of these processes, see Richard Dobson's Introduction to the T Wishart DISTORT Functions
infile soundfile to process
outfile output soundfile
cyclecnt number of cycles over which to average (Range: > 1)
-mmaxwavelen maximum permissible wavelength in seconds (Default: 0.50)
-sskipcycles (integer) number of wavecycles to skip at start of file
DISTORT AVERAGE performs a mathematical averaging of the data in cyclecnt pseudo-wavecycles. The effect is more akin to a loss of resolution than the blurring which might be expected. Values below 10 retain some semblance of the original, while values of, for example, 100 seem to create a kind of 'sample hold' effect. For modest distortion, values 5 or less are recommended.
Mushy, watery, aspects of tracing, discrete sample-hold effects...
End of DISTORT AVERAGE
Return to list of DISTORT functions at top
of this file
Return to Main Index for the CDP System.
Return to Groucho Index
infile soundfile to examine
DISTORT CYCLECNT checks the waveform of the infile for zero crossings, determining how many segments lie between these crossings. It then displays this figure on screen.
This information ú the number of 'waveycles' in a file can help predict the level of distortion a given process might produce.
End of DISTORT CYCLECNT
Return to list of DISTORT functions at top
of this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
1 One 'wavecycle' in every cyclecnt 'wavecycles' is retained
2 The strongest (single) 'wavecycle' in every cyclecnt 'wavecycles' is retained
3 The weakest (single) 'wavecycle' in every cyclecnt 'wavecycles' is deleted
infile soundfile to process
outfile output, time-contracted, soundfile
cyclecnt groups of 'wavecycles': really the level of resolution at which the process will workCyclecnt may vary over time.-sskipcycles (integer) number of 'wavecycles' to skip at start of file
Mode 1 dramatically removes data from the infile, leaving very little behind. Mode 2, because it sets out to retain the strongest (i.e., highest amplitude) 'wavecycle' in each set, retains more recognisable features from the original. Mode 3 takes this further be deleting the weakest (i.e., lowest amplitude) 'wavecycle' in each set. The three Modes, therefore, enable the user to target levels of recognisability.
Because the 'wavecycles' are of irregular lengths, the idea of 'resolution' is only relative. However, it helps picture the degree to which the infile is divided up into units. Then one 'wavecycle' from each of these units is retained or deleted according to the operation of each mode.
The skipcycles parameter makes it possible to have this process begin some time after the start of the sound, e.g., so that its start transient, so vital to the recognition of the source of a sound, is not affected.
This process achieves a time-compression and textural roughening of the source.
End of DISTORT DELETE
Return to list of DISTORT functions at top
of this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
infile input soundfile (Mono only)
outfile output soundfile
N divider (Range: integer only, 2 to 16)
-i use waveform interpolation: slower but cleaner
Without altering duration, this process effectively lowers the sound while adding a rough texture.
This is a useful form of distortion because it roughens the sound without being too violent about it.
End of DISTORT DIVIDE
Return to list of DISTORT functions at top
of this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
1 Rising envelope
2 Falling envelope
3 Troughed envelope
4 User-defined envelope
infile input soundfile (Mono only)
outfile output soundfile
envfile defines user envelope as time value pairs (Range of value is 0 to 1)The time units in envfile are in fact arbitrary because in each case the envelope is stretched to fit the duration of each cyclecnt set.cyclecnt number of 'wavecycles' under a single envelope
[-t]troughing the trough depth of the envelope (Range: 0 [most troughed] to 1 [least troughed], Default = 0)
-eexponent exponent to shape envelope rise or decay
- < 1 will produce a curve which starts quickly and slows down
- > 1 will produce a curve which starts slowly and speeds up
- Omitting this parameter will result in a linear rise or decay
Cyclecnt, troughing and exponent may vary over time.
The process takes the amplitude envelope data for each group of cyclecnt 'wavecycles' and adjusts this data to form a single envelope shape (for that group) according to the mode selected.
The same pattern repeats (irregularly), being reasonably fine or quite coarse depending on the size of cyclecnt. This can be likened to creating a somewhat irregular sawtooth edge on the sound.
The exponent and envfile parameters can be used to customise/intensify the effect of the enveloping.
Here are some possible results with different values for cyclecnt :
- Small values (1 3), can produce a timbral distortion of the source.
- Medium values can produce a granular modification.
- Very Large values (64+) can result in the superposition of a repeating envelope (e.g., like a tremolando). But, with a natural rather than a synthetic source, this is likely to have a natural-sounding variability, due to the variable durations of the wavecycles which are being counted.
- It is interesting to gradually increase the cyclecnt and hear the sound cross these different perceptural boundaries.
One of the most telling applications of DISTORT ENVEL is to create irregular phasing effects. The most important tool for this is a time-varying breakpoint file for cyclecnt, which can be used to introduce large variations in the length of each envelope shape. If this is done in two different ways (i.e., two different breakpoint files), then the two resultant (mono) files can be combined with SUBMIX INTERLEAVE to form a stereo file with phased cyclecnt envelope shapes.
End of DISTORT ENVEL
Return to list of DISTORT functions at top
of this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
1 Omit cycles below freq
2 Omit cycles above freq
3 Omit cycles below freq1 and above freq2
infile input soundfile (Mono only)
outfile output soundfile
freq frequency in Hz (Range: 10.0 to 22050.0)
freq1 frequency in Hz to delete below
freq2 frequency in Hz to delete above-sskipcycles (integer) number of 'wavecycles' to skip at start of file
- Freq, freq1 and freq2 may vary over time.
- NB: Time-vary8ing freq1 and freq2 may not cross each other, nor be equal.
- Freq here relates simply to the length of a 'wavecycle'. A high value signifies a short 'wavecycle', and v.vs.
Period and frequency are inverse functions. Therefore it is possible to relate the length of a 'wavecycle' to the frequency it would have were it to recur regularly. This program therefore filters by removing 'wavecycles' shorter or longer than those relating to a specific, user-defined, frequency.
The duration of the outfile is affected by this process: because 'wavecycles' are being removed, the outfile will be shorter, by varying degrees.
The aural effect of the DISTORT FILTER process is actually like gating. In gating, you can imagine a horizontal line drawn through the time/amplitude display of a soundfile. If the peaks above the line are retained (by filtering out lower frequencies), you just hear them (joined up). Similarly, if you filter out above the line, the peaks are gone, leaving the lower sound material (joined up).
The difference here is that the process is operating on 'pseudo-wavecycles' according to their length, so here the results are more unpredictable and also distort the sound to some degree, depending on where the horizontal line the frequency variable(s) is drawn. Technically, the process is akin to low-, high- and band-pass filters, but aurally it is more like gating.
You can therefore use this procedure to cut out some and distort other material in a sound.
End of DISTORT FILTER
Return to list of DISTORT functions at top
of this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
infile input soundfile (Mono only)
outfile output soundfile
scaling (integer) division of scale of source wave (Range: 2 to sample_rate/2)
loudness loudness of scaled component relative to source (Loudness of source is reckoned to be 1.0)Scaling and loudness may vary over time.-ppre_attenuation apply attenuation to infile before processing
Note the very wide range of scaling. Because it is a divisor, the larger the value of scale the shorter will be the miniature copies to be superimposed.
These superimposed copies can be made to increase (be careful!) or decrease in amplitude with the loudness parameter. Using a value of 1.0 maintains the original amplitude of the infile, which will be heard as pretty much as the original, but with the superimpositions on top of it. Loudness is therefore a means of balancing the input and the processed sound components.
This is a powerful and somewhat wild tool for producing distortion effects. The higher the value of scaling, the more the superimposed copies appear as a sheen of distortion above the original sound.
End of DISTORT FRACTAL
Return to list of DISTORT functions at top
of this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
infile input soundfile (Mono only)
outfile output soundfile
harmonics-file contains harmonic_number amplitude pairs-ppre_attenuation apply attenuation to infile before processing
- The amplitude of the source sound is taken to be 1.0
- Amplitude range: 0.000031 to 32.0
- Harmonics range from 2 to 1024
Harmonic distortion multiplies and adds within a single 'wavecycle' possibly several times. For each harmonic_number in the harmonics-file, DISTORT HARMONIC scales and copies the shape of the 'wavecycle' harmonic_number times and adds the result to the original at the given amplitude (relative to that of the infile). This is by direct analogy to harmonic additive synthesis, in which a complex pitched sound is created by adding sinusoidal partials. Indeed, DISTORT HARMONIC can be used for just this purpose by using a sine wave as input.
There is no internal scaling of harmonic amplitude values. It will be necessary in many cases to scale the infile with the prescale parameter to avoid overflow. Prescale is a multiplier, like an ordinary gain factor. (See the Gain dB Chart).
The higher 'harmonics' of the 'wavecycles' are heard as faster versions superimposed on the original 'wavecycle' and on the lower 'harmonics'. Therefore, the application is to add these higher and denser levels of distortion to the sound.
End of DISTORT HARMONIC
Return to list of DISTORT functions at top
of this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
1 Interleave 'wavecycles' from the two infiles
2 Impose 'wavecycle' lengths of 1st file on 'wavecycles' of 2nd
infile1 input soundfile number 1
infile2 input soundfile number 2
outfile output soundfile
In Mode 1 material from both soundfiles is audibly apparent due to the interleaving process. In Mode 2, the distortion is almost total: the alteration of the 'wavecycle' lengths of the second sound changes it to a burbly, bubbly, seething mass.
DISTORT INTERACT can be used to achieve distortion which combines data from two different sounds or distortion which totally alters a sound.
End of DISTORT INTERACT
Return to list of DISTORT functions at top
of this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
infile input soundfile (Mono only)
outfile output soundfile
multiplier (integer) number of times each 'wavecycle' repeatsMultiplier may vary over time.-sskipcycles (integer) number of 'wavecycles' to skip at start of file
With this process, the shape of a 'wavecycle' is transformed into that of the next over multiplier repetitions. Note that this is waveshape-based interpolation, not a spectral interpolation, and that the length of the 'wavecycle' is also transformed by the process.
The effect of the transformation is drastic, leading to a strongly granular outfile. The length of the outfile increases in step with the value of multiplier, as does the apparent pitchiness.
The interpolation process adds a modulatory quality to the output, so that the successive wavecycles gliss and bend as they flow into one another. Even so, as multiplier increases, the perception of separate 'grains', i.e., 'wavecycles' increases. A value of 32, for example, changes the sound to a strange stream of modulating tones.
End of DISTORT INTERPOLATE
Return to list of DISTORT functions at top
of this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
infile input soundfile (Mono only)
outfile output soundfile
N multiplier (Range: 2 to 16, integer only)
-s smoothing (try this if glitches appear)
The duration of the sound is not changed, only the frequency of the 'wavecycles', with the result that the pitch rises.
The distortion is relatively mild, in that the original sound remains recognisable. However, the surface is textured and the pitch rises with each increase in the value of N. DISTORT MULTIPLY can be used, for example, to create high, modulating, grainy vocal sounds.
End of DISTORT MULTIPLY
Return to list of DISTORT functions at top
of this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
infile input soundfile (Mono only)
outfile output soundfile
A number of 'wavecycles' to omit
B size of group of 'wavecycles' out of which to omit A 'wavecycles'A may vary over time, but must always be less than B.
Because the omitted 'wavecyles' are replaced by silence, the overall duration of the sound does not change. The larger the proportion of 'wavecycles' omitted from B, of course, the more distorted the the sound becomes. This distortion is like a rough texturing, rather than the highly modulatory results of some of the other processes.
This process can be used, therefore, to achieve a rough texturing with no loss of duration.
End of DISTORT OMIT
Return to list of DISTORT functions at top
of this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
infile input soundfile (MONO only)
outfile output soundfile
clip-level level at which the signal is to be clipped (Range: 0 to 1) The signal level is renormalised after clipping.
depth depth of the pattern of distortion imposed on clipped stretches of the signal. (Range: 0 to 1)
freq frequency of the waveform imposed on clipped stretches of the signalClip-level, depth, and freq may vary over time.
The clip-level parameter is rather like a 'gate' level. If the signal level is already high, anything over, for example, 0.1 is likely to push it into distortion, and values considerably higher than this will make it heavily distorted. However, if it only distorts, Trevor advises me, when it reaches a level of, for example, 0.99, it is not going to be distorted very often.
The sound doesn't actually have amplitude overload, because it is distorted by 'slicing off' the top (clipping) where it would have overloaded. The sound becomes loud and 'strained', like a voice which is shouting too loudly.
Mode 2 can add an extra ringing sound as the value for freq gets higher, e.g., 2000Hz and beyond.
Given the trials made so far, this can be a fairly subtle effect, but the words 'straining', 'loud', 'uncompromising' seem appropriate as the amplitude gets pushed towards the top of the range.
End of DISTORT OVERLOAD
Return to list of DISTORT functions at top
of this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
infile input soundfile (Mono only)
outfile output soundfile
octvary maximum possible transposition up or down in (fractions of) octaves (Range > 0.0 to 8.0)Note that the pitch of each 'wavecycle' is varied by a random amount within the range of octvary octaves up to octvary octaves down: i.e., the value for octvary covers a total up/down range of 2 * octvary.-ccyclelen mamimum number of 'wavecycles' between the generation of transposition values (Range: > 1, Default: 64)Octvary and cyclelen may vary over time.-sskipcycles (integer) number of 'wavecycles' to skip at start of file
The random up/down movement of the 'wavecycles' within the total octvary range produces a great deal of bending of the sound, especially if the original alters its pitch a good deal. It is better, therefore, to start with relatively small values for octvary e.g., less than 1 so that you start to use this function with some degree of control over the results.
The full power of DISTORT PITCH doesn't really come into its own until time-varying parameters are used, especially for cyclecnt. Large values for the latter will serve to slow down the rate of change.
DISTORT PITCH is useful for creating 'flexitones' (to coin a term) with distortion, of course.
End of DISTORT PITCH
Return to list of DISTORT functions at top
of this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
1 Impose impulse-train on source
2 Use a segment of the source as the looped content of a synthetic impulse-train
stime time in the source sound where the impulses begin. In Mode 3, stime is given as samplecnt, i.e., number of samples
dur length of time that the impulses continue
frq number of impulses per second
frand number of semitones by which to randomise the frequency of the impulses
trand amount of time in seconds by which to randomise the relative time positions of amplitude peaks and troughs from impulse to impulse
arand randomisation of the amplitude shape created by the peaks and troughs from impulse to impulse
cycletime Mode 2: duration in seconds of wavecycles to grab as sound substance inside the impulses
OR Mode 3: number of wavecycles to grab as sound substance inside the impulses
transp transposition contour of sound inside each impulse
tranrand randomisation of transposition contour from impulse to impulse
-s keep start of source sound, before impulses begin (if any)
-e keep end of source sound, after impulses end (if any)
Only works on MONO files
Distort a sound by imposing a series of impulses on the source, or on a specific waveset segment of the source. An impulse is like a brief event created by a sharp envelope on the sound. The sound inside the impulse might glissando slightly, as if whatever is causing the impulsion has warped the sound by its impact.
.
End of DISTORT PULSED
Return to List of functions for interacting
spectra at top of this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
1 Convert to fixed level square wave
2 Convert to square wave
3 Convert to fixed level triangular wave
4 Convert to triangular wave
5 Convert to inverted half-cycles
6 Convert to click stream
7 Convert to sinusoid
8 Exaggerate waveform contour
infile input soundfile (Mono only)
outfile output soundfile
exaggeration exaggeration factor (Range: 0.000002 to 40.0)Exaggeration may vary over time.
This process reads each 'wavecycle' (sound inbetween zero crossings) and replaces it with a different waveform of the same length. Several waveform options are provided. Those which do not fix the amplitude level respond to the varying amplitude levels of each successive wavecycle, thus producing an additional (and arbitrary) distortion feature.
The 'fixed level' options produce consistently loud output.
The 'click' option replaces each 'wavecycle' with a mishmash of square pulses several samples long (random sizes), which sounds a bit like a rattle.
The 'sinusoid' option, as might be expected, is relatively smooth. It is actually a subtle form of filtering. The sine waves vary in length and amplitude because they are based on 'wavecycles' and because only some of the 'wavecycles' are replaced.
The 'exaggeration' option just seems to add a surface buzz.
Modes 1 and 3 create quite vigorous forms of distortion. The other modes are more restrained, offering a variety of gently distorted versions of the original.
End of DISTORT REFORM
Return to list of DISTORT functions at top
of this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
E.g.,
distort repeat inf outf 5 -c3 -s20
infile input soundfile to process, MONO only
outfile soundfile output after processing
multiplier number of times (integer) each 'wavecycle' (group) repeats
-ccyclecnt number of 'wavecycles' (integer) in repeated groups
-sskipcycles number of 'wavecyles' (integer) to skip at start of fileMultiplier and cyclecnt may vary over time.
The repetition of the 'wavecycles' stretches out the sound, making it both longer and more granular in texture. This granularity is increased if (increasingly larger) groups of cyclecnt 'wavecycles' are used: then the whole group repeats multiplier times.
DISTORT REPEAT produces long, grainy (distorted) sounds. The sense of stretching out the original is very apparent.
A significant application of DISTORT REPEAT is that, by increasing the cyclecnt factor, one crosses the pitch-perception boundary: that is, starting with a noisy sound in which all the wavecycles are randomly different, one ends up with, for example, 7 repetitions of the same wavecycle, followed by 7 of another and so on and each of these comprise sufficient repeitions for us to hear pitch. Thus the noise source becomes a string of pitch beads, each of arbitrary timbre. With a cyclecnt of, for example, 128, one can even get a slowish random melody.
End of DISTORT REPEAT
Return to list of DISTORT functions at top
of this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
infile input soundfile (Mono only)
outfile output soundfile
cyclecnt (integer) size of group of 'wavecycles'Cyclecnt may vary over time.-sskipcycles number of 'wavecyles' (integer) to skip at start of file
The replacing action serves to simplify the sound. Note that the single strong 'wavecycle' in the group will take the place of several others, which will be deleted. This simplification becomes extreme when the cyclecnt is high, leading to a 'sample-hold' kind of stepped effect. Time-varying cyclecnt makes it possible to introduce gradual change.
With DISTORT REPLACE we can achieve a simplification of the sound, up to very clear 'sample-hold' type stepped tones.
End of DISTORT REPLACE
Return to list of DISTORT functions at top
of this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
infile input soundfile
outfile output soundfile
multiplier the number of times each wavecycle (group) repeats (Integer)
-ccyclecnt the number of wavecycles in repeated groups
-sskipcycles the number of wavecycles to skip at the beginning of the soundfile
-fhilim the frequency below which cycles are counted
multiplier and cyclecnt may vary over time
NB: Works only on MONO soundfiles.
This function is like DISTORT REPEAT, but with a slight change. Here the length of wavecycle to be affected can be set. Thus, if you set a mid-range frequency, only those below that frequency will repeat, and the others (above the frequency) will be discarded (filtered out). Hence the name 'REP-LIM', meaning 'repeat (with a) limit'.
DISTORT REPLIM is therefore like a filtering program that also repeats wavecycles. In the DISTORT set, the wavecycles are wavelengths that occur between zero crossings, so distortion also occurs.
It is helpful to remember that wavelength is inversely proportional to frequency. Wavelength is the actual physical length of the oscillation, and frequency is the number of cycles that occur in one second (i.e., Hertz). These two aspects of sound are inversely proportional to one another: P = 1/f. For example, a sound oscillating at 100 Hz will have a period, i.e., a wavelength of 1/100 meters = 0.01 meters (0.39 inch). A sound oscillating at 1000Hz will have a wavelength of 1/1000 meters = 0.001 meters (0.039 inch).
Short wavecycles are therefore higher in pitch and long ones are lower in pitch. When the frequency setting for DISTORT REPLIM is high, the filter point is set higher and more of the sound will be retained. Here we are dealing with 'pseudo-wavecycles' (portions of soundfile between zero crossings), which is what introduces distortion into the equation.
The net result of the function is to create repetition distortion while filtering out a user-definable amount of the higher frequencies. Remember that the relative amounts of high and low frequencies in the infile will affect the results.
End of DISTORT REPLIM
Return to List of functions for interacting
spectra at top of this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
infile input soundfile (Mono only)
outfile output soundfile
cyclecnt number of 'wavecycles' in a reversed group (Range: > 0)Cyclecnt may vary over time.
Here the original soundfile is grouped into a series of 'wavecycles' with cyclecnt 'wavecycles' in each group. Then each of these groups of 'wavecycles' is reversed.
The term 'distortion' here is something of a misnomer, because no distortion process is applied to the 'wvecycles' themselves. Instead, cyclecnt sets the number of 'wavecycles' which are to be copied in reverse as a group to the outfile. For example, if cyclecnt = 3, 15 'wavecycles' reversed in groups of 3 will assume the order: 3-2-1, 6-5-4, 9-8-7, 12-11-10, 15-14-13. Thus, not only is the sound material backwards, but the reversed 1st 'wavecycle' is now adjacent to the reversed 6th 'wavecycle'.
This mimics the classical tape studio technique of cutting up a length of tape into segments (of varying lengths), reversing the segments, and joining up the reversed pieces.
The result will be similar to a random brassage because of the differing lengths of the 'wavecycles'.
The process moves steadily through the infile from beginning to end, so the normal order of the (reversed) events is preserved. It is surprising how normal the output can be. With mid-range values for cyclecnt (say, 30 to 100), one hears the original breaking up, but only with very large values for cyclecnt does one hear the sound sweeping backwards in large swathes. Again, it is a question of 'resolution': the size of the units being manipulated.
A small value for cyclecnt will produce a grainy result, mid-values a 'broken up' result, and large values swathes of reversed sound. If the value for cyclecnt exceeds the number of 'wavecycles' in the infile, you will be told that the "sound source is too short...". DISTORT CYCLECNT returns the number of 'wavecycles' in a sound, should you want to provide a value for cyclecnt which is right up to the limit.
Reversing the output of DISTORT REVERSE turns the cyclecnt groups back the other way while reading the whole soundfile from back to front, producing an interesting mixture of forwards and backwards!
Using the time-varying option for cyclecnt provides an opportunity for dramatic or gradual changes in the output.
End of DISTORT REVERSE
Return to list of DISTORT functions at top
of this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
infile input soundfile (Mono only)
outfile output soundfile
domain set of letters representing consecutive (groups of) 'wavecycles'
image set of letters which forms some permutation of the domain set-ccyclecnt the size of 'wavecycle' groups to process: each character in domain-image represents cyclecnt groups of 'wavecycles' (Default: 1)
- Items from domain may be reordered, omitted or duplicated.
- A typical domain could be abcd
- A typical image might be aacccbdd or dccbba or dac etc.
- Thedomain and image sets must be connected with a dash,
- Full example: abcd-aacccbdd
Cyclecnt may vary over time.-sskipcycles number of 'wavecyles' (integer) to skip at start of file
A simple reordering in which domain and image have the same number of characters will suitably roughen up the sound. As the image duplicates characters, some time-stretching will occur.
Introducing higher cyclecnt values will mean that the infile is processed in larger units, increasing the recognisability of the original. Note that, in spite of the higher cyclecnt, time-stretching does not result unless domain characters repeat in the image.
Thus, a domain-image of abc-cba would be:
3-2-1, 6-5-4 etc.but with a cyclecnt of 5,Note how the cyclecnt 'wavecycles' proceed sequentially forward in the file, even though the image involves a reversal of the domain. This is what produces the increased recognisability.and the image c-b-a would now be:
- a would comprise 1-2-3-4-5 (in the domain)
- b would comprise 6-7-8-9-10 (in the domain)
- c would comprise 11-12-13-14-15 (in the domain)
11-12-13-14-15, 6-7-8-9-10, 1-2-3-4-5 26-27-28-29-30, 21-22-23-24-25, 16-17-18-19-20
The possibilities focus here on sculpting the roughness of the distortion along with time-stretch factors. Lots of room for playing with the image shapes.
End of DISTORT SHUFFLE
Return to list of DISTORT functions at top
of this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
infile input soundfile (Mono only)
outfile output soundfile
cyclecnt the number of 'wavecycles' in a group
Cyclecnt may vary over time.-sskipcycles number of 'wavecyles' (integer) to skip at start of file
-a telescope to an average 'wavecycle' length (Default: telescope to the longest 'wavecycle' length)
Although at first rather like DISTORT OMIT, here the 'wavecycles' are not deleted as such. Instead, they are superimposed (i.e., mixed) onto each other, with shorter 'wavecycles' being stretched to fit the longest one in each group of cyclecnt 'wavecycles'. The outfile will usually be much shorter than the infile and can be reduced to a mere blip with this process.
The -a flag tells the program to telescope to the average 'wavecycle' length, rather than to the longest. Since the longest 'wavecycle' in each group is compressed by this method, the outfile will be even shorter.
Interesting results can be achieved with small values for cyclecnt, the output tending to have a 'mushy' quality. It responds well to pitched material, producing a singing, if mushy, tone.
End of DISTORT TELESCOPE
Return to list of DISTORT functions at top
of this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
A pseudo-wavecyle is a way of dividing up the whole signal by taking chunks which stretch from one zero-crossing, through a second to a third. The reason these divisions of the signal are called 'pseudo' is because these segments of the waveform do not necessarily correspond to real wavecycles.
For example, a possible true wavecycle (corresponding to the fundamental of a pitch) of a sound might cross the zero more than twice, as in Figure 1. But this divides into two pseudo-wavecycles, as in Figure 2. Note that each of these pseudo-wavecycles crosses the zero at three points.
![]()
For more technical discussion of these processes, see Richard Dobson's
Introduction to the T Wishart DISTORT Functions
Return
to Main Index for the CDP System.
Return
to Groucho Index