Stochastics
Two fields determine how the probabilities develop: Population and Selection.
JCself draws as many random values as the Population field says and sorts them by how often they have occurred so far. From this list it takes the most frequent values, as many as the Selection field says. It picks one of them at random and writes it as a frequency in Hz to the Csound or MIDI file. The value is stored, and its probability rises.
- Frequency grid
- Groups frequencies into ranges, so JCself distinguishes ranges instead of single values.
- Weighting
- The range around the chosen value whose frequency count also rises. The further a value lies from it, the weaker the weighting.
- Random weighting
- Sets the shape of the distribution.
- Decrease
- Subtracts from the column with the highest count. Expects a negative number.
- Runs
- Number of tones JCself generates. Progress is shown in the top left.
Pitch
- Minimum / maximum frequency
- The frequency range in hertz, whole numbers only.
- Seed frequency
- The starting value. If the field is empty or 0, JCself picks it at random. It appears as a green line in the table.
- 12 tempered notes
- Limits the choice to the twelve notes of equal temperament. Required for MIDI files; otherwise only Csound files are created.
- Prefer lower notes
- Artificially gives lower notes a higher probability.
- Use frequency selection
- Opens a selection field with all tempered notes between minimum and maximum. JCself then picks the nearest allowed note. JCself must have run once with 12 tempered notes before.
Duration
- Minimum / maximum duration
- The range of durations in seconds, from 0.00001 to 9999999999.999.
- Duration interval
- Quantises the onsets of tones, including melody tones: 2 (8 s), 1 (4 s), 1/2 (2 s), 1/4 (1 s), 1/8 (½ s), 1/16 (¼ s). The durations themselves are kept.
- Extension
- Adds the given number of milliseconds to every duration. Use for MIDI only: in Csound, identical frequencies can overlap and clip.
- Shadow
- JCself generates a second, invisible sequence with the same settings. Because JCself chooses by chance, it differs from the first. With Shadow on, this shadow sequence determines the durations. Without it, each tone replaces the previous one; with it, rests and overlaps appear.
- Speed effect
- See Machine.
Loudness
- Minimum / maximum volume
- The volume range. Rests have no volume. The volume of melody tones comes from the shadow sequence.
- Stereo effects
- Distributes the tones automatically across two speakers, depending on where the current value lies relative to the most frequent one.
Timbre
Under Options › Select instrument you address the instruments of the General MIDI list. Eight instruments can be assigned to the voices; the eighth is reserved for the melody.
JCself needs an existing General MIDI sound bank. If another program on your computer already uses it, you can run JCself in a virtual machine.
Counterpoint
These fields decide whether and how JCself adds voices to its sequence:
- Min. / max. voices
- The number of voices. JCself picks their pitches at random from the selection set and matches their durations to the root tone. If several voices pick the same note, it does not get louder.
- Chord
- Adds a second voice according to the table below. Only with 12 tempered notes.
- Melody
- Only with 12 tempered notes, see melody effect under Machine.
How the chord tone is chosen
JCself measures the distance between the most frequent and the current value and divides it into 24 sections. Each section is assigned an interval to the root:
| Section | Interval to the root |
|---|---|
| 01 | octave down |
| 02 | octave up |
| 03 | fifth down |
| 04 | fifth up |
| 05 | fourth down |
| 06 | fourth up |
| 07 | minor third down |
| 08 | major third up |
| 09 | major third down |
| 10 | minor third up |
| 11 | minor sixth down |
| 12 | major sixth up |
| 13 | major sixth down |
| 14 | minor sixth up |
| 15 | tritone down |
| 16 | tritone up |
| 17 | minor seventh down |
| 18 | minor seventh up |
| 19 | major second down |
| 20 | major second up |
| 21 | major seventh down |
| 22 | major seventh up |
| 23 | minor second down |
| 24 | minor second up |
Section 1 corresponds to the smallest distance from the most frequent value, section 24 to the largest.
Machine
Under Options › Configure state machine › Main you control five effects: cascades, loops, speed, transposition and melody.
They are triggered stochastically. The event is a value from the shadow sequence appearing in the selection set. The Range field sets how many elements JCself takes at random from the shadow sequence's selection set. When JCself reaches as many consecutive repetitions as the Threshold field says, it triggers the effects and adds extra material.
The state machine intervenes in the stochastic development: tones it generates become more likely afterwards.
Cascade effect
A run of tones in equal intervals and the same direction.
- Step up / step down
- The interval in semitones.
- Count
- How many steps the cascade has.
Loop effect
Repeats a sequence JCself has generated.
- Loop depth
- How many tones are repeated.
- Loop repetition
- How many times they are repeated.
- Permutation
- Repeats only the pitches and lays them over the other, newly calculated properties. Without it, the sequence is repeated exactly with all its properties.
- Use loop error
- Activates a bug that appeared during programming and whose cause was never found. Nils Kay and Peter Heeren liked the results and did not want to keep them from anyone. They do, however, decline all responsibility for this field.
Speed effect
- Min. / max. tempo
- The tempo range in beats per minute (Maelzel metronome).
- Change
- By how many beats per minute the tempo changes. Chance decides whether it speeds up or slows down.
Transposition
Transposes the calculated tones. If the Plus notes field contains 4, for example, each trigger transposes up by a minor second, major second, minor third or major third, chosen at random. The transposition holds until the next trigger and adds up from the position reached. Minus notes works the same way downwards. Tones that leave the frequency range are deleted. For the probability distribution, JCself keeps the original value.
Melody effect
JCself composes a melody to its sequence. This works only with 12 tempered notes. Count and threshold can be set separately for the melody.
- A melody tone sounds until the next one begins. The extension applies to it as well.
- Only notes at a unison, minor or major third, fifth, or minor or major sixth from the root can become melody tones.
- Which one is chosen comes from the shadow sequence: JCself divides the distance between most frequent and current value into six sections, each assigned one of these intervals.
- The melody moves in the smallest possible steps within a limited range.
- Its timbre is the eighth instrument (see Timbre).
- Volume and onset delay relative to the root come from the shadow sequence. The closer the current value is to the most frequent one, the shorter the delay.