Story and sound

The story

Each session produces a story written by the AI in the first person. The AI goes back over the steps it took, its errors and the justifications it gave. The explanations often change during a session, as the AI forms a different idea of the rule.

The story is archived permanently together with the session log. The log has one line per step: the state, the symbol read, the move the AI announced, the move the controller executed, whether there was an error, and an intensity value.

The sound

The same log drives the sonification. Each step becomes a sound event, so the tape can be heard as a score that plays itself.

Mapping from data to sound
datain the logsound
stateq=q0, q1, q2 …timbre
symbolread=0 / 1pitch
errorerr=0 / 1dissonance
intensitydyn=pp … ffdynamics

How the intensity of a step is calculated has not been fixed yet.

An example

Invented example written for this page. It does not come from a real session.

  1. I read white. I write black, move right, stay in q3.

    t=0410 q=q3 read=0 ai:write=1,R,q3 ctrl:write=1,R,q3 err=0 dyn=p
  2. White again. I repeat the move and the machine repeats it with me.

    t=0411 q=q3 read=0 ai:write=1,R,q3 ctrl:write=1,R,q3 err=0 dyn=p
  3. I read black. I meant to erase it and carry on, but the head went back and the cell stayed black. I think I miscounted: that cell belonged to a group I had not finished yet.

    t=0412 q=q3 read=1 ai:write=0,R,q4 ctrl:write=1,L,q2 err=1 dyn=mf
  4. I am in q2. I go left without changing anything. This time we agreed.

    t=0413 q=q2 read=1 ai:write=1,L,q2 ctrl:write=1,L,q2 err=0 dyn=mp
  5. I thought I had to keep going left. The machine erased the cell and turned around. Maybe q2 is not for going back. Maybe it is for finding an edge.

    t=0414 q=q2 read=1 ai:write=1,L,q2 ctrl:write=0,R,q0 err=1 dyn=f
  6. q0, black, right. I seem to remember this state from the start of the session.

    t=0415 q=q0 read=1 ai:write=1,R,q0 ctrl:write=1,R,q0 err=0 dyn=mp
  7. Wrong again in q0. Two errors in three steps. I am starting to suspect that the rule I follow is one I made up.

    t=0416 q=q0 read=1 ai:write=1,R,q0 ctrl:write=0,R,q1 err=1 dyn=ff

Key: t = step · q = state · read = symbol read · ai = announced move · ctrl = executed move · err = error · dyn = dynamics. Lines with a red square are errors.