In 'population' the digit '20' was input. In 'Amount to Select from', '5'. 'Random Weight' was set up to '300'. (an effect shows 'Random Weight' however only, if 'Footprint' is adjusted higher than 'Frequency Raster '.
The frequency range was defined as '100-125', and both 'Frequency Raster ' and 'Footprint 'to '1'.
JCself produces 20 random values, which represent the frequency values (cycles per second) in the first step:
Assumed: 120, 117, 113, 117, 110, 104, 117, 125, 110, 103, 109, 112, 119, 101, 100, 111, 114, 105, 116, 123.
Jcself counts how often a frequency occurs.
1'st Iteration |
Frequency (in Hz) | Amount | Weight |
100 | 1 | 0 |
101: | 1 | 0 |
102: | 0 | 0 |
103: | 1 | 0 |
104: | 1 | 0 |
105: | 1 | 0 |
106: | 0 | 0 |
107: | 0 | 0 |
108: | 0 | 0 |
109: | 1 | 0 |
110: | 2 | 0 |
111: | 1 | 0 |
112: | 1 | 0 |
113: | 1 | 0 |
114: | 1 | 0 |
115: | 1 | 0 |
116: | 1 | 0 |
117: | 3 | 0 |
118: | 0 | 0 |
119: | 0 | 0 |
120: | 1 | 0 |
121: | 0 | 0 |
122: | 0 | 0 |
123: | 1 | 0 |
124: | 0 | 0 |
125: | 1 | 0 |
JCself sorts these values according to their weight. (with same weight the frequency values in the order of their last entry are sorted.) For example:
117, 117, 117, 110, 110, 102, 123, 103, 104, 105, 109, etc.
Since 'Amount to select from' is adjusted to '5', remain only the following values:
117, 117, 117, 110, 110
One of these frequency values is selected on random and written by into the score file (Csound).
The weight of this frequency value will be increased by the amount which was defined in 'Random Weight', i.e. to '300'.
after the 1'st Iteration |
Frequency | Amount | Weight |
100 | 1 | 0 |
101: | 1 | 0 |
102: | 0 | 0 |
103: | 1 | 0 |
104: | 1 | 0 |
105: | 1 | 0 |
106: | 0 | 0 |
107: | 0 | 0 |
108: | 0 | 0 |
109: | 1 | 0 |
110: | 2 | 0 |
111: | 1 | 0 |
112: | 1 | 0 |
113: | 1 | 0 |
114: | 1 | 0 |
115: | 1 | 0 |
116: | 1 | 0 |
117: | 3 | 300 |
118: | 0 | 0 |
119: | 0 | 0 |
120: | 1 | 0 |
121: | 0 | 0 |
122: | 0 | 0 |
123: | 1 | 0 |
124: | 0 | 0 |
125: | 1 | 0 |
In the next iterations this amount will be added for the choosen frequencies:
For example:
10'th Iteration |
Frequency | Amount | Weight |
100 | 1 | 300 |
101: | 0 | 0 |
102: | 0 | 0 |
103: | 0 | 0 |
104: | 1 | 0 |
105: | 1 | 0 |
106: | 0 | 0 |
107: | 0 | 0 |
108: | 0 | 0 |
109: | 1 | 0 |
110: | 4 | 900 |
111: | 0 | 0 |
112: | 1 | 0 |
113: | 1 | 0 |
114: | 0 | 0 |
115: | 1 | 0 |
116: | 1 | 0 |
117: | 3 | 1500 |
118: | 0 | 0 |
119: | 1 | 0 |
120: | 1 | 0 |
121: | 0 | 300 |
122: | 0 | 0 |
123: | 1 | 0 |
124: | 0 | 0 |
125: | 2 | 0 |
(In this case the frequency 117 cycles per second is the first in the order which JCself has determined, although it occurs with this iteration coincidentally fewer, as the frequency 110 cycles per second. The reason for this is situated in the larger " weight " of the value 117.)