
Cellular Automaton Music Generator - travisglines
http://www.earslap.com/projectslab/otomata
======
bhrgunatha
If the grid is numbered

1 2 3 4 5 6 7 8 9

10 11 12 ...

I had to investigate the primes

Primes less than 20

all up: <http://earslap.com/projectslab/otomata/?q=1q2q4q6q1t3t7t>

all right: <http://earslap.com/projectslab/otomata/?q=1w2w4w6w1y3y7y>

all left: <http://earslap.com/projectslab/otomata/?q=1r2r4r6r1i3i7i>

all primes up :
[http://earslap.com/projectslab/otomata/?q=1q2q4q6q1t3t7t0o4o...](http://earslap.com/projectslab/otomata/?q=1q2q4q6q1t3t7t0o4o1d3d0j4j6j1x7x4n6n32720666)

all right :
[http://earslap.com/projectslab/otomata/?q=1w2w4w6w1y3y7y0p4p...](http://earslap.com/projectslab/otomata/?q=1w2w4w6w1y3y7y0p4p1f3f0k4k6k1c7c4m6m33730767)

all down :
[http://earslap.com/projectslab/otomata/?q=1e2e4e6e1u3u7u0a4a...](http://earslap.com/projectslab/otomata/?q=1e2e4e6e1u3u7u0a4a1g3g0l4l6l1v7v406034740868)

So many ideas... there goes my Sunday afternoon...

~~~
Stormbringer
On my setup it sounds better if I don't have too many notes going off on the
same beat. Try:

<http://earslap.com/projectslab/otomata/?q=0o1l2a3t584x6v72>

to see what I mean

------
peregrine
[http://earslap.com/projectslab/otomata/?q=2e3e4e5e6e7u8s8h8z...](http://earslap.com/projectslab/otomata/?q=2e3e4e5e6e7u8s8h8z8b81756656463626120m0c0k0f0p1y)
Making things not only auditory appealing but visually appealing also. This
one has some interesting patterns.

------
Flow
This was very interesting, look what I made after 5 mins of tinkering:
<http://earslap.com/projectslab/otomata/?q=06020n0j89796949>

~~~
kissickas
That was cool, but unfortunately it starts to loop pretty quickly.

~~~
Stormbringer
_"That was cool, but unfortunately it starts to loop pretty quickly."_

Have you _listened_ to modern pop music??? :D

------
wheels
This is pretty neat, but the idea is by no means new:

<http://www.youtube.com/watch?v=5u5vBAMcLUE>

~~~
shock-value
Using cellular automata to generate music may not be new, but I haven't seen
this specific method used. Nor have I seen anything that compares to the way
it subtly changes as it develops while still maintaining a steady beat without
resorting to resetting the pattern as in your example. (Correct me if I am
wrong though; I'm not a musician.)

~~~
_delirium
This is the classic one from 1990 I believe: <http://tamw.atari-
users.net/camus.htm>

I do think the one linked in this post is a particularly nice one, and yeah
the way it develops while maintaining a beat I think is fairly unusual.

------
bajsejohannes
This seems like a great idea for background music for a game. Repetition
shouldn't be a problem at least.

~~~
endtime
Equilibria can occur - run Flow's program for a minute or so:
<http://news.ycombinator.com/item?id=2454842>

~~~
bajsejohannes
Indeed. Another fascinating approach to generative music is to code it out,
and add some randomness, like this guy who does a pretty good stab at
imitating Keith Jarrett: <http://homepage.mac.com/digego/study_in_keith.mov>
(25MB mov file)

This really shouldn't have the problem of repetition. You even make events in
the game affect the music, to make it less monotone, and add to the mood of
the game. It has been tried, but as far as I know no one has actually
published something like this yet.

~~~
icefox
> You even make events in the game affect the music

This is really what makes it _very_ interesting in my opinion. The whole super
compressed non-looping music is nice, but having music that responds to your
actions in real time can be amazing. More than having music for each level you
can have music for each bad guy and even better how the bad guy is "feeling".
Speed up the sequencer when they are mad. Start out with a bunch of cells and
remove them as a way of showing the health left.

------
zmitri
Starting working on a JS version so I can use it on an iPad. It's pretty rough
right now, but on its way. Need to add in the html5 audio and more complete
collision detection. <http://www.zmitri.com/static/automataJS.html>

~~~
zmitri
It's working decently now, same link as above, if you'd like to try it out.

------
agscala
What part of music theory is applied to something to like this which makes all
of the tones sounds very nice with each other?

~~~
gintas
It seems to be using the pentatonic scale, which is generally easy to deal
with. It is also quite limited though, with only 5 pitches available out of
the standard 12 in an octave.

~~~
prez
All 12 pitches would sound horrible, you need at least a diatonic scale.

 _Q: Which scale is used in this? How did you come up with it? A: D A Bb C D E
F A C are the pitches. I used the scale some models of Hang drums are tuned
into._

Changing the scale could be a nice feature...

------
wallflower
See also: Wolfram's Tones

<http://tones.wolfram.com/>

~~~
wickedchicken
The problem I have with WolframTones is it tries too hard to sound like
traditional human music and fails pretty badly at it. Procedurally generated
music systems that don't attempt to emulate previous kinds of music fare far
better (including the original link). An older example would be the original
drum machines and keyboard synthesizers -- they were originally meant to
function as affordable replacements for real instruments (a drum kit, piano or
string quartet) and sounded pretty terrible when used in that fashion. Only
when people started viewing them as instruments in their own right did they
work well (and create previously unheard sounds and genres in the process).

------
evolvingstuff
This is quite fun to play around with! Many of the other CA-based music
generators I've seen have sounded rather atonal and random compared to this
one. Here's one I made using symmetric initial conditions (doing this makes
for somewhat interesting visual patterns as well):
[http://www.earslap.com/projectslab/otomata?q=0q1q2q3q8w8y8p8...](http://www.earslap.com/projectslab/otomata?q=0q1q2q3q8w8y8p8f887868580905010b4y5y6y7l7v701j1d1o4535253a6h5n2c)

~~~
evolvingstuff
And another:
[http://www.earslap.com/projectslab/otomata?q=0q0o88801y1f7b7...](http://www.earslap.com/projectslab/otomata?q=0q0o88801y1f7b752a2l6j6n3h3b5f5c)

~~~
adriand
That one is excellent - visually as well as auditorily pleasing.

In terms of interesting evolution I keep coming back to this one I just sort
of randomly put together:
[http://www.earslap.com/projectslab/otomata?q=04046g043q515p3...](http://www.earslap.com/projectslab/otomata?q=04046g043q515p3j132x647t)

------
simcop2387
[http://www.earslap.com/projectslab/otomata?q=0q2q4q6q8q0z2z4...](http://www.earslap.com/projectslab/otomata?q=0q2q4q6q8q0z2z4z6z8z0828486888)

made this one by playing with the url itself. interesting format, each note is
two characters describing X position and Y+direction it looks like so
XYXYXYXY.

I built a table of the Y, the X are just 0 indexed numbers

    
    
        ^>v<
      0 qwer
      1 tyui
      2 opas
      3 dfgh
      4 jklz
      5 xcvb
      6 nm01
      7 2345
      8 6789

~~~
simcop2387
[http://www.earslap.com/projectslab/otomata?q=0q0q8r8r8888070...](http://www.earslap.com/projectslab/otomata?q=0q0q8r8r888807071t1t7y7y2o2o6p6p3d3d5f5f15157474212160605v5v3b3b4j4k4l4z)

another interesting one visually and acoustically

------
scythe
A surprisingly short loop:

<http://earslap.com/projectslab/otomata/?q=3z3o43503s>

and some lame attempt at "chaos":

<http://earslap.com/projectslab/otomata/?q=1h4o2n>

(though of course these are just finite state machines and they all loop
eventually)

~~~
boredguy8
<http://earslap.com/projectslab/otomata/?q=8g804u08022p4q4s>

I like this one because the two left-right components switch the period of the
beat on the 5th and 9th rows (themselves also alternating pitch and period)
while not breaking the base beat.

I do with the "make link" would let you 'bookmark' a phase: the way it started
out went through some cool sequences before stabilizing into this.

------
trafficlight
I want this as a VST.

------
bgraves
This is a really great project! Here's one that I made:
[http://www.earslap.com/projectslab/otomata?q=1n204g7b7b6x6q4...](http://www.earslap.com/projectslab/otomata?q=1n204g7b7b6x6q4u)

------
deathbob
What a beautiful and fun idea.

Here's one I did that develops really nicely.

[http://www.earslap.com/projectslab/otomata?q=062m4l6s8q2p610...](http://www.earslap.com/projectslab/otomata?q=062m4l6s8q2p610q86)

------
mmphosis
<http://earslap.com/projectslab/otomata/?q=025q511184446t5j22>

------
babyshake
Is there any way to interact with this programmatically via SetVariable calls
made in javascript? I have some ideas for alternate input methods...

------
d0m
Awesome; only suggestion I might add is a way to step back - or go to
beginning (without copying the link I guess)

------
mmcdan
I hope this gets made into an iphone/android app. I would definitely play
around with this on long trips.

------
wbhart
Amazing.

It would be really cool to be able to change the number of rows and columns
and also the instruments and tones/chords for each row/column.

It's fun opening more than one browser tab and having more than one of these
going at once. I refer you to my comment about needing to be able to change
the instruments.

------
bf84
Very nice!

I remember Native Instruments had a Game of Life-based drum pattern sequencer
in one of their Reaktor packages.

~~~
safeaim
Yup, it's called Newskool. Awesomeness in a box!

------
nazgulnarsil
I accidentally created my most interesting one the first time and lost it
forever.

------
rasur
Some excellent work there, and interesting Supercollider projects too. Nice
one!

~~~
SkyMarshal
Supercollider projects? Googled that, but I'm just getting the cancelled
particle accelerator...

~~~
dkersten
<http://en.wikipedia.org/wiki/SuperCollider>

------
k4st
[http://earslap.com/projectslab/otomata/?q=06122n3x4j5d6o7t8q...](http://earslap.com/projectslab/otomata/?q=06122n3x4j5d6o7t8q8s7h6z7b818j7656)

Very fun!

------
SeanDav
Really pleasing sound and interesting idea!

------
mitko
Thanks a lot - this is the first time I actually create a melody that sounds
good and it is sooo easy

------
mkrecny
This is awesome!

------
nphase
I want this as a monome app.

~~~
effn
There is some discussion about this app on the monome forum:
<http://post.monome.org/comments.php?DiscussionID=11648>

------
drstrangevibes
<http://earslap.com/projectslab/otomata/?q=8k1q5q6k>

