
Ê




																										SAMPLE HOSE 1.0
																								©1995 Michael Norris
																							Wellington, New Zealand

																					**	A SoundEffects Module **

Inspired by the Fractal Design Painter function called Image Hose, this module creates randomised textures out of a single source sample. The source sample should be contained in the selection before this effect is called. After the effect has finished you will end up with a new channel (or channels if the Stereo option is checked) containing the sample that has now been 'sprayed' about.

The 'randomness' with which the sample is used to create the texture is affected by  25 different parameters. There are 5 main parameter types: rate, gain, pan, bite and period, and each parameter type has 5 sub-parameters. The 5 main parameter types are as follows:

¥ Rate: The rate at which the sample is copied to the new channel. Expressed as a percentage. E.g. 50 expresses that the sound is to be copied at half of its original rate, ie twice as slow - an octave lower. 200 expresses that the sound is to be copied at twice its original rate, ie twice as fast - an octave higher.

¥ Gain: The volume at which the sample is to be copied. Expressed as a percentage. E.g. 50 expresses that the sound is to be copied at half its original volume. 200 expresses that the sound is to be copied at twice its original volume. If you are using closely spaced samples, or are using a high-level source sample, it is advisable to keep this parameter down to avoid 'clipping' when samples are pasted on top of each other. You can always amplify it afterwards if need be, but softening a clipped sample still results in distortion.

¥ Pan: The location of the sample in stereo space. If the Stereo checkbox is not selected then these parameters will be ignored. Again, expressed as a percentage. So 50 is in the centre (equal Left and Right), 0 expresses that the sound is to be sent to the left channel only, and 100 expresses that the sound is to be sent to the right channel only.

¥ Bite: The length of smaller subsections of the original source to be copied - bite being short for 'sound bite length'. A value of 0 indicates that you want the entire sound to be copied to the new channels. If a value smaller than the length of the original sample is used (but larger than 0), then this shorter length will be copied from a random point within the original sample. In conjunction with a short period value, this could be useful for creating quasi-granular synthesis textures. The value is expressed in the units displayed on the unit popup button at the bottom of the dialog box.

¥ Period: The length of time between successive copies of the source sample. Expressed in units displayed on the unit popup button at the bottom of the dialog box.

Each main parameter type has the following five sub-parameters:

¥ Initial value: The base value of this parameter to be used at the start of the effect.

¥ Initial variance: The 'randomness' of the initial value. For example, if the initial value of rate is 100, and the initial variance is 20, the computer will randomly choose a value somewhere between 80 and 120 (100±20) to use for the rate of the first sample copied.

¥ Final value: The base value of this parameter to be used at the end of the effect.

¥ Final variance: The variance of the final value. 

NB: Values are 'tweened' over the course of the effect. For example, if the start pan is 0 and the final pan is 100, then at halfway through the effect the pan will be 50 (assuming the curvature is 100 - see below), thus creating a sound moving from left to right in the stereo space.

¥ Curvature: the curve with which values are tweened. Expressed as a number n such that 0<n<200.

- The base value and variance are worked out according to the formula:
vn = ((n/l)^(c/100))*(vf-vi)+vi

where:
	n is the current sample number
	vn is the value for sample n
	l is the number of samples specified in the 'new length' field
	c is curvature parameter
	vf is the final value/variance
	vi is the initial value/variance
	and ^ indicates an exponent.

- Therefore, at the halfway point (n=l/2), if the curvature is 100, the value will be:
	vn = ((n/l)^(c/100))*(vf-vi)+vi
			= ((l/2)/l)^(100/100))*(vf-vi)+vi
			= ((1/2)^1)*(vf-vi)+vi
			= (1/2)*(vf-vi)+vi
			= (1/2)*(vf-vi+2vi)
			= (1/2)*(vf+vi)
			= (vi+vf)/2 (the linear average).

Therefore:
¥ If the curvature = 100, the progression is linear.
¥ If the curvature >100 and <200, the progression will be a 'concave' progression, so that the value will slowly change, and then accelerate at the end of the effect towards the final value. 
¥ If the curvature >0 and <100, the progression will be a 'convex' progression, so that the value will suddenly accelerate toward the final value, then slow down.

¥ NB: if you don't understand any of the mathematics of curvature, just experiment!

¥ The 'New Length' parameter indicates the length of the new channel or channels to be created. This value is expressed in the units displayed in the units popup button at the bottom of the dialog box.

¥ The 'Stereo' checkbox indicates whether a single mono channel or two stereo channels are to be created.

¥ The 'Setups' popup menu can be used to save custom setups of this effect - extremely useful if you're using this effect on a regular basis.

By selecting this effect with the shift key down, you should get an 'about' box with a very brief reminder of what values the parameters take.

Thanks to Alberto Ricci for his guidance.

Any comments, questions, suggestions or general bug-fixes:
email toÉ mnorris@sans.vuw.ac.nz
