Return
to Main Index for the CDP System.
Return
to Groucho Index
1 Time in seconds
2 Time as sample count (rounded to multiples of channel count)
3 Time as grouped sample count (e.g., 3 = 3 stereo pairs)
infile input soundfile
outfile cut section saved as new soundfile
start time in infile where segment to keep begins
end time in infile where segment to keep ends
-wsplice splice window in milliseconds (Default: 15ms)
The start and end locations for a block of sound are specified, and that block is saved as a new soundfile. A long splice will give a smooth cutoff, a short splice an abrupt cutoff, and a zerio splice will usually produce a click. The splice window is applied to both the beginning and the end of the sound, so cannot be larger than half the length of the block.
This function presumes the use of a graphic sound editor in order precisely to locate the places at which to begin end the block to be cut. CDP's VIEWSF provides a display accurate to the individual sample (Zoom level 0), so very precise locations can be specified. Marks can be saved to a textfile for future reference.
In Sound Loom, ALT CLICK on a Workspace file, or clicking on the (new) View Source button on the Parameters page, gives a graphic display of the file and the facility to play any selected part of it (and then cut the segment, if desired).
Musical applications are many and varied:
- simply save a favoured portion of a soundfile
- select a short, timbrally evolving, section of a soundfile and time-stretch it, cut part of the result and time-stretch again, etc.
- process a portion of a sound, and then reinsert it into the original. For example, isolate key portions of two sounds and pre-process each of them in preparation for a morph-transition; then reinsert them into their respective original soundfiles and do the morph
- collect segments of various soundfiles in preparation for making a musical collage
Removing silence or unwanted portions of a soundfile should be done with SFEDIT EXCISE.
End of SFEDIT CUT
Return to List of sfedit functions at top of
this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
1 Time in seconds
2 Time as sample count (rounded to multiples of channel count)
3 Time as grouped sample count (e.g., 3 = 3 stereo pairs)
infile input soundfile
outfile cut section saved as new soundfile
length length of sound to keep, ending at the end of infile
-wsplice splice window in milliseconds (Default: 15ms)
This function enables you to use a specified length of the last section of a sound without having to work out where that length begins. You just specify the length you want. Needless to say, it has to be shorter than the whole soundfile.
The way a sound ends varies a great deal and often has extra attributes, such as resonance, reverb or echoes. This material can therefore be useful in itself. For example, a piano tone starts percussively and ends gradually if left to ring on. When reversed, the sound swells, sounding very much like an organ. SFEDIT CUTEND can quickly cut the end portion, starting automatically after the beginning. Given a generous splice envelope and reversed with MODIFY RADICAL Mode 1, it can become quite a different sound altogether.
End of SFEDIT CUTEND
Return to List of SFEDIT functions at top of
this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
1 Time in seconds
2 Time as sample count (rounded to multiples of channel-count
3 Time as grouped-sample count (e.g., 3 = 3 stereo pairs)
infile input soundfile
outfile generic output filename
cuttimes text file of time-pairs for the start and end of each segment
-wsplicelen the duration of the splice window in milliseconds: i.e., the amount of time to rise from and fall back to zero amplitude. Default: 15ms
This is an extension of the basic "edit cutout and keep" (SFEDIT CUT) to allow several segments to be cut from a file at a single pass. The start and end times of the cuts are placed in a textfile which the process reads.
This function is useful if you want to extract several interesting features from a source sound. You can search the sound first, noting down the edit times of the sections you want, write them in a textfile, and then use the textfile to cut those segments from the source in a single pass, saving them to a generic name (e.g., pop1.wav, pop2.wav etc.).
Also see SFEDIT SYLLABLES.
End of SFEDFIT CUTMANY
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 Time in seconds
2 Time as sample count (rounded to multiples of channel count)
3 Time as grouped sample count (e.g., 3 = 3 stereo pairs)
infile input soundfile
outfile cut section saved as new soundfile
start time in infile where segment to remove begins
end time in infile where segment to remove ends
-wsplice splice window in milliseconds (Default: 15ms)
Here the block start and end points mark a block to be removed. The size of the splice determines the smoothness (long splice) or abruptness (short splice) of the cuts. A zero splice usually creates a click at the splice point, except in the special case where the signal is zero. The splice 'window' enables the use to reshape the amplitude envelope at the point where the cuts are made.
A frequent use of this program will be to remove silence, glitches, or otherwise unwanted material from a sound. It could also be used to chop up a sound in a rough sort of way in order to create unexpected juxtapositions of material, e.g., words.
SFEDIT EXCISE can be used to 'top and tail' a sound (remove silence at the beginning and the end) when special attention to detail is needed. Otherwise, HOUSEKEEP EXTRACT Mode 3 can be used.
Also see SFEDIT EXCISES which uses a text file of cut points to remove several chunks in one operation.
End of SFEDIT EXCISE
Return to List of SFEDIT functions at top of
this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
1 Time in seconds
2 Time as sample count (rounded to multiples of channel count)
3 Time as grouped sample count (e.g., 3 = 3 stereo pairs)
infile input soundfile
outfile cut sections joined up and saved as new soundfile
excisefile text file with (paired) start and end times of chunks to be removed. These must be in increasing time order.
-wsplice splice window in milliseconds (Default: 15ms)
The times in excisefile are given in seconds, a pair on each line, separated by a space or a tab.
Multiple cuts may be useful when removing a series of glitches, or when chopping up a sound as mentioned above in SFEDIT EXCISE to create unexpected juxtapositions: collage techniques.
End of SFEDIT EXCISES
Return to List of SFEDIT functions at top of
this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
1 Time in seconds
2 Time as sample count (rounded to multiples of channel count)
3 Time as grouped sample count (e.g., 3 = 3 stereo pairs)
infile input soundfile
insert soundfile ('chunk') to insert
outfile combination saved as new soundfile
time time in seconds in infile at which the insert is to begin
-wsplice splice window in milliseconds (Default: 15ms)
-llevel gain multiplier on inserted file (Default: 1.0)
-o overwrite the original file with the inserted file (Default: the insert pushes the infile apart)
Note the difference between placing a sound into the midst of another sound (pushing apart the two separated portions of the original), and actually overwriting the original. In the first instance, none of the original is lost. In the second, that part of the original which lasts until the end of the insert is lost but if there is still more original soundfile after this point, it will carry on after the insert has finished.
Besides normal joinings and juxtapositions, SFEDIT INSERT can be used with more far-reaching objectives in mind. For example, a soundfile could be constructed out of widely diverse materials in order to pave the way for timbral transformations which will greatly alter the original sources (making them unrecognisable). E.g., blur, trace, extract spectral envelope, spread peaks, invert spectrum ...
End of SFEDIT INSERT
Return to List of SFEDIT functions at top of
this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
1 Time in seconds
2 Time as sample count (rounded to multiples of channel count)
3 Time as grouped sample count (e.g., 3 = 3 stereo pairs)
infile input soundfile
outfile combination saved as new soundfile
time time in seconds in infile at which the silence is to begin
duration length of silence in seconds
-wsplicelen splice window in milliseconds (Default: 15ms)
-o overwrite the original file with the inserted file (Default: the silence pushes the infile apart)
-s retains any silence written over file end (Default: rejects silence added at file end)
This process will create a gap in the infile at a specified point in time, either pushing apart or overwriting the original sound for the duration of the silence.
This can be used at the beginning of a sound to 'hard-wire' a gap into a mix. Another application would be to spread the timing of two events in a sound by a specified amount.
End of SFEDIT INSIL
Return to List of SFEDIT functions at top of
this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
infile1 soundfile to splice
infile2 infile3 ... additional soundfiles to splice
-wsplicelen duration of splice in milliseconds (Default: 15ms)
-b splice slope at start of first file
-e splice slope at end of last file
Splicing is joining soundfiles together. The joins can be 'butt' or sloped. A butt join means that the sounds are butted up against each other just as they are, with no overlap and no slope other than what they may already possess. This can be done by specifying 0 for splice. Unless your sounds are already spliced at the start and end, this will almost always produce a click at the edit point.
Sloped joins either use the default overlap of 15 ms or specify another splicelen time. Longer times mean more overlap and more gradual changes in relative amplitude, the preceding sound getting softer while the following sound gets louder. Splice times are not restricted by the software, but if both -b and -e are used, splice cannot be greater than half the length of the sound.
It is possible to use SFEDIT JOIN with only one input soundfile. The purpose of this would be to quickly taper the beginning and/or end of the sound.
The same sound can be used several times: as infile1, infile2 etc. This is one way to achieve a slightly pulsating sound.
Splicing is one of the basic assembly procedures used in electroacoustic music. A butt join achieves maximum contrast and/or a join with no loss of time (no overlap), but there is a danger of clicks. Sometimes a portion of soundfile is removed, processed and replaced. In this case, it is best to use VIEWSF in single sample view mode in order to edit with sample accuracy as close to zero as possible.
Overlaps smooth the joins and reduce the possibility of clicks or other unwanted 'bumps'. Long splice times achieve a smooth flow of one sound into the other without going as far as a full-length crossfade or morph.
Also see SUBMIX CROSSFADE, and the various MORPH functions.
End of SFEDIT JOIN
Return to List of SFEDIT functions at top of
this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
infile first input soundfile to join
infile2... optional second or more soundfiles to join
outfile resultant soundfile output
pattern text file containing a pattern of soundfile level pairs. The soundfiles are identified by numbers, with the numbering following the order in which they are listed, starting with the number 1. Level range is 0 to 1. Example (repeating and fading):[sfile level] 1 0.50 2 0.75 3 1.00 3 0.90 2 0.85 2 0.75 2 0.65 1 0.70 1 0.50 1 0.40 1 0.30-wsplicelen duration of splice window in milliseconds. Default: 15ms (optional)
-b option to apply splice to the start of the first sound
-e option to apply splice to the end of the last sound
As with SFEDIT JOINSEQ, this function splices together soundfiles in the order in which they are listed. In addition, it specifies the relative loudness of each soundfile in the sequence. Note that in Sound Loom similar patterns can be created as mixfiles, giving you the possibility to change the entry times of the sounds. This involves an advanced use of the TABLE EDITOR.
Also note that EXTEND SEQUENCE2 allows you to put several sounds into a patterned sequence using any timing sequence (and patterns of levels).
SFEDIT JOINDYN provides a quick and direct way to create a group of soundfiles in any order, with patterns of dynamic level.
End of SFEDFIT JOINDYN
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 first input soundfile to join
infile2... optional second or more soundfiles to join
outfile resultant soundfile output
pattern text file containing a pattern of numbers specifying the sequence (ordering) of soundfiles to use. The soundfiles are identified by numbers, with the numbering following the order in which they are listed, starting with the number 1. Example (a permutation):1 2 3 2 3 1 3 1 2 3 2 1 2 1 3 1 3 2-wsplicelen duration of splice window in milliseconds. Default: 15ms (optional)
-mmaxlen maximum number of items in pattern to use
-b option to apply splice to the start of the first sound
-e option to apply splice to the end of the last sound
SFEDIT JOINSEQ allows a set of sounds to be joined, end to end, in a pattern. Any sound in the sequence can be repeated any number of times.
The pattern is specified in a text file, with the sound pattern value separated by spaces or newlines. The soundfiles are identified by numbers, with the numbering following the order in which they are listed, starting with the number 1. Thus only the numbers are needed in the pattern file, as illustrated above.
Maxlen enables you to use an existing pattern with fewer active components (i.e., apply data reduction).
This would be a way to generating patterns of events, such as sequences of vocal syllables, with a melodic flavour given that the source material has sufficiently different pitch levels and that you are going the use the whole length of each sound before the next sound begins(this is only a splice operation).
End of SFEDFIT JOINSEQ
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 Time in seconds
2 Time as sample count (rounded to multiples of channel-count)
3 Time as grouped sample count (e.g., 3 = 3 stereo pairs)
infile input soundfile
outfile cut segment saved as a new soundfile
excisefile a textfile with (paired) start and end times of chunks to be masked. These must be in increasing time order.
-wsplice splice window in milliseconds (Default: 15)
The excisefile takes into consideration the overall length of the input soundfile. With paired start and end times on separate lines, it specifies the start and end of silences. These are inserted into the infile replacing what was there previously. The resultant soundfile is therefore the same length as the original input. It is convenient to be able to create several silences at once.
The splice parameter enables you to smooth the edges of these silences to varying degrees.
Some ideas:
- create pulses of sound and silence
- design excise times for two different soundfiles such that they overlap or interlock exactly. Then you can SUBMIX MIX the two soundfiles or SUBMIX INTERLEAVE the two soundfiles so that the two sounds alternate. The latter merges mono files into a multichannel file, so the sound and silence of each input would end up on different channels.
Also see SFEDIT INSIL above and COMBINE INTERLEAVE in the spectral dimension.
End of SFEDIT MASKS
Return to List of SFEDIT functions at top of
this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
infile input soundfile
outfile output soundfile containing either only the non-noise or the noise components (-n flag) of the original sound
splicelen duration of splice slopes, in milliseconds
noisfrq frequency above which the signal is regarded as noise (try 6000 Hz)
maxnoise the maximum duration in milliseconds of any noise segments permitted to remain, i.e., NOT replaced. Range: 1000 to 22050ms
mintone the minimum duration in milliseconds of any non-noise segments to be retained. Range: 0 to 50ms
-n option to retain noise rather than non-noise
This process was developed after many attempts to automatically separate the noise constituents (sibilants etc.) from speech whilst trying to track the pitch of the other material. It uses a filter to recognise the presence of sibilants in the speech and allows vowels (and strongly pitched iteratives) to be separated in place (i.e., remaining at their original time) from the speech stream.
Alternatively, the sibilants (i.e., noise) can be similarly extracted, in place. This is the -n option.
One way to apply this function is to use it to treat the pitched and unpitched components in a stream of events in different ways. You could first separate the pitched and noise elements (using this program in its two different senses). Then you might add tremolo to the pitched elements and after this reintroduce the unmodified noise elements by mixing them with the undulating tones.
End of SFEDFIT NOISECUT
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
There is no outfile name. The cut sections will be saved as new soundfiles, named infile truncated by one character, with a number added, starting from zero.chunkcnt the number of chunks to cut
minchunk the minimum length of the chunks, in seconds
-mmaxchunk the maximum lengths of the chunks, in seconds
-l chunks chosen are evenly distributed over the file (Default: random distribution)
-s all chunks start at the beginning of the file
SFEDIT RANDCHUNKS is like SFEDIT RANDCUTS but enables you to be more specific about the number of chunks (chunkcnt) and their length (minchunk and the optional maxchunk). Each chunk is saved as a new soundfile, with a name derived from the name of the infile.
The number and length controls make it possible to make a controlled number of chunks of random length within a specified range. The ability to focus on the start of the soundfile enables you to explore the qualities of the attack portion of the sound.
End of SFEDIT RANDCHUNKS
Return to List of SFEDIT functions at top of
this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
infile input soundfileThere is no outfile name. The the cut sections will be saved as new soundfiles, named infile truncated by one character, with a number added, starting from zero.average-chunklen the average length of the chunks to cut
scattering controls the amount of variation in the length of the cuts (Range: 0 to 8)
SFEDIT RANDCUTS provides a way to cut up a soundfile into several portions of a specified average length, saving each as a separate soundfile. The amount of difference in the lengths can be adjusted with the scattering parameter: the regularity of the lengths gets less and less as scatter increases.
This could be a way of multiplying source material when a given soundfile has sufficient variation in its contents to justify the procedure.
End of SFEDIT RANDCUTS
Return to List of SFEDIT functions at top of
this file
Return
to Main Index for the CDP System.
Return
to Groucho Index
infile input soundfile
insert 2nd soundfile to insert
outfile completed output soundfile
time the time at which the 2nd soundfile is to be inserted into the 1st soundfile
endtime the endtime of the segment in the original soundfile to be replaced
-wsplice splice window in milliseconds. Default: 15 ms
-llevel gain multiplier on the inserted soundfile. Default: 1.0
There is already a process "insert sound" (SFEDIT INSERT) which allows you to insert a 2nd sound into an existing sound, either by overwriting the original sound at the point of insertion, or cutting the original sound at the point of insertion, inserting the 2nd sound, and then continuing with the first sound from the place where it was cut.
This process allows you to overwrite a SPECIFIED SEGMENT of the original sound with the new sound, even where this is not the same length as the inserted sound. Note however, that the 2nd sound must be AT LEAST AS LONG as the gap created in the original sound .
This function provides a overwrite facility.
End of SFEDIT REPLACE
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 Time in seconds
2 Time as sample count (rounded to multiples of channel-count)
3 Time as grouped sample count (e.g., 3 = 3 stereo pairs)
infile input soundfile
outfile generic name of output soundfiles; the final character is replaced by numbers starting at '1'
cuttimes text file containing the start end time pairs for each syllable to be cut
dovetail the time in milliseconds to allow for syllable overlap. Range: 1 to 20 ms
splicelen the duration of the splice window in milliseconds (cannot be shorter than the time between any two times)
-p forces the process to cut PAIRS of syllables
The syllables in speech are difficult to separate one from the other simply by editing. By their very nature, the sounds of speech flow naturally one into another, and there is no 'natural' cutting point between them. This process compensates for this problem by shaving a little bit from the end of the previous syllable and a little bit from the start of the following syllable, thereby, for every syllable, giving separated syllables that are more convincing.
The cuttimes file needs to be carefully constructed by noting in an appropriate sound editor the start and end times of the syllables you want to extract . They are given with each start end time pair given on separate lines:
0.0058 0.215 0.319 0.720 1.01 1.56 1.72 2.00 2.1 2.467 2.7 3.04You could then excise the syllables right away, but the advantage of using SFEDIT SYLLABLES is ability to allow for syllable overlap, thus capture endings and beginnings of syllables that overlap and would otherwise be lost.Graphic sound editors should work for this purpose, such as Audition, Sound Forge or the new graphic display and editing facilities on the Sound Loom, as you can block out and hear a portion of soundfile. In Sound Loom, you ALT Mouse Click on a soundfile on the Workspace to access these facilities. Using ears only, Soundshaper's 'Play using Markers' facility (i.e., Play FROM .. TO) is also a straightforward way to find the edit points, and gives a time display accurate to three decimal places.
Gaps between times need to be large enough to accommodate the dovetail (overlap) and the splice (join slope). The maximum dovetail is 20 ms, i.e., 0.02 seconds, so this time distance should be regarded as the minimum. This applies to the length of the syllables as well as the time between syllables. Syllables that are too short, it should be added, will not be useful as soundfiles because the sound will disappear in the splice. As a rule of thumb, regard 200 ms as the shortest practical length of a syllable.
A series of soundfiles using the generic name as the base are created. If the generic name is 'speechsyl', the separate soundfiles containing each syllable will be 'speechsy1', 'speechsy2' etc. The soundfile extension is appended by the program, as usual. A variant of SFEDIT CUTMANY, all the soundfiles are created in one pass.
SFEDIT SYLLABLES can be used to separate
- the syllables of speech
- the individual note events from a melody performed on an instrument with strong transitional characteristics where it passes from one note to another
End of SFEDIT SYLLABLES
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 Time in seconds
2 Time as sample count (rounded to multiples of channel-count)
3 Time as grouped sample count (e.g., 3 = 3 stereo pairs)
infile input soundfile
outfile cut segment saved as a new soundfile
start (approximate) time in the infile where the segment to keep begins
end (approximate) time in the infile where the segment to keep ends
This process uses an alternative method to splice the sound segment, cutting it at the nearest zero-crossings in the signal, rather than making a splice. Nevertheless the cut should be clickless.
This is a different way of cutting out a segment of sound. The start and end times you give are approximate because the nearest zero points will probably not be precisely at those times.
End of SFEDIT ZCUT
Return to List of SFEDIT functions at top of
this file
Return
to Main Index for the CDP System.
Return
to Groucho Index