previous latest addition



2002 feb 15

<- 2002 feb ->

just (6.30 - about to make dinner) got the whole shebang working - i can now "breed" circuits to generate increasingly complex rhythms. after playing around, it seems an order of magnitude faster than the old lisp code (which had a more complex circuit representation and no optimisation). the new computer should provide another order of magnitude increase in performance, giving some really interesting results.

an idea of the kind of thing i'm talking about is shown below. each row is a time step, each column a "voice", and the pattern repeats after 210 beats. the idea is to use this raw rhythmic data as the basis for music (at the simplest, converting in into a midi stream).

next, the code needs tidying - i should pull some routines out into libraries and replace an smlnj specific random number generator with something more general. after that there's no more to do here until the rest of my stuff (drum machine, computer with sound card) arrives, so it's on to stage 2 - some physical synthesis code to generate actual sounds. :o)

+    +     +   + 
  + +   ++  +++++
 + + +         + 
    ++ +++ +   + 
  +         + +++
 + +++    +     +
      + ++ ++  + 
+ + ++        +++
 + + +  ++   +   
    +      ++  + 
  +  + +      + +
 + ++   ++  +    
          ++   ++
  + +++ +     + +
++ +     +  +  + 
    ++     + + + 
  +     ++  + +++
 + +++ +       + 
     +  ++ +   + 
  + +     + + +++
 + + ++          
+   +   ++ ++  + 
  +  +       ++++
 + +++  ++       
       +   ++  + 
  + ++        + +
 + +    +++ +   +
    + +    +   + 
+ +  +  +     + +
 + ++    +  ++ + 
     +     +   + 
  + +  +++  + +++
 + + +         + 
    ++  ++++   ++
  +   +     + +++
++ +++           
        ++ +++ + 
  + ++        +++
 + + + +++       
    +      ++  + 
  +  +    +   + +
 + ++ + ++  +    
+          +   + 
  + ++  +    ++ +
 + +     +  +  + 
    ++ +   +   + 
  +     ++  + +++
 + +++    +    ++
     ++ ++ +   + 
+ + +       + +++
 + + +       +   
    +   ++ ++  + 
  +  + +      +++
 + +++  ++       
          +++  ++
  + +++       + +
++ +    ++  +    
    +      + + + 
  +  +  +     + +
 + ++  + +  +  + 
     +     +   + 
  + +   +++ + +++
 + + ++        + 
+   ++  ++ +   + 
  +         +++++
 + +++           
       +++ ++  + 
  + ++        +++
 + + +  +++     +
    + +    ++  + 
+ +  +        + +
 + ++   ++  ++   
           +   + 
  + ++ ++     + +
 + +     +  +  + 
    ++    ++   ++
  +   + ++  + +++
++ +++         + 
     +  ++ + + + 
  + +       + +++
 + + + +         
    +   ++ ++  + 
  +  +    +   +++
 + ++++ ++       
+          ++  + 
  + ++       ++ +
 + +    ++  +    
    +  +   +   + 
  +  +  +     + +
 + ++    ++ +  ++
     ++    +   + 
+ + +   ++  + +++
 + + +       + + 
    ++  ++ +   + 
  +    +    + +++
 + +++           
        +++++  ++
  + +++       +++
++ + +  ++       
    +      +++ + 
  +  +        + +
 + ++  +++  +    
           +   + 
  + ++  + +   + +
 + +  +  +  +  + 
+   ++     +   + 
  +     ++  +++++
 + +++         + 
     + +++ +   + 
  + +       + +++
 + + +    +     +
    + + ++ ++  + 
+ +  +        +++
 + +++  ++   +   
           ++  + 
  + ++ +      + +
 + +    ++  +    
    +     ++   ++
  +  ++ +     + +
++ ++    +  +  + 
     +     + + + 
  + +   ++  + +++
 + + + +       + 
    ++  ++ +   + 
  +       + + +++
 + ++++          
+       ++ ++  + 
  + ++       ++++
 + + +  ++       
    +  +   ++  + 
  +  +        + +
 + ++   +++ +   +
      +    +   + 
+ + ++  +     + +
 + +     +  ++ + 
    ++     +   + 
  +    +++  + +++
 + +++         + 
     +  ++++   ++
  + + +     + +++
++ + +           
    +   ++ +++ + 
  +  +        +++
 + +++ +++       
           ++  + 
  + ++    +   + +
 + +  + ++  +    
+   +      +   + 
  +  +  +    ++ +
 + ++    +  +  + 
     + +   +   + 
  + +   ++  + +++
 + + +    +    ++
    +++ ++ +   + 
+ +         + +++
 + +++       +   
        ++ ++  + 
  + ++ +      +++
 + + +  ++       
    +     +++  ++
  +  ++       + +
++ ++   ++  +    
           + + + 
  + ++  +     + +
 + +   + +  +  + 
    ++     +   + 
  +     +++ + +++
 + ++++        + 
+    +  ++ +   + 
  + +       +++++
 + + +           
    +  +++ ++  + 
  +  +        +++
 + +++  +++     +
      +    ++  + 
+ + ++        + +
 + +    ++  ++   
    +      +   + 
  +  + ++     + +
 + ++    +  +  + 
     +    ++   ++
  + + + ++  + +++
++ + +         + 
    ++  ++ + + + 
  +         + +++
 + +++ +         
        ++ ++  + 
  + ++    +   +++
 + + ++ ++       
+   +      ++  + 
  +  +       ++ +
 + ++   ++  +    
       +   +   + 
  + ++  +     + +
 + +     ++ +  ++
    +++    +   + 
+ +     ++  + +++
 + +++       + + 
     +  ++ +   + 
  + +  +    + +++
 + + +           
    +   +++++  ++
  +  ++       +++
++ +++  ++       
           +++ + 
  + ++        + +
 + +   +++  +    
    +      +   + 
  +  +  + +   + +
 + ++ +  +  +  +