Algorithmic Jazz

The soul of the machine is the collection of algorithms that give it life.


Algorithmic Jazz is randomness combined with algorithms to generate music and visual art.

More of my algorithmic and humanly composed music is here SoundCloud. My autobiography.

I now have a SoundCloud page for some of my recorded algorithmic music Algorithmic Music


SHA Painting A unique painting based on a SHA256 message digest. Enter text at bottom of page. It will also display the message digest in hex and decimal.

SHA Painting & Music A unique painting & jazz music composition based on a SHA256 message digest. Enter text at bottom of page. It will display the message digest in hex and decimal and the MIDI notes.

Two Self Portraits Two portraits are created to show the variations of the painting algorithm.

Two Paintings A simple artistic idea.

Two Paintings 2 A simple artistic idea, but with more of a theme to it. It takes a minute to complete.

Circular Painting 1 Click on the screen for a new painting.

Circular Painting 2 This is a continuously moving painting, but you can take a screen capture of it.

Circular Painting 3 Clicking on the screen will randomize the parameters. It will resynchronize about every minute.

Circular Painting 4 A very subtle painting.

Square Painting 1 Click on the screen for a new variation of the algorithm.

Square Painting 2 Click on the screen for a new variation of the algorithm.

Square Painting 3 Click on the screen for a new variation of the algorithm.

Square Painting 4 Click on the screen for a new variation of the algorithm.

Self Portrait 3 Using forces on an image to create an impressionistic painting.

Self Portrait 4 A different style of forces on an image. Click the screen for a new portrait.

Three Brownian Lines Three lines drawn with a brownian motion algorithm. Click the screen for a new set of lines.

Theme and Variation The black line is the theme while the red and green lines are two variations. Click the screen for a new set of lines.

Gravitational Paintings 1 Two paintings done with gravitational attraction between two or more points.

Gravitational Paintings 2 A variation of GP1.

Gravitational Paintings 3 A variation of GP2 with two forces and two colors.

Gravitational Paintings 4 A variation of GP2 with colors coordinating eight different forces.

Infectious Spread An attempt to show the spread of an infection.

Conflict - The Shape of Conflict

Dust to Human An artistic presentation of our 4 billion years of evolution.

The Cycle of Life The continuing cycle of life and death.

Man in Angst The computer tries to understand its creator. The concept is to draw human faces without using a photo.

A "Free Will" Simulation The balls represent thoughts and ideas in a human mind. The dark balls are thoughts dependent on initial conditions combined with environmental influences. When the Free Will fader is raised some of the dark balls are given original ideas creating a more innovative and active mind. The balls with original ideas turn red for a short time. I am not necessarily saying that we have free will, but this is my artists conception of what it might look like.


Some experiments in randomness.

The Bell Curve This is a normal distribution bell curve generated with pseudo random numbers. Each dot represents 20,000 coin flips each frame.

Pesudo and Real Comparison Bell curve comparison of pesudo and real random numbers. Click screen for new data.

Pesudo and Real Comparison of Consecutive Numbers This is from two streams of random 1s and 0s. The higest spike shows 13 consecutive numbers. Click screen for new data.

Normal Distribution This is a cartesian coordinate view of a normal probability distribution. Each dot represents 20,000 coin flips. Click on the screen to restart the process.

Bell and Ball Structure and symmetry from random numbers. The bell curve combined with cartesian coordinates of 2 random distributions.

Continuous Accumulated Deviation of Normal Distribution 1 Each dot represents two coins being flipped continuously. It stops at 4000 double flips. Click on the screen to restart the process.

Continuous Accumulated Deviation of Normal Distribution 2 This the accumulated deviation of 30 coins being flipped. Click on the screen to restart the process. This was made with p5 JavaScript.

Continuous Accumulated Deviation of Normal Distribution 3 This program is showing 8 instances of Continuous Accumulated Deviation of Normal Distribution 2. Click on the screen to restart the process.

Perception of Random This program starts with 30 balls that appear to be moving randomly. Then it traces their movement to show the underlying structure.

Hash Algorithm Visualization 1 A Visualization of the SHA 256 algorithm. Each row represents the 32 byte message digest. Click on the screen to generate more. The source is a random number incremented for each new row.

Hash Algorithm Visualization 1.5 A graph and a sort of a 32 byte message digest. Click on the screen to generate more. The source is a random number.

Hash Algorithm Visualization 2 A Visualization of the SHA 256 algorithm. Each row represents the 64 hex number message digest. Click on the screen to generate more. The source is a random number incremented for each new row.

Hash Algorithm Visualization 3 A Visualization of the SHA 256 algorithm. Each row represents the 256 bit message digest. Click on the screen to generate more. The source is a random number incremented for each new row.

Hash Algorithm Visualization 4 A Visualization of the SHA 256 algorithm. Each row represents the 256 bit message digest. Click on the screen to generate more. The source is a random number incremented for each new row.


The following programs are with sound. They are made with p5 JavaScript and p5 Sound.

Machine Jam

Jazz Melody Workshop A work in progress.
1) Algorithmically generates 3 scales.
2) Algorithmically generates 3 jazz melodies.
3) Algorithmically generates 3 chords from each scale.
4) Plays the result in a blues format.

Click On Jazz A jazz melody algorithm.
Click, hold, and move the cursor around on the screen.

Jazz 081417
Algorithmic jazz improvisation with the dorian mode.

Jazz 050822
Algorithmic jazz improvisation with the harmonic minor scale.
This piece runs continuously.

Machine Jazz
Jazz melody improvisation using p5 JavaScript.
The program composes two, 2 measure phrases and then plays them in an AABA form.

Classical 1
An experiment in classical improvisation using p5 JavaScript and my piano soundfont.

Classical 2
Another experiment in classical improvisation using p5 JavaScript and my piano soundfont.


The Internet Pump
Click on screen for sound.