| Analysis Files: 
.ana | 
| Analysis files hold audio data in a special way. 
	binary files containing analysis data as 
	frequency amplitude pairs (channels) 
	grouped into windowsThe Spectral Domain processes require ana format inputs.  This is all you really need 
	to know about them.Soundfiles are converted to analysis files with 
	PVOC ANAL Mode 1.There are some 
	options when creating analysis files, which 
	relate to a trade-off in accuracy regarding frequency and time 
	resolution.  Understanding them could help you to fine-tune the 
	results in certain situations. | 
| Band files for 
HILITE BAND: .txt | 
| 
[lof  hif  bitf various]
113    160 1000 0.25
160    226 0000
452    640 1000 0.01 1.0
905   1280 1100 1.0  0.01
1280  1400 1100 0.25 1.0 
1810  2560 1010 0.5  +5000
3000  4000 1010 0.6  2.0
4000  5000 1010 0.7  +8000
5120  7240 1010 0.8  3.0
7240 10240 1011 0.7  +3
 | Here we have a flexible, user-definable spectrum divider, in 
which the frequency bands can be precisely set (lof hif) 
and processed separately: 4 bitflags can be set to handle 
amplitude, crescendo or decrescendo, and transpositions that 
can be harmonic (logarithmic:  multipliers, i.e., ratios) or 
inharmonic (additions). 
	In the example bitflag file, the 10 lines do the following:The band file is an editable text file.Bit 1 (e.g., 1000) sets an overall amplitude (for that 
	band).  Set the level in the field after the 4 bitflags.Bit 2 defines an amplitude between two amplitude 
	fields after the 4 bitflags: amp1 and amp2.  This 
	will be a crescendo or a decrescendo depending on the respective 
	levels.  Also set Bit 1 or the whole band will be 
	zeroed.  (This makes it easy to turn the effect on or off 
	to assess the difference.)Bit 3 sets transpositions.  These are always 
	multipliers, i.e., ratios that preserve the harmonic 
	relationship between the partials, but you can also precede 
	a value in Hz with a '+' sign:  this frequency is 
	added into the spectrum of that band, creating 
	inharmonic results.  Again, remember to set Bit 1 
	or that band will be zeroed and the resultant sound may 
	be completely silent: i.e., 0010 seems to produce 
	this (unwanted!) result.  The 
	Chart of Transposition Ratios may be helpful.Bit 4 means that previous transpositions 
	are added to the (whole) original spectrum.  
	Bit 3 also needs to be set for this to work.  If you 
	use a '+' sign, it may make the result more 
	inharmonic, but I'm not sure that it makes any 
	difference to put in the '+' sign  or should 
	you put in a value in Hz here? (AE)To be effective, the bands you define need to relate 
	to the strongest parts of the sound's spectrum.  You can 
	get information on this from the 
	peak energy file.  The sound used for the 
	peak energy file example was  balsam.wav 
	(the spoken text used in the aebigone GrainMill 
	example, and the bitflag file was designed using 
	this information. 
	Note that the bands are not allowed to overlap.  This means that 
you cannot do different things to the same band in the same 
bitflag file.  However, you can achieve this by editing 
the bitflag file and re-running the program.113 to 160: Set an overall amplitude for that band.  A  0 bitflag 
	is not allowed in Line 1 (i.e., 0000).160 to 226: Zero this band.452 to 640: Crescendo from a very low to full amplitude.905 to 1280: Decrescendo from full amplitude to very low.1280 to 1400: Crescendo from ¼ to full amplitude.1810 to 2560: Set amplitude to half and add 5000Hz 
	to this band.3000 to 4000: Set a slightly higher amplitude than before 
	and transpose by a ratio of 2 (i.e., an octave).4000 to 5000: Set amplitude a little higher still and 
	add 8000Hz to this band.5120 to 7240: Set the amplitude to 4/5ths 
	full amplitude and transpose by about a minor 13
	th, i.e., close to 15 semitones.7240 to 10240: Make an (overall?) transposition and 
	add the result in  don't really know how 
	this relates to the previous transpositions (AE). 
Although it must be said that this program cries out for a real-time 
implementation, with some experience and the use of batch files, the 
combination of frequency bands and processing options makes it 
a very powerful tool.
 | 
| Banks of frequencies 
files from FILTER BANKFRQS: .txt | 
| FILTER BANKFRQS creates text files containing lists of 
frequencies.  These files can be edited to add amplitude data (numeric: 
0.00100 to 10000, or in dB, such as '-3dB').  They then can be used as 
inputs to FILTER ITERATED and 
FILTER USERBANK (in Mode 1 for Hz input).  
FILTER BANKFRQS has 6 Modes to produce 6 different types of file.  
The following lists outputs for each of these modes: 
[M1-HARMONIC] [M2-ALTERNATE] [M3-SUBHARMONIC]
100.000000     100.00000      1000.000000
200.000000     300.00000      500.000000
300.000000     500.00000      333.333333
400.000000     700.00000      250.000000
500.000000     900.00000      200.000000
600.000000                    166.666667
700.000000                    142.857143
800.000000                    125.000000
900.000000                    111.111111
[M4-OFFSET] [M5-EQ INTERVALS] [M6-INTERVAL SIZE]
100.000000     100.00000      100.000000
244.000000     121.152766     118.920712
344.000000     146.779927     141.421356
444.000000     177.827941     168.179283
544.000000     215.443469     200.000000
644.000000     261.015722     237.841423
744.000000     316.227766     282.842712
844.000000     383.118685     336.358566
944.000000     464.158883     400.000000
               562.341325     475.682846
               681.292069     565.685425
               825.404185     672.717132
                              800.000000
                              951.365692
	These are editable text files.The frequency range provided for these examples was 100 to 1000.Mode 1 provides a list of integer multiples of the 
	lowest frequency, i.e., 'harmonics'.Mode 2 selects the alternate members of this list 
	of harmonics.Mode 3 provides a list of subharmonics downwards from 
	the highest frequency.Mode 4 allows you to offset the frequencies above 
	the lowest frequency.  The offset used here was 44Hz.Mode 5 divides the frequency range into equal intervals, 
	producing an unusual result when applied.Mode 6 divides the frequency range into equal intervals 
	of a size specified in semitones.  The interval used here 
	was 3 (a minor third), but note that fractional semitones 
	may be used.  Thus 0.5 would provide a filter bank of 
	quarter tones: ½ a semitone, or 50 cents, so there 
	are many possibilities to explore. | 
| Batch Files / HOUSEKEEP 
BATCHEXPAND: .bat | 
Batch Files are actually a type of Preset that can 
run a whole series of processes.  This can be a powerful way 
to build up and run libraries of complex processing sequences. 
	Batch files are normal text files, with a special 
	suffix that identifies it.  This suffix is .bat on PCs.  
	In Sound Loom this mechanism is called Instruments.They contain 'commands', which are calls to executable 
	program modules.  The program name and its parameters are 
	given on a separate line of the batch file.  These are called 
	'command lines'.  They appear in the example below as the 
	lines that are not comments ('rem').Note that you have to let a command line wrap  
	carriage returns in the text file cause the command to 
	terminate at that point.  That is why copies of Batch Files 
	that need to have carriage returns in order to print 
	properly have to be separate.'echo on' and 'echo off' are commands belonging to 
	MSDOS itself.  They switch on and off displaying the 
	Batch File on-screen as it runs so that you can watch 
	its progress.A Batch File is run by a Command Line Interpreter, such 
	as MSDOS.'rem' statements are comments that can be put into the 
	text of the Batch File to help explain what it is and what 
	it is doing  vital to document your work.The Batch File below is an edited version of the 
	History File produced 
	automatically by Soundshaper as the programs were run.Note that the full path has been removed, leaving only 
	the names of the soundfiles.  This is because you go to 
	the directory where the soundfiles (and Batch Files) reside 
	in order to use the Batch Files, i.e., the 'current 
	directory'.  MSDOS always looks in the current directory 
	first, so there is no need for the full path.  More than 
	that, it can only find executable programs somewhere else 
	(as specified in the 'path').  All the files needed by these 
	programs (Batch, Breakpoint, other Text files etc.) have 
	to be in the current directory. 
An Example Batch File
rem rmrepeat.bat - batch file from Soundshaper rmrepeat.hst
rem This batch file chains 3 functions to produce a churning 
rem   and deeply sonorous result.
rem Date/Time: 16/08/04 21:54:34
echo on
rem MODIFY RADICAL:  Mode 5 is Ring Modulation, Mod Freq is 1000
rem (1000 is higher than the max shown in Soundshaper, but 
rem it is accepted by the program)
modify radical 5  "asrcmix.wav"  "asmrm.wav"  1000
rem (the speech part of the source was most affected)
rem DISTORT REPEAT: Parameters: Multiplier and Cyclecount
distort repeat  "asmrm.wav"  "asmrmrpt.wav"  2  2
rem (this doubles the lengths and roughs it up a lot!)
rem MODIFY SPEED: lowered by 11 semitones
modify speed 2  "asmrmrpt.wav"  "asmrmrptd11.wav"  -11 
rem (nearly doubles the length again, deepening and smoothing)
echo off
 
HOUSEKEEP BATCHEXPAND is used to alter existing batchfiles.  You can 
supply new sounds and parameter values to batchfiles which use the 
same command repeatedly, or at least the same parameter in the same 
column, in order quickly to ring the changes on one or several sounds.  
It will not handle the complex batchfiles illustrated above.
	 
	You might want to refer back to the 
Reference Manual text for this one.In Mode 1:
		
		there is one soundfile in the existing batchfileone, two or more soundfiles may be input to BATCHEXPANDthe datafile can have 1, 2 or more parameter valueseach parameter value is applied to each soundfile in turnthus the number of output soundfiles is soundfiles_in x 
		data_valuesExisting batchfile and other inputs:
Existing Batchfile:
modify speed 2 infile outfile -3  [one input soundfile]
Soundfile Inputs to HOUSEKEEP BATCHEXPAND:
filea fileb  [two or more infiles are OK]
Datafile:  [two different values for the same parameter]
 7
10
The resulting output batchfile will look like this: 
modify speed 2 filea outfile1  7  [each parameter value is applied to filea]
modify speed 2 filea outfile2 10
modify speed 2 fileb outfile3  7  [each parameter value is applied to fileb]
modify speed 2 fileb outfile4 10
In Mode 2:
		
		there may be more than one soundfile used in the existing 
		batchfileyou supply a matching number of soundfiles to BATCHEXPANDthe datafile can have the same or different parameter 
		values, but the number of values must match the number of soundfileseach successive parameter value is applied to each successive 
		soundfile, in the same orderExisting batchfile and other inputs:
Existing Batchfile:
modify speed 2 sound1 outfile1 2  [only a single line]
Input soundfiles to HOUSEKEEP BATCHEXPAND:
infilea infileb infilec  [3 infiles, one could be the same                       
                         as that in the batchfile]
Datafile:  [3 different parameter values are supplied]
 7
10
-5
The resulting output batchfile will look like this:
modify speed 2 infilea outfile1 7  [each parameter value 
is applied once to each soundfile in the same order]
modify speed 2 infileb outfile2 10
modify speed 2 infilec outfile3 -5
 | 
| The Breakpoint Text 
File: .brk or .txt | 
| 
[time value]
0.0    0
4.5   12
AND
[time value]
0.0    0
1.99   0
2.0   12
4.5    0
 ![[graphic diagrams]](images/bpfiles.gif) 
 Sketches of .brk files
 | Also known as 'automation', 'breakpoint' is a generic 
term for all the files that apply different values at different 
times to program parameters during processing.  Thus 
the parameter is said to change over time, to be 'time-varying', 
creating movement and direction where otherwise there would only 
be a steady state.  Change over time is a vital feature of music, 
making it supple and alive, so this is a very important aspect of 
musical software, one supported extensively in the CDP System. 
	As text files, they can be accessed and edited 
	with any text editor  but not a word processor that 
	will put hidden style characters into the file.  Graphic 
	editors are also available.Sound Loom only accepts .txt as the extension 
	for a breakpoint file.  (Soundshaper and the Command Line 
	also accept .brk.)These files contain time value pairs (sometimes 
	there are two values), indicating which value to use at 
	which time.Most CDP programs now allow the insertion of comments 
	into the file.  These must begin with a semicolon: 
	';' as in ;transpos6.brk, the name 
	of the file, or;holds the value until this time, 
	etc.Breakpoint files change the direction of flow when 
	a different value is used at a different time.In the upper example, the value controls transposition 
	in semitones, so at time 0 there is 0 (no) transposition 
	and at time 4.5, the sound is 12 semitones higher.  
	Inbetween these times, the software 
	interpolates 
	intermediate values, creating a glissando.  All CDP 
	breakpoint files interpolate when there are different 
	values at different times.The lower example shows how you control instant change: 
	the same value is used at the beginning and end of 
	different adjacent times, and then an instant later a 
	new time and a new value is given.  The time difference 
	here is 0.01 second, but it could be shorter, such as 
	0.001 second, as long as it is a different time.  It is 
	not advisable to make it too short, as speaker cone response 
	may not cooperate.Special Sound Loom note: If you use a breakpoint 
	file in Sound Loom that was not made within Sound Loom, 
	it may not be recognised as a valid file.  To fix this, you can 
	select the file and click on the UPDATE button and Sound Loom 
	will add it to its internal database of files:  WORKSPACE - 
	SELECTED FILES ONLY - PROPERTIES, SORT, UPDATE - UPDATA DATA. | 
| Clicks file for 
SYNTH CLICKS: .txt | 
| 
[Ex1 - 2 fields]
1  TIME  6.0
2  GP 1 2
[Ex2 - 3 fields]
1  0.5=72 3:8 3
2  1=90   4:4 2
[Ex3 - 4 fields]
1  0.5=60 6:8 2 1..1..
2  0.5=120 6:8 2 1.1.1.
3  0.5=120to60 6:8 2 100100
 | Here we have another inventive file format from Trevor, 
to handle the creation of click tracks with a number of 
different features. 
	The Clickfile is a text text file.Lines in the file are numbered, and the appear one 
	after another in the output soundfile, not simultaneously.The 2 field option is for specifying (jumps to) 
	time points in seconds or General Pauses (GP).  
	Whatever follows in the next line of the clickfile will begin 
	at that point.  In our first example, what begins is a 2 sec. 
	General Pause with an accent at its start (0 = no 
	accent, 1 = accent).  Note that line numbers are also used.In the 3 field option the data is: Line_number, 
	note_value (i.e., its duration in seconds)=tempo (beats per minute), 
	meter (number of beats:note_value  no spaces around the colon 
	':'), number_of_bars.In the 4 field option the data is: Line_number, 
	note_value=tempo, meter, number_of_bars, accent_pattern.Tempo can be set to change over time:  first_tempo to
	second_tempo, e.g., '60to120' will gradually increase the tempo from 
	note_value=60 to note_value=120 (beats per minute), gradually 
	during the course of the number_of_bars.In the accent_pattern format, an initial '1' is a strong beat, 
	a subsequent '1' is a secondary (less accented) beat, a '.' is a 
	weak beat, and a '0' is no beat. | 
| Createfile 
for ENVEL CREATE: .txt | 
| 
[INPUT: createfile:]
[time [e]amplitude]
0.0    0.0
0.3   e0.5	
0.6    0.5
1.0   e1.0
1.3    1.0
1.7   e0.0
[OUTPUT: envelope file]
[time       level]
0.000000    0.000000
0.018755    0.004487
0.037600    0.014579
0.056255    0.025545
0.076000    0.047366
0.093755    0.069217
0.112600    0.094368
0.131255    0.122640
0.160000    0.153893
0.168755    0.186009
0.187600    0.224888
0.206255    0.264444
0.226000    0.306551
0.243755    0.351293
0.262600    0.398459
0.281255    0.454545
0.300000    0.600000
0.600000    0.600000
etc.
 | These files use a special format to define an envelope 
that is then to be constructed by ENVEL CREATE. 
	Basically, the createfile is a text file.Createfile is the input and the ENVEL CREATE then 
	generates the envelope file as the output, which 
	can be binary (Mode 1) or breakpoint 
	(Mode 2).It also (optionally) uses the letter 'e' to signal an 
	exponential curve, 
	rather than the linear one used by default.  Note how the 
	example file places the 'e' before the second value.  Thus 
	the file begins at time 0.0, value 0 (no 
	transposition).  Then at time 0.3, the value 
	is given as 'e0.5': i.e., it will move from 0 to 0.5 along 
	an exponential curve.These files follow the normal rules for 
	breakpoint files about 
	interpolation between different values at different times.Thus the createfile in our example specifies that the 
	amplitude rise on an exponential curve from 0 to ½ amplitude 
	over the first 0.3 seconds and then remain at this amplitude 
	until 0.6 seconds.Only this portion of the envelope file created is 
	shown.  Note how the amplitude values rise in increasing amounts 
	(the exponential curve): 0.0 + 0.004 + 0.010 + 
	0.015 + 0.018 +	0.022 etc.The envelope file created can be used as an input to 
	several different processes, particularly 
	ENVELOPE IMPOSE. | 
| Datafile for 
FILTER ITERATED: .txt | 
| FILTER ITERATED repeats the input sound, re-filtering it 
on each repeat according to the information in the frequency bank 
datafile.  Thus the sound fades away in a wash of its own 
resonance.  Mode 1 handles frequency in Hz and there are 6 
modes, matching the modes of FILTER 
BANKFRQS which produces lists of frequencies.  You need to 
edit these files to add amplitude data, either numeric (0.00100 to 
10000) or in dB, such as '-3dB'.  The following lists the 6 output 
examples from FILTER BANKFRQS, with dB information added.
[M1-HARMONIC]     [M2-ALTERNATE] [M3-SUBHARMONIC]
100.000000 3dB    100.00000 3dB  1000.000000 -3dB
200.000000 3dB    300.00000 3dB  500.000000 -3dB
300.000000 3dB    500.00000 3dB  333.333333 -3dB
400.000000 6dB    700.00000 3dB  250.000000 -3dB
500.000000 6dB    900.00000 3dB  200.000000 -6dB
600.000000 6dB                   166.666667 -6dB
700.000000 9dB                   142.857143 -9dB
800.000000 9dB                   125.000000 -9dB
900.000000 9dB                   111.111111 -12dB
[M4-OFFSET]       [M5-EQ INTERVALS] [M6-INTERVAL SIZE]
100.000000 3dB    100.000000 3dB    100.000000 3dB
244.000000 3dB    121.152766 3dB    118.920712 3dB
344.000000 3dB    146.779927 3dB    141.421356 3dB
444.000000 3dB    177.827941 3dB    168.179283 3dB
544.000000 3dB    215.443469 3dB    200.000000 3dB
644.000000 3dB    261.015722 3dB    237.841423 3dB
744.000000 3dB    316.227766 3dB    282.842712 3dB
844.000000 3dB    383.118685 3dB    336.358566 3dB
944.000000 3dB    464.158883 3dB    400.000000 3dB
                  562.341325 3dB    475.682846 3dB
                  681.292069 3dB    565.685425 3dB
                  825.404185 3dB    672.717132 3dB
                                    800.000000 3dB
                                    951.365692 3dB
	These are text files.The FILTER 
	BANKFRQS section gives more information on 
	how these lists of frequencies were created.This datafile enables you to approach 
	the task of iterative filtering with enormous 
	flexibility and options for fine-tuning the 
	results.The dB values given here only mildly affect 
	the results.  You can use higher (or lower) values 
	to bring out more resonance or emphasise certain 
	bands.You can also write your own datafile 
	to meet specific objectives. | 
| Datafile for 
FILTER USERBANK: .txt | 
| 
131.8  18dB
158.0  18dB
197.0  18dB
245.7  18dB
263.6  16dB
316.0  16dB
394.0  16dB
491.4  16dB
527.2  14dB
632.0  14dB
788.0  14dB
982.8  14dB
1054.4 12dB
1264.0 12dB
1576.0 12dB
1965.5 12dB
2108.8 10dB
2528.0 10dB
3152.0 10dB
3931.2 10dB
 | The datafile input for FILTER USERBANK is the 
same as that for FILTER ITERATED.  Containing frequency 
amplitude pairs of values on each line, it can be written 
from scratch by hand or produced by 
FILTER BANKFRQS.  FILTER 
USERBANK is especially good for harmonising sounds.  The 
example file was written 'by hand' and defines a C-minor 
chord with major 7th (C-Eb-G-B-natural) through 
several octaves (slightly detuned).
	
	The datafiletext file.Comments may be used   begin the line with a semicolon: ';'Filter frequency values can also be entered as 
	MIDI Pitch Values (0 to 127 range)  Mode 2.The amplitude of each partial is expressed in dB, and 
	the values are rather high.  They may need to be lowered 
	for some input sounds.Bear in mind the 6 modes of FILTER BANKFRQS, which 
	provide a variety of frequency lists.Q in FILTER USERBANK is critical:  higher 
	values produce more resonance.  Values between about 50 
	and 75 produce a reasonable balance between source 
	and resonance.  It all depends how clearly you would 
	like the chord to be heard.Also see PITCH TUNE for 
	Spectral Domain chordal tuning. | 
| Datafile for FILTER 
VARIBANK or VARIBANK2: .txt | 
| FILTER VARIBANK is like FILTER USERBANK except that 
it allows for time-varying movement among the frequencies.  These 
need to be handled in separate 'bands' so that the frequency 
movement is consistent.  The key, then, is a datafile 
that specifies time and then a series of frequencies and 
amplitudes to define a series of bands.  The bands thus form 
columns in the datafile.  Here is a typical example  
it is the one on the CDP Website, moving from a C-Major 
7th to an F# unison to a non-triadic 
pitch complex (C-D-F-B-C).
[Time MPV Amp   MPV Amp   MPV Amp   MPV Amp   MPV Amp]
0.00  60 -3dB   64 -3dB   67 -3dB   70 -3dB   72 -3dB
3.00  66 -1.5dB 66 -1.5dB 66 -1.5dB 66 -1.5dB 66 -1.5dB
6.25  60  0dB   62  0dB   65  0dB   71  0dB   72  0dB
[The next lines are added to the above for VARIBANK2]
#
Time Partials with Amplitude weighting]
0    1 0.3  2.237 0.4  7.615 0.8 
1    1 0.3  3.34  0   14.22  0.8 [partial 3.34 disappears]
2    1 0.3 16.3   0    8.322 0.8 [partial 16.3 disappears]
3    1 0.3 22.6   0.4  7.615 0.8
 
	This datafile is also a text file.It contains several lines, with a time and the 
	centre frequencies for several bands of frequencies + 
	amplitudes in each line.Comments may be used   begin the line with a semicolon: ';'The frequency bands can be expressed in Hz (Mode 1) or 
	as MIDI Pitch Values (Mode 2).  The latter use the MIDI 
	0 to 127 range and can be fractional, i.e., microtonal.Amplitude settings are influenced by the level of signal 
	of the input soundfile.  They can be entered numerically 
	(range: 0.00100 to 10000) or in dB (note that the 'dB' is 
	written as well).Note that, like all breakpoint 
	files, the program interpolates between values unless 
	values hold across different time points and then change at 
	virtually, not note completely, simultaneous time points.  Thus 
	you can have glissandi or discretely separate pitches.Also note that Q is also time-varying in this 
	program, making FILTER VARIBANK one of the most powerful 
	in CDP's range of filter programs.The VARIBANK2 alternative program enables you to add 
	time partials - amplitude data.  The '#' sign signals to the 
	program that this extra information will follow.  The partials 
	can be expressed as ANY number, and they can be the same or different 
	on consecutive lines (the first partial stays the same in the 
	example above, and the others change.  Amplitude values above 0 represent 
	their amplitude weighting.  Enter 0 as the amplitude value if you 
	want to skip a partial at a particular time.  After the time, 
	the remainder of these lines comprise value pairs for partial 
	number (which may be fractional) and amplitude weight 
	(0 to 1 scale).  Each partial-data line must have the same 
	number of entries. | 
| Envelope file 
from ENVEL EXTRACT/CREATE: .evl or .brk | 
| 
[time      amplitude]
1.150193   0.105591
1.156008   0.202057
1.166553   0.265747
1.172558   0.275177
1.178413   0.254211
1.184218   0.233215
1.160023   0.545950
1.195828   0.600115
1.201633   0.511597
1.207438   0.443115
1.213243   0.349551
1.215048   0.427551
1.224853   0.592651
1.230658   0.512421
1.236463   0.600028
1.242268   0.523987
1.254573   0.561859
1.253878   0.578491
1.259683   0.555576
1.265488   0.588898
1.271293   0.586761
1.275598   0.516001
1.282553   0.451141
1.288558   0.336548
1.294513   0.242188
1.300318   0.287323
 | An envelope file traces the contour formed by the 
amplitude level of samples in a digital sound file.  It is not 
generally considered necessary to have a 'reading' for every 
sample.  Rather, the (absoslute) maximum of n samples is 
taken.  Our documentation refers to these groups of samples 
as 'windows', which are not, of course, the same as analysis 
windows.  The default windowsize is 5 samples.  Thus 5 samples 
are read as a group, and the absolute maximum value is taken: 
i.e., groups of 5 samples are taken. 
	It can be binary (.env) or text (.brk)The example on the left shows times and amplitude values 
	for a windowsize of 5 (samples), i.e., groups of 5 
	samples are used  lasting for less than 0.005 or 
	0.006 sec.  If less resolution is needed, this windowsize 
	can be larger  let your ear be the guide.These envelopes can be created by hand as a text file, 
	created by hand using the special 
	createfile format (also allows exponential 
	curves), or extracted from existing soundfiles by using 
	ENVEL EXTRACT.In both ENVEL CREATE and ENVEL EXTRACT, Mode 1 
	creates the binary (.env) file and Mode 2 
	creates the breakpoint (.brk) file.Note the low amplitude values:  they are scaled between 
	0 and 1.  If you multiply them by 32,000, you would get the 
	equivalent (which could be + or -) on the -32766 to 
	+32767 scale.  For example, 0.523 at 1.24 seconds becomes 
	17,137.  From CDP Release 5, only the 0.0 to 1.0 scale is 
	used, and any necessary conversions are done internally.These envelope files, whether binary or breakpoint, can be  
	imposed on other files, further massaged with functions such as 
	DOVETAIL and RESHAPE, and converted to other values.  Also 
	note how COLUMNS (Table Editor in Sound Loom) can be 
	used to reshape envelope breakpoint files in many, many ways.  
	Envelope functions are a central part of any electroacoustic software 
	for sounds.ENVEL EXTRACT derives its envelope from an existing sound.  ENVEL 
	CREATE derives its envelope from a special text file, called a 
	createfile, described 
	separately. | 
| Fader files 
(Balance and Envelope) for SUBMIX FADERS: .txt | 
| 
[Balance file]
0.00  .1 .3 .5 .7 .9
1.25  .9 .7 .5 .3 .1
3.20  .5 .5 .5 .5 .5
4.60  .1 .3 .5 .7 .9
7.50  .9 .7 .5 .3 .1
[Envelope file]
0.0	0.2
3.8	1.0
7.5	0.2
 | There is a lot of potential for developing this program, 
because it provides the basis for an algorithmic handling of 
mix levels.  SUBMIX FADERS uses two files:  a balance_data 
file and an envelope_data file.  The former defines the 
level for each sound in the mix at a specified time.  The 
latter provides an amplitude envelope for the mix as a whole. 
	These two files are text breakpoint files.Each line in the Balance File contains a 
	time followed by a series of levels, one 
	for each sound in the mix.The envelope_file is like all 
	amplitude envelope files, 
	providing time level pairs to define the envelope.The level range for these files is 0 to 1.You can think of each level on the 0 to 1 scale.  The 
	program re-scales them within the context of the mix so that 
	nothing exceeds 1.0 (full amplitude).The program interpolates (makes the changes gradual) 
	between the level values listed for different times.
	The example balance file creates a see-saw 
	effect, gradually changing the relative emphasis of the 
	files at the top of the list and those at the bottom.The envelope file fades the whole mix up and down  
	from a low amplitude to full amplitude and back.It would be interesting to write some scripts for 
	Tabula Vigilans to produce algorithmically generated 
	balance files. | 
| Formant 
files created by FORMANTS GET: .for | 
| 
Formants are a key element in certain kinds of sounds.
	
	Here we have a binary file created by the 
	FORMANTS GET function.It contains formants data, i.e., the resonant 
	frequencies of the sound.This data is particularly relevant to vocal and 
	pitched sounds.It enables the tonal qualities of the sound to 
	be reproduced when transposing, just as, when you 
	sing a scale, your voice remains recognisable.To assist the processing, you are asked to decide 
	whether to use a frequency (-f) or a 
	pitch (-p) extraction method.  
	Further information 
	about these two methods is given in the Reference Manual. | 
| Freeze Files for 
FOCUS FREEZE: .txt | 
| 
The freeze file for FOCUS FREEZE is similar to the 
hold file for FOCUS 
HOLD except that the frozen window can be applied either 
forwards (a) or backwards (b) in time.
[time	explanation]
a1.0 freeze window at time 1.0
 2.0 unfreeze it
b3.0 freeze window at time 3.0 and start using it at time 2.0
a3.4 3.0 to 3.4 is normal, then frz window at time 3.4
 3.7 unfreeze it, normal until time 3.9
a3.9 freeze window at time 3.9
 4.0 unfreeze it - will remain normal to end of file
 
	This is a text file using special letter codes 
	to indicate 'forwards' (a) or 'backwards' (b).
	Forwards means use the window at that time 
	and freeze until the next time, when it will either be 
	unfrozen or a new window frozen (2 a's in a 
	row).Backwards means use the window at that time 
	and start applying it from the previously unfrozen 
	time.b cannot follow a consecutively, 
	because it would mean using two different windows at 
	the same time.The backwards option enables you to use a part of 
	the sound that occurs later in the soundfile, rather 
	than being restricted to adjacent times.The result is in effect a 
	sample-hold 
	operation, but you have control over how to shape it 
	rhythmically.  This example uses a variety of rhythms.Also see FOCUS HOLD and FOCUS STEP.
	 | 
| Grain Find 
output textfile: .txt | 
| 
[grain onset times]
0.438118
0.683288
1.010816
1.126259
1.663447
1.756576
1.846003
2.848955
2.969388
3.061293
3.144467
3.220975
3.338571
3.512132
etc.
 | GRAIN FIND searches for grains in the input soundfile, 
with gate (level) and minhole (size of gap between 
grains) parameters to adjust the search.  It produces a textfile 
containing the start times for all the grains found, as illustrated. 
	This output file is a text file.The grain onset times are given in seconds.This file can be used as an input to 
	GRAIN REPOSITION 
	and then edited to create a new set of onset times.It can be useful to compare the results of GRAIN 
	FIND before and after granulating the input soundfile.GRAIN FIND in this case found 34 grains.  Only the 
	first 14 are shown in the example.The GRAIN programs have been designed to 
	work with naturally grainy sounds, but they can also be 
	used with sounds that you have granulated, e.g., with 
	MODIFY BRASSAGE, Mode 5. | 
| Grain Remotif 
Files: .txt | 
| 
[tran duration]
 0    1.0
 2    1.1
 4    1.2
 5    1.3
 0    1.5
-2    1.4
-4    1.3
-5    1.1
 | GRAIN REMOTIF requires in input text file containing 
transposition (in semitones) and duration values. 
	This is a text file.The transpositions affect the pitch level of the grains 
	and are given in postive (upwards) and negative (downwards) 
	semitones, which may be fractional;  0 = no pitch change.  
	Pitch levels can be altered up to 4 octaves in either 
	direction.The durations affect the length of time between the 
	grains, with values > 1 increasing the length and 
	values < 1 reducing the length.  The range is generous 
	but be warned that values above 1 soon make the gaps 
	excessively large.  This is why the example file keeps 
	the duration multipliers very close to 1.You may need to granulate the input before the various 
	GRAIN operations work effectively.  I got a good result 
	when I ran MODIFY BRASSAGE Mode 5 with a 
	density of 0.8. | 
| GRAIN 
REORDER Codes | 
| 
acegik:f
 | GRAIN REORDER does NOT take an input text file.  In 
this case, a pattern is coded as illustrated and entered as the 
code parameter. 
	Like the Shuffle codes, 
	they rearrange the order of parts of the sound, in this case 
	grains.The format is a little different than the shuffle files.  
	Here the pattern separated is a colon (:), which 
	is mandatory.  In the example, every other grain is used 
	for the pattern: grains 1-3-5-7-9-11.  The colon marks the 
	end of the pattern.  After the colon, 'f' means that the 
	pattern is to begin again at grain 6.You have to be careful that the input sound contains 
	clear grains in order to have an effective reordering of 
	those grains. | 
| Grain 
Repitch Files: .txt | 
GRAIN REPITCH requires an input text file supplying a series 
of transposition values in semitones.
[Semitone transposition sequence]
1.0 2.0 3.0 4.0 -1.0 -2.0 -3.0 -4.0
[OR: with fractional semitones]
1.0 2.2 3.5 4.0 -1.0 -2.3 -3.6 -4.0
 
	This input file is a text file.Upwards transposition is a postive number, and downwards 
	is a negative number;  0 is no change.  As illustrated, the 
	semitone value can be fractional to achieve microtonal 
	changes.You really have to try this function in both its modes: 
	Mode 1 to cycle around the input textfile, 
	applying the first transposition to grain 1, the second to 
	grain 2, etc., and Mode 2 to repeat the whole 
	transposition sequence on each grain in turn.  The latter 
	lengthens the output considerably, but does make the pattern 
	more audible because the whole pattern uses the same sonic 
	grain before it continues to the next grain. | 
| Grain 
Reposition Files: .txt | 
| 
[grain onset times]
0.438118
0.683288
1.010816
1.326259
1.663447
1.956576
2.446003
2.848955
2.969388
3.061293
3.244467
3.600975
3.638571
3.812132
etc.
 | GRAIN REPOSITION requires an input text file giving 
a set of grain onset times. 
	This file is a text file.The most practical way to use this function is to 
	create a text file of onset times for a given sound 
	with GRAIN FIND and then 
	edit it to reposition the grains in times.This is what I have done here, spreading out the 
	grains more evenly than in the original  this 
	increases the size of a number of the intergrain gaps.This gives a very 'hands on' access to the placement 
	of the grains, enabling to you massage the data any way 
	you wish, such as creating little rhythmic features, 
	making big gaps etc.Compare this with 
	GRAIN RERHYTHM.Another important use of GRAIN REPOSITION is that 
	it allows you to synchronise the grains in two 
	different sounds by extracting the grain positions in 
	the first sound, and applying them to the second sound.  
	There are also functions in the Sound Loom 
	Table Editor that allow you to morph between an 
	arbitrary sequence of grain times (e.g., extracted 
	from a naturally grainy sound) and any rhythmic pattern 
	you want, the pattern morph happening gradually over 
	time. | 
| Grain 
Rerhythm Files: .txt | 
| 
[gap multipliers]
1.5
2.0
2.5
3.0
3.5
 | In GRAIN RERHYTHM, the text file that you create to 
give to the program contains intergrain gap multipliers. 
	It is a text file.In the example, the gaps between the grains are 
	steadily increased.What it is doing can most easily be heard in 
	Mode 2 (repeat whole pattern on each grain), 
	but you will find that even these low values create 
	rather large gaps.The input was granulated (density = 0.8) 
	before running GRAIN RERHYTHM.Compare with  
	GRAIN REPOSITION which allows direct access to 
	each grain onset time. | 
| Graphic EQ file 
for HILITE GREQ: .txt | 
| 
[Mode 1: bw + frqs]
0.75 100 300 500 700 etc.
[Mode 2: bw + frq pairs]
0.25  100
0.50  300
0.75  500
1.00  700
1.25  900
1.50 1100
1.75 1300
2.00 1500
 | GREQ is short for 'Graphic Equaliser'.  These normally work 
with sliders for equally spaced bands.  Here, Mode 1 enables you 
to set both the width of the band and where the centre frequencies 
of the bands are located.  In Mode 2, you can made the bandwidth 
of each band different.  This data is supplied in what the 
program calls a filtfile, as shown in the examples. 
	Filtfile is a text file.The bandwidth is set in octaves.  This means 
	multiples or divisions of an octave.  Thus 0.5 would 
	be ½ an octave, i.e., 6 semitones wide, while 
	2.0 would mean a bandwidth of 2 octaves, i.e., 
	24 semitones.Making the centre frequencies equally spaced is 
	close to the normal way of using a graphic equaliser, 
	but you are free to do otherwise.  It may be useful 
	to place the centre frequencies in the middle of the 
	peak energy bands 
	displayed by the output of HILITE BAND.The most effective way to use this program would be 
	to build up your own library of filtfiles to 
	achieve different types of filtering:  different 
	bandwidths, different spacing of the centre frequencies, 
	and different frequency areas of the sound (low, middle, 
	high).Also note that there is a band reject option. | 
| History Files made by 
Soundshaper & Sound Loom: .hst/2004 | 
As you work with Soundshaper, it maintains a 
record of the programs you have called and the parameter 
values you have used.  These are saved as 'History' files. 
	They are in text format, so they can be accessed, 
	viewed and edited with a normal text editor.The automatic filename in Soundshaper is in 
	Year-Month-Day format, e.g., 2016_04_08.hst.  
	You can save the file to a different name before 
	Saving takes place.  For example, you might prefer 
	08Apr16.hst to make it easier to identify.The history files in Sound Loom are stored in a 
	private directory, you do not have to take any action to 
	save them, and you are advised NOT to edit them.  
	This file is updated automatically as you work.  There is 
	an internal checking system, and damaged files will be 
	detected and presented to you for potential deletion.The Sound Loom naming convention ends with the 
	year: e.g., Mar22_16-01.2004.You are prompted to save your History before exiting from 
	Soundshaper.NB: If you re-load Soundshaper on the same 
	day (i.e., before Midnight) and do some more work, SAVE to 
	a slightly altered name (.e.g, add 'b') lest it overwrite 
	the previous History file from that day.As the name of the file includes the date, it is easy 
	to connect it with your working Day Book record  a 
	recommended procedure to facilitate building on previous 
	successful results.Besides keeping a record of your work, you can edit your 
	History file to turn it into a Batch 
	File. The Soundshaper History file shows the 
	CDP Program and the parameter values used for each  
	Command Line.
	You simply have to supply names for the infile and outfile, as appropriate.For example, the History record:
 
 
	   CDP Prog:  extend zigzag 1can be used to assemble a command line like:Params  :  0 3.700 10 0.05 -s15 -m1
 
 
	   extend zigzag 1 asrcmix.wav asrcmixzig.wav 0 3.700 10 0.05 -s15 -m1
 | 
| Hold file for 
FOCUS HOLD: .txt | 
| 
[time hold_duration]
0.0   0.0
2.0   2.0
3.0   3.5
4.0   5.0
5.0   2.5
6.0   2.0
7.0   1.5
 | The holdfile is straightforward:  a time 
and a length of time to hold (freeze) the spectrum. 
	It is text file.What it is doing is grabbing a single window at the 
	time indicated and sustaining it (expanding it) for 
	the length of time specified.Thus whatever is happening at that time is drawn 
	out.  This material can be CUT and used elsewhere.Rhythms and patterns, such as the expanding and 
	contracting times in the example file, can be created, 
	tying in with similar shapes in the composition. | 
| Maximum Sample 
File output by SNDINFO MAXSAMP: .txt | 
SNDINFO MAXSAMP supplies information about the 
highest amplitude levels in a soundfile.  This information 
can be displayed onscreen, or written to a text file, as 
illustrated here.
maximum absolute value: 20913
at: ................... 127233 smps  
time: ................. 2.8851 secs
repeated: ............. 1 times
maximum possible gain:. 1.5668
maximum dB gain:.. .....3.6004
 
	This is a text file.The amplitude range used is the -32768 to 32767 scale.Since CDP Release 5, the amplitude range used is -1.0 to 1.0.  
	In the example above, therefore, the maximum absolute value would 
	be shown as 0.834192.It shows when this maximum sample first appeared and 
	how many times it occurs again.The 'max possible gain' tells you the highest 
	gain factor that can be applied (MODIFY LOUDNESS 
	Mode 1) without going above the upper amplitude 
	limit, i.e., 
	overloading.  It is wise to use a gain value 
	a little less than the maximum.It also displays the maximum gain in decibels, which 
	can be used in MODIFY LOUDNESS Mode 2. | 
| MIDI Pitch 
Data File for REPITCH GENERATE: .txt | 
| 
[time pitch]
0.0   55
1.0   62.5
2.0   F0
3.0   G#0
4.0   Bb0
 | Rather than producing a (binary) 
pitch data file by 
extracting a pitch trace from a sound, you have the option to generate 
one to a design of your own making.  This design is specified in the 
MIDI pitch data file.  REPITCH GENERATE uses this input to 
create the pitch data file. 
	This text file has time pitch pairs.Pitch can be expressed as MIDI Pitch Values  see the 
	Chart of Equivalent Pitch 
	Notations.In Sound Loom the Music Calculator enables 
	you to convert pitch notation, MIDI, and frequency values to 
	one another.  Also, the Table Editor converts tables 
	of pitch-text-notation, MIDI Pitch Values, and frequency 
	values.They can also be expressed as Capital Letters (A through G) 
	followed by '#' for sharps or 'b' for flats AND, without a 
	space, an octave indicator.  In the example the octave indicator 
	is 0, meaning Middle C.  It can also be down or up as much as 
	5 octaves:  octave range is -5 to 5, e.g., 'F-1, G0 and Bb1.The output of REPITCH GENERATE is a (binary) pitch data 
	file, which can be used as an input to many other REPITCH 
	functions, notably COMBINE (Modes 1-2) and the pitch 
	trace massaging functions, summarised on the 
	Chart of Transposition & Shifting Inputs and 
	Outputs.Note that it is the .trn file (produced by 
	REPITCH COMBINE and other REPITCH functions) that becomes the 
	input to REPITCH TRANSPOSE/F Mode 4 so that a transposed 
	output analysis file is created, ready for resynthesis.Remember these 4 steps and the whole REPITCH function set 
	becomes clear:
 
		Make a pitch data file (.frq) with REPITCH 
		GETPITCH or REPITCH GENERATE.Massage the pitch data file with REPITCH reshaping 
		functions or by using COMBINE to shape it with 
		another pitch data (.frq) or transposition 
		(.trn) file.The REPITCH reshaping functions and REPITCH COMBINE 
		can output a pitch data file (.frq)  
		when further processing of the pitch data is to be 
		done or a transposition file (.trn).It is the transposition file (.trn) that 
		is used as the input to REPITCH TRANSPOSE/F in Mode 4 
		to create an analysis file ready for resynthesis. | 
| Mixfiles for
SUBMIX MIX: .mix and NEWMIX MULTICHAN: .mmx | 
| 
The CDP mixfile assembles sounds, 
at specified times, amplitude levels and pan positions.
[Path Soundfile Starttime Chans Level-1 Pan-1 Level-2 Pan-2]
d:\cc\a.wav     0.0       2     -3dB    -1    -3dB    1
d:\cc\b.wav     4.3       2     -3dB
d:\cc\c.wav     9.0       2     -3dB     R    -3dB    L
d:\cc\d.wav     5.8       1     -3dB     C
Note c.wav: times can be in any order in the mixfile; also, 
the Left input is sent to the Right, and the Right input is 
sent to the Left.
 
	It is a text file that can be written by hand or 
	by SUBMIX DUMMY program.
 
The fields from left to right, for each sound, are:
		
		For all files:
		  
		  The name of the soundfile including full 
		  path and .wav or .aif extensionThe time at which the sound is to start 
		  playing in the mixThe number of channels of the soundFor mono files:
		  
		  The level of the sound (as a gain between 
		  0 and 1 or a dB value, where 0dB = full amplitude)The  pan position of the sound in the 
		  stereo space.  C represents the Centre, 
		  L the Left and R the Right.  Otherwise, 
		  pan values run continuously from -1 (full Left) 
		  to 1 (full Right), and lower (and higher) values 
		  will locate the output in the left (right) loudspeaker 
		  but attenuated, giving the impression of being beyond 
		  the speaker position.For stereo files:Either
 
		  The overall level of the file, played in the 
		  same stereo format as the input (no additional pan and 
		  level information is required, as for b.wav in 
		  the example mixfile)Or
		  
		  the level of the Left input channel of the 
		  stereo signal (0-1 or dB)the position in the output of the Left input 
		  channel of the stereo signal (0 to 1 etc. as above)the level of the Right input channel of the 
		  stereo signal (0-1 or dB)the position in the output of the Right input 
		  channel of the stereo signal (0 to 1 etc. as above) 
 
You are recommended to have your working directories at the 
	top level of your drive (\cc at the top level of Drive D: in 
	the example) in order to reduce the lengths of paths that come up 
	here and elsewhere within the CDP software.Note that the pan facilities in the mixfile position the 
	signal in the output in a fixed way.  This means that time-varying 
	pan (the sounds move about between the loudspeakers) needs 
	to be done prior to mixing.  Then
		
		either omit pan information as in b.wav in the 
		example so that the stereo format of the input is accepted 
		as is,or give Left and Right pan positions to specify the width 
		of the stereo field to be used.A rough sketch of the mix indicating file lengths helps clarify 
	how the sounds will overlap.  This helps you to decide on start times 
	and levels: more amplitude reduction may be needed if there is 
	considerable overlap.Both Soundshaper and Sound Loom have mechanisms 
	for assembling mixfiles.  The CDP software also offers powerful 
	facilities for subtly reshaping mixfiles (in terms of timings, 
	file order, and spatial positioning).  The QikEdit facility 
	on the Sound Loom gives rapid access to these editing 
	functions.The CDP mixfile procedure is simple enough, but many 
	prefer to move their CDP-processed sounds into an audio sequencer 
	for assembly.  I (TW) could add, however, "that the CDP approach leads 
	to a different style of compositional assembly, in which 
		
		without the illusion that one is dealing with a set number of 
	'tracks'.  For me this is a more natural way to make music, but 
	I understand why people go for the multitrack option."  This is 
	an interesting remark because it exactly describes how I (AE) put 
	together Crossing the Dark Rift with many levels of mixes 
	of mixes and why I, also, don't really feel attracted to the 
	track-based audio sequencer.  If anything, my future direction 
	is more likely to be towards developing scripts for algorithmic 
	mixing in Tabula Vigilans.complex sounds are mixed out of simpler ones,phrases constructed (mixed) out of sounds,sections out of phrasesand pieces out of sectionsFinally, mention should be made of the semi-algorithmic mixing 
	facilities of the TEXTURE Set. | 
| The .mmx mixfiles | 
| The multi-channel mixfile, for which we use the extension .mmx, does not differ all that much from the standard mixfile .mix for mono and stereo soundfiles.  The distinguishing features are these: 
	Here, then, is an example multi-channel mixfile .mmx.  The very first line specifies the number of channels that there will be in the output multi-channel soundfile, in this case, 5.The very first line of the mixfile states the number of channels that there are to be in the resultant output multi-channel soundfile.Both mono and multi-channel soundfiles (2 or more channels) can be used as input soundfiles.Channel routing information in the form IN-channel:OUT-channel.  For example, if you want to place channel 2 of an input soundfile into channel 7 of the resulting output multi-channel soundfile, you put 2:7in the mixfile.  It can be assigned to the same channel, as in2:2, and the same input channel can be assigned to more than one output channel.The number of channels in the output soundfile has to match the input soundfile with the most channels.  If the input soundfile has 8 channels, so must the output soundfile.  However, not all channels of the input soundfile need to be assigned.  You could assign only channels 3 and 5 of the input soundfile (e.g., 3:4, 5:8, and if this is all you did, only channels 4 and 8 of the output soundfile would contain signal  the others would be silent.  Unlikely, but it illustrates the point.There is also an amplitude level setting in the 0 to 1 range for each channelThere is no PAN information.  This can be applied to each input soundfile separately, either with MODIFY SPACE or with MCHANPAN as appropriate before the multi-channel mix.The levels you set in the mixfile specify the relative levels of the sounds in the mix.  Note that level is not set in a panfile, but you can apply gain to a soundfile before using it in the mix.  As usual, take into account how many soundfiles will overlap in the mix when you set your levels. 
[Path Soundfile Starttime Chans Routing Level Routing Level Routing Level Routing Level]
5
d:\cc\a.wav     0.0       2     1:1     0.3     2:4     0.3
d:\cc\b.wav     0.0       2     1:2     0.5     2:3     0.5
d:\cc\c.wav     0.0       2     1:6     0.4     2:8     0.4
d:\cc\d.wav     0.0       1     1:7     0.7
d:\cc\e.wav     0.0       1     1:5     0.6
Also see Appendix of MIX Reference file for more information about multi-channel mixfiles.. | 
| Pan breakpoint files for MCHANPAN | 
| 
[Timetime Position Direction ]
0.0       1        0
2.5       8        0
3.0       3        0
3.5       6        0
6.0       5        0
 
[Timetime Position Direction ]
0.0       1        0
2.5       8        0
3.0       3        1
3.5       6        0
6.0       5        0
 | The direction parameter can be 0 for direct movement from one speaker to the other, 1 for a clockwise rotation or -1 for an anti-clockwise rotation.  In this example all the movement is direct.  Given a speaker array setup like this: 
	            1
	         8     2
	       7         3
	         6     4
	            5
	a zig-zag movement is created.  The first move starts at time 0 and moves left from speaker 1 to speaker 8 (directly), taking 2.5 seconds to do it.  The sound then speeds to the right directly to speaker 3 in ½ sec., arriving at 3.0 seconds and then sets off to the left again, arriving at speaker 6 at 3.5 seconds.  From there it moves slowly over 2.5 seconds to the right again, arriving at speaker 5 at 6.0 seconds, where it stays until the end of the resultant 6-channel soundfile. 
 The second example makes one slight alteration in the direction parameter at time 3.0.  Instead of going directly to channel 6, it moves clockwise to channel 6:  3 ⇒ 4 ⇒ ⇒ 5 ⇒ 6, thus introducing a rapid and possibly sweep around part of the speaker array.
 
 In the multi-channel mixfile that uses this panned input, the routing will be 1:1, 2:2, 3:3, 4:4, 5:5, 6:6 to preserve the zig-zag pan pattern that has been created.
 | 
| Note Data File for 
TEXTURE MOTIFSIN: .txt | 
| 
55 67
#8
0 1 55 0 0
0 1 62 0 0
0 1 63 0 0
0 1 65 0 0
0 1 67 0 0
0 1 69 0 0
0 1 55 0 0
0 1 72 0 0
#3
0.00 1 55 55 0.5
0.34 1 62 55 0.5
0.67 1 63 55 0.5
#4
0.00 1 72 96 0.6
0.55 1 55 88 0.6
1.00 1 67 94 0.6
1.55 1 69 86 1.2
 | The Note Data Files take several different forms.  
This one, for TEXTURE MOTIFSIN (Motifs in a Harmonic Field), illustrates 
most of the basic features. 
	The Note Data File is a text file, usually given 
	a .txt extension.The first line contains a relative value for the pitch 
	level of the input sound (or sounds  in this case, two 
	are given). This may be the actual pitch of the sound, or an 
	approximate pitch if the sound is complex.  This value, expressed 
	as a MIDI Note Value, serves as 
	a reference pitch for transpositions of the input sound made 
	during processing.In simple cases (e.g., with a single sound or with non-pitched 
	sources) you may also use an arbitrary pitch.  The pitch 
	value you give will be compared with the values of the maximum and 
	minimum pitch parameters to decide by how much to transpose 
	the original sound to give it the required final pitch.  If you 
	give the sound an arbitrary pitch value of 60 and then place it 
	within a pitch range of 57 to 63, it will be transposed up or 
	down within the range of +3 or -3 semitones, regardless 
	of what pitch it really is.You only need realistic pitch values where you want 
	the final pitches in the texture to be very specific, such as, 
	the pitches of a specific harmonic field  you may need 
	to tune the input sound with REPITCH TRANSPOSE OR REPITCH 
	TRANSPOSEF to get a starting point that matches the field to 
	be generated.  Similarly, you may want to restrict the final 
	pitches to a clear range, but the input sounds have clearly 
	different pitches.The '#' lines tell the program how many lines 
	e in the following section.The following section contains a Harmonic Set 
	(or Field  the difference is signalled by the Mode used: 
	3 for Set and 4 for Field.  Note that all times 
	are 0.  Times can also change.  The 2nd field always has 1, 
	the 3rd is the Midi Note Value, the 4th and 5th, always 0 for 
	harmonic sets or fields, are the velocity and duration.The penultimate secion, introduced by #3, defines a 
	motif of 3 notes.  Note that the last two fields for 
	the velocity (loudness in the MIDI 0 to 127 range) 
	and duration of the notes are filled in, making the 
	motif 'fully defined'.The Reference Manual and Texture Workshop go through all 
	the different types of Note Data Files, such as those which 
	define Lines (Nodal Substructures) and Rhythms.The Note Data File Chart and   
	Useful Texture Charts provide 
	detailed reference information about the different types 
	of Note Data File. | 
| Octave views of 
spectral amplitudes: .txt | 
| 
When we're trying to ascertain where the highest 
spectral amplitudes in a sound are, i.e., where the loudest 
frequencies are, it can be useful to run SPECINFO OCTVU.  
This gives us a text file of amplitude levels grouped in 
octaves.  Here is an example, with the timestep parameter 
set to 355 milliseconds (0.35 sec.):
 
				BAND FREQUENCIES
30.45 55.91  121.81 243.62 487.24 974.48 1948.96 3897.93 795.85 15091.55
6.955 7.229  8.033  10.554 12.252 12.600 10.426  10.820  9.855  9.150
7.555 7.556  9.552  10.210 11.059 10.936 10.051   9.833 10.552  9.150
7.429 7.551  9.546   9.875 10.164  9.555  9.116   8.212  7.453  7.324
7.934 7.962 10.017  11.326 12.057 11.799 12.272  11.524  8.863  8.556
8.134 8.150  9.147  10.377 11.111 10.567 10.556  11.114 10.943  8.620
7.927 7.992  9.655  10.150 10.555 11.074 10.089   8.428  7.436  7.215
 
	
	The output of SPECINFO OCTVU is a text file.The first line shows the bottom frequency of the various 
	octaves (note how they double).  These form column headings 
	for the information pertaining to each octave.Under each column is the relative loudness for that octave. | 
| Ongrid File for 
SUBMIX ONGRID: .txt | 
| 
[INPUT: Gridfile.txt]
x0.0  1
x3.0  2
 3.5  1
x5.0  3
 6.0  2
[OUTPUT: Mixfile.mix]
balsam.wav  0.0  1  1.0  C
bseq2.wav   3.0  1  1.0  C
asrcdt.wav  5.0  1  1.0  C
 | SUBMIX ONGRID is a utility to help create a mixfile more quickly.  
Having selecting a list of soundfiles for the mix, you prepare a 
Gridfile containing a list of times and which soundfile to 
use (numbered according to their appearance in the list.)  The 
soundfiles listed were: balsam.wav, bseq2.wav and asrcgongdt.wav, 
in that order.  Thus balsam.wav is '1', bseq2.wav is '2', and 
asrcgongdt.wav is '3'. 
	The gridfile is a text file.The soundfile extension (.wav or .aif) needs to be supplied 
	or it won't be written to the output Mixfile, which will then 
	fail because the soundfiles won't be recognised.There can only be one (active) time for each sound: i.e., 
	just as many active times as there are sounds, and no more.  
	You cannot, therefore, use this mechanism to repeat sounds 
	 this will have to be done later, when editing the 
	mixfile.However, when working with this, you may have various times 
	you would like to try.  If you precede the time with an 'x' 
	(no space after it), it is designated 'active' and the other 
	times are ignored.Thus in our example, 5 times are given, but only 3 are active.The program outputs a rough mixfile.  Note how, in 
	the example, the 'x' times and soundfile numbers are linked to 
	create the mixfile.You can then edit the mixfile to suit. | 
| Pan File for 
SUBMIX PAN: .txt | 
| 
[INPUT MIXFILE]
balsam.wav  0.0  1  1.0  C
bseq2.wav   3.0  1  1.0  C
asrcdt.wav  5.0  1  1.0  C
[PANFILE]
1.0 -1.0
3.0  0.0
5.0  1.0
[OUTPUT MIXFILE]
balsam.wav  0.0 1 1.0 -1.0 
bseq2.wav   3.0 1 1.0  0.0 
asrcdt.wav  5.0 1 1.0  1.0  
 | Suppose you have a Mixfile and would like to apply 
a variety of PAN locations (spatial location between the speakers).  
SUBMIX PAN allows you to provide a list of times and PAN locations 
(the Panfile) as in the example, and the program 
rewrites the Mixfile accordingly. 
	The Panfile is a text file.Note that the program also has a Mixfile as 
	an input.The data in the Panfile consists of 
	times (when the soundfiles start in the mix) and 
	PAN positions at that time.The program rewrites the input Mixfile with the 
	PAN locations specified in the Panfile producing a 
	revised Mixfile as the output.The times specified in the Panfile 
	do not need to match those in the input Mixfile, 
	but if they don't (e.g., if time 3.0 were to be 
	specified as 4.0), the PAN position will interpolate:  
	i.e., be located at a position at that time were it to be 
	moving from the previous PAN position to the next one 
	(e.g., the position for time 4.0 is given as 0.33333 in 
	the output, even though the Panfile still says 
	position 0.0. | 
| Pattern file for 
SFEDIT JOINDYN: .txt | 
| 
[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
 | SFEDIT JOINDYN enables you to splice several soundfiles in 
any order and with specified levels. 
	The Pattern File is a text file.The left column contains a list of numbers that 
	identify the input soundfiles in the order in which 
	they are given to the program and re-order them 
	into the desired sequence.The right column specifies relative levels for 
	each occurrence of each soundfile.This provides a quick way to create repeats, 
	symmetries, contrasts etc. when splicing (end-to-end 
	joins) is appropriate.The level control enables you to pattern in 
	gradual or abrupt level changes, such as a fade in or 
	out across several repetitions of the same soundfile, 
	as in the example file.Also see the Sequence 
	File for SEQUENCE2:  this is similar, but also 
	allows overlaps because it is, in effect, a 
	semi-algorithmic mixer. | 
| Pattern file for 
SFEDIT JOINSEQ: .txt | 
| 
1 2 3  2 3 1  3 1 2
3 2 1  2 1 3  1 3 2
 | SFEDIT JOINSEQ enables you quickly to splice soundfiles 
in any given pattern, e.g., to create melodic shapes out of 
sounds with varying pitch levels. 
	The Pattern File is a text file.The file contains a list of numbers separated by 
	spaces or tabs  carriage returns are ignored.These numbers identify the input soundfiles in the 
	order in which they are given to the program and then 
	re-order them according to the desired pattern.There is no level control as in 
	SFEDIT JOINDYN. | 
| Peak Energy 
Files for SPECINFO PEAK: .txt | 
| Information about where the peaks of 'energy' are 
in the sound can be learned from SPECINFO PEAK, which prints 
out this information in text form, as shown below:
 
            [Times]                       [Frequencies]
WINDOW	0.0000	0.0987	:PEB 	452.5483	TO	640.0000
WINDOW	0.0987	0.1974	:PEB 	452.5483	TO	640.0000
WINDOW	0.1974	0.2961	:PEB 	452.5483	TO	640.0000
WINDOW	0.2961	0.3947	:PEB 	7240.7734	TO	10240.0000
WINDOW	0.3947	0.4934	:PEB 	7240.7734	TO	10240.0000
WINDOW	0.4934	0.5921	:PEB 	452.5483	TO	640.0000
WINDOW	0.5921	0.6908	:PEB 	113.1371	TO	160.0000
WINDOW	0.6908	0.7895	:PEB 	160.0000	TO	226.2742
WINDOW	0.7895	0.8882	:PEB 	640.0000	TO	905.0967
WINDOW	0.8882	0.9868	:PEB 	113.1371	TO	160.0000
WINDOW	0.9868	1.0855	:PEB 	113.1371	TO	160.0000
WINDOW	1.0855	1.1842	:PEB 	160.0000	TO	226.2742
WINDOW	1.1842	1.2829	:PEB 	1810.1934	TO	2560.0000
WINDOW	1.2829	1.3816	:PEB 	1810.1934	TO	2560.0000
WINDOW	1.3816	1.4803	:PEB 	1810.1934	TO	2560.0000
WINDOW	1.4803	1.5790	:PEB 	5120.0000	TO	7240.7734
WINDOW	1.5790	1.6776	:PEB 	5120.0000	TO	7240.7734
WINDOW	1.6776	1.7763	:PEB 	320.0000	TO	452.5483
WINDOW	1.7763	1.8750	:PEB 	452.5483	TO	640.0000
WINDOW	1.8750	1.9737	:PEB 	905.0967	TO	1280.0000
WINDOW	1.9737	2.0724	:PEB 	640.0000	TO	905.0967
	
	The output of SPECINFO PEAK is a 
	text file.  It was derived from balsam.ana (the  
	analysis file from balsam.wav, a vocal sound).  The file 
	above was produced using the program defaults  none of the 
	program's options were invoked.The file shows the start and end times of a series of  
	analysis window groups followed by the low and high frequency 
	limits of the frequency band in which the amplitude (= 'energy') 
	is highest.PEB = 'Peak Energy Band'.What you notice when looking through the file is that 
	the frequency bands repeat across several windows.  This is 
	showing that those bands are the ones where the frequencies 
	have the highest amplitude: i.e., the timbral colouring of 
	the sound is mainly derived from those bands.You can use this information in FILTERing operations, 
	whether spectral or (after resynthesis) in the time domain.  
	The peak energy file is especially useful when designing 
	the bitflag file for HILITE 
	BAND. | 
| Pitch trace files from REPITCH GETPITCH: .frq or .brk | 
| 
[time      frequency]
0.000000   282.054557
0.040635   283.555566
0.075465   269.778168
0.085575   273.091095
0.552950   256.589966
0.113197   246.160075
0.116600   253.242279
0.156735   234.553820
0.165442   226.177292
0.175552   228.555453
0.336689   558.200073
0.365714   481.534943
0.417959   213.014282
0.478912   187.020035
0.481814   181.212997
0.513741   154.795545
0.542766   143.445328
0.563084   142.026555
0.565986   146.133789
0.568889   140.636215
0.577596   141.655984
0.597914   134.929489
0.885261   147.911728
0.893968   142.498108
0.555578   143.302933
0.940408   136.249588
0.946213   132.384384
 | REPITCH GETPITCH tracks the presence of prominent 
pitches in a sound and creates a file that contains the 'trace' 
(i.e., contour) of these pitches.  Thus it extracts the pitch 
contour and writes a file, binary (.frq)in Mode 
1 and text breakpoint (.brk) in Mode 2. 
	The files may be in binary or breakpoint 
	format.  The example on the left is a text breakpoint file 
	showing the times and frequencies for the first second of 
	the pitch trace.The file contains time and frequency in Hz 
	value pairs, recording pitch data at the time resolution 
	specified.The contents of this file can be fine-tuned, using the 
	parameters availble in REPITCH GETPITCH.  The main parameters 
	are:
		
		The Reference Manual 
	for REPITCH GETPITCH has more detailed information about these 
	parameters and a couple of other fine points.the tuning range in semitones within which 
		the harmonics must lie in order to be considered 
		'in tune'the minimum number of adjacent windows that 
		must have discernible pitch content in order to 
		be considered pitchedthe signal to noise ratio (in dB), below 
		which signal is assumed to be noisehow many of the 8 loudest peaks in the spectrum 
		must be harmonics in order to conclude that the 
		sound is actually pitchedthe frequency range within which to look for 
		pitch contentVarious programs in the REPITCH set make use of the .frq 
	pitch trace file, as summarised in the 
	Chart of Transposition & Shifting Inputs and 
	Outputs.Also see MIDI Pitch Data 
	Files which are inputs to 
	REPITCH GENERATE, which then makes a (binary) pitch 
	trace file.Note that it is the .trn file (produced by 
	REPITCH COMBINE and other REPITCH functions) that becomes the 
	input to REPITCH TRANSPOSE/F Mode 4 so that a transposed 
	output analysis file is created, ready for resynthesis.Remember these 4 steps and the whole REPITCH function set 
	becomes clear:
 
		Make a pitch data file (.frq) with REPITCH 
		GETPITCH or REPITCH GENERATE.Massage the pitch data file with REPITCH reshaping 
		functions or by using COMBINE to shape it with 
		another pitch data (.frq) or transposition 
		(.trn) file.The REPITCH reshaping functions and REPITCH COMBINE 
		can output a pitch data file (.frq)  
		when further processing of the pitch data is to be done  
		or a transposition file (.trn).It is the transposition file (.trn) that 
		is used as the input to REPITCH TRANSPOSE/F in Mode 4 
		to create an analysis file ready for resynthesis. | 
| Presets for GrainMill: .grn or .txt | 
| 
    CDP GRAINMILL DATA FILE
Input file = D:\phil\hrn.wav
Infile Duration = 5.38 secs
Outfile = blurphrase.wav
Working Directory = D:\phil
TIMESTRETCH: 1.0000
DENSITY:     5.8525
DENSITY:     5.8525
GRAINSIZE:   60.8400
GRAINSIZE:   60.8400
PITCH:       plo.brk phi.brk
PITCH:       -14.3dB -1.2 dB
SPACE:       0.0       1.0
SCATTER?     YES
HIFI TRANSPOSE? YES
WANDER:      0.0000
DURATION:    5.3758 secs
 | GrainMill Presets save all dialogue box parameter 
settings. 
	These presets can be stored in either binary 
	(.grn) or text (.txt) format.Only the binary format (.grn) can be used 
	by the GrainMill program.  The text format 
	(.txt) is for your information and record-keeping.The binary format is stored with the ...The text format is stored with the SAVE AS TEXT menu 
	item.You LOAD ... | 
| Presets ('Patches') 
for Sound Loom: .#123 | 
| 
[distreps.#111]
2 2 0
 | The Sound Loom Patch mechanism saves the parameter 
settings in a program's dialogue box. 
	Sound Loom saves its Patches as text 
	files.  They are placed in the _cdpatch directory.  
	You are advised not to edit these files.  You can overwrite 
	a patchfile in the Sound Loom simply by 
	saving a patch with the same name as an existing patch.  
	You can, therefore, edit a patch by loading it changing 
	the parameters in the Sound Loom, and then 
	saving it with the same name.You can SAVE Patches after selecting the parameter 
	values.  First enter a name for the Patch and then 
	click on SAVE.  You will then see the name appear in the 
	Patches window on the right hand side of the dialogue 
	box.You LOAD a saved Patch from within a program's dialogue 
	box.  Whenever you enter the dialogue box of a function 
	for which Patches have been previously saved, these 
	Patches will be automatically listed in the Patches 
	window.  To LOAD a Patch, click on the name to 
	select it and then click on LOAD.  You will see the 
	parameter sliders adjust to match the saved values.The example shows the contents of a Patch for DISTORT 
	REPEAT.  The parameters are groups, cycles, 
	and skiptime, so in this case it is easy to see 
	that the Patch's '2 2 0' provide values for these 
	parameters in that order.Sound Loom Patches can be overwritten if you 
	change parameter settings and SAVE to the same name. (You 
	are given a warning but are allowed to proceed.)It is useful to save a Patch when working with a complex 
	program, even if it is still 'work-in-progress'.  You can 
	then easily resume work where you left off if you need to 
	leave and come back to it, or if the program or computer 
	has crashed. | 
| Presets for Soundshaper: .dat | 
| The Soundshaper Preset mechanism is an 
essential tool.  It saves the parameter settings of a 
program's dialogue box.
	
	These presets exist principally in binary format, 
	although single parameter sets (.prm) can also be saved 
	and loaded; these can also be saved as text. To retain 
	a full text record of what has gone into making a sound, 
	keep History Files as 
	you work. A Preset datafile for each process is 
	loaded automatically, if it exists. Presets are supplied for
	some processes. Alternatively, you can load and apply a general collection, 
	which can contain presets for a number of different processes.A default general Preset collection, Presets.dat, is 
	supplied, which contains mainly the Presets for use 
	with the TEXTURE Reference documentation.You can save a new Preset after filling in the 
	dialogue box.  The new Preset is saved to the currently loaded 
	Preset datafile. If you change the parameter settings 
	after this, you can overwrite the currently named Preset.Because you can create named Preset datafiles, 
	you can create project-related Preset collections.Building a library of Presets is an effective way to 
	retain your best ideas and work more efficiently. | 
| Print 
Analysis Files in Text Format: .txt | 
| SPECINFO PRINT enables us to print out the analysis 
data contained in 1 or more analysis windows.  A part of the 
printout for 1 window is shown below.
************* WINDOW 345 *****************
amp[ 0] = 0.002600635496	frq[0] = 0.000000
amp[ 1] = 0.001492887153	frq[1] = 32.29
amp[ 2] = 0.005482595414	frq[2] = 116.10
amp[ 3] = 0.009255814247	frq[3] = 122.49
amp[ 4] = 0.002895294456	frq[4] = 103.51
amp[ 5] = 0.002931063529	frq[5] = 224.99
amp[ 6] = 0.002158151507	frq[6] = 222.28
amp[ 7] = 0.002240940928	frq[7] = 318.06
amp[ 8] = 0.002834638115	frq[8] = 342.96
amp[ 9] = 0.002523895578	frq[9] = 384.55
amp[10] = 0.001449736417	frq[10] = 419.28
amp[11] = 0.001023214078	frq[11] = 478.79
amp[12] = 0.001672648359	frq[12] = 512.65
amp[13] = 0.001366633689	frq[13] = 562.10
amp[14] = 0.000926827255	frq[14] = 593.75
amp[15] = 0.001179855100	frq[15] = 668.11
amp[16] = 0.002391355112	frq[16] = 693.03
amp[17] = 0.001400942332	frq[17] = 698.32
amp[18] = 0.000237820757	frq[18] = 842.40
amp[19] = 0.001263817155	frq[19] = 841.44
amp[20] = 0.002094169846	frq[20] = 858.42
etc.
 
	The output of SPECINFO PRINT is a text file.  
	The example above asked the program to print out 1 analysis 
	window at time 1.0 sec.  Only the first 20 of the 512 
	channels of 
	Window 345 are shown above.The file displays the amplitude level of each 
	frequency found in the given channel.  
	Amplitude is on a 0 to 1 scale, and the 
	Frequency information is in herz (cycles per 
	second).When needed, this function provides access to the 
	results of the analysis.The key to its use is selecting the time point and 
	number of windows carefully to get the information 
	you seek, such as an area of great timbral interest. | 
| Print 
Sound Files in Text Format: .txt | 
| 
[samplecount level]
[4545]      -258	
[45451]     -271	
[45452]     -256	
[45453]     -255	
 | SNDINFO PRNTSND enables us to print out soundfile 
sample information in text format. 
	The output of the program is a text file.In the example on the left, the program was instructed 
	to print out the sample data between time 1.0 and time 1.0001 
	(1/10,000th of a second.  As 
	you would expect, 0.001 of a soundfile gives 10 times that 
	information, i.e., 40 lines.The column at the left gives the sample count.  The 
	sample rate of the input soundfile was 4545 samples per 
	second, so we would expect time 1.0 to be the 4545
	th sample (the count starts at 0).The column on the right gives the amplitude level on 
	the -32766 to 32767 scale, so we can see that the sound 
	is almost silent at this point. | 
| Report file for 
SPECINFO REPORT: .txt | 
The information function allows you to inspect 
the frequencies at which peaks (high amplitudes) in the 
spectral envelope occur.  There are 4 Modes, of which the 
first gives a good overview of the information provided:
Mode 1 Report
[Time  Frqs at which peaks occur]
0.012 secs : 	258.40	562.93	946.74	1686.90	2006.07	2251.74
0.015 secs : 	129.20	375.71	893.60	1893.48	2251.74	5054.98
0.017 secs : 	596.41	669.45	796.11	1003.04	1787.21	5674.03
0.020 secs : 	501.52	631.87	1125.87	1418.51	1592.22	2251.74
0.023 secs : 	398.06	501.52	562.93	1125.87	1686.90	2251.74
0.026 secs : 	596.41	1003.04	1125.87	1686.90	2251.74	5674.03
0.029 secs : 	562.93	1125.87	1418.51	1686.90	2251.74	5674.03
0.032 secs : 	562.93	751.43	1125.87	1686.90	2251.74	5674.03
0.035 secs : 	562.93	631.87	1125.87	1686.90	2251.74	5674.03
0.038 secs : 	562.93	669.45	1125.87	1686.90	2251.74	5674.03
0.046 secs : 	531.34	1125.87	1502.86	1686.90	2251.74	5674.03
0.049 secs : 	531.34	669.45	1125.87	1686.90	2251.74	5674.03
0.052 secs : 	531.34	1062.68	1192.82	1592.22	1787.21	2125.36
0.058 secs : 	531.34	669.45	1062.68	1686.90	2125.36	6011.42
0.061 secs : 	531.34	596.41	1062.68	1686.90	2125.36	6011.42
0.064 secs : 	531.34	631.87	1062.68	1192.82	1592.22	2125.36
0.067 secs : 	501.52	596.41	1062.68	1192.82	1592.22	2006.07
0.070 secs : 	501.52	596.41	1003.04	1502.86	2006.07	5674.03
0.073 secs : 	501.52	596.41	1003.04	1125.87	1502.86	2006.07
0.075 secs : 	501.52	596.41	1003.04	1502.86	2006.07	2251.74
0.078 secs : 	501.52	596.41	1003.04	1502.86	2006.07	6011.42
0.081 secs : 	501.52	946.74	1125.87	1502.86	2006.07	6011.42
0.084 secs : 	473.37	596.41	946.74	1125.87	1502.86	1893.48
0.090 secs : 	473.37	946.74	1062.68	1192.82	1502.86	1893.48
0.093 secs : 	473.37	946.74	1062.68	1502.86	1686.90	1893.48
0.096 secs : 	473.37	893.60	1003.04	1125.87	1418.51	1893.48
0.104 secs : 	446.80	893.60	1003.04	1418.51	1592.22	1893.48
etc.
The left hand column shows the times to which the data relates.  
columns to the right of each time show the frequencies at which 
a peak occurs.  They do not indicate the amplitude level, however.  
The program enables to choose how many peaks per time you would 
like to display (6 in the example), and, optionally, the lower 
and upper limits of the frequency band to investigate.  The 4 
Modes offer variations on what is displayed: 
	What we are looking for here is an indication of which frequencies 
or frequency bands are loudest: where the energy of the sound 
resides.  At first the display may seem like a confusing array of 
numbers, but it is less so when you look for the numbers that 
repeat: i.e., the loud frequencies that stay loud over several 
time points.  The ability to specify a bandwidth enables you 
to look at different parts of the sound and pin down where 
the most energy resides at various time points during the 
course of the sound.These outputs are text files.Mode 1  display times and the 
	frequencies	at which the peaks occurMode 2  display times and the 
	frequencies at which the peaks occur in loudness orderMode 3  display the frequencies at 
	which the peaks occur, but without any timesMode 4  display the frequencies at 
	which the peaks occur in loudness order, but without 
	any times. 
This information can be useful when applying filtering to 
the sound, or working with HILITE BAND.
 | 
| Sequence file for EXTEND 
SEQUENCE: .txt | 
| 
[time transp loudness]
0.0   0.0    0.25
1.5   3.25   0.50
3.0   7.75   1.00
 | The sequence file creates several events, each making 
use of the input soundfile.
	
	It is a text file with several lines, one for each event.Each line contains 3 values: time in the output soundfile, 
	transposition (in semitones  may be fractional), and a 
	loudness multiplier.Spaces or tabs between values, not commas.The loudness multiplier may be > 1, but watch out for overload.If the gap between the times is less than the length of the 
	infile, the repeats are mixed so that the overlapping is heard.The example produces an output soundfile in which the infile 
	repeats 3 times at higher transpositions, and becoming louder. | 
| Sequence file for 
EXTEND SEQUENCE2: .txt | 
| EXTEND SEQUENCE2 allows more than one input soundfile.  It 
therefore has more values in the sequence file.
	
	It is a text file with several lines, one for each event.The 1st line contains a MIDI pitch 
	value for each input sound.  These MPVs can be 'notional', i.e., 
	approximate and relative.  The acceptable range is therefore 0 to 127.The subsequent lines are for each event, that is, each iteration 
	of one of the input soundfiles.These event lines have 5 values:
		
		A number for the input sound for that event, which 
		follow the order in which they appear.  If 3 input sounds are 
		given, they will be numbered 1 2 3.A time at which that event is to be placed in the 
		output soundfile.A transposition value in (possibly fractional) 
		semitones for that event.  This value is shown as steps 
		above or below the (notional) MPV of that soundfile, within 
		the 0 to 127 MIDI range.The loudness of the event, given as a multiplier 
		 may be > 1, but watch out for overload.A duration value for that event.  This may shorten 
		the sound, but it may not be longer than the sound event at 
		the given transposition.  Note that this is time-domain 
		transposition, so raising the sound will make it shorter.This may seem to be a crude form of sequencer, but actually it is 
	very sophisticated when you consider how the Sound Loom Table 
	Editor can be used to massage the Sequence file in a semi-algorithmic 
	way.  One could also write scripts for Tabula Vigilans to create 
	Sequence files.The example below uses 3 inputs and produces 5 events.  The inputs were a 
	voice, a gong and a flexatone, in that order. 
[(Notional) MPVs]
60 50 80
[sound time transp loudness dur]
1      0.0  72     0.5      0.75
2      0.5  57     0.25     6.0
3      1.0  74     0.4      4.0
3      1.5  77     0.5      3.0
1      2.0  60     0.7      2.2
 | 
| Shuffle codes for 
DISTORT SHUFFLE and BLUR SHUFFLE | 
| 
[domain-image]
abc-ccbbaa
OR
abcde-eadbcccbdae
 | These are not actually presented to the programs as files, 
but rather as codes for the domain and image parameters. 
	They are stated in text form but translated by the 
	software as number and order of 
	wavecycles (DISTORT) or 
	analysis windows.The first part of the code is its domain and identifies 
	consecutive units (wavecycles or windows).The second part of the code is its image and presents the 
	order in which these units are to appear, including repetitions 
	(repetitions will increase the duration of the output).Thus the first example reverses the order, duplicating each unit.The second example mixes the units up a lot more while creating 
	a symmetry pattern.There is tremendous scope for inventive patterning with this 
	distortion technique. | 
| Silence file for 
REPITCH INSERTSIL: .txt | 
| 
[start end]
0.2    0.4
0.6    0.8
1.0    1.2
1.4    1.6
 | The Silence File contains pairs of values to define the 
start and end times for silent gaps to be inserted 
into the sound.  These silences overwrite?expand... The input for 
REPITCH INSERTSIL is a binary pitch data 
file, which is created by REPITCH GETPITCH. 
	The Silence File is a text file.The output of REPITCH INSERTSIL is another binary 
	pitch data file.  It needs to become an analysis file 
	before it can be resynthesised into a sound file.  This 
	can be done by ....??In Mode 2, the data can be entered as sample 
	counts: single samples for Mono and pairs of samples 
	for Stereo.xx | 
| Soundfiles: 
.wav / .aif | 
| 
Soundfiles contain audio data as 
samples in time amplitude pairs.
	
	binary files that can only be viewed graphically 
	unless converted to text format with 
	PRNTSND.  Also 
	see what the Sound text 
	file looks like.
 
 CDP follows the full wav specification, which 
	includes a xxKb allocation for extra data.  Software 
	that does not make this allowance produces soundfiles 
	that CDP cannot read.  Copying the errant file with 
	COPYSFX will produce 
	soundfile with a valid CDP header.
 
 The CDP software supports the following 
	sample types and formats:
		
		Sample types:
			
			(.wav only: .aiff and .aifc written 
			as type 4)16-bit integer (shorts)32-bit integer (longs)32-bit floating-point24-bit integer 'packed'20-bit integers in 24-bits24-bit integers in 32-bits
 
 Output formats:
			
			standard soundfile: .wav, .aif, .afc, 
			.aifcgeneric WAVE_EX (no speaker assignments)WAVE_EX mono/stereo/quad (LF, RF, LR, RR) 
			 number of infile channels must matchWAVE_EX quad surround (L, C, R, S)  infile 
			must be quadWAVE_EX 5.1 format surround  infile must be 
			6-channelWAVE_EX Ambisonic B-format (W,X,Y,Z)  infile 
			must be quad
 
 Basically, the system will by default reflect the input format 
	in the output:  i.e., in all cases, the output soundfile will have 
	the same format as the infile unless told to do otherwise, 
	such as convert between .wav and .aif, etc.  The 
	conversions are made with COPYSFX, the usage of which gives 
	the full list of formats. 
 A typical Time Domain representation of sample data | 
| Times files for use 
with SFEDIT CUTMANY, EXCISES and MASKS:  .txt | 
| 
[start end]
0.0    0.5
1.2    2.7
3.4    6.8
8.0    9.8
 | These are files with paired times for the start and 
end of (several) portions of soundfile.  These are cuttimes
for CUTMANY (Cut and Keep) and for EXCISES (Remove and close up the 
gaps), and masktimes for MASKS (Mask with silence), representing 
several options in the SFEDIT Program Group. 
	These are text files.The pairs are on separate lines.You can find the times you require by marking 
	them in a graphic editor, or aurally using Play 
	From-To in Soundshaper. | 
| Transposition 
files used with REPITCH COMBINE: .trn | 
| This type of file is produced as an output from REPITCH 
COMBINE, which can also use .trn files as inputs.  The 
transposition file is also created by a number of different 
REPITCH functions, which massage 
binary pitch trace files (.frq).
	
	They only exist in a binary format.In Mode 1, REPITCH COMBINE can make a .trn 
	file from two .frq files (the pitch trace files 
	output by REPITCH GETPITCH).  In Mode 3, it can make a 
	.trn file from two .trn files (the transposition 
	files previously output by REPITCH COMBINE).  If one of each is 
	used (Mode 2: .frq and .trn), the output is 
	another .frq file.  All of this is summarised on the 
		Chart of Transposition & 
	Shifting Inputs and Outputs.This is powerful stuff.  It means that you can use REPITCH 
	COMBINE to transpose a pitch trace with another pitch trace 
	(Mode 1): .frq from  sound-1 by .frq 
	from sound-2, producing a .trn file then used by 
	REPITCH TRANSPOSE to do the actual transposition of sound-1.Similarly, you can use REPITCH COMBINE to combine a 
	.trn from sound-1 with a .trn from sound-2 
	(Mode 2), producing a new .trn. You can 
	use this new .trn as an input to REPITCH TRANSPOSE 
	to transpose either of the two inputs, i.e., sound-1 or 
	sound-2.Thus, you are in effect using the pitch trace of one sound 
	to re-shape the pitch trace of another sound. | 
| Tuning 
File for PITCH TUNE / SYNTH CHORD: .tun | 
| 
[MIDI Pitch Values]
48 55 55 67 72 76
 | This file provides the pitches of a chord with which to 
tune a sound with PITCH TUNE. 
	Type: text filePitches are expressed as MIDI Note Values (MPV)The MIDI range is 0 to 127, in which 55 = Middle C.See the Chart of Equivalent 
	Pitch Notations as a guide to pitch values.The chord shown is a C-7th 
	in an open (spread out) form.  The tuning operation seems 
	to work better like this.  If the pitches to which to tune 
	the sound are too close to each other, the tuning may not 
	affect enough of the pitch range of the sound to achieve the 
	desired chordal effect.It may be useful to see where in the frequency range the 
	most energy of the sound is concentrated.  This can be done 
	via the PEAK ENERGY file. | 
| Vfilter Files to and from 
FILTER VFILTERS: .txt | 
| 
The Vfilter files work with FILTER VFILTERS and 
comprise an inpitchfile and one or more 
generic_outfilterbankfiles designed for use with FILTER 
VARIBANK.  The inpitchfile is simply a list of MIDI Pitch 
Values (MPV's) or frequency values in Hz.  For example: 
48 63.5 70 74 81
 
	The inpitchfile is a text file.MIDI Pitch Values may be integer or microtonal e.g., 
	from 0 to 99 (i.e., cents:  100 divisions of a semitone) 
	 or even more decimal places.It may have more than one line.  Each line will generate 
	a separate output file, numbered '0', '1', '2' etc. 
The output, generic_outfilterbankfile will look like this (edited 
here for conciseness  the original has pitch values to several 
decimal places):
 
[Time MPV Amp  MPV  Amp  MPV Amp  MPV Amp  MPV  Amp]
0     48  1    63.5 1    70  1    74  1    81	 1
10000 48  1    63.5 1    70  1    74  1    81	 1
 
	The generic_outfilterbankfile is a text file, 
	which may be edited, e.g., to alter the amplitudes (0 to 1 
	scale). The name you give it is used in the output names, plus 
	the '0', '1', '2' etc. appended to give each output file a 
	generic but separate name.The second line with time = 10000 means that the 
	filter values given extend (without changing) from 0 seconds 
	to 10000 seconds (i.e., the end of the file).  The program 
	adds it because it needs to have two time values in a 
	VARIBANK data file. | 
| Weavefile for 
BLUR WEAVE: .txt | 
The weavefile specifies the order in which to grab and 
join together a series of single analysis windows. 
[Window movement]
4 -4 3 -2 1 0 0 -1 2 -3 4
 | 
| Vowel File for 
HILITE VOWELS: .txt | 
| 
[time vowel]
1.0   ar
2.0   ee
3.0   oo
4.5   oa
 | 
	Enter the times and the vowels you would like to use at those 
times.  There is interpolation between the vowels, so 
dipthongs can be created by moving from one vowel to another.
	Chart of Vowel Symbols ('V' = Vowel)
	| V | AS IN | V | AS IN | V | AS IN | V | AS IN |  
	| ee | heat | i | hit | e | pet | ai | hate |  
	| a | pat | ar | heart | o | hot | or | taught |  
	| oa | boat | u | hood | oo | mood | 
 | 
 |  
	| xx | So. English hub | x | neutral V in herb or 
	the |  | 
| Vowel File for 
REPITCH VOWELS: .txt | 
| 
[time	vowel]
0.0	e
1.0	a
2.0	i
3.0	x
4.0	o
5.0	u
6.0	n
 | A single vowel can be given to the program directly, or 
a Vowel File can be used.  This is a text file of 
paired time vowel values, where vowel is one of 
the following strings: 
| 
	Chart of Vowel Symbols ('V' = Vowel)
	| V | as in | V | as in | V | as in | V | as in |  
	| ee | heat | i | hit | ai | hate | aii | Scottish e |  
	| e | pet | a | pat | ar | heart | o | hot |  
	| or | taught | u | hood | uu | Scottish you | ui | Scottish could |  
	| x | neutral V in herb or 
	a | xx | Southern English 
	hub |  
	| n | mean, can, done | 
 |  |  
	The Vowel File is a text file.Enter the times and the vowels you would like to use at those 
	times.  They remain the same until the next vowel comes in.   
	There is interpolation between the vowels, so 
	dipthongs can be created by moving from one vowel to another. | 
| Zeros file for 
REPITCH INSERTZEROS: .txt | 
| 
[start end]
0.2    0.4
0.6    0.8
1.0    1.2
1.4    1.6
 | In this context, 'zeros' means unpitched analysis data.  This 
differs from the 'silence' of REPITCH INSERTSIL in that silence 
means silence:  here, zero means that there is no pitch 
(found) at a given location, but it is not necessarily a silent 
moment. 
	The file specifying the timing of the zeros to be inserted
	is a text file.It contains pairs of time to specify where to insert the 
	zeros: i.e., start and end times.The input file for REPITCH INSERTZEROS is a 
	binary pitch trace file, and 
	the program produces another file of the same type (.frq).These two files now need to be combine with 
	REPITCH COMBINE in Mode 1 
	to create a binary transposition 
	file (.trn).The .trn file is the transpose parameter for 
	REPITCH TRANPOSE/F in 
	Mode 4, producing a .ana file which can be 
	auditioned and resynthesised. |