JCself wird zur Erzeugung einer MIDI-Datei oder einer orchestra- und score-Datei für die weitere Verarbeitung mit dem Programm Csound verwendet.
In einem iterativen Prozess ermittelt JCself nach dem Prinzip Zufall und Auswahl Werte.
Die Auswahl eines Wertes verändert die Wahrscheinlichkeit der Auswahl der folgenden Werte; je häufiger nämlich ein bestimmter Wert errechnet wird, desto größer ist die Wahrscheinlichkeit seiner Wiederholung.
Diese Werte werden dann Eigenschaften von Tönen zugeordnet.
Der Komponist gibt die Rahmenbedingungen vor, nach denen JCself dann eigenständig komponiert. Sie betreffen die möglichen Eigenschaften der Töne und die Wahrscheinlichkeitsrechnung.
Die Verteilung der Wahrscheinlichkeiten für das Erscheinen der Werte formatiert sich von selbst, während das Programm läuft. Im Zuge der Selbstorganisation bilden sich synergetische Strukturen.
Die jeweilig errechneten Werte sind den Tonhöhen (in Hz) der jeweiligen Töne zugeordnet.
Die anderen Eigenschaften des Tones, nämlich Tondauer, Lautstärke, Stereoeffekte, ggf. Mehrstimmigkeit und ggf. ein zusätzlicher „Nachbarton“ (Akkord) werden durch den Bezug des aktuellen Wertes zu dem bislang höchsten Wertes ermittelt. Je näher nämlich der aktuell errechnete Wert an dem bis dahin häufigsten Wert Frequenz liegt,
- desto kürzer,
- desto lauter,
- desto mittiger klingt er - ein stereophones Lautsprecherpaar vorausgesetzt-,
außerdem wird der Ton
- von desto mehr Stimmen „umrahmt“und
- desto „konsonanter“ ist ggf. sein Zweiklangston (siehe Kontrapunkt).
JCself ermittelt die Differenz zwischen dem bislang häufigsten Wert und dem aktuellen und leitet davon die Dauer und die Lautstärke ab.
Bei der Verteilung auf die Lautsprecher (Panning) wird außerdem berücksichtigt, ob der aktuelle Wert kleiner (linkslastig) oder größer (rechtslastig) als der bislang häufigste ist.
JCself zeigt eine 2- oder 3-dimensionale Tabelle, deren Wertebereich, der den Frequenzbereich (Minimum Frequenz und Maximum Frequenz) darstellt, vom Komponisten vorher definiert worden ist (s.u.).
Die Spalten der Tabelle stellen die Frequenzwerte oder einen Bereich von Frequenzwerten (in Hz) dar.
Der aktuelle Wert, den JCself ermittelt, wird in die Tabelle durch einen blauen Pfeil angezeigt.
Dieser hinterlässt einen Eintrag in der entsprechenden Tabellenspalte. Die Saatfrequenz wird mit einem grünen Pfeil, der aktual höchste Wert wird mit einem schwarzen gekennzeichnet.
Die Tabelle wird normalisiert, d.h. immer der häufigste Wert umspannt die volle Höhe der Tabelle.
Zusätzliches Tonmaterial, wie Melodie, bestimmte Kaskaden, Schleifen und die Veränderung des Tempos werden nach einer weiteren stochastischen Methode ausgelöst (siehe Maschine unter Komposition).