JCself DE

Parameters

Setting the frame

In JCself's input mask you decide how the probabilities develop and which properties the tones may have. All fields at a glance.

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:

SectionInterval to the root
01octave down
02octave up
03fifth down
04fifth up
05fourth down
06fourth up
07minor third down
08major third up
09major third down
10minor third up
11minor sixth down
12major sixth up
13major sixth down
14minor sixth up
15tritone down
16tritone up
17minor seventh down
18minor seventh up
19major second down
20major second up
21major seventh down
22major seventh up
23minor second down
24minor 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.